070201_CGC_7900_Users_Manual_May81 070201 CGC 7900 Users Manual May81

070201_CGC_7900_Users_Manual_May81 manual pdf -FilePursuit

070201_CGC_7900_Users_Manual_May81 070201_CGC_7900_Users_Manual_May81

User Manual: 070201_CGC_7900_Users_Manual_May81

Open the PDF directly: View PDF PDF.
Page Count: 330

Download070201_CGC_7900_Users_Manual_May81 070201 CGC 7900 Users Manual May81
Open PDF In BrowserView PDF
OPERATORS
MANUAL
CGC 7900 SEiuES
COLOR GRAPHICS COMPUTERS

CHROMATICS
CGC 7930 COLOR GRAPHICS COMPUTER SYSTEM
USER'S MANUAL

Copyright (C) 1981 by Chromatics, Inc.
2558 Mountain Industrial Boulevard
Tucker, Georgia 30084
Phone (404) 493-7300
TWX 810-766-8399

This manual is Chromatics Part Number 073201.
It is
applicable to CGC 7930 system software version 1.1,
released May, 1981.

PUBLICATION COMMENT FORM

Please use this sheet to give us feedback on the enclosed
documentation. Your comments on errors or omissions, suggested
changes, format of presentation, etc., will be helpful in
preparing future manuals. Wherever possible, refer to specific
page numbers in your comments below.
After completing this
form, mail to:
Chromatics, Inc.
2558 Mountain Industrial Boulevard
Tucker, GA 30084
Attn:

R&D Department

Name:

Date: ____________

Company Name:
Name/Model Number of Product: _____________________________
Title of Publication:
Preliminary?_____

Date of Publication Release:

Page No.

Comments

TABLE OF CONTENTS
PREFACE
COMl-1AND REFERENCE LIST
CONVENTIONS USED IN THIS DOCUHENT
SECTION ONE - GENERAL SYSTEM INFOR1~TION
INTRODUCTION
CGC 7gea OVERVIEW
INSTALLATION·
CONVERGENCE AND DEGAUSSING
CONVERGENCE AND DEGAUSSING CONTROLS

i- 1
i- 3
i- 9

1- 1

1- 3

1111-

4
6
7
9

CODES AND CODE SEQUENCES
CODE HIERARCHY

1- 11
1- 17

THE KEYBOARD

1- 19

RESET, BOOT, SOFT BOOT
WARM START

1- 23
1- 25

TERMINAL EMULATOR
LOCAL
HALF DUPLEX
FULL DUPLEX

1111-

ASSIGNING PHYSICAL DEVICES
PHYSICAL DEVICE ASSIGNMENT LIST
KEYBOARD SYNC

1- 31

27
28
29
3a

1- 33

1- 35

1- 37
SERIAL COMMUNICATIONS
1- 39
SERIAL PORT PINOUTS
SERIAL PORT CONNECTORS
1- 40
1- 41
RECOM~mNDED SERIAL PORT WIRING
1- 43
SET SERIAL BAUD RATE
SET SERIAL PARITY, WORD LENGTH, STOP BITS 1- 45
SET HOST EOL SEQUENCE
1- 47
CASE TABLE
1- 48
CREATE BUFFER OPERATIONS
CREATE BUFFER "ON"
CREATE BUFFER "OFF"
REDRAW THE CREATE BUFFER
TRANSMIT THE CREATE BUFFER
APPEND TO CREATE BUFFER
DEFINE A SUB-BUFFER
VIEW A SUB-BUFFER
KILL A SUB-BUFFER
INSERT INTO SUB-BUFFER
LITERAL CREATE
DELAY

1- 54

WINDOWS
SET WINDOW LIMITS

1- 61

1- 51
1- 52
1- 52
1- 53
1- 53
1- 54
1- 55
1- 56
1- 57
1- 59
1- 60
1- 62

TEST

1- 65

VISIBLE CONTROL-CHARACTERS
SELECT CHARACTER SET

1- 67
1- 69

FUNCTION KEYS
BEZEL KEYS

1- 71

TONE GENERATOR

1- 75

LIGHT PEN

1- 77

REAL TIME CLOCK
SET CLOCK
DISPLAY TIME

1- 81
1- 81
1- 82

THAW
_ DEFAULT RAM ALLOCATION

1- 83
1- 94

NUMERICAL DATA
WINDOW VARIABLES
WINDOW VARIABLE ASSIGNMENTS
OPERATE ON WINDOW VARIABLE
DISPLAY AND TRANSMIT WINDOW VARIABLE
WINDOW VARIABLE USES
BINARY MODE

1- 97
1- 98
1- 99
1- 1~0
1- 101
1- 103
1- 104

SECTION TWO - THE OVERLAY
THE OVERLAY: INTRODUCTION
OVERLAY DEFAULTS
OVERLAY OPERATIONS
OVERLAY CURSOR CONTROL
OVERLAY CURSOR BLINK ON/OFF
OVERLAY ROLL AND PAGE

1- 73

2222222-

1
3
5
6
7
1~

11

OVERLAY COLOR AND BLINK
SET FOREGROUND COLOR
SET BACKGROUND COLOR
OVERLAY BLINK ON
OVERLAY BLINK OFF

2- 15
2- 16
2- 16

MODIFY OVERLAY VISIBLE ATTRIBUTES

2- 17

OVERLAY PLOTTING FUNCTIONS

2- 19

SECTION THREE - THE BITMAP
THE BITMAP: INTRODUCTION
BITMAP DEFAULTS
BITMAP OPERATIONS
BITMAP CURSOR CONTROL

2- 13
2- 14

3- 1
3333-

3
5
6
8

SET CURSOR COLOR
BITMAP ROLL ~~D PAGE

3- 10
3- 11

SET BITMAP CHARACTER SIZE
SET BITMAP INTERCHARACTER SPACING

3- 13
3- 14

OVERSTRIKE

3- 15

COLOR LOOKUP TABLE
CHANGE COLOR LOOKUP TABLE ENTRY (RGB)
CHANGE COLOR'LOOKUP TABLE ENTRY (HVS)
DEFAULT COLOR LOOKUP TABLE

'3- 17

BITMAP BLINK
SELECT BLINK PLANE(S)
BITMAP COLOR AND BLINK
SET FOREGROUND COLOR
SET BACKGROUND COLOR
BLINK ON
BLINK OFF

3- 27

PLOT SUBMODES
FILL
DOT
VECTOR
CONCATENATED VECTOR
CIRCLE
TWO-POINT CIRCLE
RECTANGLE
TRIANGLE,
SET VECTOR WIDTH
BOLD VECTOR
CONCATENATED BOLD VECTOR
INCREMENTAL X-BAR
INCREMENTAL Y-BAR
INCREMENTAL VECTOR
POLYGON
FILLED POLYGON (TILER)
CURVE
ARC
RAY

3- 21
3- 24
3- 25

3- 28
33333-

29
29
30
31
31

333333-

33
34
35
36
38
40

3- 42
3- 43
3- 45

3- 47
3- 48
3333333-

49
59
S3
55
59
62
63
3- 66

3- 68

VECTOR-DRAWN CHARACTERS
EXITING PLOT SUBMODES

3- 70
3- 72

RASTER PROCESSOR GRAPHICS
DEFINE SOURCE RASTER
COpy RASTER
COpy RASTER WITH OVERSTRIKE
SET RASTER DIRECTION
SET VECTOR TYPE
COLORSWAP
COLORSET

333333-

73
74
75
76
77
89

3- 81
3- 82

COMPLEX FILL ALGORITHMS
AREA FILL
EDGE ~ILL

3- 83
3- 84
3- 85

SCALE FACTORS (VIRTUAL COORDINATES)
SCALING ON/OFF
WINDOW AND SCALE

3- 93
3- 94

RUBBER BAND

3- 97

PAN AND ZOOM
ABSOLUTE PAN
ABSOLUTE ZOOM

3- 99
3- 101
3- 102

JOYSTICK

3- 105

PLANE SELECT

3- 107

PLANE VIDEO SWITCH

3- 109

EXPANDED IMAGE MEMORIES
SELECT INAGE
PLANE/VIDEO/BLINK SELECT
WRITING TO THE SECOND I~~GE

3- 112
3- 113
3- 114

3- 89

3- III

APPENDIX A - SPECIAL CODES

A- 1

APPENDIX B - 'HUE, VALUE, SATURATION
THE COLOR CUBE
THE HEXCONE

B- 1
B- 6
B- 7

APPENDIX C - MONITOR
MONITOR OPERATIONS
THE INLINE EDITOR
DUMP MEMORY
CHANGE MEMORY
MOVE MEMORY
CO~1PARE MEMORY
FILL MEMORY
SET MEMORY
VIRTUAL SEARCH
CHECKSUM MEMORY
EVALUATE MATH EXPRESSION
LOAD
PUNCH
END PUNCH
EXAMINE REGISTERS
TRACE (SINGLE STEP)
TRACE DISPLAY
GO (WITH BREAKPOINTS)
ABORT

cccCcccCccCc-

CCC-

ccC-

CC-

1
2
3

5
7
8
9
10
11

13
15
16
17
18
19
20
22
23
24
25

APPENDIX D -

TP~PS

APPENDIX E - ASCII CODES
STANDARD ASCII CHARACTER SET
REGULAR AND ALTERNATE (A7) CHARACTER FONTS

D- 1
E- 1
E- 2
E- 3

79g0

Page i-I

User's Manual
PREFACE

(DIFFERENCES BETWEEN CG SERIES AND THE CGC 7900)

This list is by no means a complete reference to the
CGC 7900. Its intended purpose is to point out some
changes in operating procedure between the Chromatics
CG series computers and the new CGC 7900.
Please
refer to the main body of this User's Manual for
detailed instructions on operating the CGC 7900.

1.

Decimal numbers must alw~ys be delimited
(Due to allowing 16-bit numbers)

by

a

comma

or

then

the

s~micolon.

2. Foreground colors are set by using the
color key. Background uses SHIFT SET.

3. Pressing a Plot Submode key will
mode and turn on the ~ key light.

~

key and

automatically

invoke

Plot

4. CREATE, fILL, BLINK, and most other lighted keys: Pressing
the key turns the function on and turns on the light in the key;
pressing the key again will turn it off (similarly to the CG).
Alternatively, using SHIF~ with the key will always turn the
function off, regardless of whether the key is currently lit •

. 5.

The DEFINE key is used to set up user-defined function keys.

6. Logical device assignment method
increased number of devices available:

is

changed

due

to

Logical devices are now numbered 0 to 4
Physical devices (including windows) now labeled A to Z
ASSIGN is used to assign output, SHIFT ASSIGN for input.

7.

Create Buffer: Sub-buffer numbers are entered in decimal.

the

Page i-2

Chromatics

CGC 7900

8. Overlay cursor is produced by hardware.
white.

Its color

is always

9. Character size in Bitmap: both X and Y dimensions
entered together, as ~ , , (using the ~. key)

la. Complex area fill
(including black).

(optional)

will

work

with

any

are

colors

In addition to Escape and Mode, ,two other codes are in use:
Plot and User. Plot codes cause entry into a Plot Submode.
User codes cause execution of a
program
or
alter
the
configuration of the 79aa in some important way.

11.

12.
Escape codes can be entered
using the "Literal Create" command.

into

the

Create

Buffer,

13. Coordinate axes in Bitmap range from a to la23 in X, and a
to 767 in Y. The 0, ~ position is the upper left corner.
The
"Scale" command allows varying the coordinate system over a wide
range.

14. Up to eight windows exist. The number of active
determined with the "Thaw" command.

windows is

Page 1-3

7900 User's Manual

COMMAND REFERENCE LIST
This section is a brief guide to the operation of the CGC 790" •
The commands are listed here as they would be entered from the
keyboard. For details on any command, consult the detailed
descriptions in the main body of this manual.

Terminal Emulator and I/O:
SHIFT USER

H

Half Duplex

SHIFT USER F

Full Duplex

SHIFT USER L

Local

ASSIGN 
SHIE:;t

ASSI~H



Assign Output

Assign Input

SHIFT USER S ,,

Set Baud Rate

SHIFT USER SHIFT s ,

Set Format

Create Buffer:
CREATE

Create On

SHIFT CREATE
REDRAW
~

Create Off

Redraw the Create Buffer
Transmit the Create Buffer

SHIF:;t USER A Append to Create Buffer
CTRL X Define a Sub-Buffer
SHIFT VIEW ,

View a Sub-Buffer

SHIFT USER K ,

Literal Create

(put Esc's in Buffer)

Page i-4

Chromatics

CGC 7900

Window Functions:
WINDOW ,,,,
SHIFT WINDOW

Default window size

SCALE ,,,,
SHIFT SCALE
: ,

~

~?

Set window limits

Set window scale factors

Default- scale factors
Plane Select

Keyboard sync

Text and Cursor functions:
~
~

/ SHIFT ROLL

Roll or Page mode

V  <9 or 1>

CTRL N / CTRL
~



~

,,

MODE I
~

Visible Controls on/off

A7 character set on/off

Q

Fill window with character
Set Bitmap character size

,,

\ <0 or 1>

Set Bitmap intercharacter spacing

Overstrike on/off

CURSOR ON / SHIFT CURSOR ON
MODE Q 

Cursor on or off

Set cursor color (Bitmap only)

MOYE

x-x

~

SHIFT m ,,

,,

Move cursor (absolute) to X-Y
Move cursor relative

7900 User's Manual

Page i-S

Colors:
SET 

Set foreground color

SHIFT SET 

Set background color

BLINK / SHIFT BLINK
~

SHIFT b ,

Blink on/off

Select Blink Plane(s)

CHANGE  ,,,

Change RGB in Lookup Table

SHIFT CHANGE  ,,, . Change HVS in Lookup

Patterns (optional):
MODE
~

,, ,,
,,

Define Source Raster

Copy raster

~

SHIFT u

,,

~

SHIFT f ,

~

T <0 or 1>

Copy raster with overstrike

Set raster direction
Set vector type (patterns on/off)

COLORSWAP ,,

Swap colors

SHIFT CQLORswAP ,,

Set colors

Chromatics

Page i-6

eGC

790~

Plotting:
~

/ SHIFX FILL

Fill attribute on/off

~

/ SHIFT PLOT

Enter Plot or Alpha

~

,,

'VECTOR ,,,,
CONCAT VECTOR ,, [,, ••• ]
CIRCLE ,,,
SHIFT PLOT 0 ,,,,

Two-point circle

REeT ,,,,
TRIANGLE ,,,,,,
SHIFT V. WIDTH ,

Set vector width

SHIFT PLOT SHIFT v ,,,,

Bold Vector

SHIFT PLOT SHIFT w ,,,,

Concat Bold V.

SHIFT INC X-BAR ,,[, ••• ]
SHIFT INC Y-BAR

,,[,.~.]

INC VECTOR ,,[dXdY ••• ]
POLYGON ,  ,  , , [, , ••• ] ;
~HIE~

CPRVE ,, ,, ,, ,,
ARC ,,,,,

BaI ,,,,
AREA FILL  ,,

Area fill at X-Y with color

SHIFT AREA FILL  ,,

Edge fill at X-Y

79g~

User's Manual

Page i-7

Zoom and Pan:
~

(with arrow keys)

M2 HOME

Pan

Reset Pan

M2 CLEAR LINE

Pan to cursor location

SHIFT PAN X-Y ,,
ESC SHIFT m ,,
M2 ERASE PAGE
M2 RECALL

Pan to X-Y (absolute)
Relative Pan

Zoom Up

Zoom Down

ESC Z 

Absolute Zoom

Miscellaneous:
OVERLAY / SHIFT OVERLAY
MODE V 
~
~

v 
S ,

Address Overlay or Bitmap

Modify Overlay present attributes
Modify Overlay future attributes
Plane Video Switch

SHIFT TONE ,,,,
DEFINE   

Make tones

Define Function Key

CTRL Z Flush input buffer, cancel code sequence
SHIFT PLOT E , <0 or 1>
SHIFT OSER \ <0 or 1>

Vector-drawn characters

Joystick on/off

SHIFT USER SHIFT I   <0-4>

Enable Lightpen

Page

i-a

Chromatics

CGC 7900

Page i-9

7903 User's Manual
CONVENTIONS OSED IN THIS DOCUMENT

1. Any keys which have labeled caps will be called by their
full names, capitalized and underlined.
For example,
the
carriage return key will be denoted by
RETURN

2. Color keys will be called
example above.

by

their

name,

similar

to

the

3. All punctuation shown in the examples must be typed exactly
as shown. Commas must be typed literally.
Spaces will be
denoted by
SPACE

4. The modifier keys, ~, SHIFT, Hl, and HZ, must be held
down while striking the key they are to modify. Note that these
four keys do not generate any characters on their own, but
simply modify the character which is struck simultaneously.
This process of holding down a modifier key while striking
another key will be denoted by the modifier AND the key being
underlined together. For example,
CTRL F

would indicate that the ~ key should be held down while
striking the F key.
If two or more modifiers are needed
simultaneously, they will all be underlined together:
CTRL SHIFT T

would mean that BOTH modifiers, SHIFT
down while striking the T key.

and~,

should

be

held

5. Variable parameters will be enclosed in angle brackets, < >.
Any items enclosed in these brackets will be expla'ined in full
in the text which immediately follows.

6. Optional parameters will be enclosed in square brackets { ].
Any items which may be repeated will be followed by an ellipsis
(three dots).

Page

i-l~

Chromatics

CGC

790~

Example of (5) and (6):
, [,, ••• ]
The parameter  is required. The parameters" , , and
so on, are optional. Any number of these may be included.
All
three types of parameters would be explained immediately beneath
the example which contained them.

7.

Zeros will be slashed

(~),

alphabetic 0 will"not be slashed.

7903 Userrs Manual

Page i-II

"-

Page i-12

Chromatics

CGC 7900

7900 User's Manual

SECTION ONE - GENERAL SYSTEM INFORMATION

Page 1-1

Page 1-2

Chromatics

CGC 7900

7900 User's Manual

Page 1-3

INTRODUCTION
This is the User's Manual for the Chromatics CGC 7900 Color
Graphic Computer. It discusses how to operate the 7900, and
gives examples of the system's capabilities.
If you are just
beginning to learn about the 7900, this is the first mantial you
should read.
This manual is divided into three sections,
and
several
appendices.
S~ction
One (this section) discusses the 7900
architecture and philosophy, and explains the system commands
which relate to the 7900 as a whole. Section Two goes into more
detail about the Overlay. Section Three discusses the Bitmap,
including the graphics features which make the CGC 7900 unique
in the field of color graphics. The appendices provide detailed
information on the 7ge0 which will be useful to advanced users.

Page 1-4

Chromatics

CGC 7900

CGC 790B OVERVIEW

The CGC 7900 is the successor to Chromatics' CG Series of color
graphics computers. Many of the same philosophies have been
retained in the development of the 7900, and a user who is
familiar with ,the CG will quickly become accustomed to the 790~.
The 7900 contains three processors.
Most system functions
revolve around the MC68000 processor, selected for its high
speed (8 megahertz) and large memory addressing range (16
megabytes). This powerful processor gives the 7900 outstanding
capability for stand-alone computing applications. And when the
7900 is acting as a terminal (connected to a
host system), the
7900's power relieves the host of many of the tasks normally
required in a graphics environment. The 7900 also includes a
processor in the keyboard, and a Raster Processor to provide
high performance and speed in graphics operations.
Many graphics systems have suffered from a drawback: the need to
have a separate, Ndumb N terminal, for command level interaction
between the system and the operator.
The 7900 addresses this
need by providing a character-oriented NOverlayN display in
addition to the high-resolution Bitmap graphics display_
With
its eight standard colors and blink, the Overlay is a very
effective tool for operator interaction. When not needed, the
Overlay can become instantly
ntransparent N to
reveal
a
high-resolution graphics image in the Bitmap.
The concept of logical and physical devices, used in Chromatics'
CG Series of computers, has been expanded and applied to the
7900. All programs in the 7900 communicate only with Logical
Devices, known by a number (0 through 4).
7900 software
associates each Logical Device to one or more Physical Devices.
This association may be changed at any time, allowing total
flexibility in programmed input/output. Any program can accept
input from any Physical Device, and transmit output to any
Physical Device.
Some examples of Physical Devices are the keyboard, the serial
ports, and the 7900 display screen.
The screen
can
be
subdivided into several distinct areas known as nwindows,N and
each window is a separate Physical
Device
(emulated
by
software).
Thus, each window can be used for a separate
purpose, and independent simultaneous displays are possible.
In
Some applications, one 7900 could replace up to 16 separate
terminals.

7900 Userrs Manual

Page 1-5

All 7900 features discussed in this manual, and all currently
available optional features, are
contained
in
a
single
stand-alone package. Standard features include: l28K bytes of
buffer memory, one or four planes of Bitmap image memory, a
keyboard with 151 keys (21 lighted), 32 user-definable keys, two
serial ports, a 19-inch color' display screen, and a PROM
software package which allows easy control of all
system
functions.
Optional features currently include: a lightpen and joystick for
interactive use, a battery-backed Real-Time Clock and CMOS
memory, a Disk Operating System with flexible and fixed drives,
and extended graphics software features.

Page 1-6

Chromatics

CGC 7900

INSTALLATION
Unpack the CGC 7900 according to the instructions supplied in
the shipping carton. Retain the packing material so that it may
be used for shipping the 7900 in the future.
CAUTION: If your 79~H) system includes the optional
Hard Disk drive, REMOVE the locking screw which was
used to secure the drive during
shipment!
See
instructions on your unit for details.
FAILURE TO
REMOVE THIS SCREW WILL DESTROY THE HARD DISK, AND VOID
YOUR WARRANTY 1
Connect the 7900 power cord to a source of 110 volt AC,
power (50 hertz optional), capable of supplying at
amperes. For reliable operation, the 7900 power should
from a circuit with any heavy motors or industrial
which could create transients on the power lines. This
equipment such as refrigerators and air conditioners.

60 hertz
least 10
NOT come
equipment
includes

The 7900 has no strict environmental requirements.
But, like
any precision instrument, the 7900 will perform best if it is
not subjected to excessive heat or dust.
7900 ventilation
removes heat from the unit through vents in the front and rear;
these vents should not be obstructed.
The rear door should
remain CLOSED during normal operation to provide proper air flow
through the 7900 chassis.
7900 power is applied by pressing the square, lighted

switch on
the front of the unit (above the keyboard).
The
switch
illuminates whenever the system's five volt power supply is
operating. When turning the 7900 on, observe the indicator
light on the keyboard, just above the cursor keypad.
It
will
glow green as the unit performs internal power-on diagnostics.
The green light will extinguish after one or two seconds.
By
this time, the picture tube should have warmed up, and a
blinking cursor should be visible on the screen.
Your 7900 is now running I

79~0

Page 1-7

User's Manual

CONVERGENCE AND DEGAOSSING

The 7900 analog circuitry requires periodic adjustment
to
maintain best performance. Convergence is the adjustment which
causes the red, blue and green portions of the picture to join
properly without "fringes n or other artifacts around the edges
of the display. Degaussing is the process which demagnetizes
the screen, removing residual magnetic fields which can affect
color purity.
Controls for both of these adjustments are
located behind the door on the right side
of
the
CRT
(Cathode-Ray Tube, or picture tube).
These
controls
are
conveniently located so that a "touch-up" alignment may be
performed whenever necessary.
The degaussing switch is located at the top of the recessed area
behind the door. The need for degaussing is indicated by a lack
of purity, and can be seen easily by generating a red screen:
Hold down the SHIFT key and press~. Release SHIFT and press
the RED key and the ERASE PAGE key.
If the screen is not
uniformly red (it may contain areas where the red tends toward
green or purple), the 7900 should be degaussed.
To degauss the screen, press the Degauss button. Colors
screen will shimmer for a moment as the degaussing
occurs.

on the
process

You must wait at least 15 minutes after turning the system power
on, before degaussing will function. After pressing the switch,
degaussing proceeds automatically for several seconds.
Once
degaussing is complete, it may not be restarted for another 15
minutes. If you press the switch again before 15 minutes have
elapsed, degaussing will NOT occur, and you will have to wait
another 15 minutes before attempting it again.
It is generally necessary to degauss the screen after moving the
unit, even if you are only moving it across a room.
A weekly
degaussing is also beneficial.
If you intend to
degaussing first.
outlined below.

degauss AND converge
Then proceed to the

the 7900,
perform
convergence
steps

Below the degaussing button, nine groups of
three
small
potentiometers (variable resistors) are located. These are the
convergence adjustments. Each potentiometer adjusts either red,
blue, or green, and each group of potentiometers adjusts, one of
nine sectors of the screen. For example, the upper left group
of potentiometers adjusts convergence for the upper left corner
of the screen.

Page 1-8

Chromatics

CGC

79~0

NOTE: Use a small screwdriver (a jeweler's screwdriver
is ideal) and BE GENTLE when adjusting convergence.
The convergence potentiometers are fragile.
NOTE: Do not attempt convergence until the unit
warmed up for at least 15 minutes.
Convergence
drift until the 7900 has completely warmed up.

has
may

Set up a test pattern on the screen: Press the keys SOFT BOOT,
TEST, and the period (decimal point) key.
This produces a
pattern of white dots on a dark background. Beginning with the
center set of adjustments, turn the red, blue and
green
potentiometers until the dots in the center of the screen become
white (with no colored fringes).
Proceed to the other eight
groups of potentiometers according to the numbers in
the
following diagram.

7903 User's Manual

Page 1-9

CONVERGENCE AND DEGAUSSING CONTROLS

Degauss - _ _~_

@

Red
Blue

Brightness

o

Page 1-10

Chromatics

CGC 7900

7900 User's Manual

Page 1-11

CODES AND CODE SEQUENCES
The 790~ system is controlled through the keyboard, or through a
communications port from a host system.
The 7900 software
allows all important system functions to be accessed through
ASCII characters, which make up codes or code sequences.
We
define a code to be a single ASCII character typed on the
keyboard, or received from a host. A code sequence is a set of
such characters.
Certain code sequences cause no immediate change in the visible
state of the system.
Commands such as "Set Color" have an
effect on future displays, but do not alter anything currently
being displayed. This can be disconcerting to an operator,
since there is no feedback to indicate that the code sequence
was accepted properly. It may be helpful to compare such code
sequences to similar commands on a familiar office typewriter:
the "set tab stop" function of a typewriter does not generate
any feedback to indicate acceptance of this command.
The
command is silently accepted.
The 790~ software is thus a bit terse; the altern~tive would be
a system whose "verbose" output might interfere with the designs
of an applications programmer.
(Of course, an applications
program can generate as much verbosity as is required.)
The 79"~ recognizes four ."prefix" codes: Escape, User, Plot and
Mode. When a prefix code is entered, it signals the system that
one or more additional codes is about to follow, and that the
entire code sequence should be taken together to perform a
function.
These prefix codes are NOT the same as the modifiers, Shift,
Ctrl, Ml and M2. Modifiers do not generate codes; they merely
alter the key which is pressed simultaneously with the modifier.
The prefix keys DO generate codes on their own, and thus the
prefix key must be pressed and released before the next key is
struck.
Some of the named keys on the upper part of the keyboard
cause actions which are equivalent to pressing more than one key
on the lower keyboard. For example, pressing ~ to enter the
·Plot Rectangle" mode, is equivalent to entering the sequence
~ R.
This is simply an alternate way of entering commands,
and we will always use the simplest way to describe each command
in this document.
The advanced user is referred to Appendix A
for detailed information on which keys produce which codes.

Page 1-12

Chromatics' CGC 7900

If you enter a code iequence which is not defined in the 7900
software, a "bong" sound will be produced from the speaker, as a
warning. The same sound will be heard if you attempt to access
an optional software feature which is not installed in your unit.
The 7900's structure of code sequences is not designed to be
totally "user-proof." It is possible to enter a sequence which
will force the system into an undefined state.
However, the
RESET key will usually allow recovery from errors without losing
the work ln progress.
This problem should not exist if
important code sequences are being transmitted only from a host
or from an applications program (assuming such programs do not
contain errors).

790" User's r-tanual .

Page 1-13

Escape Code Sequences
Format:
~



[  ••• l

An Escape code sequence consists of the Esc character, followed
by a single character  which defines the type of Escape
code sequence. This may be followed by one or more arguments,
, depending on what the sequence requires.
All arguments
fall into one of two categories:
Numbers: decimal or hexadecimal numbers which
are delimited by a comma or semicolon.
Characters: a single ASCII character.
In addition, a few Escape code sequences will accept an arbitrary
number of arguments. Details are described in each command where
applicable.
In these cases, a special delimiter character
(usually the semicolon) is used to signal the enc of the argument
list.
To produce an Escape code sequence, you would press and release
the ~ key, then press whatever other keys are necessary to
complete the sequence. The argument list is determined by the
particular Escape code sequence you are executing, and examples
will be found throughout this manual.
Escape codes sequences affect the entire machine.
They control
aspects of the operation such as pan and zoom, Color Lookup Table
assignments, etc.

Chromatics

Page 1-14

CGC 7900

User Code Sequences
Format:
SHIFT USER 

[  ••• l

The User character is produced by holding down the SHIFT key
pressing the key marked USER.
The definitions of 
 are identical to those for Escape code sequences.

and
and

User code sequences cause execution of a program, or affect the
configuration of the 7900 in some manner. Some examples of User
codes are I/O assignments, duplex
selection,
user-defined
function keys, and Create Buffer operations.

790~

User's Manual

Page 1-15

Plot Code Sequences
Format:
SHIFT PLOT 
Where  is a single character. A Plot code sequence will
place the window in a Plot submode, such as Vector, Circle, Arc,
etc. Plot code sequences affect only the currently assigned
window.
The Plot character is produced by holding down the SHIFT modifier
key and pressing the key marked ~.

NOTE: The PLOT key used in this context is the key
labeled Plot and Mode, located in the typewriter area
of the keyboard. It is NOT the same as the lighted
~ key in the upper keyboard area.
The lighted ~
key is used ONLY to move between plotting and text
entry (Alpha) functions.

Page 1-16

Chromatics

CGC 7900

Mode Code Sequences
Format:
~



[, , ••• l

Mode code sequences also affect only the currently assigned
window. They are used in a wide variety of cases, from setting
colors to scaling character size. Details on the available Mode
code sequences are found throughout "this document.

790~

User's Manual

Page 1-17

CODE HIERARCHY
code sequences described on the previous pages are arranged
In a prioritized structure.
It is
possible,
and
often
desirable, to interrupt one sequence, enter a sequence of a
higher priority, then resume the previous code sequence.
The
priorities are arranged as follows:
~he

Escape, User

Highest Priority

Mode

Intermediate

Plot

Lowest Priority

A common example would be: while entering coordinates to draw a
rectangle, you decide to change the foreground color.
Since
coordinates belong to a Plot sequence, and colors are higher
priority (Mode sequence), you may interrupt the coordinates at
any time and set a color.
Then, you may resume entering
coordinate data with no lost information.
Escape and User codes have identical priority, and they take
Plot,
higher priority than any other code sequence.
ANY Mode,
or text entry function may be interrupted by an Escape or User
code, and the code sequence will be processed. This means that
important aspects of system operation, controlled by Escape and
User codes, may be changed at any time, even in the middle of
coordinate data ,or text.

The high priority of Escape and User codes can result in
confusion under certain conditions. The key point is this: when
an Escape or User code sequence is begun, it MUST be completed.
For example, the Escape code sequence which changes entries in
the Color Lookup Table requires four arguments: color, red
component, green component, and blue component.
If
this
sequence is begun by pressing the CHANGE key, the system will
ignore all other commands until the four arguments required by
the Change command are satisfied. If the system appears to be
suddenly unresponsive to commands, chances are good that an
Escape or User code sequence has begun but has not been
completed.
Typing several commas, to satisfy any
pending
arguments, will usually regain control of the system.

Page 1-18

Chromatics

CGC 7900

79~3

Page 1-19

User's Manual
THE KEYBOARD

The 7ge3 system keyboard is divided into several areas.
area is designed for a specific purpose, and the keys in
area are arranged and color-coded for ease of operation.

In general, keys on the keyboard are marked

t~ree

Each
each

ways:

The marking on the top of the key is the primary function of
that key. Pressing the key alone, without using any modifiers,
will cause that code to be sent from the keyboard.
The marking on the front of the key (if marked in white) is the
code which is output when the SHIFT modifier is used in
conjunction with the key.
The marking on the front of the key (if marked in blue) is
code which is output when the ~ modifier is used
conjunction with the key.

the
in

In the center of the keyboard, you will find a sculptured,
typewriter-like set of keys. With few exceptions, these keys
may be used just as if they were a standard typewriter.
On the
right of this set are the control keys, RETURN (carriage
return), Lt (line feed), and BREAK (used t~ interrupt a running
program). On the left are the modifiers, SHIFT, ~, Hl, and
HZ. The high speed REPEAT key is also in this area.

Any key on the keyboard may be caused to repeat, at
either low or high speed.
To repeat a key at low
speed, simply hold the key down. To cause high speed
repeat, hold down both the desired key and the REPEAT
key.

In the left of this area are the four ·prefix· keys which the
system understands: ~, ~, ~, and~. Pressing any of
these keys is a signal that one or more other keys will
immediately follow, to complete a code sequence.
To cause the
keyboard to output a User code, hold down the modifier SHIFT and
press the key marked ~ and~. Similarly, for the code Plot,
down the SHIFT key and press the key marked ~ and ~.

Page 1-20

Chromatics

CGC 7900

To the far left are two special keys: QUIET L~K and ALPHA LaCE.
These two are alternate-action keys. Pressing one of these keys
will lock it in the down (on) position; pressing it again will
release it to the up (off) position.
QUIET LOCK will disconnect the built-in speaker
the down (on) position.

when

it

is

in

ALPHA LOCK will reverse the case of all letters ty~ed from the
typewriter section of the keyboard.
When it ~s up (off),
letters typed on the typewriter keyboard will be upper case when
the shift key is not being used. They will come out in lower
case when the shift key is used.
(This is the opposite of
a normal typewriter, but is useful when the unit is acting as a
terminal.) To reverse this, and return to standard typewriter
usage, press the ALPHA LOCK key into the down (on) position.
Now characters typed on the typewriter keyboard will be in lower
case, and SHIFT will change them to upper case.
This will
primarily be useful for text editing applications.

Unless specifically stated, all examples in
manual will assume you have both QUIET LOCK
ALPHA LOCK keys in their normal (up) position.

this
and

To the right of the keyboard are two smaller, special purpose
keypads. The cursor keypad is used-to position the cursor, and
for text editing functions such as inserting and deleting lines.
The numeric keypad is intended as an easy way to input numeric
data. The keys on the numeric keypad duplicate the functions of
their counterparts on the typewriter keyboard.

The special function keys on the upper half of the keyboard are
used to access most of the system's features.
The majority of
this manual is dedicated to explaining, in detail, what each of
these keys will do. In general, the following comments apply:
The name on top of the key represents its primary function.
The name on the front of the key represents its secondary
function, and is accessed by holding the SHIFT modifier and
pressing the key.

Page 1-21

7900 User's Manual

Keys which have a built-in light are keys whose functions may be
in one state or the opposite state. For example, the BLINK key
has a light, and at any time, the "blink" attribute may either
be on or off. The condition of the light will tell which state
the system is in.
(In some cases, it is possible for the
keyboard lights to be "out of sync" with the rest of the system,
in which case they will not present true information.
See
"Keyboard Sync" and ftAssign" for the details.)

Lighted keys have an additional feature: Pressing a lighted key
will turn a function on if it is off, and turn it off if it is
currently on. Thus, repeatedly pressing a lighted key will
toggle the light in that key on and off. The function produced
by a key depends on whether the light in that key is currently
on or off. (Using SHIFT with a lighted key will, however,
always turn the function OFF.)

The character Control-Z acts as a ftflush" command.
It will
clear out the keyboard buffer, so that any keystrokes that have
not yet been executed will no longer wait in the queue.
Control-Z will also cancel any pending Mode, Plot, Escape, or
User code sequences which are expecting arguments.
To execute the "flush" command, hold down the CTRL
press the Z key:

modifier

and

CTRL Z

Two keys on the keyboard are not
the BASIC and CALC MOPE keys.

currently

defined.

They

are

A two-color light-emitting diode (LED) is located near the cursor
keypad.
This LED glows green during Reset
and
power-on
diagnostics. It will glow red in the event of a system failure.

CGC 7900 Keyboard

7900 User's Manual

Page 1-23

RESET, BOOT, SOFT BOOT
The 7900 recognizes several types of initialization procedures.
At power-up time, a special type of initialization occurs, which
erases all memory· in the system (except CMOS).
The image
memories are erased, and all of user memory is zeroed.
Pressing the RESET key initializes all hardware to default
states. All I/O ports are initialized, and all buffers are
flushed. Any operations in progress are immediately halted.
(In fact, Reset may be the only way out of some operations.)
Following Reset, the Terminal Emulator program is executed by
default (this may be altered with the Thaw command).
Reset
leaves the contents of memory essentially unchanged.
The Reset
command may not be stored in the Create Buffer, since it is a
hardware function and does not generate a normal code sequence.
The most common use of the RESET key is to halt a process, such
as a picture being drawn from the Create Buffer.
After pressing the RESET key, it may be necessary to
wait several seconds before the system will again
respond to input. When the system acknowledges RESET,
the green indicator
near the cursor keypad will
illuminate briefly.
Boot is designed to cold-start the system.
It is executed by
pressing CTRL BOOT on the keyboard. Boot initializes most of the
79fJ0 system, based on default parameters (either in PROM or in
the optional battery-powered CMOS memory).
After Boot, the
Terminal Emulator is executed unless CMOS contains orders to
execute a different program.
CTRL SOQT is the simplest way to
reload most of the default parameters in the 7900 system.
The
Boot command may not be stored in the Create Buffer.
It is possible to simulate most of a power-up reset sequence, by
pressing the three keys ~ SHIFT RESET simultaneously (and
releasing RESET before releasing the other keys). This sequence
is equivalent to a Reset followed by a Boot, and also erases any
image in memory. This sequence takes longer to execute than the
normal RESET, and is not usually needed. (It may be required if
a user program writes into system memory and the RESET key will
not recover control of the system.)

Chromatics

Page 1-24

CGC

790~

memory (optional) retains information concerning how the
system is configured at Boot time. CMOS is set 'up using the
Thaw command, to define buffer sizes and other defaults.
As
long as the data in CMOS remains intact, it continues to be used
at Boot time.
It is possible for a user to sufficiently
scramble CMOS data so that the system cannot boot; in this case,
the keys ~ SHIFT Ml. M2. RESET should be pressed simultaneously
(releasing RESEI first) to clear out CMOS and force the system
to boot from PROM data instead.
This sequence destroys any
defaults entered by Thaw, so it is not recommended unless
absolutely necessary. See ·~haw· for details.
C~OS

The preceding two sequences (using Hl HZ ~ SHIFT or
SHIFT in conjunction with RESET)
should be used
only when necessary. You are cautioned against getting
into the habit of using these sequences,
since they
will destroy any work in progress.

~

SOFT BOOT initializes only the window receiving the command.

It
reloads all default window parameters, such as color, character
size, and other values associated with a 'window. It may be used
to set a window to a known state at any time.
Soft Boot is
executed by pressing the SOFT BOOT key, and this command may be
stored in the Create Buffer.
Besides reloading the default
window parameters, the SOFT BOOT key also erases the Overlay.
To reload the window parameters without erasing the Overlay,
enter the sequence
~

=

This performs the same functions as the SOFT
erasing anything.

BOO~

key, but without

When beginning a new process on the 799a system, it is usually
sufficient to press the SOFT BOOT key. To interrupt a process,
pressing BESET followed by SOFT BOOT will usually suffice.
Neither of these key sequences will affect the Bitmap image.

7900 User's Manual
WARM

Page 1-25

START

Format:
SHIFT USER

W

Programs which interact with the user and take over control of
the 79aa system may often be re-entered' after an interruption.
For example, if you are editing a file with a text editor, you
may wish to enter the Disk Operating System (DOS) to examine
your disk directory, then continue editing.

The general form
execute the Warm
allow themselves
vector" so that
action to occur.

for re-entering an interrupted program is to
start sequence, SHIFT USER W.
Programs which
to be re-entered will take over the "warmstart
typing this sequence will cause the proper

If a program is in a "runaway" condition, such as a very long
listing that will not terminate, it is generally possible to
stop the program by pressing RESET, followed by SHIFT USER W.
In a properly designed program, this will interrupt the current
process but not destroy any data in memory.

The details of
program itself.
question.

warm-starting a program will depend on the
Consult the instructions for the program in

Page 1-26

Chromatics

CGC 7900

7900 User's Manual

Page 1-27

TERMINAL EMULATOR
The Terminal Emulator is a program which executes automatically
when the 7900 is booted. It configures the system to act like a
communications terminal. The primary function of the Terminal
Emulator is to read characters from input devices and transmit
these characters to output devices. The default input devices
are the keyboard (device K), and RS232 serial port (device L).
The default output devices are Window A (device A), and the
RS232 serial port (device L). As is the case with most of the
7900's defaults, these assignments may easily be changed.

The Terminal Emulator allows a choice of Local, Half or Full
duplex, and a wide variety of baud rates to suit many peripheral
or host devices. This section describes each configuration, and
other options available in the Terminal Emulator.

NOTE: The terms Loca~, Half, and Full, have no meaning
except within a program such as the Terminal Emulator.
Other programs may also communicate wit~ external
devices, but they do so through the logical device
assignment system. See ftAssign. ft

If another program is running, the Terminal Emulator
re-entered by pressing the key marked TERMINAL.

may

be

The code sequence structure of the CGC 7900 is affected by the
configuration (half, full or local) of the Terminal Emulator.
Escape and User code sequences are processed on the input
stream, so typing and Escape or User code sequence will always
result in immediate processing, regardless of
the
system
configuration. On the other hand, Mode and Plot codes are not
processed until they reach an output device which recognizes them
(the windows). If the 79~0 is operating as a full duplex
terminal, the host system must echo Mode and Plot codes or they
will not be executed by the 7900.
If it is necessary to transmit an Escape or User code to the
host system, and NOT have this code trapped by the 79~0 code
processing scheme, you must hit two Escapes or Users in a row:
transmit ONE Esc to the host

. Chromatics

Page 1-28

CGC 7900

LOCAL

Local operation is one of the three
which are provided.

communications

arrangements

In Local operation, Logical Input Device e (normally
the
keyboard) is connec"ted to Logical Output Device 0 (normally a
window). The external device is ignored. This is the default
arrangement, and must be used whenever a host or peripheral
device is not connected.
Format:
SHIFT USER L

Hold down the SHIfT
press the L key.

modifier

(Local operation)

and

press

the

~

key.

Then

Page 1-29

7903 User's Manual

HALF DUPLEX
In Half duplex, Logical Input Device 3 is connected to Logical
Output Devices 3 and 1. This is the only case where a means is
provided to connect one Logical Input Device t~ more than one
Logical Output Device (see ftAssigning Physical Devices ft ).
Also,
in Half duplex, Logical Input Device 1 is connected to Logical
Output Device 3.
Format:
SHIFT QSER H

(Half duplex operation)

The following figure illustrates the connections defined in
duplex.

LoglnDev 3
(keyboard)

Half

LogOutDev 1
(serial port)

LogOutDev 9
(window)
LoglnDev 1
(serial port)

(The device assignments in par"entheses are
These may be altered with the ASSIGN key.)

defaul t

assignments.

Half duplex is used when it is necessary to transmit keyboard
data to an external device and simultaneously display it on the
screen.

Page 1-30

Chromatics

CGC 7900

FULL DUPLEX
If the external device is a host computer, or other intelligent
interface, Full duplex may be required. Full duplex is similar
to Half, in that it defines a path to an external device.
In
Full duplex, the external device is required to echo back the
characters it receives. Thus, anything typed on the keyboard
will be received back from the external device as an echo, and
the double assignment shown above is not required.
All data received from the host will be displayed, whether it
originated as data from the 790~ or was originated by the host.
Format:
SHIFT USER F

(Full duplex operation)

The following figure illustrates the connections defined in
duplex.

LogInDev ~
(keyboard)

LogInDev 1
(serial port)

-"/

,
/

Full

LogOutDev 1
( se rial po r t )

LogOutDev
(window)

~

(The device assignments in parentheses are default
These may be al tered using the' ASSIGN key.)

assignments.

Page 1-31

7900 User's Manual
ASSIGNING PHYSICAL DEVICES
Assigning output devices:
Format:
ASSIGN OPTPUT     
Where:
 is the Logical Device number (3 thru 4)

 is the letter corresponding to a physical
device (see table)
Each Logical Output Device may access up to four physical
devices. This allows transmitting commands to more than one
peripheral
device
window, or sending to a window and a
simultanously.
All four physical devices must be specified. If less than four
are required, you must enter dummy devices using the character z.
Example:
ASSIGN OUTPUT 1

A

B Z Z

Logical Output Device number I has been
devices A and B (the first two windows).
used.

connected
Two dummy

to physical
devices are

Example:
ASSIGN OUTPUT

a

AK Z Z

Logical Output Device 0 has been connected to physical device A
(the first window), and the keyboard lights (see below).
No
other physical devices are connected to Logical Output Device a.
This is the default condition.

Physical Output Device K is the keyboard lights.
The keyboard
handler interprets all codes it receives, and decides which
lights should be on or off. For example, when the ElLL key is
pressed, the ftFillft attribute is turned on.
The keyboard
recognizes the code sequence produced by the ElLL key and turns

Page 1-32

Chromatics

CGC

790~

on the light in that key.
It is possible to assign other
Logical Output Devices to the keyboard lights, or to arrange the
assignments so that the keyboard lights receive no information
at all. If this is done, the keyboard lights may not reflect
the current state of the system.

Example:
ASSIGN OUTPUT

~

AKT Z

Logical Output Device ~ has been connected to window A, to the
keyboard lights (K), and to the tone generator (T).
Physical
output device T is a special configuration of
the
tone
generator. When assigned in this manner, it will sound a
"click" every time a key is pressed. Some users appreciate this
feedback, especially if they are not used to typing on a
computer keyboard.
Please note that we have maintained a
connection to the keyboard lights in this assignment.

Assigning Input Devices:
Format:
SHIFT ASSIGN INPUT  
Input devices are assigned using the SHIFT
ASSIGN key. Only one physical input device
Logical Input Device.

modifier with the
is assigned to a

WARNING! Logical Input Device 0 is normally assigned
to the keyboard. Most programs will read from Logical
Input Device 0 to receive their input. If you connect
Logical Input Device 0 to another physical device,
or to a dummy device, the system could hang. Recovery
will only be possible via the RESET key.

790~

Userls Manual

Page 1-33

PHYSICAL DEVICE ASSIGNHENT LIST
The following physical devices are defined:

OUTPUT DEVICES

F
G
H

window
window
window
window
window
window
window
window

K

keyboard lights

L
M

RS-232 serial port
RS-449 serial port

P

parallel p, ,

Where:
 is the identifying number of the
serial port,
 is the baud rate to which the port
should be set.

Two serial ports are installed in the standard
They are identified by number as follows:
RS-232 serial port:

3

RS-449 serial port:

1

CGC 7903

system.

Sixteen standard baud rates are provided:
50

75

113
134.5

153
330
60"

120"

18""
2""0
24""
36""
48""
72"" .
963"
1923"

NOTE: To set the baud rate to 134.5, you must enter
the number 134 as . Decimal fractions are
not accepted.

Page 1-44

Chromatics

CGC 7900

If an unrecognized baud rate is entered, no action will be taken.

Examples:
SHIFT USER S

0,300,

SHIFT USER S . 1,1200,

(set RS-23"2 port to

3~H~

baud)

(set RS-449 port to 1200 baud)

The system defaults to 9600 baud for both serial ports.
be changed using the "Thaw" command.

This may

Page 1-45

7900 User's Manual

SET SERIAL PARITY, WORD LENGTH, STOP BITS
Format:
SHIFT USER

SHIFT s

,   

Where:
 is the identifying number of the
serial port


specifies the number of bits per character
(5, 6, 7, or 8)

 specifies EVEN, ODD, or NO parity
(E, 0, or N)


specifies the number of stop bits per
character (see below)

NOTE: each of the three parameters , ,
and  is entered as a single character.
No
commas are used to separate them.

NOTE: This command
letter, RSR. If the
(up) position, it is
while preSSing the S

requires entering a lower case
ALPHA LOCK key is in its normal
necessary to hold the SHIFT key
key to produce a lower case s.

Two serial ports are installed in the standard
They are identified by number as follows:
RS-232 serial port:

a

RS-449 serial port:

1

CGC 7900

system.

 is a single character. It may be either the character
"Sft, R6 ft , -7", or RSR.  determines the number of data
bits transmitted for each character sent out the serial port
(excluding parity bits).
 is the single character "E", "0",
determines even or odd parity, or no parity.

or

"N".

It

Chromatics

Page 1-46

CGC 7900

 is the single character "1", "2", or "3". If  = 1,
one stop bit is transmitted after each character.
if  =
2, two stop bits are transmitted.
«stop> = 3 is a special case
and produces 1.5 stop bits per character.)

Examples:
SHIFT USER

SHIFT s

0, 7Nl

7 bits,
no parity,
one stop bit.

SHIFT USER

SHIFT s

1, SE2

5 bits,
even parity,
two stop bits.

Both serial ports default to 7 bits, even parity, one stop bit.
This corresponds to standard ASCII transmission.
(This can be
changed using the "Thaw" command.)

The three parameters may be entered in any order;
the same as 17E or E17.

thus,

7El

NOTE: Entering an invalid sequence of characters for
, , or  may hang the serial port.

is

Page 1-47

7900 User's Manual

SET HOST EOL SEQUENCE

Format:
SHIFT USER

SHIFT z

, ,

Where:
 and  are each decimal numbers between ~
and 255, and are the decimal equivalents of ASCII
characters to be translated.
NOTE: This command requires entering a lower case
letter, "w". If the ALPHA LOCK key is in its normal
(up) position, it is necessary to use the SHIFT key
with the "W" key to produce a lower case "w".
This command provides a way to resolve the "host conflict"
problem described above. For example, if the host system used
Control-A (the 790~ Mode character) as a" system interrupt code,
it would not be possible to use this character in programs.
The
command
SHIFT USER

SHIFT w 1, 5,

would interchange Control-A with Control-E every time either of
these characters went through the 7900 serial ports.
(We are
assuming here that Control-E would be an unused character in the
vocabulary of the host system.) This translation would allow the
host system to use Control-E as a Mode character in transmission
to the 7900.
This command does not give complete flexibility in loading the
Case Table. If your application requires a special Case Table
arrangement, Thaw provides the address of the Case Table.
You
may then modify it from the Monitor or from an assembly language
program. The Case Table is normally stored in CMOS (optional),
so it will remain loaded with your required values even if
system power is turned off.

Page 1-50

Chromatics

CGC 7900

7900 User's

M~nual

Page 1-51

CREATE BUFFER OPERATIONS

The Create Buffer is an area of system memory used to store
commands and characters. When the Create Buffer is in the "on"
condition, any characters or commands typed will be executed
normally; they will also be stored in the Create Buffer.
After
a set of instructions has been stored in the Create Buffer, it
may be repeated using the REDRAW key.
Commands also allow
editing the contents ·of the Create Buffer.

If the Create Buffer fills up, characters "are no longer stored
in the Create Buffer. However, the CREATE key remains lit, and
the Create Buffer remains full. The system does not provide a
warning for this condition.
(In practice, the Create Buffer
seldom fills up. The Create Buffer is normally allocated a
larger portion of system memory than any other buffer in the
7900.)

Create Buffer processing occurs at the same point as Escape and
User code processing. All input from Logical Input Device 0 is
trapped for the Create Buffer, and if the system is in Half or
Full duplex, all input from Logical Input Device 1 is also
trapped. This results in all characters typed on the keyboard
or received thru the serial port being inserted into the Create
Buffer when it is "on.ft

Chromatics

Page 1-52

CGC 7900

CREATE BUFFER ·ON·
Format:
CREATE
Pressing the CREATE key causes that
key
to
illuminate,
indicating that the Create Buffer is
~on.~
This
action
initializes the buffer, so if there was any information in it
previously, it is now gone. All characters or commands typed at
this point will enter the Create Buffer.

Format:
SHIFT CREATE
Holding down the SHIFT modifier and pressing CREATE will turn
off the Create Buffer. Anything typed after this command will
not be stored in the Create Buffer. The lamp in the CREATE key
will extinguish.
This command is also used to terminate the
functions described on the following pages.

Append

and

Insert

7903 User's Manual

Page 1-53

REDRAW THE -cREATE BUFFER
Forma t:
REPRAW
The contents of the Create Buffer are transmitted to Logical
Output Device 0. Under default conditions, this will cause the
Create Buffer contents to be transmitted to the screen.
Only
RESET can interrupt a REDRAW.
If the Create Buffer is riot already off when REPRAW is
REDRAW turns it off.

executed,

TRANSMIT THE CREATE BUFFER

Format:

The content~ of the Create Buffer are transmitted to Logical
Output Device 1. Under default conditions, this will result in
transmission to the RS-232 serial port.

Chromatics

Page 1-54

CGC

79~0

APPEND TO CREATE BOFFER
Format:
SHIFT USER A
The Create Buffe~ is turned back on, but is not initialized.
Anything typed will be appended to the end of the Create Buffer.
The previous contents of the Create Buffer are still intact.
NOTE: This command shoulq NOT be used if there is
nothing in the Create Buffer (as would be the case
after power-up). Append will not work properly if the
Create Buffer has not been initialized using Create On.
The Append function is terminated using SHIFT CREATE.

DEFINE A SOB-BOFFER
In many cases, you will want to set up a very complex sequence
of commands in the Create Buffei. It is useful to be able to
define Sub-Buffers, which can -be manipulated individually.
A
Sub-Buffer is established by inserting a Control-X into the
Create Buffer. Up to 32767 sub-buffers may exist.
Format:
CTRL X

(Hold down the

~

modifier and type an X.)

Sub-Buffers may be accessed individually with the following
commands. (REDRAW and XMIT will always operate on the entire
Create Buffer, regardless of any Sub-Buffers which may exist.)

79~0

Userrs Manual

Page 1-55

VIEW A SUB-BUFPER
Format:
SHIFT VIEW ,
Where:
 is a decimal number, corresponding to the
Sub-Buffer you wish to view.
Sub-Buffers are numbered consecutively, beginning with
the
number 0. To view any Sub-Buffer, hold down the SHIFT modifier
and press the key marked~. Then enter the number of the
Sub-Buffer you want to see.
The contents of that Sub-Buffer
will be redrawn to Logical Output Device 0 (normally the screen).

Example:
SHIFT VIEW 0,
The first Sub-Buffer will be redrawn. If no Sub-Buffer
exist, this will perform the same function as REPRAW.

markers

Example:
SHIFT VIEW 3,
The fourth Sub-Buffer will be redrawn~
If the system
find three Sub-Buffer markers, it will
assume
a
Sub-Buffer does not exist, and no action will occur.

cannot
fourth

Page 1-56

Chromatics

CGC 7900

KILL A SUB-BUFFER
Format:
SHIFT USER K ,

Where:
 is a decimal number corresponding to the Sub-Buffer
you wish to eliminate.
The Sub-Buffer numbered , if it exists, will be eliminated.
All Sub-Buffers with numbers greater than  will move down one
number. All Sub-Buffers with numbers less than  will be
untouched.

Example:
SHIFT USER K 0,

Sub-Buffer 0 (the first one) will be killed. Sub-Buffer I will
become Sub-Buffer a, 2 becomes 1, and so on.
If no Sub-Buffer
markers exist, the entire Create Buffer is killed.
(This can
also be accomplished by typing CREATE, followed by SHIFT CREATE.)

Example:
SHIFT USER K 4,

Sub-Buffer 4 will be killed, if it exists. (If fewer than four
Sub-Buffers exist, no action is taken.) Sub-Buffers 0 thru 3 are
unchanged. Sub-Buffer 5 will become 4, 6 will be 5, and so on.

7903 User's Manual

Page 1-57

INSERT INTO SOB-BOFFER
Format:
SHIFT USER

A

,

Where:
 is a decimal number, telling which sub-buffer to
insert into.
A search is performed for the start of Sub-Buffer .
At the
completion of the search, the Create Buffer is turned on.
Any
characters or commands typed from that point on will be stored,
beginning at the front of Sub-Buffer .
If Sub-Buffer  is not found, the insertion takes place at the
end of the Create Buffer. This is the same as the ftAppend to
Sub-Buffer ft function.

Example:
SHIFT USER

A

9,

Characters typed in will now be stored at the front
of
Sub-Buffer 3, which means they will be at the front of the
Create Buffer. Even if no Sub-Buffer markers are being used,
this is a handy way to insert something at the beginning of the
Create Buffer.

Example:
SHIFT USER

A

2,

Characters typed in will now be stored at the front
of
Sub-Buffer 2. When a REDRAW is performed, they will occur after
the contents of Sub-Buffer 1, but before the present contents of
Sub-Buffer 2.

NOTE: If you are inserting near the front of the
Create Buffer, and the Create Buffer contains a large
amount of data, there may be a noticeable delay while
the insertion is performed.

Page 1-58

Chromatics

CGC

790~

NOTE: This command 'should not be used if there is
nothing in the Create Buffer (as would be the case
after power-up). See the warning under ,"Append to
Create Buffer."

The Insert function is terminated by SHIFT CREATE.

7900 User's Manual

Page 1-59

LITERAL CREATE
Format:
SHIFT USER [

Literal' Create is used to allow inserting Escape code sequences
into the Create Buffer. Escape code sequences are normally not
allowed in the Create Buffer, since they can cause undesired
changes in the system configuration.
If you wish to insert
Escape codes into the Create Buffer, you should go through the
following steps:

Turn on Create, either with "Create On", "Append
Create Buffer", or "Insert Into Sub-Buffer".

to

Turn on Literal Create with SHIFT USER [

Now, any Escape code sequences entered will be executed AND
stored in the Create Buffer for' future Redr~wing.
Literal
Create remains in effect until the Create Off command is given.
Normal codes will still go into the Create Buffer while Literal
Create is turned on.

NOTE: Many of the keys on the upper half of the
keyboard produce Escape code sequences.
It is not
always obvious which ones will, or will not, be put
into the Create Buffer. If Literal Create is NOT on,
commands such as Zoom and Pan, or Change Color Lookup
Table Entry, will be executed but will NOT be stored
in the Create Buffer.
Consult Appendix A to see which
keys produce Escape code sequences.

Under no circumstances are User code
Create Buffer.

sequences

allowed

in

the

Page 1-60

Chromatics

CGC 7900

DELAY

Format:
~

D ,

Where:
 is the number of

6~ths

of a second to delay.

Delay is discussed here, since it is so often used in conjuction
with pictures drawn in the Create Buffer.
Delay allows pauses
to be inserted into the C~eate Buffer. This is often required
to allow time for a d~awing to be examined, or text to be read.

Delays may be specified to the nearest 60th of a second.

Example:
~

D 120,

Delay two seconds

Note that this command is an Escape Code sequence, and thus
cannot be inserted into the Create Buffer unless Literal Create
is in effect.

If  is -1, the system will wait
keyboard:
ESC D -1,

until a key is pressed on the

Delay until a key is pressed

7900

User's Manual

Page 1-61

WINDOWS
window is one of the system's primary output devices.
occupy the full screen, or any rectangular subset of the
Its limits may be defined in the Overlay, or in Bitmap.
have different dimensions in each.

A

It may
screen.
It may

A window is handled in the same manner as other "physical
devices." When characters or commands are sent to a window, it
will take some action based on the data it receives, and also
based on any previous data it may have received.
For example,
if a window receives a "set color" command, all future text sent
to that window will be affected by that command, until another
"set color" command arrives.

The system will handle up to eight windows. When the system is
initialized, only window "A" is assigned, so the existence of
the other windows is not immediately apparent.
Other windows
are assigned with Escape-code sequences (see "Assign Physical
Devices"). Unless otherwise assignej, all primary output from
the system is directed to window A.

The 7gee defaults to four active windows, named A, B, C, and D.
The number of active windows may be set by Thaw, up to eight
maximum.

Window A is termed the "Master Window." In some cases
it is necessary for the system to reference a known
(For
window, in order to properly execute a command.
example, Pan and Zoom make reference to the current
cursor position. Since each window may have its own
cursor, the system must choose a particular window.
The "Master Window" is always chosen in these cases.)

Page 1-62

Chromatics

CGC

790~

SET WINDOW LIMITS

The dimensions of the window you are currently addressing may
se t with th e ):1 INDQW command.

be

Format:
WINDOW , , , ,
Where  and  are the coordinates of one
window, and  and  are the coordinates of
opposite corner.

corner of the
the diagonally

Following the WINDOW command, the cursor will be moved to the
"home" position (upper left corner) of the newly defined window.

An alternate form of the WINDOW command may be used when the
dimensions are located inside the previous dimensions:

new

WINPOW • •
To use this form of the command, first press the WINDOW key.
Move the cursor to where one of the corners of the window will
be. Press the "period" (decimal point) key. Move the cursor to
the diagonally opposite corner of the desired window and press
the period key again.
The cursor will move to its "home"
position and the limits of the window have now been defined.
The cursor control keys will not be able to move the cursor
outside the window limits. Any text written into the window
will remain inside the established limits.

Windows may be defined and redefined at any time during the
execution of a user program. Text or figures may be created·
inside a window; then, the limits of the window may be redefined
so as to protect that text from being altered.
Text editing
commands, such as Erase Page, will not affect areas outside the
window to which they are sent. In fact, nearly all Mode and
Plot code sequences affect only the window to which they are
sent.
Thus, such attributes as color, transparency,
plot
submodes, blink, fill, character size, and many others, are
specific to a window. Only the window receiving such commands
will act upon them.
Window dimensions are defined differently in Overlay and in the
Bitmap. A WINDOW command given while addressing the Bitmap will

790~

User's Manual

Page 1-63 .

defir.e limits only for Bitmap operation. A WIt-jDON command given
while addressing the Overlay will define limits for the window
only in Overlay operation.
Thus a single window can have
different limits in Overlay and in Bitmap •. The possible ranges
for window limits are as follows:
Overlay:

~
~

Bitmap:

a <=
a <=

<=
<=

X <= 84
Y <= 47
X <= la23
Y <= 1023

Where X is either  or  , and Y is either  or  ,
the WINDOW command format shown above.

in

One alternate form of the WINDOW command is available to reset a
window's limits to the maximum size possible. This relieves the
operator of remembering what the maximum limits are for each
type of window.
WINDOW a,a,-l,-l,

or,

SHIFT WINPOW

This will reset an Overlay window to B, a, 84, 47, or a Bitmap
window to 0, a, la23, 1023, depending on whether you are
addressing the Overlay or Bitmap. The SHIFT WINPOW command may
only be used from the keyboard; the other version may be used
from a host or a program as well.

Page 1-64

Example:

Chromatics

CGC 7900

(in the Overlay)
WINDOW

~,0,84,23,

The window size has been set to the upper
screen. The cursor control' keys will
outside this area.
Example:

half of the overlay
not move the cursor

(in the Bitmap)
WINDOW

~,a,5ll,383,

The window size has been set to the
the visible Bitmap screen.

upper

left-hand

corner

of

You can easily see the limits of the current window by changing
the background color and erasing the window to that color:
SHIFT SET GREEN

ERASE PAGE

(set background color to green)

(clear the window to green)

7900 User's Manual

Page 1-65

TEST

Format:
TEST 
Where  is any displayable character.
The TEST command will entirely fill the window in use with the
specified character. TEST is available in both Overlay and
Bitmap. Whichever window is currently being addressed will be
filled with the character. (Either the Overlay window OR the
Bitmap window - not both - will be filled with the charact.er.)

In the Overlay, all currently defined attributes will be applied
to the test ch~racter. This includes foreground and background
color, foreground and background transparency, and blink.

In the Bitmap, the currently defined attributes will also be
applied. Remember that these attributes may not be the same as
the currently defined attributes of the Overlay.
The currently
defined foreground and background colors, blink, and character
size, will be applied to the test character.

Following completion of the ~ function, the
placed in the Rhome R position of the window.

cursor

will

be

Page 1-66

Chromatics

CGC 7900

7900 User's Manual

Page 1-67

VISIBLE CONTROL-CHARACTERS
The 7gee has the capacity to make control-characters visible.
Control-characters are normally non-printing symbols which have
an effect on the state of the system, such as Break or Return.
For debugging purposes it is sometimes useful to observe the
characters themselves, without letting them
operate
their
control functions.
Format:
ESC V  <3 or 1>
Where:
 is the name of the window where visible
control characters are desired. This will
usually be the default window, named A.
 is the character 3, or 1. 3 turns visible
control-characters off (the default condition)
and 1 turns them on.
After visible control-characters are turned on, all
ASCII
control-characters sent to the window will be displayed in
abbreviated form.

Example:
~

V A1

Visible control-characters are now ON in window A.
strike the RETURN key, we see the symbol

Now,

if

we

C

R
which is the
abbreviation
for
Carriage
Return.
control-characters may be displayed in the same way.

Other

Chromatics

Page 1-68

CGC 7900

Alternatively,
it
is
possible
to
force
Visible
Control-Characters from the keyboard, by holding down the ~ and
M2 keys, and striking a control character. This is useful for
quickly examining the symbol produced. by a particular control
character.
l:U. and M2. will always cause Visible ControlCharacters, regardless of whether the ~ V command was given.
\

Example:
Ml

M2

ERASE PAGE

displays the abbreviation
F

F

standing for Form Feed, the standard ASCII erase-page code.

To examine a control character which does not have a
key assigned to it, you must hold the Ml and M2. keys
~ modifier, and press the desired key.

separate
and the

Example:
Ml

M2

CTRL

D

displays
E

T

which is the abbreviation for EOT, or End Of Transmission.

Note that some keys (especially the labeled keys in the upper
part of the keyboard) produce several codes for each keystroke.
This is normal. The Appendix provides a complete list of code
sequences, and the advanced user will want to familiarize
himself with many of these sequences.

7903 User's Manual

Page 1-69

SELECT CHARACTER SET
Format:
CTRL 0

("A7 off" - standard character set)

CTRL N

(·A7 on· - alternate chararacter set)

Two character sets are supplied in the 7933.
The standard
character set contains 96 printable ASCII characters, plus 32
"visible control characters. n The standard character set is
selected by default when the system is booted.

The alternate character set is called the nA7 n set. It contains
g~aphics figures, Greek characters, and
other special symbols.
It may be selected at any time by pressing CTRL N (hold down the
CTRL key and press N).
Only the window which receives the
command will switch to the alternate character set.

To return to the standard character set, hold down the
and press o.

~

key

The alternate character set is available in both Overlay and
Bitmap. See Appendix E for the available character fonts.
Note
that the Overlay also has a Plot Dot capability, and this is not
related to the character fonts. Plot dots are used for Overlay
plotting features.

Page 1-70

Chromatics

CGC

790~

7900 User's Manual

Page 1-71

FUNCTION KEYS
Format:
DEFINE   

Where:
 is a Function Key, f l thru

~,

 is any set of characters
and/or commands.

The twenty-four Function Keys, II thru r2!, are user-definable
keys. You may "educate" these keys to perform any sequence of
commands, and once educated, the keys will remember their
definitions until the definitions are changed.
If your system
is equipped with battery-powered CMOS memory (optional), then
the user-defined keys will remain defined even while system
power is off.

The Function Keys ~ thru Eli are accessed by holding
SHIFT key while pressing the appropriate function key.

down the
Thus,

SHIFT Fl

is the same as

To make the distinction clearer, we will refer to the
thru fZ! with their number AND the SHIFT modifier, as:

keys

rll

SHIFT F13

To define a Function Key, press the PEFINE key, followed by the
Function Key you wish to define. To educate the I l key, type
DEFINE

.u

Then type any sequence of commands or characters. "The keys you
press will not have any effect on the display, but they will
each be acknowledged by a "hissing" sound from the speaker.
When you have typed all the keystrokes you wish to enter into
this Function Key definition, hit the Function Key again (the
same key you started with).
This will be acknowledged by a

Chromatics

Page 1-72

CGC 7900

n gong " sound from the s~eaker,
and the Function Key defir.ition
is now complete. Pressing the same Function Key at any future
time will produce the stream of characters (or commands) which
you entered as the definition.

Example to educate Function Key fl:
DEFINE fl T HIS SPACE I 5 SPACE A SPACE T EST El
Example to educate Function Key Il!:
DEFINE SHIFT F24 1 2 3 4 5 6 7 8 9 0 SHIFT F24
Note that to CLOSE the definition of fli, you must be sure to
hold down the SHIFT key at the end of the definition.
This is
because a Function Key is allowed to ftcall ft other Function Keys:
DEFINE U tl

n

tl tl f.2.

Pressing f.l is now equivalent to pressing tl four times.

Storage for Function Key definitions is dynamcally allocated.
A
key will use only as much space as it needs.
This means the
available storage may be used all by one key, spread evenly
among many keys, or distributed in any other way.
The default
Function Key buffer allocation is 768 bytes, in CMOS (if
present) or in static RAM. The "Thaw ft command may be used to
alter this allocation.

If Function Key storage overflows while defining a key, the
normal ~gongft ~ound for closing the definition is produced, and
no more characters are accepted.
It is then necessary to
ftun-define ft some keys (define them to be null) to provide space
for future definitions. Note that since definitions are stored
in battery-powered CMOS memory (if installed), it is possible for
Function Key definitions to remain in the system long after
their usefulness has ended.
Example to "un-defineR Function Key fl:
PEFINE

.tl

tl

Page 1-73

7900 User's Manual

BEZEL KEYS
Eight Bezel Keys are located on the bottom of the frame
surrounding the 7900 screen. They are defined and used in the
same way as the Function Keys described above.

Format:
DEFINE







Where:
 is anyone of the eight Bezel Keys, and
 is any stream of characters
or commands.

See the previous section, "Function Keys," for more information
on user-defined keys. The SHIFT key may not be used with Bezel
Keys to generate unique codes. If SHIFT is depressed while
pressing a Bezel Key, the SHIFT is ignored.

Overflows are handled the same way for
other Function Keys.

Bezel

The Bezel Keys have an additional use when
language programs.
See Appendix C, The
description.

Keys

as

debugging
Monitor,

for

the

assembly
for
a

Page 1-74

c.
13

S2t
l.Jif;

A~b '+70

A

G~b

Or
~J.

r

~b
~.
C.

44141CJ

3'"
373

3 S2.
333
31;'

21'
2

to

~"

Chromatics

CGC 7900

Page, 1-75

7900 User's Manual

TONE GENERATOR
Format:
SHIFT TONE

,,,,

Where:


, 
is from 30 to 15000 (hertz).

NOTE: Selecting a frequency of 0 on any
that channel off.

channel

turns

The duration of the tone may be set to any value up to
approximately 9300 (milliseconds). This would produce a tone
9.3 seconds long.

Page 1-76

Chtomatics

CGC 7900

Example: (to select voice A to be "middle A"
440 Hz)
 = 1760.

Finally, select a duration of 1 second.
finished command then becomes
SHIFT TONE

440,880,1760,1000,

Then 

<£2>



<£1> and <£2> are single characters, A thru Z
 is a single digit, 0 thru 4 (see below)

NOTE: The character I is located on the same
the backslash, \.

key

with

 and  are specifiers which indicate Function Keys to
execute, before and after the light pen hit.
The characters A
thru X are used to designate Function Keys El thru f2!. Enter a
character outside this range to disable either or both of the
function keys.

Page 1-78

Chromatics

CGC 7900

 is a flag which determines the state of the light pen:


Function

a

Disable light pen.

1

Enable light pen, using Bitmap coordinates,
with blue flood.

2

Enable. light pen, using Bitmap coordinates,
without blue flood.

3

Enable light pen, using Overlay coordinates,
with blue flood.

4

Enable light pen, using Overlay coordinates,
without blue flood.

Blue flood occurs only in areas of the Overlay which are
to be "foreground visible. n See
nModify
Overlay
Attributes."

defined
Visible

Example:
DEFINE  MOVE X-I 

Define key FI to be a
Move X-Y command

DEFINE 

H

Define F2 to be nHELLO n

SHIFT USER

SHIFT

ELL

0


AB 3

Activate light pen with
function keys A (Fl) and
B (F2), and enable blue
flood.

Now, each time the light pen is detected
cursor will move to the indicated position
"HELLO. "

on the screen, the
and print the word

Note that the light pen produces coordinates fr'om 0 to 1023, if
 is I or 2; it produces coordinates from 0 to 84 if  is 3
or 4. In either case, the Overlay foreground must be visible if
blue flood is desired. The command ~ V 2 will make the
Overlay window have a visible foreground.

7900 User's Manual

Page 1-79

Other exarnpl es :
SHIFT USER

SHIFT

Disable the pen.

SHIFT USER

SHIFT

Enable the pen to simply
print coodinates each time
a hit is detected.

Page 1-80

Chromatics

CGC 7900

7900 User's Manual
REAL

Page 1-81

TIME CLOCK

The Real-Time Clock (optional) keeps track of rnonths, days, the
day of the week, hours, minutes, seconds, and fractions of
seconds. Several commands are provided to set and display the
time and date information.

SET CLOCK

Format:
SHIFT USER

SHIFT g

MM DD N hh mm ,

Where:
MM

is the two-digit month code

(01 thru 31)

DD is the two-digit day code
N

is the day-of-week code

(31 thru 12)

(1 thru 7)

hh is the two-digit hours code
nun

("0 thru 23)

is the two-digit minutes code

(3" thru 59)

NOTE: This command requires entry of a lower case
letter, RqR. If the ALPHA LOCK key is in its normal
(up) position, it is necessary to use the SHIFT
modifier with the RQR key to produce a lower case ftqft.

All of the above parameters are set simultaneously, by a single
entry to the Real-Time Clock. It is not possible to set the
parameters individually.

Either a comma
command.

or

semicolon

may

be

used

to

terminate

this

Chromatics

Page 1-82

CGC 7900

Examples:
SHIFT USER SHIFT q

~10ll~235,

SHIFT USER SHIFT 9 112141745,

(January 1, Monday,
2:35 AM)
(November 21, Thursday,
5:45 PM)

When setting the clock to an exact time, use the following
procedure: Enter the date and time information as above.
Enter
the minutes as being one or two minutes ahead of exact time.
Wait until the time you entered equals the exact time, THEN enter
the comma.

DISPLAY TIME
Format:
SHIFT USER

Q

<~

or 1>

Use the character 1 to enable the time display, or
it.

0

to disable

This command causes time and date information to be continuously
displayed in the upper right corner of the Overlay.
The
information is updated once per second.
Entering a a prevents the displayed time from being updated, but
does not remove the last displayed time from the Overlay screen.
It is necessary to erase the Overlay, or make it transparent, to
completely remove the clock display.
.

NOTE: If your system is not equipped
Real-Time Clock option, this command will
system to hang.

with
cause

the
the

7900 User's Manual

Page 1-83

THAW

Format:

The "Thaw" command allows you to configure various aspects of
the 7900 system, such as buffer sizes and default baud rates.
The information supplied t~ Thaw is stored in battery-backed
Cl-IOS RAM (optional), or ln static RAM memory.
If CMOS is
installed, parameters set up by Thaw are remembered during power
outages, and used the next time the system is powered up.
If
the CMOS option is not installed, information given to Thaw is
only remembered until the system is shut off.
Thaw also displays some important system variables, which are
not stored in CNOS, but may be of interest to the systems
programmer. It is possible (but not recommended) ~o alter these
variables as well. However, the values of items not in CMOS
will not be remembered when the system is turned off or Booted.
Using Thaw, it is possible to allocate system RAM so that it
serves your purposes efficiently.
It is also possible to
allocate more RAM than your system contains. In this case, the
system will attempt to recover by reverting to PROM default
values.
NOTE: To erase CMOS completely, and return to the
press the keys
defaults your system was shipped with,
Ml M2 CTRL SHIFT RESET simultaneously. Release RESET
before releasing the other keys.
Thaw takes you through a list of system parameters.
For each
parameter, it displays a brief description, followed by the
currently assigned value for that parameter. It then displays a
colon (:> to ask whether you want to change that parameter.
You may hit RETURN to leave the value unchanged, or enter a new
value, followed by RETURN. You MUST hit RETURN after entering a
value, or the value you enter will not be accepted.
If you
press DELETE (instead of RETURN), the system will ignore your
input even if you did enter a value.
All numerical values supplied to Thaw are in hexadecimal.
DO
NOT enter the dollar sign to indicate a hex number.
Thaw
displays an a-bit, 16-bit, or 32-bit number, depending on the
legal range of values for the entry.

Page 1-84

Chromatics

CGC 7900

After stepping through all entries, Thaw begins again from the
start. Once you have changed all the entries you need to
change, press RESET. (RESET is the ONLY way to exit from Thaw.
After pressing RESET, you will note the green light on the
keyboard turns on, then goes off.) If you had changed any of the
"buffer size" parameters, you should also execute CTRL BOOT.
This will cause the system to be re-configured according to the
new defaults you have entered.
CAUTION: If you alter any of the "buffer
size w
parameters using Thaw, and then exit Thaw WITHOUT
executing Boot, the system may become confused and
fail1

Page 1-85

7900 User's Manual
The following abbreviations are used by
indicates a buffer size description.)

Thaw:

("Z"

generally

DOSTranZ

Size of DOS transient program area

DOSBuffZ

DOS buffer size

#Windows

Number of windows

KeyBuffZ

Keyboard buffer size

Fnk Nest

Function key stack size (for nesting)

232

RS-232 Input buffer size

InZ

232 OutZ

RS-232 Output buffer size

449

RS-449 Input buffer size

InZ

449 OutZ

RS-449 Output buffer size

Esc ArgZ

Escape code argument stack size

StackZ

System stack size

UpperRAM

Syst·em upper memory limit

FnkStart

Starting address of function key buffer

FnkEnd

Ending address of function key buffer

CaseTble

Case table address

DefltPrg

Default program to execute at Reset

RAM MDLE·

Address of RAM modules to be linked

232 Mode

RS-232 USART mode command

449 Mode

RS-449 USART mode command

232HandS

RS-232 Handshake flags

449HandS

RS-449 Handshake flags

232 Baud

RS-232 Baud rate flag

449 Baud

RS-449 Baud rate flag

Planes
WinTable

Image planes in system
Base address of Window Tables

Chromatics

Page 1-86

CGC 7900

StackTop

Tcp of system stack

StackBtm

Bottom of system stack

CreaStrt

Starting address of Create Buffer

CreatEnd

Ending address of Create Buffer

Boot $

String to execute at Boot time

Reset $

String to execute at Reset time

Each of these parameters is discussed in the following pages.

7900 User's Manual

Page 1-87

DOSTranZ: default $4000 bytes (16K bytes)
DOSBuffZ: default SlA00 bytes
Range: 0 to $7FFE bytes (even numbers only)
The DOS transient area and buffer are allocated consecutively in
memory_ Generally, programs run in the transient area, and use
the buffer area for any large data storage needs; these two
areas may be combined and used as a single DOS area in some
applications.
The size of the DOS buffer determines how much memory is
available for disk operations such as COpy or COMPRESS.
The
larger this area is, the faster such operations will occur.
Making this area very small will result in excessive wear to the
disk media during these operations.

#Windows: default 3
Range: 9 to 7
The
The system may have from one to eight windows active.
n#Windowsn parameter contains a number ONE LESS than the number
of active windows.

KeyBuffZ: default $49 bytes (64 bytes)
Range: e to $7FFE bytes (even numbers only)
This buffer provides ntype-ahead n capability.
Characters
on the keyboard are stored here until read by a program.

typed

Fnk Nest: default $89 bytes (128 bytes)
Range: $le to $7FFE bytes (even numbers only)
This area is a stack, used to provide "nestingn when one
Function Key is used to execute another Function Key.
Each
level of nesting requires 8 bytes. A minimum of $19 bytes (16
bytes) is recommended.

Page 1-88

Chromatics

232 InZ: default
232 Outz: default
449 InZ: defaul t
449 OutZ: defaul t

$800 bytes
$80 " bytes
$800 bytes
$800 bytes

CGC 7900

(2K bytes)
(2K bytes)
(2K bytes)
(2K bytes)

Range: $10 to $7FFE bytes (even numbers only)
Each buffer is used by the serial port routines, to handle
incoming and outgoing characters. NOTE: Do not set buffer sizes
below $10 bytes (16 bytes).

Esc ArgZ: default $400 bytes (IK bytes)
Range: $10 to $7FFE bytes (even numbers only)
Escape and User codes accept arguments, and these arguments are
stored temporarily in this area. NOTE: Do not set buffer size
below $10. bytes (16 bytes).

StackZ: defaul t $8"" bytes (2K bytes.)
Range: $8"" to $7FFE bytes (even numbers only)
The system
storage in
during the
The system
bytes).

stack is used for su~routine calls and for temporary
many system programs. It is used especially heavily
Complex Fill routines to store screen coordinate data.
stack size should not be reduced below $8"" bytes (2K

UpperRAM: default $lF""9
Range: depends on system hardware
The system allocates RAM among all of the buffers listed in this
section. Whatever RAM is left over, up to the limit set by
UpperRAM, is allocated to the Create Buffer. In a standard 790"
system, only one Buffer Memory card is installed, and the
physical end of Buffer Memory is at address $lFFFF. If you have
purchased additional Buffer Memory cards, you may wish to move
UpperRAM to a higher address so that the Create Buffer will make
use of more memory.
The system defaults to $lF""0 for UpperRAM so
between $lF""" and $lFFFF may be used for small
UpperRAM may be moved down to provide more
programs.
See al so RAr.! MDLE below.

that
user
room

the area
programs.
for user

79D~

User's Manual

Page 1-89

FnkStart: default $E4~903
FnkEnd: default $E40BFF
Range: may be moved to Buffer Memory- (see below)
Function Key definitions, including Bezel Key definitions, are
normally stored in CMOS memory between addresses $E409~3 and
$E43BFF.
This provides 768 bytes of
storage.
If
your
application requires more room for Function Key definitions, you
may choose to move these addresses into Buffer Memory.
For
example, you could set FnkStart to $lF000, and FnkEnd to $IFFFF,
to provide 4K of storage for Function Keys.' Note that this
removes Functi on Keys from Cr·10S, so thei r def ini ti ons would be
lost when the system is turned off.
Memory addresses $E40C00 to $E40CFF are reserved for the Inline
Editor (used in Thaw, DOS, and the Monitor).
The Function Key
buffer may not be expanded into this area.

CaseTble: default $E40800
Range: may be moved to Buffer

~lemory

(see below)

This is the address of the Case Table (see "Serial Ports
It
may be moved to Buffer Memory if desired,
however,
the
information contained in the Case Table would then be lost when
system power is turned off. The Case Table is 256 bytes long.
ft

.)

DefltPrg: default $802008
Range: may be any address in PROM or RAM
DefltPrg contains the address to which the system will jump
after Reset or Boot.
The default address is that of the
Terminal Emulator program. Other useful addresses are:
Monitor: $80A008
DOS:
$80C008
NOTE: These addresses are valid for TERMEM 1.1, but may
change in future firmware releases.
If this location is set to an address where a valid program
not exist, the system will crash.

does

Page 1-90
RAN ~·mLE:

Chromatics

CGe 7960

defaul t $lFG00

Range: may be any RAM address
When the 7900 Boots, it "links" all system routines together and
enters them into "dispatch tables" for processing via code
sequences. User routines may be linked as well, if they conform
to the requirements of the 7903 •. User routines to be linked
must be loaded at address RAM MDLE.
See the 7900 Assembler
Manual for details on writing programs for the 7903.

232 Mode: default $7A
449 Mode: default $7A
Range: any value from the .table below
The RS-232 ports and RS-449 ports are initialized with a "Mode
Select" byte, which determines the number of bits per word,
number of stop bits, and parity. The Mode Select byte is f.d to
the 8251 USART on the CPU card. You can determine the proper
Mode Select for your application from the following table:
Upper 4 Bits
stop bit, no parity:
4
1 stop bit, odd parity: 5
1 stop bit, even parity: 7

I

Lower 4 Bits
5
6
7
8

bits:
bits:
bits:
bits:

2
6
A
E

1.5 stop bits, no parity:
8
1.5 stop bits, odd parity: 9
1.5 stop bits, even parity: B
2 stop bits, no parity:
C
2 stop bits, odd parity: D
2 stop bits, even parity: F
For example, the default Mode Select is $7A.
This· corresponds
to 1 stop bit and even parity (7), and 7 bits (A).
Further details are available in Intel literature describing
8251 USART.

the

7900 User1s Manual

Page 1-91

232HandS: default $~l
449HandS: default $01
Range:

$~0

to

$~3

These flags set the handshaking characteristics
ports, according to the following table:

of

the

serial

serial

ports,

~0: No handshaking
01: Software handshaking (X-on, X-off)
02: Hardware handshaking (DTR and DSR signals)
03: Both software and hardware handshaking

232 Baud: default $0E
449 Baud: default $0E
Range:

$~~

to $aF

These values set the default baud
according to the following table:
00: 50 baud

01:
02:
03:
04:
05:
06 :
07 :

75
110
134.5
150
300
600
1200

08:
09:
0A:
0B:
0C:
0D:
0E:
0F:

rates

of

the

1800
2000
2400
3600
4800
7200
9600
19200-

Planes: default $0001, $0087 or $00FF (typical systems)
NOT CMOS!
The number of Image Memory planes installed in your 7900
determines ·the value of this entry. This is a l6-bit number,
and each bit which is SET corresponds to an existing plane.
Bits which are ZERO correspond to planes which
are
not
installed. A four-plane system, containing planes numbered 0,
1, 2, and 7, would display the value $0087 for Planes.
This item is displayed for information only. It should
altered with Thaw. The value of Planes is determined by
each Image Memory plane when the system is booted.

not be
testing

Page 1-92

Chromatics

CGC

790~

WinTable: default $763C
NOT CMOS!
WinTable is the base address of the Window Tables, the system
memory areas used to define the attributes of each window.
This item is displayed for information only. It should not be
altered using Thaw.
WinTable will vary depending on buffer
allocations.

StackTop: default $AAFC
StackBtm: default $A2FC
NOT CMOS!
The top and bottom of the area reserved for the system stack are
displayed here. The system loads the Stack Pointer (SP) with
StackTop at boot time.
These items are displayed for information only. They should not
be altered using Thaw.
StackTop and StackBtm
will
vary
depending on buffer allocations.

CreaStrt: default $AAFC
CreatEnd: default $lEFFa
NOT CMOS!
The starting and ending addresses of the Create Buffer are
displayed here. The Create Buffer is allocated most of the
system's memory, after all other buffers have been allocated.
The Create Buffer ends slightly below UpperRAM (a few bytes of
safety margin are provided).
These items are displayed for information only.
CreaStrt
CreatEnd will vary depending on other system parameters.

and

7900 User's Manual
Boot $:

default

USER I l L

Page 1-93

USER OIL Z Z Z

Range: any 75 characters
The "Boot String" is executed at power-up and when Boot is
executed. It acts just as if you had typed in these characters
from the keyboard. The Boot String and Reset String (described
below) provide a very flexible way to establish system defaults.
Virtually any system function may be executed by default, simply
by including it in the Boot String or Reset String.
The Boot String is stored in CMOS.
The default Boot String, listed above, assigns Logical Input
Device 1 to the serial port, and assigns Logical Output Device 1
to the Serial Port and three dummy devices.
User and Escape code sequences may be entered into the Boot
String. The "User" character is abbreviated with a AURA, and
the "Escape" character is abbreviated with an "Ee".
It is not useful to enter alphabetic characters, or Mode and
Plot codes, into the Boot String. This is because the window
for Logical Output Device C has not yet been assigned: this
occurs during execution of the Reset String (see below).
The
Boot String is primarily useful for executing commands such as
"Clock On", "Half Duplex", or setting Logical Device Assignments
as shown above.
All of the character-oriented text editing features "labeled on
the cursor keypad may be used to edit the Boot String.
This
includes Insert/Delete Character, Clear EOL, and the arrow keys.
See "Appendix C - The Monitor" for a complete discussion of the
Inline Editor.

Reset $:

default

USER I 9 K USER 0

a

A K Z Z MODE J 1

Range: any 75 characters
The "Reset String" is executed after a Reset, and also after a
Boot. (At Boot or power-up time, the Boot String executes
first, followed by the Reset String).
The Reset String is
stored in CMOS.
The default
window A as
cursor with
be included
abbreviated

Reset String, listed above, assigns the keyboard and
the default Logical Devices. It also turns on the
a Mode code sequence. Mode and Plot characters may
in this string, and they will be displayed in
form.

See the discussion of Boot String above for more details.

Page 1-94

Chromatics

CGC 7903

DEFAULT RAM ALLOCATION
The following chart describes default RAM allocation in version
1.1 of 7903 system software. The sizes of buffers marked with
asterisks (*) may be altered with Thaw, which may alter the
starting addresses of other buffers.
To the right of the table are the addresses of· pointers.
These
pointers contain long-word addresses which will always indicate
where buffers start, regardless of Thaw.
For· example, $C28
always holds the address of the RS-232 Input Buffer.
All addresses between $3 and $lC3C are fixed in this
firmware, and cannot be changed with Thaw.

version

of

79~0

Oefault
Address
SB
$4""

User's Manual

Page 1-95

Pointer Location

Contents
Interrupt
Vectors
Scratch Pad RAM
Osed By Monitor

S69C

scas
$l4U
SlU8
SlC3C

SSC3C
S763C

S7E3C
$7E7C

TERMEM Pointers
lubber Band ao
Save Area
TEAAEM
Dispatch Tables
DOS Transient
Program Area
($499B bytes*)
DOS Buffer
(SlAg" bytes*)
Window Table

"

$96FC

$9EFC

SA2FC
SAAFC
SAMC

+-

(SCS4)

+- (SC3C)
4 - (SC"')

Each Window Table takes S12 bytes.

Window Table 2

They are allocated consecutively.

Window Table 3
leyboard Buffer
(S49 bytes*)
Function ley
Stack
($8B bytes*)

of- (SCS4)

+- (SC1C)
4-

IS-232 Input
Buffer
($8"" bytes·)

S8ElC

(SCSI)

Window Table 1

$7UC

$86FC

~

RS-232 Output
Buffer
(S8"" bytes*)
15-449 Input
Buffer
(S8"" bytes*)
RS-449 Output
Buffer
($S"" bytes·)
Eac Processor
Argument Buffer
($4"" bytes*)
System Stack
($8SS bytes·)

(SC2-8)

of- (SC2C)

~

(SC31)

' - (SCJ4)

+-

(SC;38)

f - (SC48)
f - eSCU)

+-

(SC4C)

Create Buffer
(gets the rest
of memory)
f - (SCSe,
f - (SE4Sl2A)

$lEFF8
SUB""
Onused RA!f
UFFFF

Additional Buffer Memory cards
may be installed above SlFFFF.

Page 1-96

Chromatics

CGC 7900

790~

Userrs Manual

Page 1-97'

NUMERICAL DATA

In an earlier section, we mentioned briefly that the
expects decimal numbers to be delimited by a
comma or semicolon.
This section
discusses
the
various forms in which numerical data may be accepted
by the 7900. Some advanced features of the 7900 are
mentioned in this section, but are not described in
detail until later sections.
790~

Numerical data is used to enter coordinates for plotting, for
window limit definition, for color numbers, and to set up many
other system features. The numerical data will usually have a
value between -32768 and +32767, or between 0· and +65535.
Numerical data may be accepted in one of several
forms,
depending on the current state'of the system:
1) A decimal number. Decimal numbers are entered as you would
normally type a number on the keyboard. A decimal number ~LWAYS
ends with a comma or semicolon. Failure to provide the comma or
semicolon will usually cause the system to continue accepting
characters until a comma or a semicolon IS found.
This will
almost certainly enter erroneous data into the system.
A decimal number may have a leading + or
sign.
If, while
entering a decimal number, you discover that you have entered a
wrong digit (BEFORE striking the terminating comma), you may
press the + or - key to cancel that entry and then re-enter the
correct data. Pressing the + or
key resets the "argument
collector" so that it begins parsing that entry again.
Examples of decimal numbers:
17,
+17,
13+17 ,

(Each of these numbers evaluates to seventeen.)

2) If Binary mode is
special binary form.
section.

on, each number must be entered in a
Binary mode is discussed later in this

3) If Binary mode is NOT active, the system will accept a Window
Variable anywhere a decimal number is allowed. Window Variables
are discussed next.

Page 1-98 .

Chromatics

CGC 79Q0

WINDOW VARIABLES

Each window has a number of variables which may be used to store
temporary data. These variables are referenced by alphabetic
names, A through z, and the names of variables may be used
anywhere a decimal number may be used in any system command.
Each variable is allocated 16 bits (1 word) of storage, so a
variable can store numbers from -32768 to 32767.
The Window Variables named A thru Z, and [, \,1, A, _, "
are
completely available for the user.
Variables named a thru z
provide access to certain items in the "window table" (the set
of data defining the current status of the window).
These
variables should be used with caution only.
The values of most Window Variables are lost when the "Soft
Boot" command is executed. Only the current cursor positions
are preserved.
Since the names of Window Variables ~re alphabetic characters,
and entering a Window Variable name is equivalent to entering a
decimal number, you are cautioned against entering text while
the system is in Plot mode. The text would be interpreted as
Window Variable names, causing unpredictable numbers to be
plotted.

7900 User's Manual

Page 1-99

WINDOW VARIABLE ASSIGNMENTp

Usage

Variable

User-defined

A
B

n

•
•

•
•

n

Y
Z
[

n

•

\

n

]

It

A

n
It
It

a
b

c
d

e
f
g
h
i
j
k

1
m

n
o
p
q
r

s

Overlay cursor X position
Overlay cursor Y position
Bitmap cursor X position
Bitmap cursor Y position
Overlay window Xl position
Overlay window Yl position
Overlay window X2 position
Overlay window Y2 position
Bitmap window Xl position
Bitmap window Yl position
Bitmap window X2 position
Bitmap window Y2 position
Bitmap
Bitmap
Bitmap
Bitmap
Bitmap
Bitmap

character raster size (X)
character raster size (Y)
intercharacter spacing (X)
intercharacter spacing (Y)
character X multiplier
character Y multiplier

t

Virtual coord X m1n1mum
Virtual coord Y minimum

u

Tab stop spacing

v

Vector width

w
x

Background color
Foreground color

y

Plane select value

z

(Not used, reserved)

Page

Chromatics

l-10~

CGC

790~

OPERATE ON WINOOW VARIABLE

Format:






Where:
 is one of the window variables, A thru z


is an a~ithmetic, logical, or assignment operator
in the set = + - * / & 1



is a decimal number followed by a comma, or
another Window Variable

This command assigns a value to a Window
it in some way.

Variable,

or

modifies

"The
The = operator assigns the value .
arithmetic operators +, -, *,
and
/
perform
addition,
subtraction, multiplication and division. The logical operators
& and! perform a l6-bit logical AND and OR, respectively.
Examples:

= 1,

set variable A equal to 1

MODE

A + 1,

increment the variable A

~ ]

A+ B

let A

~l

A

MODE ] A

&

7,

let

=A + B
A = A AND

7

Page' 1-101

7900 User's Manual

DISPLAY AND TRANSMIT WINDOW VARIABLE
Commands are provided to display the value of a Window Variable
They
operate
or transmit this value to a host system.
identically except that the Display command sends the value to
Logical Output Device 0 (normally a window), and the Transmit
command sends the value to Logical Output Device 1 (normally the
RS-232 serial port).
Each command also sends the ftHost
the variable value. The default
return and line feed.

EOL
EOL

sequence ft after sending
sequence is a carriage

These commands always send values as decimal, -32768 to +32767.
Format:
USER

SHIFT x



'

(Transmit variable)

USER

SHIFT Y





(Display variable)

Where: .
 is the desired window, A thru H
 is the name of a Window Variable, A thru z
NOTE: Each of these commands requires entering a lower
case character, x or y. If the ALPHA LOCK key is in
its normal (up) pOSition, it is necessary to use the
SHIFT key with the X or Y key to produce a lower case
x or y.
These commands point out that the value of a Window Variable is
specific to a window. You must specify which window you are
interested in, when requesting the value of a Window Variable.
Windows are named A thru H.
Often window A (the ftMaster
Window ft ) is the only window in use, however, its name must still
be specified.

Page 1-102

Chromatics

CGC 7900

Example:
~

SHIFT Y

A

SHIFT Y

display the currently
specified vector width
for window A.

Example of variable operations and display:

U

PEFINE
USER

SHIFT Y A
A + 1,

Define Function Key Fl to be:
A

display variable A (window A),
and increment variable A.
End of Fl definition.

Now, -pressing
so on.

~

repeatedly displays the integers,

1, 2, 3,

and

7900 User's Manual

Page 1-103

WINDOW VARIABLE OSES
Window Variables give the user direct access to many of the
attributes which define a window. They are especially useful to
alter some window attributes which are not otherwise accessible.
Example:
MODE

]

SHIFT u

= 8,

This example sets the tab stops in a window to 8, producing a
stop every eight columns.
There is no Mode code sequence
assigned to perform this function, so the Window Variable
operator is the only means available for setting tab stops.

Example:
SHIFT OVERLAY
RECTANGLE
SHIFT i

SHIFT j

SHIFT k

SHIFT 1

The four Window Variables i, j, k and 1 define the coordinates
of a window in the Bitmap. This example draws a rectangle with
those coordinates, producing a rectangle surrounding the current
window.

Chromatics

Page 1-104

CGC

790~

BINARY MODE
Format:
~

B <0 or 1>

Using the character 0 will turn off Binary
state), the character 1 will turn it on.

mode

(the

default

Binary mode is provided so that a host system, or user program,
can transmit coordinate data more efficiently. When Binary mode
is on, all numbers which are normally entered in decimal must be
entered in a special binary fashion.
This
includes
all
coordinate data, color numbers, sub-buffer numbers, etc.

NOTE: Binary mode is NOT recommended for use from the
keyboard! In Binary mode, color keys, and many other
keys on the upper half of the keyboard will not operate
normally.

In Binary mode, each number entering the system must be
into two a-bit bytes. The bits are arranged as follows:

First Byte:
Bit t

7

6

X

1

7

6

X

1

5

4

I I I.......

3
IOW

2

1

6 bitS.· ••

·.1

Second Byte:
Bit i

5

4

I I 1·.·· ..

3

2

1·

hi9h 6 bitS······1

encoded

7900 User's Manual

Page 1-105

In each byte, the state of bit 7 is ignored, and bit 6 is
required to be a 1.
This insures that only printing ASCII
characters will be used. Bits 5 thru 0 of the first byte make
up the low-order 6 bits of the resultant value, and bits 5 thru
o of the second byte make up the high 6 bits. This is consistent
with the Binary mode used in the Chromatics CG Series computers.

Binary mode
numbers.

thus

limits

arguments

to

being

12-bit

Page 1-106

Chromatics

CGC 7900

790~

User's Manual

Page 1-107

Page 1-108

Chromatics

CGC

790~

7900 User's Manual

SECTION TWO - THE OVERLAY

Page 2-1

page 2-2

Chromatics

CGC 7900

7900 User's Manual

Page 2-3 .

THE OVERLAY: INTRODUCTION
The Overlay screen is a powerful feature of the 790C.
It was
designed to relieve the high-resolution Bitmap screen from
time-consuming operations associated with text manipulation.
The Overlay provides an area where messages to and from the
operator may be displayed. It is compatible with several menu
selection techniques, including the Light Pen and the Bezel
Keys.

The Overlay also provides an environment which is isolated from
the Bitmap screen, for safety reasons. Drawings in the Bitmap
will not be obliterated by prompts or error messages in the
Overlay, for example.

For illustration purposes, it is useful to imagine the Overlay
as being a screen in FRONT of the high-resolution Bitmap screen.
The Overlay is organized as a set of character cells, arranged
85 horizontally and 48 vertically.

Each cell of the Overlay has the following attributes:
Foreground Color
Background Color

(Foreground and Background color
may be selected from any of the
eight color keys on the keyboard)

Foreground Blink (on or off)
Foreground Transparency
Background Transparency
Hardware cursor (available at each cell)

All 96 standard ASCII characters are available in the Overlay.
The 32 Control-characters defined in ASCII
may
also
be
displayed, in "Visible Control-Character" mode.
An additional
set of 128 characters is available, and may be selected with the
·Select Character Set" command, described in section 1. This set
contains Greek characters and other special symbols.

All characters in the Overlay are formed from a 6 by
matrix. The ASCII character set falls into a 5 x 7 .grid
this matrix.

8 dot
within

Page 2-4

Chromatics

CGC 7900

A low resolution plotting mode is available in the Overlay,
which allows any cell to display a group of eight pixels, two
horizontally and four vertically.
This provides a plotting
capability which, in the Overlay alone, exceeds the resolution
available on many other computers!
The resolution of the
Overlay plot mode is 170 (horizontal) by 192 (vertical).
Some
of the advanced plotting features of the Bitmap screen are also
available in the Overlay, such as drawing vectors.

7900 User's Manual

Page 2-5

OVERLAY DEFAULTS
When the system is powered up, or when the ~ or
keys are struck, the Overlay is inftialized with
attributes as follows:

SQF~

BOOT

certain

Background Black
Foreground White
Cursor visible in upper left corner ("home" position)
Visible (not transparent) Foreground and Background

SOFT BOOT and BOOT do not affect the high-resolution Bitmap
screen. However, since the Overlay is not transparent at this
time, any picture on the Bitmap acreen will not be visible.
-(See "Modify Overlay Visible Attributes.") If the system has
just been powered up, no picture will be present on the Bitmap
screen anyway.

Page 2-6

Chromatics

CGC 7900

OVERLAY OPERATIONS
When the system is initially powered up, or booted, you will
addressing the Overlay. This section discusses the types
commands accepted by the Overlay.

be
of

The Overlay is designed for easy communication with a host
computer or other remote device.
Its main purpose is fast
alphanumerics. Most messages to and from the operator will be
displayed in the Overlay. For this reason, the Overlay is the
default mode of operation when ~ is executed.

When you are addressing the Overlay, the light in the
OVERLAY key will be illuminated. Note that this light
is on when the system is booted.
When this key is
extinguished, you are addressing the Bitmap, which is
discussed in later sections.

7903 User1s Manual
OVERLAY

Page 2-7

CURSOR CONTROL

The Overlay cursor is a flashing white overscore and underscore.
It is initially located in the upper left corner of the window,
which is termed its "home" position. Pressing the HQM& key on
the cursor keypad will always return the cursor to this position.

Two keys on the typewriter section of the keyboard have an
effect on the cursor. RETURN (carriage return) moves the cursor
to the beginning of the current line. Lf (line feed) moves the
cursor down one line.

Tab stops are located every four
character cells in the
Overlay.' Pressing the CTRL modifier with the I key will
generate a Tab character, and will move the cursor to the next
tab stop.
CTRL I

The other keys on the cursor keypad are used to position the
cursor in the Overlay, and to perform text editing functions.
The four arrow keys move the
cursor
in
their
respective directions.
Simultaneously pressing two
adjacent arrow keys moves the cursor diagonally.
HOfolE moves the cur'sor to the upper left corner of the
window. CTRL HOME moves the cursor to the LOWER left
corner of the window (Rhome lower").
ERASE PAGE clears the Overlay window to
whatever
background color is in effect (initially black).
CLEAR LINE deletes the line
currently pOSitioned.

at

which

the

cursor

is

Page 2-8

Chromatics

CGC 7900

The RECALL key is only active when you are entering
input to the Disk Operating System, the Monitor, or
some other controlling program. See the description of
INLINE (the Inline Editor), in Appendix C.

The functions labeled in blue on the front of the cursor control
keys are also text editing features.
They are accessed by
holding down the ~ modifier and pressing the required key.
CTRL ERASE EOS erases from the current cursor position
to the end of the screen (the current window) •
CTRL CLEAR EOL clears from the current cursor
to the end of the same line.

position

CTRL DEL LINE deletes the line at which the cursor is
positioned. All lines below this one move up to fill
in the gap_
CTRL PEL CHAR deletes one character at the current
cursor position. All characters to the right" of the
deleted character move left one position.
CTRL INS CHAR moves all characters to the right of
cursor, one position to the right.
A character
now be inserted in the gap.

the
may

CTRL INS LINE moves all lines below the cursor, down
one line. A new line may now be inserted in the gap.

Page 2-9

7900 User's Manual

Several other commands are involved with the cursor:

CURSOR ON turns the cursor on, while
with CURSOR ON turns the cursor off.

using

the

SHIFT

modifier

MOVE X-Y positions the cursor absolutely.
Format:
MOVE

X-X

,,

Where:
 is a decimal number between
 is between 0 and 47.

~

and 84,

The cursor is moved immediately to the required coordinates.
The coordinate system is arranged with 0, 0 in the upper left
corner. X increases from left to right. Y increases going down.
It is possible, using MOVE x-x, to move the cursor
outside the limits of the current window.
~
or
RETURN, or typing any character, will bring it back
inside the window.

The following command moves the cursor relative
screen location.

to

its

current

Format:
~

SHIFT m , ,

Where:
 and  are each decimal numbers, followed
by a comma.
The parameters  and  are added to the current cursor
position. Note that a lower case "m" must be entered, and this
will usually require use of the SHIFT key (depending on the state
of ALPHA LOCK) •

Chromatics

Page 2-10

CGC 7900

OVERLAY CURSOR BLINK ON/OFF
Format:
~

SHIFT g

<0 or I)

NOTE: This command requires entering a lower case
letter, Wqw. If the ALPHA LOCK key is in its normal
(up) position, it is necessary to use the SHIFT key
with the wQw key to produce a lower case nqw.
The character 0 disables Overlay cursor blink, and the character
1 enables it (the default condition). Note that if more than one
Overlay cursor is in use, all are affected by this command: all
Overlay cursors will either blink, or not blink.

7900 User's Manual

Page 2-11

OVERLAY ROLL AND PAGE

The Overlay defaults to Page operation. In Page, no lines of
the window are ever moved. When the last line of the window is
completed, the cursor moves to the first line of the window.
If
additional text is entered, it will overwrite the first lines of
the window. Page is primarily useful for plotting applications,
where it is imperative that output be fixed at a particular
screen location.

In Roll, as the last line in the window is completed, the cursor
remains on that line. The first line in the window is "rolled"
off the top of the window, and is lost. All other lines in the
window move up one line. Roll is standard for computer terminal
applications.

To enter Roll, press the RQLL key:

The light in the RQLL key will
Roll.

illuminate.

The

window

is

in

To leave Roll and return to Page, press
SHIFT ROLL

The RQLL key will extinguish.

The window is back in Page.

Remember that each window has an Overlay part and a Bitmap part,
and that the Roll command affects a window. This means that i f
a window is in Roll operation, both its Overlay and Bitmap parts
are in Roll. If your application requires· Overlay to be in
Roll, and simultaneously requires that Bitmap be in Page, then
you have two options:
1. Always transmit the Roll
between Overlay and Bitmap, or
2.

On/Off

code

whenever

you

Use two windows, and leave one in Roll and one in Page.

move

Page 2-12

Chromatics

CGC 7900

79~~

User's Manual

Page 2-13

OVERLAY COLOR AND BLINK
Each cell of the Overlay has a foreground and a background
color. The available colors are the eight color keys on the
keyboard, black thru white.
Additionally, each cell may be
specified to blink. If blink is on, the character in the cell
will blink from its normal foreground color to the background
color of the same cell.
Each cell may also be set to transparent, in foreground or
background or both. If part of a cell is transparent, the image
in Bitmap may be seen behind the Overlay image.
See "Modify
Overlay Attributes" for details.
All of the commands in this section affect the future contents
of the Overlay. The present color and blink attributes of the
Overlay are unaffected by SET or BLINK commands.
You must
remember to specify color and blink before entering information
into the Overlay.

Chromatics

Page 2-14

CGC 7900

SET FOREGROUND COLOR
Format:

.s.n



 may be anyone of the eight color keys.
The Overlay
foreground color is now set to the same color as the key.
Alternatively, a color number may be specified. Color numbers 0
thru 7 in the Overlay correspond to the eight color keys, black
thru white. This form would most often be used from a host
computer.
Alternate format:
~

 is the color number, and must be terminated by a comma.
The eight color keys correspond to the following color numbers:
Color Key
Black
Blue
Green
Cyan
Red
Magenta
Yellow
White

Color Number

o

1

2

3
4

5
6
7

Example:
SET

7,

Set foreground to white (default)

These eight colors are the only colors available in the Overlay.
These colors remain available in the Overlay, regardless of the
color configuration of the Bitmap.
(The Bitmap allows
a
selection from over 16 million colors.
It is discussed in
Section 3.)

7900 User's Manual

Page 2-15

SET BACRGROOND COLOR
Format:
SHIFT SET 

Holding down the SHIFT modifier while striking the ~
sets background color. Foreground color is not affected.

As above, a color number may be used instead of a color key:
SHIFT SET

,

key

Page 2-16

Chromatics

CGC

79~~

OVERLAY BLINK ON

Format:
BLINK

The light in the BLINK key will illuminate. The blink attribute
is now on. Any characters now entered into the Overlay will
have a blinking foreground.
(Overlay background color cannot
blink.)

OVERLAY BLINK OFF
Format:
SHIFT BLINK

Holding down the SHIFT modifier while pressing the BLINK ,key
will turn off the blink attribute. The light in the BLINK key
will extinguish. Future characters entered into the Overlay will
have a steady, not blinking, foreground color.
This is the
default condition.

7900 User's Manual

Page 2-17

MOOIFY OVERLAY VISIBLE ATTRIBUTES
Format:
MODE V 

Modify Present Attributes

MODE v 

Modify Future Attributes

Where  is interpreted as follows:
~

1
2

3

Foreground
Foreground
Background
Foreground

and Background Transparent
Transparent (Visible Background)
Transparent (Visible Foreground)
and Background Visible

Modify Present Attributes will immediately
window to assume the attributes set by .

cause

the

entire

If =0, the window will immediately become totally transparent
(except for the Overlay cursor, if it is currently visible).
If =l, the entire window will assume a visible background,
transparent foreground condition. The Bitmap screen will only
be visible through the characters in the Overlay window.
If =2, the entire window will assume a visible foreground,
transparent background condition.
The Bitmap screen will be
visible everywhere except where characters exist. in the Overlay.
This condition is useful for superimposing titles (in the
Overlay) onto pictures (in Bitmap).
If =3, "the entire window will be visible
(foreground and
background) and no Bitmap image will be seen through the window.
Only Overlay material will be visible.

Example:
~V2

will cause lettering in the window to be
visible over a picture in Bitmap.

MODE V 3

will cause the window to be entirely
visible (non-transparent). This is the
default condition when the system is
booted or reset.

Chromatics

Page 2-18

CGC 7900

Nodify Future Attributes will cause no immediate change in the
Overlay window. However, any further characters sent to that
window will be affected by the command.
The interpretation of
 is basically the same as above:
If =~, future characters
visible at all.

sent

to

the

window

will

not

be

If =l, future characters sent to the window
visible background and transparent foreground.

will

have

a

If =2, future characters sent to the window
transparent background and visible foreground,
superimposed over the image in Bitmap.

will have a
and will be

If =3, future characters sent to the window will have a
visible foreground and background, and will completely block out
the Bitmap image. where they appear.
Example:
will inhibit all characters sent into the
Overlay window from being seen.
~v2

will cause characters sent into the
Overlay window to be superimposed over
the image in Bitmap.

If a character in the Overlay has been specified to blink, and
has visible foreground
and
transparent
background,
that
character will blink from visible to transparent.
For example,
an important part of a drawing (in Bitmap) could be labeled by
lettering (in the Overlay) and if the lettering was specified to
blink, the drawing could be seen in full whenever the characters
blinked to transparent. (All 79~0 blink functions occur at a
rate of 1.9 Hertz, with a 5~% duty cycle. This means a letter
will be visible for 0.26 seconds and transparent for the next
o.26 seconds.)

. Page 2-19

7900 User's Manual
OVERLAY PLOTTING FUNCTIONS
Overlay plotting functions are extensions
available in the Bitmap. Each of the Plot
in detail in Section 3. If you are not
plotting features, please read Section 3
use the Overlay for plotting.

of plotting features
Submodes is discussed
familiar with Bitmap
before attempting to

The Overlay can produce many of the same kinds of figures
available in the high-resolution Bitmap.
All Plot Submodes
operate in the Overlay. The Overlay resolution is 170 by 192
(as opposed to 1~24 by 768 in the Bitmap). These figures can be
drawn in the Overlay:
Arc
Circle and Two-Point Circle
Dot
Incremental Vector
Incremental X-bar
Incremental Y-bar
Polygon (optional)
Ray
Rectangle
Triangle
Vector
Bold Vector (optional)
Curve (optional)

Plot submodes are handled in the Overlay in almost the way
Bitmap handles these operations. Here are the differences:

the

Page

2-2~

Chromatics

CGC

790~

Scale factors are not allowed.
All coordinate data
should be entered as numbers between 0 and 169 for X,_
and 0 to 191 for Y.
Filled primitive figures are possible in the
The optional Complex Area Fill and Edge Fill
will not work, however.

Overlay.
routines

The Overlay aspect ratio (approximately 7 to 4) is not
the same as the Bitmap aspect ratio (4 to 3).
This
causes circles to come out as ovals.
The cursor position may not be
coordinates using the decimal point.

used

to

enter

All currently defined foreground attributes are applied to the
plotted figure, including transparency.
You
can
plot
a
ntransparent n figure and view the Bitmap through an irregularly
shaped area.

7900 User's Manual

Page 2-21

Page 2-22

Chromatics

CGC 7900

790e

User's Manual

SECTION THREE - THE BITMAP

Page 3-1

Page 3-2

Chromatics

CGC 79C3

7900 User's Manual

Page 3-3

THE BITMAP: INTRODUCTION
The 7930 Bitmap screen is designed for the creation of very high
resolution images. It is arranged as a square set of square
pixels, 1024 horizontally by 1024 vertically.
Because of the
dimensions of the display CRT, an area of 1024 horizontally by
The
768 vertically is the maX1mum viewable at any time.
remaining pixels are normally held offscreen below the viewable
CRT area.
The Bitmap can display images in up to 256 colors, depending on
the hardware installed in your unit.
The basic model 7903
contains enough Bitmap memory to allow simultaneous display of
16 colors. As each additional Bitmap memory plane
is added,
the number of displayable colors doubles. In a fully expanded
system with eight Bitmap
memory
planes
there
are
256
simultaneous colors possible.
Regardless of the number of Bitmap memory planes in
your system, the 7903 always has a ·palette" of 16
million colors (actually 16,777,216).
Your selection
of colors may always be chosen from the full palette.
A second set of Bitmap planes can be added to the 79~0.
This
second set does not increase the number of available colors, but
instead allows you to create two independent images.
This
second image memory must contain the same number· of Bitmap
planes as the first image, allowing the two separate images to
each display the same colors.
A maximum of sixteen Bitmap
memory planes (eight in each of two image memories) may be
installed.
The term "Bitmap· refers to the way in which pixels are
addressed in the 7900 hardware
memory
circuits.
In
a
conventional memory arrangement, the units or "bits· of memory
are not individually addressable. It is not possible to alter a
single bit of memory without reading a group, or ·word,· of
such bits, altering one of them, and writing the entire word
back into memory. Since each bit of memory is associated with a
single pixel, how much faster it would be if we could write to a
single pixel without disturbing its neighbors!
The 790a does just that. The Bitmap hardware and software can
write or read the value of any individual pixel on the Bitmap
screen. If only one Bitmap memory plane was installed, it would
be necessary to read only a single bit for each pixel.
If
several planes are installed, the Bitmap operates on one bit OF
EACH PLANE every time a pixel is altered.

Page 3-4

Chromatics

CGC

79a~

If your system contains four Bitmap memory planes, four bits are
responsible for the color of each pixel.
These four bits are
added in a binary fashion to produce a number.
The number
refers to an entry in the Color Lookup Table, and this entry
determines the color of that pixel. (The Color Lookup Table is
explained later in this section.)

7900 User's Manual

Page 3-5

BITMAP DEFAULTS
When the 7900 is powered up, or booted with
Bitmap is initialized as follows:

the

~

key,

the

Alpha (not Plot)
Page (not Roll)
Cursor at upper left corner of screen

(a,a)

Color Lookup Table loaded with default values
Bitmap image is NOT erased (except at power-up)

RemembEr that when the system is booted, the Overlay is not
transparent. You cannot see the Bitmap image after a Boot until
you press SHIFT OVERLAY (see "Bitmap Operations") or until you
make the Overlay transparent (see "Modify Overlay
Visible
Attributes.")

The Bitmap image is not erased when the system is
booted. If an error occurs while you are creating an
image on the Bitmap screen, in most cases you will be
able to recover without ~osing the image.
(The Color
Lookup Table may have to be reloaded if you had been
altering it.)

After a Boot, a new cursor is installed at the "home" location
of the screen. If a cursor had been on the screen when Boot was
executed, the old cursor will still be at its old location after
the Boot and you will have to remove it.

Chromatics

Page 3-6

CGC 7900

BITMAP OPERATIONS

This section discusses the types
Bitmap.

of

commands

accepted

by

the

Before you can talk to the Bitmap, you have to get
attention. This is accomplished by the important command:

its

SHIFT OVERLAY
Hold the SHIFT key and press the lighted key marked OVERLAY.
The light will extinguish.
The Overlay window will become
immediately transparent, foreground and background, to allow you
to see the Bitmap. Any commands or characters entered will now
be processed (or, if illegal, ignored) by the Bitmap.

When you want to talk to the Overlay again, press
°YERLAY
The light in the key will illuminate, and you are now addressing
the Overlay once again. This action causes the Overlay window
to become non-transparent, so that any messages in the Overlay
will now be visible.

NOTE: When switching back and forth between Overlay
and Bitmap, be aware of the light in the ~ key.
If
you are plotting in the Bitmap and then return to the
Overlay to enter text, you will still be in Plot (as
indicated by the lighted ~ key) • . To return to
Alpha for entering text, press SHIFT PLOT.
See
"Exiting Plot Submodes" for details.

79~0

If you want to address
disturbing the Overlay
following commands:

User's Manual

Page 3-7

the Overlay or the Bitmap, without
transparency
attributes,
use
·the

(Overlay "off" - addresses Bitmap)
.MQM 0 1

(Overlay "on" - addresses Overlay)

These commands will not affect the present attributes
Overlay, but they will determine whether the Overlay
Bitmap will process future commands.

of
or

the
the

To understand this completely, remember that the 7900 uses
"windows" as its primary output devices. A window knows how to
display characters, perform graphics functions, and handle other
actions. Each window is allowed to perform functions in the
Overlay and in the Bitma.p; for example, when a window receives a
character, it may place this character into an Overlay character
cell, or it may generate a series of Bitmap pixels to form the
character. The command ~ 0 <0 or 1> determines which part of
the window software will handle an incoming character, and
whether the resulting display will occur in the Overlay or the
Bitmap. Then, the Overlay transparency attributes will determine
whether this character will be visible or not.
Pressing the key OVERLAY thus produces two actions: MQllE. Oland
The key SHIFT OVERLAY produces two actions: MQllE. 0 0
0.

~ V 3.
and ~ V

NOTE: The examples
in
this
section
are
each
independent. Every example assumes that it will not
To
be affected by any prior example (unless noted).
insure that each example executes independently, it is
advisable to execute the command sequence:
RESET

CTRL BOOT

SHIFT QYERLAY

before beginning each example. In addition, to insure
a ·clean" screen for each example, you may wish to
execute an ERASE PAGE.

Page 3-8

Chromatics

CGC 7900

BITMAP CURSOR CONTROL
for
The Bitmap has two cursors:
an
overscore/underscore
Alphanumeric use (similar to the Overlay cursor), and a cross
hair for plotting. Only one of the cursors is present in a
window at any time. If more than one window is in use, more
than one cursor may be visible.
Unless otherwise noted, the
following information applies to both Alpha and Plot cursors.

The cursor control keys, RETURN, .I.E., .liQl1E., CTRL HOME, ERASE PAGE,
CLEAR LINE, RECALL, CTRL ERASE EOS, CTRL CLEAR EOL, and the four
arrow keys, have the same meanings they had in the Overlay.
Pressing two adjacent arrow keys simultaneously will move the
cursor diagonally.
Since the Bitmap allows variable
size
characters (see "Set Bitmap Character Size"), some functions may
depend on the currently specified character size.
For example,
the right arrow will always move the cursor one, character width
to the right, regardless of how wide tpe characters
are
currently defined to be.

WARNING: ERASE PAGE will clear out the image in the
current window in Bitmap. There is NO WAY to recover
this image unless it can be reconstructed from the
Create Buffe~ or some other source.

The four text editing functions are also available in the
Bitmap. These functions are Insert Line, Delete Line, Insert
Character, and Delete Character.
They operate in the same
manner as their counterparts in the Overlay.

The arrow keys have an additional meaning in the Bitmap: Using
the. SHIFT modifier with an arrow key moves the cursor one pi~el
in the specified direction. Holding down SHIFT while press~ng
two adjacent arrow keys will move the cursor diagonally, one
pixel at a time.

Page 3-9

7900 User's Manual

The CURSOR ON key works the same way as it did in the Overlav:
pressing the key alone turns the cursor on, and using SHIF~ wi~h
the key turns the cursor off.
NOTE: If you turn the cursor off while in the Overlay,
then switch to Bitmap, the cursor is still off.
Both
cursors are handled by the same command.
NOTE: When you switch from Overlay to Bitmap, the
Overlay cursor disappears and the
Bitmap
cursor
appears. Only one of the two cursors will ever be
visible in a window, depending on whether you are
currently talking to the Overlay or the Bitmap.

MOVE X-Y positions the

Overlay.

cursor

absolutely,

as

~

and

it

did

in

the

Format:
MOVE X-Y ,,
Where:
 is a decimal number between
 is between ~ and 767.

1~23,

This is identical to the form used in the Overlay except that
the limits for  and  are adjusted to Bitmap limits.
The
~, ~ position is in the upper
left corner.
X increases from
left to right, and Y increases going down.
The Relative Move
command is also present in Bitmap:
SHIFT m , ,

~

This command moves the cursor relative to its current position,
by  pixels horizontally, and  vertically.
 and 
are each decimal numbers terminated by a comma.

Tab stops are located every four character cells.
CTRL modifier and the character I moves the cursor
tab stop.
CTRL

I

Pressing the
to the next

Page 3-1"

Chromatics

CGC 79o"

SET CURSOR COLOR
Format:
~.

Q 

The Bitmap cursor will assume the color specified by the color
key. If the Blink attribute is currently on, the cursor will
blink.

Alternate format:
~

Q  is the number of an entry in the Color Lookup Table, "
thru 255. This format would most often be used from a host
computer.

The default cursor color
established by the command
~

0 135,

is

blinking

white,

which

may

be

7903 User's Manual

Page 3-11

BITMAP ROLL AND PAGE
The Bitmap defaults to Page. This is most suitable for drawing
images, since no part of the window is ever moved as new items
are added to the image.

If the Bitmap is to be used for extensive alphanumerics, Roll
may be desirable. Roll is most suited for computer terminal
applications. In Roll, as the last line of the window is filled
with text, the top line "rolls" off the top of the window and is
lost. To enter Roll,. press the ROLL ~ey:

The key will illuminate, and the window is in Roll.

To leave Roll and return to Page, use
the ROLL key:

the

SHIFT

modifier

with

SHIFT ROLL

The lighted key will extinguish and the window is in Page again.

The Bitmap is considerably slower than the Overlay when rolling
data. This is due to the fact that over a million pixels are
contained in Bitmap memory, and a roll may involve manipulating
most of these pixels. Only the pixels within a given window are
affected by a roll, however, so the smaller the window is
defined to be, the faster the roll will occur (usually).
The exception to this rule is when the window is defined to be
the full Bitmap memory, 0, 9 to 1923, 1923.
(This is the
default window size at power-up.) When the window is this size,
a fast hardware roll circuit is used to roll the Bitmap.
However, this hardware roll takes'place when text moves past the
BOTTOM of Bitmap memory, and this area is normally invisible
(unless Pan is being used).
See "Overlay Roll and Page" for more comments on this subject.

page 3-12

Chrooatics

CGC 7900

7900 User's Manual

Page 3-13

SET BITMAP CHARACTER SIZE
Format:

,,

~

Where:

 is the character multiplication factor in the
horizontal direction,

 is the vertical factor.
The limit for  is 179, and the limit for  is 96.
(179 by 96) corresponds to a size where one character
the entire Bitmap screen.

~ize

This
fills

Example:
~

1,1,

This sets the smallest available character size on the 7900.
You can now fit 179 characters on a line, and 96 lines on the
CRT. With this character size you have the ability to put 16329
characters on the Bitmap screen.

Example:
~

2,2,

The Bitmap character size is now exactly equal to the
Overlay characters. This is the default condition.

Example:
~

19,39,

Note that the  and  factors need not be equal.

size

of

Chromatics

Page 3-14

CGC

79g~

SET BITMAP INTERCHARACTER SPACING
Format:
~

I

, ,

Where:

 is the pixel spacing in the horizontal direction,
 is the vertical spacing.
Each time a character is entered into the Bitmap, the cursor is
automatically updated to prepare for a new character.
When a
line is complete, or when the LINE FEED key is pressed, the
cursor is moved down to prepare for the next line.

The spacing between characters on a line, and between lines, is
set by this command. The default values are 6 for , and 8
for , since the standard character font is 6 by 8 pixels.

The spacings entered for  and  are always multiplied by
the current character size before use.
This allows proper
spacing regardless of the current Bitmap character size.

Example:
MODE

I

6, 8,

This is default spacing.

7900 User's Manual

Page 3-15

OVERSTRIKE
Format:
MODE \ <0 or 1>
Using the character 1 will turn Overstrike on, and
it off.

"

will

turn

NOTE: This command requires entering a
backwards
slash, the character ft\ft. The backslash is located in
the upper right corner of the typewriter area of the
keyboard, near the RETURN key.
It should not be
confused with the standard slash, ft/ft, which
is
located on the question-mark key.

With Overstrike off (the default condition), writing a character
to the Bitmap causes a rectangular block of pixels to be
written. Some of these pixels will form the character, and will
be written in the current foreground color. The other pixels in
the rectangular block are written in the current background
color.

When Overstrike is on, only the pixels which form the foreground
of the character are written. The background is not altered.
This allows multiple characters to be written to the same screen
location without having each character obliterate the previous
one. Overstrike can be used to create custom characters or
symbols, or for underlines, accent marks, or other punctuation.

Example:
MODE \ 1
RETURN

(Overstrike on)
T EST

RETURN

_ _ _ _

Press the RETURN key to move the cursor to the left edge of the
window, if it is not already there. Then type the word ftTESTn.
Press RETURN again, and while holding the SHIFT key down, press
the underline key four times.
(The underline key is on the
right side of the typewriter area of the keyboard, and is marked

Page 3-16

Chromatics

CGC

790~

with a horizontal line and the name "DEL.") In this example, the
word "TEST" was underlined without disturbing the characters in
the word. Now type the sequence ~ \ 0 (Overstrike off) and
try the same example again.

Page 3-17

7900 User's Manual
COLOR LOOKUP TABLE

The 7900 Bitmap has a color palette of 16,777,216 colors.
At
any time, a subset of these colors is available. The number of
available colors is determined by the number of Refresh Planes
(Bitmap memory boards) installed in your system.

In the standard system, with four Refresh Planes,
sixteen colors are available at any time.
Each
additional board doubles the number of
available
colors. In a fUlly expanded system with eight Refresh
Planes, 256 colors are available at any time.

With sixteen million colors to choose from,
use?

which

ones

do

you

Color selection in Bitmap memory is performed through
an
indirect technique called the Color Lookup Table. Each pixel on
the Bitmap screen is associated with a bit in each plane of
Bitmap memory. The sum of these bits is a number, from 0 to
255, which references a particular entry in the Color Lookup
Table. Thus, each pixel ·points to" some entry in the Color
Lookup Table, and the information in that entry will determine
the color of that pixel.
The Color Lookup Table has 256
entries, enough to accomodate a configuration having eight
planes (per image memory). The colors are numbered from 0 to
255.
Each entry in the Color Lookup table contains -three 8-bit
numbers, one for R (the Red component of the color), one for G
(the Green component), and one for B (the Blue component).
The
intensity of each of these components may be altered from 0
(totally off) to 255 (full intensity in the color).
For
example, pure red is 255 R, zero G, and zero B. Black is zero,
zero, zero. white is 255, 255, 255. Colors with less than full
saturation (such as greys) will contain intermediate numbers
between 0 and 255.
Neutral grey is 128, 128, 128 (half
intensity of each component).

Chromatics

Page 3-18
The following
Lookup Table.

chart

Color i

shows

CGC 7903

default

assignments. in

R

G

B

135

128

128

128

134

128

128

133

128

132

128

255
254
•
•
•
•

131
139
129
128

"

"

"

"
"
128
128

"

"

128

"

128

"

128

128

128

128

7

255

255

255

6

255

255

5

255

9

255

4

255

"

255

•
•
•

•

3

2
1
S

"

"
"
"

255

255

"

"

"
"

"

255

"

the

Color

7900 User's Manual

Page 3-19

The lowest eight entries (0 thru 7) correspond to the eight
coler keys on the keyboard: 0 is Black, 1 is Blue, etc.
Halfway
up the chart, beginning at entry 128, another eight entries are
defined to be half-intensity of the same eight colors.
Only
sixteen colors are assigned in the default Color Lookup Table
because only sixteen colors are available in the basic 7900
system.
It is evident that pixels on the Bitmap screen do not have a
color, but they do point to some location in the Color Lookup
Table •. The Color Lookup Table is the mechanism by· which each
pixel is given a color.

Page 3-20

.toL..OfL

Chromatics

--e

tL

c;,

~:o

2.55

0

.O~~G:.e.

zSS

,~o

~e.L.,-ou.J

,5S

C.~AU2.E\js.e.

2.30

2..55
"l..SS

0

C::a2.ee.tV

0

1.55

0

T02CV.- G.R~ ·

0

2..55

~z-~

TU~o~

0

zSS-

'2$5

roltQ. - '&\...\.)E.

0

2.0'"\

LSS

aL..\)E.

~

0

0
0

0

C!)

PUR..PL..e..

z...S5

\2'

0

2.0"'\

~~E.\.J~

\C~5

0

'\0

CGC 7900

7900 User's Manual

Page 3-21

CHANGE COLOR LOOKUP TABLE ENTRY (RGB UNITS)
Format:
CHANGE ,,,,
Where:
 is an entry in the Color Lookup Table,
S to 255, or a color key. (If a color
key is used, the comma after 
must not be entered.)
,,

are components of Red, Green, and Blue,
respectively, to be entered into the
Color Lookup Table. Each must be between
o and 255.

The entry in the Color Lookup Table corresponding to 
will be changed to have the components , , and .
The
former components of that entry of the Lookup Table are gone.

CHANGE is the most immediate way to change colors on the Bitmap
screen. No actual change to the contents of Bitmap memory takes
place. Each pixel in the Bitmap references some entry in the
Color Lookup Table, so changing an entry in the Table will
immediately change the color of each pixel referencing that
entry.
Example:
CHANGE 9,255,255,255,
Color 9 (the first entry in the Color Lookup Table) has been
changed to white. Since the background color defaults to color
0, pressing ERASE PAGE will now erase the screen to white.
(This is not the normal way to change background color: see "Set
Color.-)

After this change is made, both the BLACK key (which normally
references color S) and the WHITE key (which normally references
color 7) will cause white to be put on the screen.
This is
because our example above has eliminated black from the Color
Lookup Table. Unless other changes are made, there is no entry
of the Table which will produce the color black.

Chromatics

Page 3-22

CGC

790~

This pOints out an important consideration when using
the Change command: Since the Change command alters
entries in the Color Lookup Table, it is possible to
create a situation where the color keys have no
meaning. The example above will change the BLACK key
to mean white. If the user changes entries in the
Color Lookup Table, it is HIS responsibility to keep
track of those entries and what the color keys now
mean.

The relationship between the color keys and the Color Lookup
Table is now apparent: In the Bitmap, the color keys reference
numbers in the Color Lookup Table.
Under default conditions,
these numbers are set up to produce the colors designated on the
color key. For example, pressing the ~ key generates the
number 1.
Entry number 1 in the Color Lookup Table
is
default-loaded with zero red, zero green, and 255 blue, which
produces full intensity blue.
If, however, you change entry
number I in the Lookup Table to be some color other than blue,
the ~ key will still reference that color. Pressing a color
key is equivalent to entering a number from 0 to 7 (under most
conditions).

Example:
CHANGE

a, 0,0,a,

Color number 0 in the Color Lookup Table
black. This is the default condition.

has

been

changed

to

If you try to Change an entry in the Lookup Table which is not
accessable in your system, no visible changes will take place en
the screen.
If you Change an entry which is accessable in your system, but
which is not currently referenced by any pixel on the screen,
you will not be able to detect a change until you use that color
again.

7900 User's Manual

Page 3-23

Example:.
SET WHITE

(set foreground color to white - color 7)

SHIFT SET BLACK
ERASE PAGE

(set background to black - color 0)

(clear the screen to background color)

CHANGE 7,255,9,9,

(change entry 7 - which used to be
white - to red)

The screen is still black, since ~ntry 7 is not used anywhere on
the screen at the present time.
But. anything typed will now
appear in red, even though the current foreground color is
number 7, which should be white.

The primary use for the Change command is to produce new colors,
which are not normally present in the Color Lookup Table.
In
most cases, minor changes in color will be desired which will
not grossly affect the meaning of the color keys.
Here are a
few possibilities:
CHANGE

~

9,140,240,

The BLUE key now produces a "sky blue" composed of
green, and 249 blue.
CHANGE

YELLQW

no

red,

140

255,170,120,

The YELLOW key now produces a shade of brown.

As mentioned, when entering a color NUMBER to be changed (as in
the earlier examples), the number was terminated by a comma.
When using the Change command with a color KEY, no comma is
entered after the color key.

In each case, the Color Lookup Table is changed.
This changes
the color of every pixel in Bitmap memory which references that
color. If no images had been drawn in· the color, no change will
be apparent.

Chromatics

Page 3-24

CGC

790~

CBANGE COLOR LOOKUP TABLE ENTRY (HVS UNITS)
Format:
SHIFT CHANGE

, ,,,

Where:
 is an entry in the Color Lookup Table,
I to 255, or a color key.
(If a color
key is used, the comma after 
must not be entered.)

. 


are the BVS units which describe
the desired color (see below)~
Each must be between ~ and 255.

The entry in the Color Lookup Table corresponding to 
will be
changed.
The
parameters
,
 is the character nan, the Color Lookup' Table is loaded
with the values it had when the system was Booted.
Note that
the Boot command always reloads the Color Lookup Table.

Example:
~

SHIFT 1

0

Other default arrangements of the Color Lookup Table, for
imaging and other applications, are planned for future expansion.

Page 3-26

Chromatics

CGC 79"0·

7900 User's Manual

Page 3-27

BITMAP BLINK
In the Bitmap, the Blink attribute occupies one Refresh Plane
of image memory. The highest numbered plane is normally used
for blink, so the wblink plane w will normally be plane 7.
(Regardless of how many planes your system has, one of the
planes may be configured to be number 7.) If a bit is wonw in
the ftblink plane, " it means the pixel corresponding to that bit
will blink. If the bit is "off, n the pixel will not blink.

Refer to the Color Lookup Table. The upper half of the Table,
beginning at entry number 128, will be accessed by a pixel whose
seventh bit is "on." If bit 7 is "off, " the lowet half of the
Table is accessed.
Now, if we allow that seventh bit to blink on and off, we are
alternating between the upper and lower halves of the Color
Lookup Table. The Table is default-loaded with full intensity
color in the first eight entries, and half-intensity of the same
colors in the first eight entries of the upper half.
So any
pixel which has the blink bit set will blink between full- and
half-intensity
color.
(Blac~
is
the
exception:
since
half-intensity black would be black, the Table defaults to grey
in its place. White and black will both blink to half-intensity
white, which is grey.)

Since blink occupies one Refresh Plane, it cuts the number of
available colors in half. In a four-plane system, you have a
choice: Eight colors and blink, or sixteen colors without blink.
Actually, you always have 16 colors even with blink: the second
eight colors are only seen if the color is blinking.
For
example, under default conditions, an object might be specified
to be
wblinking
red."
It
would
be
blinking
between
full-intensity and half-intensity red, entries 4 and 132 in the
Color Lookup Table. If we alter entry 132 to be brown, then the
"blinking red w object will blink between red and brown.
This
technique allows any object on the screen to blink between any
two colors.

Page 3-28

Chromatics

CGC

796~

SELECT BLINK PLANE(S)

Format:
~

SHIFT b ,

Where  is a decimal number, B to 255.
The plane or planes
specified by bits in  will blink. Other planes will not.

NOTE: This command requires entry of a lower case
letter, 8b·. When' the ALPHA LOCK key is in its normal
(up) position, pressing just the key B will produce a
capital B. You must use the SHIFT modifier to produce
a lower case b.

Example:
~

SHIFT b 9,

No bits are set 80n 8 in the number e, so no planes will blink.
This is necessary for applications requiring all available
colors (16 in a 4-plane system).
Blink in the Bitmap is now
completely inhibited.

Example:
~

SHIFT b 128,

The number 128 is examined as a binary number. Only the highest
bit (bit 7) is found to be 80n ,· so only plane 7 will blink.
This is the de~ault condition.

Example:
~

SHIFT b 255,

The number 255 has all eight bits set. All
This is not a terribly useful condition.

planes

will

blink.

79~3

User's Manual

Page 3-29

BITMAP COLOR AND BLINK
In the Bitmap, pressing a color key generates a nu~~er.
This
number is a reference to a value in the Color Lookup Table. The
BLACK key, for example, generates the number ~, which refers to
entry a in the Lookup Table. Normally, entry 9 is loaded with
components of zero red, zero green, and zero blue, which gives
black.

SET FOREGROUND COLOR
Format:
SET 

Where:
 may be one of the eight color keys, or a
number, a to 255.
The current foreground color will be set to the specified color
number in the Color Lookup Table. Any figures or text which are
entered into the Bitmap will have this foreground color.
If a color key is used, and the BLINK attribute is off, then the
number generated by the color key will be in the range 9
7.
BLACK generates a, ~ generates 1, and so on.
If the BLINK
attribute is currently on, then the color numbers generated will
be in the upper half of the Lookup Table, and will be in the
range 128 to 135. This arrangement assumes that plane 7 is the
Blink Plane, and allows you to specify blinking colors without
concern for plane numbers.

Example:

The foreground color has been set to red, which is color number
4 in the Lookup Table. If BLINK is turned on, the foreground
color would be set to blinking red, which is color number 132.

Page 3-3a

Chromatics

CGC

79~a

Example:

The foreground color has been set to color number 4 in the
Lookup Table. This approach bypasses the question of whether
blink is on or off. This format would most often be used from a
host computer.

SBT BACKGROOND COLOR
Format:
SHIFT SET  is a color key, or a number between

a

and 255.

All of the comments concerning foreground color apply
to
background color as well. The background color will be set to
the specified number in the Color Lookup Table. 1f BLINK is on,
the upper half of the Table will be referenced by the color keys.

796~

User's Manual

Page 3-31

BLINK ON
Format:
BLINK
The BLINK key will illuminate.
Future ~ commands
reference the upper half of the Color Lookup Table, and
cause foreground or background color to blink.

will
will

If you want the foreground color of characters or figures to
blink, turning on the blink attribute is sufficient.
Any
figures drawn while the BLINK key is lit will have a blinking
foreground.
If you want the background to blink, the procedure is a bit more
involved. First, turn on blink. Set the background color using
SHIFT SET ,,

To initiate the Dot submode, hold down the SHIFT key and press
the key labeled~. After each pair or coordinates is entered,
a single dot will be placed on the screen, in the currently
specified foreground color.

Example:
SHIFT DOT 511,383,
This will place a

screen.
see.

dot in the center of the visible Bitmap
A single dot is very small, and may be difficult to

As with all Plot Submodes, now that we have entered
the Submo~e we can enter
more
information
and
additional figures will be drawn. In ~ Submode, a
single dot will be placed on the screen every time we
enter another pair of , , coordinates.

Alternate Format:
SHIFT POT •
A single dot will be placed on the screen under the cursor.
will be necessary to move the cursor in order to see the dot.

It.

Chromatics

Page 3-36

CGC

790~

VEcToR

Format:
VECTOR ,, ,,
Where:
,, are the coordinates of one end of the vector
,, are the coordinates of the other end.
A vector will be drawn from point , , to
, in the curren~ly specified foreground color.

point

,

If additional pairs of points are entered, a new vector will be
drawn between them. The new vector will not be connected to the
first one (see Concatenated Vector).

Example:
VECTOR O,O,511,383,
A vector will be drawn from the 0, 0, position
corner) to the center of the visible screen.

(the

upper

left

Alternate Format:
VECTOR ••
The decimal point may be used to enter coordinates.
The cursor
control keys should be used to move the cursor to the desired
end points of the vector, and the decimal pOint should be struck
once at each point ("Vector from this Point to this Point").

7900 User's Manual

Page 3-37

VECTOR 0,0,511,383,

~

/:
~

" ,"/ !

r

/"

:

l

j
t
I

~

!I

I
I

II
I

#,l

~

/'

...J.~

~

"

Chromatics

Page 3-38

CGC 7900

CONCATENATED VECTOR
Format:
CONGAT VECTOR ,, ,, [,, ••• ]
Where:
,, are the starting coordinates of the set of
concatenated vectors
,, are the coordinates of the endpoint of the
first vector in the set
,, and all other coordinates, are endpoints of
subsequent vectors in the set.
A vector will be drawn from , , to , , and
another connected vector from , , to , , and so
on. Each additional coordinate entered will cause a new vector
to be drawn from the endpoint of the previous vector.

Example:
CONCAT VECTOR 9,9, 511,383, 1923,9, 1023,767,
A vector will be drawn from the upper left corner,
center, to the upper right corner, to the lower right
Any number of additional points could be added.

to the
corner.

Alternate Format:
CONGAT VECTOR • • • • •••
The decimal point may be used to enter coordinates.
The cursor
should be 'moved to each location where a vector endpoint should
lie, and the
decimal
point
struck
at
each
location.
("Concatenated Vector from this Point to this Point to this
Point ••• ")

NOTE: If you wish to terminate one set of concatenated
vectors and begin another set, you must hit the
CONCAT VECTOR key again.

7900 User's Manual

Page

CONCAT VECTOR 0,0, 511,383, 1023,O, 1023,767,

t:
~

~/

r

-l

// !
1

i

~

3-39

Page 3-40

Chromatics

CGC 7900

Format:
CIRCLE , , ,
Where:
, , are the coordinates of the center of the
circle
 is the radius
A circle will be drawn at the specified center coordinate ,
, with radius . The circle will be drawn in the currently
specified foreground color. If the nFillft attribute is currently
on, the circle will be filled with the foreground color.

Example:
CIRCLE 511,383,109,
would draw a circle centered at 511, 383, which is the center
the visible Bitmap area. The radius will be 109.

of

Alternate Format:
CIRCLE. ,
A circle will be drawn at the current
at this Pointft) with radius .

cursor

position

("Circle

Page 3-41

7900 User's Manual

CIRCLE Sll,383,laa,

r--------------l

o

/'.'

,

/

Page 3-42

Chromatics

CGC

790~

TWo-POlm' CIRCLE

Format:
SHIFT PLOT

0

,, , ,

Where:
,  are the coordinates of the circle's center
,  are used to set the radius of the circle
(see below)
NOTE: The ~ key used in this command is the
labeled Mode and Plot, in the typewriter area of
keyboard. It is NOT the illuminated ~ key in
upper keyboard area.

key
the
the

NOTE: The character nO" used in this function is
alphabetic, upper-case letter
"0"
and
not
character zero.

the
the

Two-Point Circle operates exactly like Circle, except that the
radius is determined by EITHER  or , whichever is
greater. The lesser of the two numbers is ignored.

The purpose of requ1r1ng an extra argument is that some input
devices, like the Light Pen, always send pairs of numbers.
They
would not be compatible with Circle since it requires three
arguments. Two-Point Circle will always accept four arguments
for each figure it draws, similarly to most other Plot Submodes.

If the Fill attribute is on, the Two-Point Circle will be filled.

790~

User's Manual

Page 3-43

RECTANGLE
Format:
~

,, ,,

rectangle will be drawn whose corner points are located at
, , and , , in
the
~urrent1y
specified
foreground color. If the ~Fil1ft attribute 1S currently on, the
rectangle will be filled with the foreground color.

A

Example:
RECT 9,O, 511,383,
would draw a rectangle around
screen.

the

upper

left

quarter

of

the

Alternate ,Format:
~

..

The cursor position is used to specify the ·corner locations of
the rectangle.
The cursor should be moved to the desired
locations and the decimal point struck
at
each
location
("Rectangle from this Point to this Point").

Page 3-44

Chromatics

~

a,a,

CGC 7900

511,383,

. // I

r----------------~~~l/ I
t

1

1

l

/~-----------;~\
~

7900 User's Manual

Page 3-45

TRIANGLE
Format:
TRIANGLE ,, ,, ,,
A triangle will be drawn between the three specified points, in
the currently specified foreground color.
If
the
ftFillft
attribute is currently on, the triangle will be filled with the
foreground color.

Example:
TRIANGLE 0,0, 0,383, 511,383,
will draw a triangle from the upper left corner, vertically
halfway down the screen, to the center of the screen, and return
to the starting point.

Alternate Format:
TRIANGL~

• • •

The
The cursor position may be used to specify coordinates.
cursor should be moved to each location where a vertex of the
triangle is desired, and the decimal point struck at each
location (ftTriangle from this Point to this Point to this
Point ft ).

Page

Chromatics

3~46

CGC 7900

TRIANGLE 0,O, 0,383, 511,383,

r.
~

r

~/

.. /" I

l

!

!
!
I

!
I

I
I

!
I

=

'l

~

/~

I

.J.~

"\

:

~

7900 User's Manual

Page 3-47

SET VECTOR WIDTH
Format:
SHIFT

y. WIDTH

,

Where:
 is a decimal number, 1 to 65535
NOTE: "V. WIDTH n is a single key.
The name ny, WIDTH"
is printed on the front of the ~ key.

This command affects the Incremental X-Bar and Incremental Y-Ear
Plot Subrnodes. It also sets the vector width for the optional
"Bold Plotting" software routines.

When a wide vector is required, the most recently
value of  is used. The default value of  is 3.

specified

The value of  is specific to a window: each window may have
its own vector width defined. If  has not been defined in a
window, the default value will be used.

Chromatics

Page 3-48

CGC 7900

BOLD VECTOR

Format:
SHIFT PLOT

SHIFT

Y

,, ,,

This software is optional, and mayor
your 7990 system.

may

not

be

installed in

NOTE: The PLOT key used in this command is the
labeled Mode and Plot, in the typewriter area of
keyboard. It is NOT the illuminated ~ key in
upper keyboard area.

key
the
the

NOTE: This command requires entering a lower case
letter, "v·. If the ALPHA LOCK key is in its normal
(up) position, it is necessary to hold the SHIFT key
while pressing the "V" key in order to produce a lower
case nv".
Operation is identical to Vector, except that a bold vector is
drawn whose width is determined by the ·Set vector Width"
command. The bold vector has rounded ends, produced by drawing
small circles at each end of the vector.
This facilitates
connecting bold vectors together
(see
·Concatenated
Bold
Vector" below).
The value of  given by the ·Set Vector Width" command is used
as a radius for the circle at each end of the bold vector.
Thus, the actual width of the bold vector is twice  plus one.
If  is zero, a normal (not bold) vector is drawn.

790~

User's Manual

Page 3-49

CONCATENATED BOLD VECTOR
Format:
SHIFT PLOT

SHIFT w ,,,,[,, ••• ]

This software is optional, and mayor
your 7900 system.

may

not

be

installed in

NOTE: The PLOT key used in this command is the
labeled Mode and Plot, in the typewriter area of
keyboard. It is NOT the illuminated ~ key in
upper keyboard area.

key
the
the

NOTE: This command requires entering a lower case
letter, ftw ft • If the ALPHA LOCK key is in its normal
(up) position, it is necessary to hold the SHIFT key
while pressing the nW ft key in order to produce a lower
case nw n•
Operation is identical to Concatenated Vector, except that a
series of bold vectors is drawn. See the description of Bold
Vector above.

Page 3-53

Chromatics

CGC 7900

INCREMENTAL X-BAR
Format:
SHIFT INC X-BAR ,,,

[,, ••• ]

Where:
, are the coordinates of one endpoint of
the first bar
 is the X-coordinate of the other endpoint of
the first bar (the previous Y-coordinate is
used as a reference - see below)
,, ••• are X-coordinates of the endpoints of
subsequent bars (see below)
A horizontal bar (actually a rectangle) is drawn, with corners
located at , , and , + is 3. The value of  may be altered by the nSet Vector
vlidth" command. If the nFill" attribute is currently on, the
bar will be filled.

After the first bar is drawn, more X-coordinates may be entered.
Additional bars will be drawn adjacent to the existing ones.
The effective coordinates for the corners of each bar are:
,  + (n-l) for one corner,
,  + (n) for the diagonally opposite corner, .
where n is the bar number (n=l for the first bar).

Example:
SHIFT INC X-BAR Sll,100, 611, 711, 811,
Three bars are drawn. Each will be drawn from the vertical line
X=Sll to the required X-coordinate. The first bar will begin at
the horizontal line Y=l00, and will extend to the line Y=104.
The next bar will br drawn from Y=10S to Y=199.
As many
additional X-coordinates may be entered as you require.

79g~

User's Manual

Page 3-51

Example:
SHIFT INC X-BAR

5ll,4~~,

611, 411, 711, 311,

This time four bars are drawn.
Notice that the bars may be
drawn either to the right or left of the original Y= line.
If desired, the decimal point may be used to enter the cursor
position for each point •. The first time the decimal point is
pressed, it will enter the initial ,  position.
Each
subsequent time the decimal point is pressed, the X-coordinate
will be taken from the current cursor position (the Y-coordinate
will be discarded).

page 3-52

Chromatics

CGC

79~0

SHIFT INC X-BAR 511,400, 611, 411, 711, 311,

//!

---------------------,-

r

I
I

.1

r

i
1
I

,I

i
,

7900 User's Manual

Page 3-53

INCREMENTAL Y-BAR
Format:
SHIFT INC Y-BAR ,,,

[,, ••• ]

Where:


.

are the coordinates of one endpoint of
the first vector

 is the Y-coordinate of the other endpoint of
the first vector (the p~evious X-coordinate
is used as a reference - see below)
,, ••• are Y-coordinates of the endpoints of
subsequent vectors (see below)
Operation is identical to Incremental X-Bar. Vertical bars are
drawn with width , set by the "Set Vector Width n command.
The default value of  is 3.
If the "Fill" attribute is
currently on, the bar will be filled.

The diagonal coordinates of the first bar are ,  and
+, . If additional Y-coordinates are entered, more
bars will be drawn. The effective coordinates for each bar are:
 + (n-l),  for one corner,
 + (n),  for the diagonally opposite corner,
where n is the bar number (n=l for the first bar).

Example:
SHIFT INC Y-BAR O,383, 399, 209, 100, 299, 390,
Five vertical bars will be drawn, ,in a histogram-type format.
If desired, the decimal point may be used to enter the cursor
position for each point. The first time the decimal point is
pressed, it will enter the initial ,  position.
Each
subsequent time the decimal point is pressed, the Y-coordinate
will be taken from the current cursor position (the X-coordinate
will be discarded).

Page 3-54

Chromatics

SHIFT INC X-BAR

r --

~,383,

CGC

3~~,

790~

200, 130,

20~,

\

____------------------------__ ,/

3~0,

..'/ I
I

I
i
•

UJ

User's Manual

79~0

Page 3-55

INCREMENTAL VECTOR
Format:
SHIFT INC VECTOR , , [ ••• ]
Where:
, , are the starting coordinates for the
set of short vectors,
 and  are single characters (NOT numbers)
which determine the displacement in the X and Y
directions. Note that no commas are used to separate
 and .
Incremental vector draws a short vector from the point , .
The· length and direction are determined by the characters 
and . The bits of  determine a displacement in the X
direction, up to plus or minus 31 pixels.  does the same in
the Y direction.

If more  and  characters are entered, more short vectors
will be drawn and will be concatenated with previous short
vectors.

The bits in  and  are interpreted as follows:
7

6

5

4

3

2

1

S

I I Is I* I* I* I* I* I
X

1

••••• magnitude •••• ~

The state of bit 7 is ignored. Bit 6 must be a 1. Bit 5 is a
sign bit, 0 for a positive displacement and 1 for a negative
displacement. Bits 4 through 0 are used as a 5-bit magnitude,
capable of specifying numbers up to 31.
Negative numbers are
interpreted in two's complement form.

Page 3-56

Chromatics

CGC

790~

The following table illustrates the displacement corresponding
to each ASCII character. Note that since bit 6 is always set to
1, the characters used for  and  will always be in the
pr intable l1..sCII set.
No control-characters are used (except
DEL) •

Binary
10"""""
10"0"01
10"0010
1OO0011
1000109
1000101

ASCII

displacement

Binary

ASCII

@

0

A

1
2

1100""0
1100001
1100"10
1100011
1100100
1100101
1100110
1100111
1101000
1101001
1101010
1101011
1101100
1191191
1101110
1191111
1110090
1110001
1110010
1110011
1110100
1110101
1110110
1110111
1111000
1111001
1111010
1111011
1111100
1111101
1111110
1111111

"
a
b
c
d

B
C

3

D

4

E

5

11(HH'11~

F

6

10"0111
1001000
1001001
1001010
1001011
1001100

G

7
8
9

1~H31101

M
N
0
p

1091119
1091111
1010000
1010991
1910910
1010011
1010100
1010101
1010110
1010111
1011000
1011001
1011010
1011011
1011109
1011101
1011110
1011111

H

I
J
K

L

Q

R

S
T
U
V

w
X
Y
Z
[

\
]

A

1~

11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
39
31

e
f
9

displacement
-32
-31
-30
-29
-28
-27
-26

-25

h

-24

i
j
k

-23
-22
-21
-20
-19
-18
-17
-16
-15
-14
-13
-12
-11
-1O

1
m

n
0

P
q

r
s
t
u
v

w
x
Y

z
{

I

}.

-9
-8

-7
-6

-5
-4

-3

-2

DEL

-1

79~~

User's Manual

Page 3-57

Exarnpl e:
SHIFT INC VECTOR 511, 383, D E
The displacements for ASCII characters D and E are +4 and +5,
respectively. A vector will be drawn from the point 511, 383,
to a point 4 pixels to the right and 5 pixels below the original
point. Note that a positive Y-displacement moves DOWN the screen
since the Y=0 line is at the top.

Example:
SHIFT INC VECTOR 600, 400, D E D {
This set of short vectors begins at the point 60~, 400.
The
first vector will be drawn from this point, 4 pixels to the
right, and 5 down. A second vector will follow, 4 to the right
and 5 up (the displacement for the {character is -5). So the
end point of the set has the same Y coordinate it had at the
beginning, but its X coordinate is shifted 8 to the right.

Example:
SHIFT INC VECTOR • J A
The cursor position may be used to enter the initial coordinate
of the set. To use this format, position the cursor to the
desired location and strike the decimal point key to enter the
cursor position as a coordinate pair.
Then enter the ASCII
character displacements as before.

Page 3-58

Chromatics

SHIFT INC

VEC~

6aa,

CGC

4a~,

790~

0 E 0 {

..,// I

r

_--------------_,/

l

I
I

i

1

1
~

v
/-l:---_____---;.J.~
/'
~

1!
,

7900 Userrs Manual

Page 3-59

POLYGON
Format:
POLYGON

,,,, [,, , through , ,,,, [,, ••• ] ;

This software is optional, and mayor may
your system.

not

be

installed

in

The format for Filled Polygon is the same as for the normal
polygon submode, except that the ftFillft attribute must be on
before entering the final semicolon. NOTHING IS DRAWN until the
semicolon is entered.

Filled Polygon is performed differently from the normal polygon
subrnode. Instead of drawing a set of concatenated vectors,
Filled Polygon computes the required boundary positions based on
the coordinates entered. Then it draws horizontal' vectors to
fill the boundary with the current foreground color.

Example:
~

POLYGON

(turn on the "Fill ft attribute)

a,a, 233,203, 433,133, 633,200, 809,9, ;

It is also possible to use Filled Polygon for simple figures,
such as filled triangles. Because of the different algorithm
used, Filled Polygon will run much faster than the normal Filled
Triangle routine.

Page 3-63

7900 User's Manual
CURVE

Format:
CURVE

,, ,, ,, ,,

This software is optional, and mayor may
your system.

not

be

installed

in

The Curve algorithm draws a figure called a Four-Point Bezier
Curve. Each curve requires that four coordinates be entered.
The four coordinates describe the curve as follows:
,  (point 1) is the starting point for
curve, and the curve will pass through this point.

the

,  (point 4) is the ending pOint for
curve, and the curve will pass through this point.

the

, , (point 2) and ,  (point 3) are
points which exert an "influence" on the curve.
The
curve will tend to be "pulled" toward these points,
but will not usually pass through either of them.
The
curve is well-behaved, however, since the curve will
always lie entirely within the polygon formed by
drawing a line between the four points.
At point 1, the curve will be tangent to the line
point 1 to point 2.

from

At point 4, the curve will be tangent to the line
point 3 to point 4.

from

Example:
CURVE

S,S, S,767, 1923,9, 1923,767,

This example draws a curve which begins at the upper left . corner
of the screen and ends at the lower right corner. The other two
corners "pull" the curve into an S-shape.

Page 3-64

Chromatics

CGC 7900

Alternate Format:
CURVE

•

•

•

•

The cursor position may be used to specify coordinates.
For
each coordinate pair, move the cursor to the desired location
and strike the period (decimal point) key.

The curve function is well suited to human interaction.
Very
complex figures can .be designed by linking together some simple
curves. Since the curve is always well-defined at its end
points, it is possible to join two or more curves perfectly.
This is done by arranging pOint 4 of one curve to be the same as
point 1 of the next, and making points 3 and 4 of one curve
collinear with point 2 of the next.

7900 User's Manual

CURVE

Page 3-65

9,9, 0,767, 1023,0, 1023,767,

r
_

__

.// I

----------------------------~,/
1

hl~--________-------:~~

/~

""

i

I

Chromatics

Page 3-66

CGC

79~~

Me
Format:

ARC ,, , , ,
Where:
,, are the coordinates of the center of the arc
 is the radius of the arc


is the starting angle of the arc (degrees)



is the number of degrees of arc to plot.

This software is optional, and mayor may
your system.

not

be

installed

in

Arc submode will draw a part of a circle. The circle (of which
the arc would be a part) is centered at , .
The arc is
drawn from the angle specified by , and will proceed for
 degrees.
(The zero degree position for ,, , ,

Where:
,

are the coordinates of one end of the ray

 is the length of the ray


is the angle from , at which the ray
is drawn.

This software is optional, and mayor may
your system.

not

be

installed

in

Ray submode draws a vector in polar form.
The origin of the
vectcr is specified as an ,  coordinate pair.
The length
and direction are then specified, which determine the other end
point of the vector.

Example:
RAY

511,383,

l0~,

45,

A ray will be drawn from the center of the screen, toward the
upper right quadrant, at an angle of 4S degrees.
If this
example is executed after the Arc example in the previous
section, it will divide the gO degree arc into two 4S degree
segments.

One application for Ray is the development of "pie-chart"
graphs. Ray allows the programmer to subdivide a circle into
any desired segments, simply by entering the angle in degrees.
(The  is always entered in integer degrees, and is not
affected by any scale factors in use.)

790~

RAY

511,383,

l~a,

Page 3-69

User's Manual

45,

r---------------l

",// I

/"

;

I
I

I

i
I
J.

/

Page

Chromatics

3-7~

CGC

79C~

VECTOR-DRAWN CHARACTERS

Format:
SHIFT PLOT

E , 

Where:
 is a decimal angle, in degrees .


is the character "I, or 9, to indicate whether
proportional spacing should be used

NOTE: The ~ key used in this command is the key
marked with Mode and Plot labels, on the typewriter
area of the keyboard. It is NOT the lighted ~ key
in the upper keyboard area.
This software is optional, and mayor may
your system.

not

be

installed

in

Vector-drawn characters may be drawn at any
angle.
The
characters are drawn using bold vectors.
After entering the
command to begin this Plot Submode, you may enter characters
normally and they will be plotted on the Bitmap screen.
The "Set Character SizeR and RSet Vector Width R commands may be
used to set up the characters for your application.
In
addition, since the vector-drawn characters use an 8 by 12
matrix (instead of the normal 6 by 8), the RSet Intercharacter
SpacingR command may be used to adjust the system for a larger
character font. An appropriate setting is ~ I 8, 12, when
proportional spacing is NOT in use.
The vector-drawn characters are always in RoverstrikeR mode.
~here is no way to backspace, erase, or
otherwise perform text
editing functions on these characters. It is recommended that
this character set be used primarily from a program or a host
system, so that backspacing will not be required.

7900 User's Manual

Page 3-71

Example:
SHIFT PLOT

SIZE

E

I, 1

4, 4,

.. MOVE X-Y

11, 11,

This is a test

Plotted characters, angle of
zero degrees (horizontal),
proportional spacing ON
Character size 4 X
Move cursor out in the open.
Type in some text.

Chromatics

Page 3-72

CGC

79~3

EXITING PLOT SUBMODES
Any time you enter a Plot Submode, the light on the ~ key
will come on. This light indicates you are in a Plot Submode.
Pressing a different Plot Submode key will change the Submode
you are in, but the lighted ~ key will remain lit whenever
you are in a Plot Submode.

To return to Alpha (text entry), type
SHIFT PLOT
Hold down the key marked SHIFT, and press the lighted key marked
PLOT. The light will extinguish, and you are out of whatever
Plot Submode you were in. You are back to Alpha.

To resume plotting, you may simply press any Plot Submode key,
as you originally did to begin plotting_ You can also re-enter
the last Plot Submode you were using, by pressing the lighted
~ key (without the SHIFT modifier)-.

7900 User's Manual

Page 3-73

RASTER PROCESSOR GRAPHICS
The software described in this section is optional,
may not be installed in your 79~~ system.

and

mayor

The Raster Processor is a special circuit in the 790~ hardware.
Its main function is to move pixels from one area of the Bitmap
screen to another. The functions described in this section make
use of some of the capabilities of the Raster Processor.

page 3-74

Chromatics

CGC 793a

DEFINE SOURCE RASTER

Format:
~

[

, , , ,

Where:
,  are the coordinates of one corner of the
desired source raster,
,  are the coordinates of the diagonally
opposite corner.
A "raster" is a rectangular area of the Bitmap screen." The
Raster Processor operates only on these rectangular areas.
A
"source raster" is defined exactly as you would enter the corner
points of a rectangle, and all the pixels within this area are
used in the commands which are discussed later in this section.
The source raster definition is specific to a window.
Each
window may have its own source raster defined to be a different
area of the screen.
Note that the offscreen Bitmap area (the pixels not normally
visible unless Zoom and Pan are in effect) may be used to store
source rasters.
The definition of a source raster defines only the screen
location of the raster, not the pixels within it.
If a source
raster is defined, and the pixels contained in that area are
altered, the source raster is also altered.
Alternate Format:
~

[

•

•

The current cursor position may be used to enter
coordinates of the source raster, by moving the cursor
corner and striking the period (decimal pOint) key.

the X-Y
to each

79~~

Page 3-75

User's Manual
COpy RASTER

Format:
~

, ,

Where:
, 

are the coordinates to which the raster
should be copied.

A copy of the source raster is made at screen position
This may be thought of· as a ftrubber stampft operation.

, .

The cursor position may be used instead of  and :
~.

This command copies the
position.

source

raster

to

the

current

cursor

Example:
(look at Bitmap)

SHIFT OVERLAY
HOME

ABC D

RETURN

LINE FEED

(put some characters in
upper left corner of screen)

E F G H
~

[

0, 0, 48, 32,

~

511, 383,

(define the source raster to
be these characters)
(copy raster to the center
of the screen)

Chromatics

Page 3-76

CGC

79~~

COpy RASTER WITH OVERSTRIKE
Format:
~

SHIFT u

, ,

Where:

, 

are the coordinates to which the raster
should be copied.

NOTE: This command requires entering a lower case
character, u. If the ALPHA LOCK key is in its normal
(up) position, it is necessary to press the SHIFT key
with the U key to produce a lower case u.

This command is identical to the ftCopy Raster ft command, except
that any pixels in the source raster matching the current
background color are not written.

The cursor position may be used instead of  and :
~

SHIFT u

•

This command copies the source
position, using overstrike.

raster

to

the

current

cursor

790~

Page 3-77

User's Manual

SET RASTER DIRECTION
Format:
~

SHIFT {

,

Where:
 is a decimal number, 27 through 31
NOTE: This command
Raster commands.

is

only

applicable

to the Copy

The Raster Processor uses a ·control byte" to set the attributes
of the source and destination rasters. This command allows you
to modify the attributes of the source raster definition.
Internally, the Raster Processor defines a raster by using a
coordinate pair (called the "operating pointn), a value for
delta-X, and a value for delta-Y. Whenever the Raster Processor
copies a raster, it begins at the operating point and performs
operations determined by delta-X, delta-Y, and the control byte.
The bits in the control byte are defined as follows:
Bit No.

4

3

2

1

0

I EC I ES I XS I YS I XF I
All other bits are unused.
XS is X Sign.

If SET, the raster is scanned from left to right.·

YS is Y Sign.

If SET, the raster is scanned from top to bottom.

XF is X Fine. If SET, X is incremented first as the raster
scanned. When X overflows (becomes greater than delta-X), Y
incremented and X is set to its original value from
operating point. If this bit is CLEAR, Y is fine and
incremented first.

is
is
the
is

EC and ES are Enable Carry and Enable Step, respectively.
If
these bits are CLEAR, the Raster Processor does not increment
certain registers. This prevents the entire raster from being
scanned. This is not a useful condition, since the same effect
can be achieved by defining the source raster to be one line (or
one pixel). When using the Set Raster Direction command, it is
recommended that these two bits remain SET.

Page 3-78

Chromatics

CGC

79~0

The default value for  is 31. This corresponds
SET, resulting in normal upright raster copies.

to

all

bits

The illustration on the following page should help to clarify
use of the Set Raster Direction command. Assume we have created
a test pattern, consisting of four squares, each containing a
different letter. (The four letters J, F, P and R were chosen
because they are not symmetric about any axis, and rotation can
be easily observed.)
The source raster has been defined (using ~ [) to be the
square containing the letter R. Now if a Copy Raster command is
executed, the square containing R will be copied, to
the
specified location. The control byte is now 31 (default), so an
upright copy is generated.
If the X Fine bit is now cleared by performing a ~ SHIFT { 30,
the copy will be reflected about the 45 degree axis.
If the Y Sign bit is now cleared by performing a ~ SHIFT { 29,
(this also SETS the X Fine bit), something entirely different
happens: the copied raster no longer contains the character R.
Since the sign of Y is now reversed, the source raster is
scanned UP instead of DOWN. This occurs in spite of the fact
that the source raster is still ndefinid n to be the square
containing R. By altering the direction of the Y scan, a
different set of pixels is actually being scanned. The scan also
causes the character F to appear upside-down.
Other combinations of these three bits
raster copies shown.

will

produce

the

other

79~0

Page 3-79

User's Manual

Source Raster Definition

Argument to MODE {

31

30

29

28

27

26

25

24

Page 3-83

Chromatics

CGC 7903

SET VECTOR TYPE

Format:
~

T

<~

or 1>

-1-

This command turns patterned vectors on or off.
If a
is
entered, patterned vectors are used for ALL Bitmap graphics
functions, including vectors, circles, arcs, etc.
The current
source 'raster is used as a source for the pattern.
While
patterned vectors are active, the pattern is used INSTEAD of the
current foreground color for all graphics operations.
If a -3- is entered, patterned vectors are off, and
foreground color is used for all graphics. This is
condition.
This command is also cancelled by the command
ON) or by hitting the OYERLAX key.

~

the
the

0 I

current
default

(Overlay

Example:
(look at Bitmap)

SHIFT OVERLAY
~

ABC D RETURN

LINE FEED

(put some characters in
upper left corner of screen)

E F G H

MODE

[

0, 0, 48, 32,

(define the source raster to
be these characters)

~

T

1

(patterns ON)

CIRCLE

fILL

511, 383, 3a0,

(draw patterned circle)

79~0

User's Manual

Page 3-81

COLORSWAP
Format:
COLORSWAP

, ,

Where:
 and  are each a color key; or a
decimal number (terminated by a comma).
Color swap exchanges pixel colors in the Bitmap.
Any pixels
which were  are changed to , and any pixels
which were  are changed to . Other colors are
not altered.
Colorswap affects all pixels in the window receiving the command.
Contrast this command with the Change command: Change alters
data in the Color Lookup Table to produce a color change, but
does not alter Bitmap pixel data. Color swap alters only pixel
data. This takes considerably longer if the window is large.
Color swap is useful for altering Bitmap data to suit the
requirements of a hardcopy device, or other peripheral, which
may require Bitmap data to be configured in a certain way.
Example:
COLORffivAP

~

BLACK

Any pixels which were red are changed to black, and vice versa.

Page 3-82

Chromatics

CGC

79~~

COLORSET

Format:
SHIFT COLORSWAP

, ,

This command acts exactly like Color swap, except that pixel data
is altered from  to  only.
Pixels which are
 are NOT changed to .

7900 User's Manual

Page 3-83

COMPLEX FILL ALGORITlmS
The software described in this section is optional,
may not be installed in your system.

and

mayor

Complex Fill algorithms are used to fill, or "paint," an area
with a color. In some cases this area must be enclosed by a
boundary of pixels, as described below.
Complex Fill may be
used on ANY types of figures, not only the figures supported by
the plotting routines.

There are, however, some limitations:
Complex Fill is a routine which demands a great deal
of resources from the 7900 processor.
An area is
filled by drawing horizontal vectors, and whenever the
algorithm encounters a "problem" in the area (such as
a corner), it must remember the location of the
"problem" and return to that location later to "solve"
it. Each location that must be remembered requires a
certain amount of space in the
system's
memory
stack, and trying to fill an extremely complex area can
overflow the available stack space.
If this occurs,
the fill routine will "give up." If the fill routine
stops before completing a fill of a very complex area,
an overflow has probably occurred.

Another pOint to remember when using Complex Fill is
this: the area to be filled MUST be bounded.
The
boundary color must be the same as the color being
used to fill (Edge Fill) or different from the color
being used to fill (Area Fill).
If the
proper
boundary is not present, the fill algorithm may "leak"
and the color being used to fill may fill the entire
screen. Or, if no border exists between the filled
area and the top of the screen, the fill routine may
stop filling at some apparently random location.

Chromatics

Page 3-84

CGC 79G0

AREA FILL
Format:
AREA FILL  ,,
Where:
 is one of the eight color keys, or a number
corresponding to an entry in the Color Lookup
Table (0 to 255). If a number is used, it must
be delimited by a comma.
,  are the coordinates of a point INSIDE the area
which is to be filled.

The area containing the point ,  will be filled with the
color specified. The fill will stop at any edge containing a
color other than the color specified.

Example:
CIRCLE 511,383,100,
AREA FILL

~

AREA FILL

~

(draw a circle)

511,383,
511,383,

(fill it with red)
(now fill it with blue)

In this example, we drew a white circle, and filled it with red.
Note that the border of the circle is still white.
The fill
routine terminated when it reached the white edge of the circle.
Note also that we can re-fill the area with another color (in
this case, blue).

Alternate Format:
AREA FILL  •

The cursor position may also be used to specify coordinates.
In
this case, the cursor should be moved inside the area to be
filled, and then the AREA FILL command may be executed'using the
cursor position to specify the  and  coordinates.

7900 User's Manual

Page 3-85

EDGE FILL

Format:
SHIFT AREA FILL  ,,
Where:
 is one of the eight color keys, or a number
corresponding to an entry in the Color Lookup
Table (e to 255). If a number is used, it must
be delimited by a comma.
,  are the coordinates of a point INSIDE the area
which is to be filled.
Edge Fill is very similar to"Area Fill, except: Edge Fill will
fill an area until it reaches a boundary of the SAME color it is
using to fill. Area Fill would stop at any dissimilar boundary.
Example of Area Fill and Edge Fill:
~

SET

9,e, 511,383,

(set foreground color to red)

~

ElLL

(turn on, the nfi11 n attribute)

CIRCLE 256,192,79

MOVE

(rectangle around 1/4 of screen)

x-X 29,20,

AREA FILL

~.

(circle inside the rectangle)
(move cursor "inside rectangle)
(fill the area with blue)

••• continued on following pages •••

Page 3-86

Chromatics

CGC

79~~

Area Fill example from previous page
(before final Edge Fill)

/

/0. .'

------------------------~

790e User's Manual

Page 3-87

At this point (see illustration), the upper left quarter of the
screen contains a white rectangle, filled with blue, and a
filled red circle. The Area Fill command did not cover the red
circle, nor did "it cover the rectangle's white border.

SHIFT ABEA FILL WHITE.

(edge fill with white)

This time, the Edge Fill command filled until it reached the
rectangle's white border. It covered the red circle, since it
does not stop at anything except the color it is filling with
(white).

Page 3-88

Chromatics

CGC 7900

7900 User's ,Manual

Page 3-89

SCALE FACTORS (VIRTUAL COORDINATES)
Format:
SCALE ,, ,,

Where:
, are the desired coordinates of the upper
left corner of the 'window,
, are the desired coordinates of the lower
right corner.
All numbers must be between

~16384

and +16383.

The SCALE command forces a window to assume
a
set
of
coordinates. After the command, any coordinates sent to the
window are scaled according to the coordinates given.
SCALE ,is
an easy way to adjust the size or aspect ratio of a plot, or to
plot data which was formatted for a different device.

NOTE: If you enter a set of coordinates which are
outside the legal range, or which would result in
meaningless scaling (such as trying to scale the
entire screen down to a pixel), the command will be
ignored.

It is especially important in this section that the system be
Booted before runn1ng each example.
If this is not done,
interaction between the examples will result in great confusion.
Example:
CTRL BOOT

SHIFT OVERLAY

WINDOW 9,9, 1923,767,
SCALE -1999,1999, 1999,-1999,

Page 3-90

Chromatics

CGC

79~0

The upper left corner of the window now

has

coordinates

-1000,

1000. The lower right corner of the window now has coodinates
1000, -1000. The center of the window now has coordinates 0, 0.

This would be handy for plotting data points which are symmetric
about the origin. You can easily see the effect of this command
now by performing some MOVE X-Y instructions. MOYE X-Y to 0, 0
will place the cursor in the center of the window, rather than
the upper left corner.

NOTE: In this example we have caused the entire width
of the screen (1024 pixels) to have a coordinate
distance of 2000. The entire height of the screen
(768 pixels) also has a coordinate distance of 2000.
Our coordinate system now does not have a square
aspect ratio. One unit of travel in the X direction
is 4/3 as many pixels as one unit of travel in the Y
direction.

To overcome this problem, we should make our scaling data have
the same aspect ratio as the CRT, which is 4 horizontal to 3
vertical.
Example:
CTRL BOOT
SHIFT OVERLAY

WINPOW 0,a, 1023,767,
SCALE -2000,1500, 2000,-1509,

Now the upper left corner has coordinates -2000,
lower right corner has coordinates 2000, -1500.
system encompasses 4000 units of X and 3000 units
aspect ratio is preserved at 4 to 3.
(Assuming
the full screen... see below.)

and the
The coordinate
of Y, so our
the window is

1500,

Continuation of Example:
CIRCLE ",0,1000,

After giving the SCALE command above, we can draw a circle with
center 0, 0, and radius 1000, and it fits neatly onto the center
of the window.

79~0

User's Manual

Page 3-91

SCALE can also be used to reflect or mirror-image a plot.
Example:
CTRL BOOT
SHIFT OVERLAY

WINDOW 0,0, 1023,767,
SCALE 1023,767, O,9,
Since the normal coordinates for the upper left corner of the
screen are 9, 9, and the normal coordinates for the lower ri9ht
corner for the screen are l~23, 767, the above example reverses
them. Any figure drawn now will be reflected about a line from
the upper left to lower right. It would also be possible to
flip only the X coordinate, or only the Y coordinate.

It is important to remember
that
SCALE
causes
coordinate data to be scaled before it is processed by
the window.
It is as if your program performed
scaling and.translation before sending coordinates to
the window. ONLY coordinate data are scaled; relative
data (such as cursor key movements) are unaffected.

Chromatics

Page 3-92

CGC 7900

It is possible for different scale factors to be used
and Y directions.

in

the

X

Example:
CTRL BOOT

SHIFT OYERLAX
WINDOW 0,0,1023,767,
SCALE 0,0, 10230,767,
In this case, only one change has been made: the X axis is now
labeled 0 to 10230 instead of 0 to 1023. We have introduced a
scale factor of 10 in the X direction. The Y scale factor is
unchanged. This kind of scaling can produce a problem.
Using
the scale factors above, suppose we try to draw a circle.
We
supply the center X and Y coordinates and the radius, as usual:
CIRCLE 5110,383, 200,
The given X coordinate (5110) is adjusted by the current scale
factor (10) to decide that the X coordinate of the circle's
center is at pixel 511. The Y coordinate is adjusted similarly,
but since its scale factor is 1, the Y coordinate remains 383.
In "absolute" coordinates then, the circle is centered at 511,
383, which is the center of the screen.
But the radius of the circle must be adjusted by one of these
scale factors as well. In this situation, where it is ambiguous
which factor should be used, the X scale factor is always
chosen. The given radius of 200 is adjusted by the X scale
factor of 10, and a circle is drawn with a radius of 20 pixels.

NOTE: Most of the examples in this manual assume that
no scale factors are in use.
You may get quite
interesting (and unexpected) results if you use the
SCALE command prior to executing the examples in other
sections of this manual.

7900 User's Manual

Page 3-93

SCALING ON/OFF
Format:
~

S

<~

or 1>

Use the character B to disable scaling, or 1 to re-enable it.

After establishing scale factors with the SCALE command, you
disable scaling with ~ S~.
Later, if you wish, you
enable scaling again with ~ S 1.

can
can

MODE S 1 will re-enable scaling, using the same factors you set
up when you gave the SCALE
command.
Note
that
SCALE
automatically turns scaling on when it executes.

From the keyboard, you may also disable scaling by the command
SHIFT SCALE

which is equivalent to

~

S 9.

It is sometimes desirable to disable scaling when defining
window limits, or when performing other actions that need
absolute coordinate references. See the example in the next
section, concerning the possible conflicts between WINPOW and
SCALE.

Page 3-94

Chromatics

CGC 7900

WINDOW AND SCALE

A potential problem arises when using both the WINPON and SCALE
commands. The results depend on which command is used first.
Example:
WINDOW S,0, 511,383,

The window limits have been set to the upper left quarter of the
screen. Then, the coordinate space of the window has been
defined to be from -lS0S to +1000 in both X and Y directions.
The window limits are still confined to the upper left quadrant
of the screen, however. You can see this by the command sequence
SHIFT SET

~

ERASE PAGE

(Set background color to Blue)

(Clear the window to background color)

If we do the same steps in a different order, we get an
different result.

entirely

Example:
SHIFT SCALE

(Turn off scaling)

SHIFT WINDOW

(Set window size to full screen to
undo the above example)

SCALE -lS00,1000, 1000,-1000,

WINPOW 0,0, 511,383,

7900 User's Manual
First, the SCALE command causes
coordinates of -1000, l000~ and
command, acting within these new
limits to be a, a (the center of
point not far from the center).
SHIFT SET

Page 3-95

the screen corners to assu~e
1000, -10~0.
Then the WT~DQW
coordinates, defines the window
the screen) to 511, 383 (a
Now try the same sequence:

~

ERASE PAGE

The window limits of a, e to 511, 383 are now acting within a
Instead of covering
coordinate space of plus and minus 1000.
the upper left quarter of the screen, our blue background now
covers only a small area near the center.

NOTE: The easiest way to set both window size
scale factors to default, is to enter SHIFT SCALE
SHIFT WINDOW (in that order).

and
and

Page 3-96

Chromatics

CGC

790~

7900 User's Manual

Page 3-97

RUBBER BAND

Format:
RUBBER BAND
When the RUBBER BAND key is pressed, several things happen.
The
current cursor position, and the current foreground color, are
memorized. The upper half of the Color Lookup Table (which
contains all blinking color information) is saved, and reloaded
with the current foreground color.
Blink is disabled.
The
light in the RUBBER BAND key illuminates.

While Rubber Band is on, moving the cursor will cause a vector
to be drawn from a previous cursor position to the current
position. One end of this vector appears to follow the cursor,
and "stretches" to meet the cursor; thus the name, "Rubber
Band." The "rubber vector" is always
drawn
in
whatever
foreground color was in effect when Rubber Band was entered.
(You may set a new foreground color while in Rubber Band, but
this will affect the color of the figures you draw, NOT the
color of the "rubber vector.")

While Rubber Band is on, you may be in any Plot Submode, or in
Alpha.
Rubber Band will simply continue to draw
vectors
wherever the cursor goes. Every time a coordinate argument is
entered, Rubber Band memorizes the cursor position and begins
drawing the "rubber vector" from this new location.

To leave Rubber Band, press:
SHIFT RUBBER BAND

The key will extinguish. The upper half of
Table is restored, and Blink is re-enabled.

the

Color

Lookup

Page 3-98

Chromatics

CGC 7900

NOTE: Rubber Band requires that your im~ge memory
contain a plane number 7. If plane 7 does not exist
in your system, Rubber Band cannot operate.

NOTE: Plane 7 is also the default Blink plane.
It is
not possible to use Rubber Band and Blink at the same
time, unless Blink is assigned to another plane.
Rubber Band may destroy any parts of a picture that
were drawn with blinking colors.

Page 3-99

7900 User's Manual
PAN AND ZOOM

The CGC 7900 includes hardware facilities to zoom or pan a
high-resolution image in the Bitmap.
These functions do not
affect the contents of Bitmap memory; they alter the way in
which the information in the Bitmap is displayed on the CRT
screen.

The
Zoom is performed by magnifying each pixel in memory.
system will zoom in any integer multiple from I to 16 times.
Commands described below all·ow setting the X and Y zoom levels
simultaneously, or independent of one another.

Pan is performed by altering the address of the pixel being
displayed in the upper left corner or the screen. When the zoom
level is higher than 1 (default), pan allows viewing different
areas of the image at high magnification. Pan is also used to
allow viewing the bottom 256 lines of Bitmap memory, which are
normally hidden offscreen below the viewable area.

Note that all pan and zoom functions apply to Bitmap memory
only. The Overlay cannot be panned or zoomed.
This allows
menus, or other information in the Overlay to remain stationary
while the Bitmap image may be examined with pan or zoom.

Pan and zoom are manipulated using the cursor control keys (the
four arrows and ~), and the £RASE PAGE, CLEAR LINE, and
RECALL keys, all used in conjunction with the H2 modifier key.

Pan Left

H2

left-arrow

Pan Right

H2

right-arrow

Pan Up

H2 up-arrow

Pan Down

112 gCHn-a:t::t:QH

Reset Pan

112 HOME

It may be convenient to use the REPEAT key to
the panning operations.

speed

up

any

of

Chromatics

Page 3-1"3

CGC 7963

Zoom Up

M2 ERASE PAGE:

Zoom Down

l-12 ReCALL

These two Zoom commands always zoom towards, or away
Bitmap cursor in window A (the -Master- window).

The following command adjusts the Pan registers
cursor is visible. The cursor is not moved.
Pan to Cursor Location

so

from,

the

that

the

M2 CLEAR LINE

See the Joystick description for other ways of controlling
and pan.

zoom

7900 User's Manual

Page 3-1"1

ABSOLUTE PAN

Format:
SHIFT

PAN X-Y

,,

Where ,  are the desired coordinates of the upper left
corner of the screen. The ~an registers will be aligned to
place the point ,  1n the upper left corner of the
viewable screen. (Only absolute coordinates are allowed in this
command: any scale factors in use will not be recognized.)

NOTE: "PAN X-Y" is a single key. This label is on
front of the key marked MOYE X-Y.

the

Example:
SHIFT PAN X-I

511,383,

The pofnt 511, 383, which is normally the center of the
will be moved to the upper left corner of the screen.

screen,

Example:
SHIFT PAN X-Y

This command will reset
equivalent to M2 HOME.

0,0,

pan

to

its

default

state,

and

is

Page 3-102

Chromatics

CGC

790~

ABSOLUTE ZOOM

Format:
ES..C Z

 

Where  and  are each single characters.
commas are used to separate  and .

Note

that

no

The binary composition of the ASCII characters  and 
will set the zoom r~gisters. Since the zoom factor can vary
from 1 to 16, the contents of the zoom registers may also take
on 16 different values. Each of the two zoom registers may be
set to any value from 0 to 15 (0 corresponds to a zoom factor of
1, or default conditions). The X zoom and Y zoom registers may
be set to different values, if desired.
The lowest
to set the
used. The
which will

4 bits of the ASCII characters  and  are used
zoom registers. Any printing ASCII characters can be
following table provides a sample list of characters
produce good results.

Zoom Factor

ASCII Character

1 (defaul t)
2

@

3

A
B

4
5

D

C

6

E

7
8
9

F
G
B

14

J
K
L
M

15
16 (maximum)

0

10
11
12
13

I

N

790e

Page 3-103

User's Manual

Example:
~

Z

B B

Horizontal and vertical zoom factors are now set to 3.

Example:
~

Z

@ @

Horizontal and vertical zoom factors are now set to 1.
the default condition.

This

is

to

5.

Example:
~

Z

@

D

Horizontal zoom is now 1, and vertical zoom is
The image on the CRT is "stretched" vertically.

now

set

Page 3-104

Chromatics

CGC 7900

7900 User's Manual

Page 3-1"5

JOYSTICK
The CGC 79~0 joystick (optional) is a three-axis input device.
It generates an intertupt to the system whenever it is moved off
its resting position, in anyone of the three axes.

Format:
SHIFT USER

\

<9 or 1>

Use the character 9 to disab1e'the joystick, or 1 to enable it.
When the joystick is enabled, it controls cursor movement and
zoom. The cursor may be moved in the X or Y direction by moving
the joystick in the appropriate direction.
Holding the SHI~T
key while moving the joystick will move the cursor one pixel at
a time, for exact positioning. The Z-axis of the joystick is
used to zoom in and out: twist the top knob clockwise to zoom
in, counterclockwise to zoom out.
In addition, the joystick allows selection of color.
Once the
cursor is positioned over an area whose color is to be changed,
hold down the Hl key and use the joystick to modify the color of
the area. This "Joy-Color ft mode allows you to change the red
component of a color by moving the joystick in the X-direction;
Y corresponds to green; and Z (twist) corresponds to blue.
Once
the color is satisfactory, release the joystick and the chosen
color will remain. The SHIFT key may be used for slow color
changes.
At the moment the joystick is enabled, th,e system reads values
from all three axes, to establish the "zero· position.
It is
important that the joystick be at rest when the ftenable ft command
is given.

NOTE: Since the joystick operates a~ the interrupt
level, anything done with the joystick may not be
stored in the Create Buffer.

Page 3-106

Chromatics

CGC 7900

7900 User's Manual

Page 3-107

PLANE SELECT

Format:
~

: ,

Where  is a number, 9 to 255, or -1.
 is examined as a binary number. Any bits in  which are
set to one represent planes of Bitmap memory which will be
write-enabled. Any bits in  which are zero represent planes
which are not write-enabled, and cannot be altered until the
next Plane Select command is given. This command only affects
the window which receives it.

Example:
~

: 9,

Since all bits of the number 0 are zero, all planes of
memory are now write-disabled. They cannot be altered.

Bitmap

Example:
~

: 6,

The number 6 is converted to a binary
follows:

number,

and

examined

as

Plane t

Since bits 1 and 2 are ones, only planes 1 and 2
memory can now be altered. The other planes will be
by any commands or characters sent to the window.

Example:
~

: -1,

of Bitmap
unaffected

Page 3-108

Chromatics

CGC 7900

Negative numbers are treated in ntwo's
complernent n
form.
Negative one is treated as a binary word of all ones, so all
planes are now write-enabled.
This is the default condition
when the system is booted.

Page 3-109

7900 User's Manual
PLANE VIDEO SWITCH
Format:
~

S ,

Where  is a number,

e

to 255, or -1.

 is examined as a binary number. Any bits in  which are
set to one represent planes of Bitmap memory which will be
allowed to feed the color look-up table. Any bits in  which
are set to zero will prevent their corresponding planes of
Bitmap from feeding the Color Lookup Table.

NOTE: This command affects ALL images
memory. It is NOT specific to a window.

from

Bitmap

Example:
E.S..C S 8,
All bits in' the number 8 are zero. All planes of Bitmap memory
will not be fed to the color look-up table (their bits will be
masked to zero). Thus, the only color of the look-up table
which will be accessed is the color numbered zero (normally
black). We have just shut off all image from Bitmap memory.

Example:

.ES.C S 5,
The number 5 is examined as follows:
Plane t

7

6

5

4

3

2

1

I

I Ie I I"I"I I"I I
I

I

1

1

Since bits I and 2 are set to one, only planes "and 2 will be
allowed to feed the color look-up table. .AII other planes will
be masked to zero before being used to select colors.
This
configuration allows the following color choices:

Chromatics

Page 3-113
Color

~

{all

bit~

CGe 7903

off)

Color 1 (bit 3 on)
Color 4 (bit 2 on)
Color 5 (bits 0 and 2 on)
Under defaul t conditions, these four colors would
Black, Blue, Red, and Magenta, respectively.

cor,respond

to

It can be seen from this example that the Plane Video Switch
command limits the available color choices. The total number of
choices which are available is 2 raised to the power , where
 is the number of bits set to one in the number .
In the
example above,  is 5, which contains two bits «b»
set to
one. Two to the power two is four, the total number of colors
we have made available.

Example:
~

S -1,

Negative numbers are interpreted in "two's complement" form.
Negative one is a binary word of all bits set to one, so this
command will set all planes to feed the color look-up table.
This is the default condition when the system is booted.

A primary use for the Plane Video Switch command would be
animation. Different pictures could be written to the various
planes (using Plane Select, previously described), and then the
system could quickly switch from one picture to another with
Plane Video Select. The color look-up table might have to be
modified for best results.

Another use would be the layout of multiple-layer printed
circuit boards. Each layer could be written into a single plane
of Bitmap memory.
Areas which overlapped would
reference
different areas of the Color Lookup Table, and would
be
displayed as different colors. The Plane Video Switch command
would allow viewing each layer of the board separately.

7900 User's Manual

Page 3-111

EXPANDED IMAGE MEMORIES
The commands in this section are applicable to CGC
containing more than 8 image memory planes.

79~0

systems

As mentioned in the introduction to Section 3, the 7900 may be
equipped with up to 16 planes of image memory. Only 8 planes at
one time may feed the Color Lookup Table to form an image, but
two independent images may be kept in memory simultaneously.
The commands in this section provide access to the second set of
image planes.

Chromatics

Page 3-112

CGC 7900

Format:
~

SHIFT s

<0 or 1>

Use the character 0 to select planes 0 thru 7· for display (the
default condition), or the character 1 to select the second
image, planes 8 thru 15.

NOTE: This command requires entry of a lower case
letter, "s". If the ALPHA LOCK key is in its normal
(up) position, it is necessary to use the SHIFT
modifier with the "S" key to produce a lower case "SR.

If planes 8 thru 15 are not installed in your system, selecting
planes 8 thru 15 will cause the the Bitmap screen to go blank.

7900 User's Manual

Page 3-113

PLANE/VIDEO/BLINK SELECT

Three commands were described earlier, but take on new meanings
when more than 8 image planes are installed.
They are: Plane
Select, Plane Video Switch, and Blink Select.

Each of these commands requires entering a decimal number to
enable selected image planes in a particular function.
With
only 8 image planes, the useful range of numbers is 0 to 255;
this allows writing to any or all of the 8 planes. (255 is the
highest decimal number possible from. an 8 bit, or 8 plane,
system.)

~

With up to 16 planes installed, the useful range of numbers for
these commands increases to a l6-bit number. This allows values
from a to 65535.

Examples:
~

: 255,

Planes 0 thru 7 are selected
(write-enabled)

~

: 65280,

Planes 8 thru 15 are selected
(65535 - 255 = 65280)

~

SHIFT b

~

S

771,

32896,

Planes 7 and 15 are specified to
blink (2 15 + 2 7 = 32896)
A

A

Video from planes 9, 1, 8 and 9 is
enabled
for display
(2 A 0 + 2 A l + 2 A8 + 2Ag = 771) ,

Obviously, the numbers can get out of hand quickly.
Calculation
of plane numbers in a l6-plane system is more suited to an
applications program.

The decimal number -1 may still be entered, and
enable all planes in. the system.

it

will

always

Page 3-114

Chromatics

CGC 7900

WRITING TO THE SECOND IMAGE
The following example demonstrates how to create
images.

§.C SHIFT s 0
~

Write-enable the first image

FILL

SET BLUE

511,383,399,

Draw a blue circle
in the first image

ESC SHIFT s 1

View the second image (planes 8-15)

MODE: 65289,

Write-enable the second image

RECTANGLE

100,100,700,300,

Now, the
~

independent

View the first image (planes 0-7)

: 255,

CIRCLE

two

SET RED

command ~ SHIFT S 0 displays
SHIFT s 1 displays a red rectangle.

Draw a red rectangle
in the second image
a

blue

circle,

and

Note that the default cursor color is color 135 (blinking
white), so the Bitmap cursor will not be visible when planes 8
thru 15 are being displayed. To make the cursor appear in all
planes, and thus in both images, use
~

Q -1,

7900 User's Manual

Page 3-115

Page 3-116

Chromatics

cac

79~0

APPENDICES

7900 User's Manual

Page A-I

APPENDIX A - SPECIAL CODES
For the sake of clarity, the names of modifier keys are not
underlined
in
this
section.
Remember,
however,
that
control-codes are always generated by holding the CTRL key and
simultaneously pressing the indicated key.
Control Codes:
CTRL
CTRL
CTRL
CTRL
CTRL
CTRL
CTRL
CTRL
CTRL
CTRL
CTRL
CTRL
CTRL
CTRL
CTRL
CTRL
CTRL
. CTRL
CTRL
CTRL
CTRL
CTRL
CTRL
CTRL
CTRL
CTRL
CTRL
CTRL
CTRL
CTRL
CTRL
CTRL

@
A
B

C
D
E
F

Null
Mode
Plot
Dot Up

0

Bell
Backspace
Tab
Linefeed
Curser Up (Line)
Erase Page
Carriage Return
A7 On (Alternate Character Set)
A7 Off (Standard Character Set)

Q

X-On

G

H
I
J

K
L
M
N

P

R
S
T
U

V
W
X

Y
Z
[
\
]
A

_

X-Off
User
Dot Down
End Of Record (Sub-Buffer marker)
Dot Left
Cancel (Flush input buffer)
Escape
Borne
Cursor Right (Char)
End Of File
Dot Right

Chromatics

Page A-2
Mode, Escape and
arguments.
The
follows:

User
ty~e

CGC 7900

code sequences may have
of argument required is

one or more
indicated as

t

a decimal number terminated by a comma, or a binary
number (if in binary mode)

F

the character 1, or

n

a single digit

C

a single character (details depend on the command)

(a

a, used as an on/off flag

thru 9)

Coordinates are described below as ii (one number for X and one
for Y). Colors are described as i, since they may be entered as
numbers.

Mode Codes:

(Mode codes always begin with
Control-A, 01 hex.)

MODE
, MODE
MODE
MODE
MODE
MODE
MODE
l-10DE
MODE
MODE
MODE
MODE
MODE
MODE
MODE
MODE
MODE
MODE
MODE
MODE
MODE
MODE
MODE
l-!ODE
MODE
MODE
MODE
MODE
l-!ODE
MOOE

the

MODE

character,

a

1
2
3
4

5
6

7
8
9

·
·
<

t

Plane Select

n

?

Delete Character/Line
Soft Boot
Insert Character/Line
Keyboard Sync

@

Clear line

I

=
>
A
B
C

n

F
i

D
E.F
F F
G
H
I ii
J

F
F

K
L
M ii

Binary Mode on/off
Set Foreground color
Rubber Band on/off
Fill on/off
Set Bitmap intercharacter spacing
Cursor on/off
Blink on/off
Move cursor to X-Y

7900 User's Manual

MODE
MODE
l-!ODE
lo!ODE
MODE
MODE
MODE
MODE
MODE
MODE
MODE
MODE
MODE
MODE

N
0

F

P

F
#

Q

R of
S F
T n
0 ii
V n
W iiit
X it
Y ii
Z
[ iiii
F
~10DE \
MODE] CCi
MODE
ii#
MODE _
A

MODE
MODE
MODE
MODE
MODE
MODE
MODE
MODE
MODE
MODE
MODE
l-10DE
MODE
MODE
MODE
l-10DE
MODE
MODE
ftlODE
MODE
MODE
MODE
ftlODE
MODE
MODE
MODE
MODE
MODE
MODE
MODE
MODE
MODE

Page A-3

'
a

Overlay on/off
Plot on/off
Set Cursor color
Roll on/off
Scale on/off
Set vector type
Copy raster to X-Y
Set Overlay present visibiity
Define Window limits
Set character size (X, Y factor)
Color swap X and Y
Define source raster
Overstrike on/off
Operate on variable
Area Fill (color, X, Y)
Clear to end of line

b

c

#

Set Background color

ii

Erase to end of screen
Move Cursor relative

d

e
f
g
h
i
j

k
1
m

n
0

P

q
r
s iiti
t C
u ii
v n
w

Set Scale Factors
Test window
Copy raster to X-Y with overstrike
Set Overlay future visibility

x i
Y Ii
z

Set vector width
Set colors (X to Y)

{

Set Source Raster direction
Home lower (lower left corner)

I

i

}
- iii
DEL C

Edge Fill (color, X, Y)
Ignores argument (undefined keys)

Page A-4

Chromatics

CGC 7900

Plot codes will accept repeated arguments.
They may also
require an initial set of arguments, as in the case
of
Incremental plot submodes. In this list the repeated arguments
are shown in braces {I, and initial arguments (if any) precede
the braces.
Plot Codes:

(Plot codes always begin with
Control-B, S2 hex.)

PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT

@
A
B
C
D
E
F

Arc:

the

PLOT

character,

{X, Y, radius, start, delta,}

Circle: {X, Y, radius,}
Dot: {X, Y,}
Vector-drawn characters: angle, F, {char}

G
H
I
J

Incremental Vector:

X, Y, {dXdY}

K
L
l'l
N

0

P
Q
R

Two-point Circle: {X, Y, Xl, YI,}
Polygon: {X, Y,} ;
Rectangle:

{Xl, Yl, X2, Y2,}

S

T
U

V
W
X
Y
Z
{
\
}
A

_
'\
a
b
c
d
e
f
9
h
i
j

k

Triangle: {Xl, YI, X2, Y2, X3, Y3,}
Curve: {Xl,Yl, X2,Y2, X3,Y3, X4,Y4,}
Vector: {Xl, Yl, X2, Y2,}
Concatenated Vector: X, Y, {X, Y,}
Incremental X-bar: XS,YS, {X,}
Incremental Y-bar: XS,YS, {Y,}
Ray:

{X, Y, radius, angle,}

7900 User's Manual

PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT
PLOT

1
m
n
0

P
q
r

s
t

u
V

w
X

Y
z

{
I
}
DEL

Bold Vector: {Xl, YI, X2, Y2,}
Bold Concat. Vector: X, Y, {X, Y,}

Page

~.-5

Page P-.-6

Chromatics

Escape Codes:

ESC
ESC
ESC
ESC
ESC
ESC
ESC
ESC
ESC
ESC
ESC
ESC
ESC
ESC
ESC

CGC

79~0

(Esca~e codes always begin with the ESC character,
Control-[, IB hex.l

@
A
B

C
D

Align Pan to Cursor

Itti
t

E

Change color (color, R, G, B)
Delay 

[,]

RETURN

Where:
 and  are hexadecimal numbers
specifying the range of memory to be dumped.
The Dump command outputs the contents of memory
The information is displayed in hexadecimal and
bytes are displayed on each line of the screen.

to the
ASCII.

screen.
Sixteen

 is optional. If included, it must be separated fro~
 by a delimiter, such as the comma shown above.
As
mentioned earlier, a space or a colon are also valid delimiters.

If  is greater than , then the range of memory
will end at location . Since sixteen bytes are always
displayed on each line, a few bytes past  may also be
displayed.

If  is less than , then  is taken as the
number of bytes to display, rather than the last address to
display.

Example:
D4000 RETURN

This example dumps
(hex).

sixteen

bytes,

beginning

at

address

4000

Page C-6

Chromatics

CGC 7S00

Example:
04000,4FFF

RETURN

This example dumps all bytes between
inclusive.

addresses

4000

and

4FFF,

Example:
04000,20 RETpRN

This example dumps 32 (20 hex) bytes, beginning at
hex.

address

4000

7900 User's Manual

Page C-7

CBMIGE MEMORY
Format:
CB



RETURN

OW



RETURN

CL



RETURN

starting at
long words,

The Change command allows you to modify memory,
address . You may modify bytes, words, or
using the CB, CW or CL form of the command.

Change displays an address, and the contents of memory
address, then asks for input. You have four options:
1. Enter a hex number and press RETURN, to enter
that address and examine the next address.
2.

a

at

that

value

into

Press RETURN, to skip that address without modification.

3. Enter a carat (A) and press RETURN, to examine
address.

the

4. Press DELETE, to terminate the Change command and
the Monitor prompt.

previous
return

to

Page C-8

Chromatics

CGC 7900

MOVE l-1El-10RY

Format:
M , , 

RETURN

Where:
, ,  are hex numbers
specifying memory addresses.
The contents of memory between locations 
inclusive, are copied to consecutive locations
.

and  ,
beginning at

Example:

M4000,4FFF,5000 RETURN
The contents of memory locations 4~00
copied to locations 5000 through SFFF.

through

4FFF

('hex)

are

7900 User's Manual

Page C-9

COltiPARE MEMORY

Format:
K

, , 

RETURN

Where:
, ,  are hex numbers
specifying the memory ranges to be compared.
The contents of memory between locations  and ,
inclusive, are compared to consecutive locations beginning at
. Any locations which do not match are displayed. During
this display, you may press CTRL S to pause, or DELETE to stop.

Example:
K4~~~,4FFF,50~~

RETURN

The contents of memory locations 40~~ through
compared to locations 5000 through 5FFF.

4FFF

(hex)

are

Page C-l0

Chromatics

CGC

79~0

FILL MEMORY
Format:
F

, , 

RETURN

Where:
 and  are hex numbers specifying
the memory range to filII
 is the hex number (8 bits or less) to
fill with.
Memory locations between
addresses
inclusive, are filled with .



and

,

Example:
F4aaa,4FFF,AS RETURN
This example fills locations 4aaS through
value AS (hex).

4FFF

(hex)

with

the

7900 User's Manual

Page C-ll

SET MEl-lORY

Format:
SB , 

RETURN

SW , 

RETURN

SL , 

RETURN

Where:
 is the first location to set
 is a list of hex values separated
by commas, or an ASCII string in
single quotes (SB command only)
Use the SB command to set bytes, SW for words (16 bits), and SL
for long words (32 bits). You can set consecutive locations by
entering several values. The only limit is that the entire
command must fit on one line of the screen (85 characters).

The string of values may be an ASCII character string, when
using the SB command. The SW and SL commands will only accept
hex arguments, separated by commas.

Examples:
SB4BBB,lE RETURN
SW4BlB,12AE,lB67,FF,9CBB RETURN
SL6FBB,E34FBl,B,2E,A5A5A5 RETURN
SBSB21,'This string goes into memory.' RETURN

page C-l2

Chromatics

CGC

790~

The apostrophe character (single quote) is used to
ASCII string. It is possible to insert a single
memory by entering two of them:
SB49~B,'It"s

celin:it an
quote into

easy to do thatl' RETURN

A single apostrophe will be inserted between the t and s.

7900 Userls Manual

Page C-13

VIRTUAL SEARCH
Format:
V

, , 

RETURN

Where:
 is the start of the memory range to search,
 is the end of the range,
 is what to look for (hex or ASCII).
The range of memory between  and ,
searched for the string. If a match is found,
containing the match are displayed.

inclusive, is
the locations

Examples:
V0,1000,FF RETURN
V4000,8000,0,0,0,0 RETURN
V0,FFFF,'Find mel RETURN
In the first example, a search is performed for all occurrances
of the value FF hex between addresses 0 and 1000 hex.
In the
second example, the range 4000 hex to 8000 hex is searched for
four consecutive zero bytes. In the third example, the entire
first 64K of memory (addresses
to FFFF) is searched for the
ASCII string "Find me". As with the S (Set Memory) command, an
apostrophe may be entered in the ASCII string by typing two
apostrophes.

°

·Page C-14

Chroreatics

CGC 7900

The Virtual Search command may be used to determine the reV1Slon
level of the PROM software in your 790~ system.
Execute the
Monitor, and type the following command:
V800000 80FFFF 'VERi'

This command searches addresses $8~0000 through $80FFFF (all
PROMs) for the character string 'VERt'. PROM software versions
1.1 and later contain this character string, followed by the
version number, for each major program in the system.
In
version 1.1, the following would be displayed:
VERi TERMEM 1.1
VERi Monitor 1.1

This indicates that the system contains versions
(the Terminal Emulator) and the Monitor.

1.1

of

TERMEM

" 7900 User's Manual

Page C-1S

CHECKSUM MEMORY
Format:
+

, 

RETURN

Where:
 and  are hex numbers delimiting the
memory range "to be summed.
The memory locations between  and , inclusive, are
summed, and the result displayed.
The sum is a sixteen-bit
number, obtained by summing either all of the EVEN bytes, or all
of the ODD bytes, in the memory range specified.
If  is
even, the even bytes are summed.
If not, the odd bytes are
summed.

Example:
+40~~,5FFE

RETURN

sum all EVEN bytes

4~00

- 5FFE

Page C-l6

Chromatics
EVALUATE

~ATH

CGC

7S0~

EXPRESSION

Format:
?



RETURN

This command parses an integer math expression and returns the
the
numbers
in
result in decimal and hexadecimal.
All
expression are assumed to be in decimal, unless they are
preceded by the dollar-sign character ($), in which case they
are interpreted as hex.

Examples:
110

*

?190~

(147/3 -5) + 19 RETURN
- $FE06 RETURN

?$l4A6S & $lFFF RETURN

?(32+756) 1 lS24 RETURN
?'HI' + 'ABC' RETURN

NOTE: In the examples above, spaces have been included
for clarity. Spaces must NOT be entered when typing
expressions into the Monitor, since a space is a
delimiter, and evaluation will terminate when the
space is reached.
In the third example, the Logical And operator (&) is used.
This operator performs a 32-bit logical AND. The fourth example
contains the 32-bit logical OR operator (1).
The last example shows that strings may be used as operands.
to four characters may be used in a string constant, since
maximum number size in this system is 32 bits.

Up
the

79~0

User's Manual

Page C-17

LOAD
Format:
L

[]

RETURN

The Load command accepts input from Logical Input Device 1,
normally the RS-232 serial p~rt. The input is expected to be
Motorola 68~~~ object code 1n the standard format.
See the
68~~~ processor literature for format details.

The code is loaded at its normal address in memory,
offset address is specified in the load command.
If
this offset is added to the memory addresses.

Examples:
L

RETURN

Ll~~~

RETURN

unless an
specified,

Page C-lS

Chromatics

CGC 7900

PUNCH
Format:
P

, 

RETURN

The Punch command transmits output to Logical Output Device 1,
normally the RS-232 serial port.
The output is in Motorola
6S~~3
object code format.
It contains all bytes
between
addresses  and , inclusive.

Example:
Pl~~3,2FFF

RETURN

NOTE: The Punch command does NOT produce the standard
end-of-record marker 'on its output. See the End Punch
command.

7900 User's Manual

Page C-19

END PUNCH

Format:
E

RETURN

The Punch command produces output records in standard Motorola
680~0 object code format.
The Punch command does not produce the
required end-of-record mark. To properly close out the object
code, use the End Punch command.

Example:
E RETURN

This command is provided separately so that you may Punch
several different portions of memory to your output device,
keeping them all as part of a single file, then terminate the
entire set with one end-of-record using End
Punch.
The
-~esulting object code can all be read in with one
Load command,
even though parts of it may be loaded into non-contiguous areas
of memory. The Load command continues to read until it reads
the end-of-record provided by End Punch.

Page

Chromatics

C-2~

CGC

790~

EXAMINE REGISTERS
Format:

x

[]

[,]

RETURN

Where:
 is the name of a register, or a question mark
 is a hex number, up to 32 bits
This command allows you to examine or modify the contents of the
68~0~ processor registers.
These are the names of the registers:
D0
Dl

Data register 0
Data register 1

D7

Data reg':.ster 7

AS

Address register a
Address register I

Al
•
•

A7

Address register 7

PC

Program counter
User stack pointer
Status Register

US
SR

If the command X is used with no arguments,
registers are displayed.

the

values

If the name of a register
register is displayed.

only

the

value

a

value

is

is

given,

If the name of a register is given, and
the register is loaded with that value.

of

of

all

that

specified,

If the question mark is used instead of a register name, a list
is printed of the registers designated for Trace (see Trace
Display) •

7900 User's Manual

Page C-2l

NOTE: These registers are "pseudo-registers" used by
the Monitor during trace and breakpoint operation.
The values in these registers are not initialized
unless a breakpoint is reached, or unless specifically
loaded using the X command.

Examples:
X RETURN

displays all registers

XDI RETURN

displays the value of DI

XDl,3E4F RETURN

loads Dl with hex value 3E4F

X.:

RETURN

displays registers designated
for trace

Chromatics

Page C-22

CGC 7900

TRACE (SINGLE

STEP)

Format:
T

[]

RETURN

The Trace command executes one instruction in the program.
The
current instruction is pointed to by the register PC (program
counter).
After executing one instruction, the
designated
registers are displayed.

Before using Trace, it is necessary
command (unless PC already contains
command) •

to set PC using
a value, from a

the "X"
previous

If  is specified, tracing continues until that address is
reached. registers are printed after each instruction executes.
The process may be interr'tpted at any time by pressing DELETE or
by pressing any Bezel Key.
Pressing CTRL S will pause the
display, and pressing another key will resume tracing.

Examples:
T RETURN
T4lE2 RETURN

After using the Trace command, the next Monitor prompt you
receive will be "TMft to indicate that you are still in trace
mode. When you receive the "TM" prompt, you may press the
RETURN key to execute a single instruction. Entering any other
command will remove you from trace mode, and the "TM n prompt
will no longer be presented.

See also Trace Display.

7900 User's Manual

Page C-23

TRACE DISPLAY
Format:

]

RETURN

[0

RETURN

RETURN

Trace Display defines which registers will
Trace or Breakpoint execution.

Each register in
following form:

the



displayed

must

be

during

in

the

Reg • Length
Where Reg is the name of a register, and Length is the type
display desired: B for byte, W for word, L for long word.

of

The second format given above causes a listing of all registers
to be printed at each break in execution.
The third format
turns off all register listing.

Examples:
[D0.B,Al.L,A2.L RETURN
[PC.L,Dl.W RETURN
[] RETURN

(display all registers)

[0 RETURN

(display none)

A list of the registers currently specified for
obtained with the command
X? RETURN

"tracing

may

be

Chromatics

Page C-24

CGC

7~00

GO (WITH BREAKPOINTS)

Format:
G
Where:

[



[,]

[,]

RETURN

are each 32-bit hex addresses

Go causes execution to begin at address .
omitted, execution begins at the current value of

If

pc.



is

Up to two breakpoint addresses may be specified, and they must
be separated by delimiters (commas,
spaces,
or
colons) •
Execution will continue until anyone of the breakpoints is hit.
At that time, the registers designated by Trace Display will be
listed, and control is re~urned to the Monitor.
When either breakpoint
removed from memory.

is

encountered,

BOTH

If no breakpoint addresses are specified, the
return to the Monitor (unconditional Go).

breakpoints

program

will

Examples:
G4592 RETURN
GE6A2,E6B~

G,l6FF0
G RETURN

RETURN

RETURN

Go at address 4502 hex.
Go at' address E6A2, with a
breakpoint at E6B0.
Go at current PC, with a
breakpoint at l6FF0.
Unconditional Go.

are

not

7900 User's Manual

Page C-25

ABORT
If a machine language program is executed using the Monitor, it
may be aborted at any time by pressing any Bezel Key.
All
registers are displayed, and control returns to the Monitor.

NOTE: After entering the Monitor, the Bezel Keys will
ONLY perform this Abort function.
Re-entering the
Terminal Emulator and trying to define a Bezel Key
will result in aborting the Terminal Emulator program!
If the Bezel Keys are to be used ~s user-defined keys
after leaving the Monitor, the system must be Booted.

Page C-26

Chromatics

CGC

790~

7900 User's Manual

Page C-27

Page C-28

Chromatics

CGC 7900

790~

Page D-l

User's Manual

APPENDIX D - TRAPS
The MC68000 processor used in the CGC 79~0 will detect a number
of error conditions which may occur during a program.
If a
severe error occurs, the processor discontinues normal program
execution and fttraps.ft
This causes the 79~0 software to display
information relating to the trap, and the system halts.
A
·crash ft sound is emitted from the speaker to indicate that the
program has crashed. The red indicator above the cursor keypad
is illumin~ted.
Traps should not
be
encountered
during
normal
operation. Users running preliminary or un-debugged
software are more likely to encounter traps.
When the system traps, the bottom line of the Overlay is used to
display the type of trap, the address at which the trap
occurred, and seven words of data from the stack.
These data
may be helpful in determining the reason for the trap.
When
contacting Chromatics for assistance regarding a trap problem,
please include all of the data displayed at the time the trap
occurred.
After a trap, the system stops and does not
acknowledge
interrupts. The only way to recover from a trap is to press the
RESET key. Pressing RESET turns off the red indicator on the
keyboard, however, the trap message remains on the screen until
erased. Pressing RESET followed by SOFT BOOT will clear the
screen and recover from most traps.
If the program damaged any system data before trapping, it may
be necessary to force a power-up Boot by simultaneously pressing
~ SHIFT and RESET.
Traps are explained in more detail in the
User's Manual (available from Chromatics).

Motorola

MC68000

Page D-2

Chromatics

CGC 7900

Traps are referenced by a number or a letter:
Explanation

Trap type

a

Bus Error (non-existant memory was accessed).

1

Address Error (attempt to fetch word data
from an odd memory address).

2

Illegal Instruction.

3

Division By Zero.

4

CHK Instruction.

5

TRAPV Instruction.

6

Privilege Violation (attempt to execute
privileged instruction while in User state).

7

Trace.

8

Line

9

Line 1111 Emulator ( ill~gal instruction).

A

Spurious Interrupt.

B

Level 1 Interrupt Aut ovect or •

C

Level 2 Interrupt Autovector.

D

Level 3 Interrupt Autovector.

E

Level 4 Interrupt Autovector.

F

Level 5 Interrupt Autovector.

G

Level 6 Interrupt Autovector.

H

Level 7 Interrupt Autovector (power-up
interrupt).

p

Buffer Memory Parity Error.

*

Undefined Trap.

l~l~

Emulator (illegal instruction).

7900 User's Manual

Page D-3

Page D-4

Chro~atics

CGC 7900

7900 User's Manual

Page E-l

APPENDIX E - ASCII CODES
This section includes a chart of the ASCII (~~erican Standard
Code for Information Interchange) characters, and a chart of the
character fonts provided in the 7900.
The 7900 uses some control-codes in ways not defined by ASCII.
See Appendix A for the 7900's allocation of control-codes.

to
PI

lQ

(I)

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

$00
$01
$02
$93
$04
$05
$06
$07
$08
$09
$0A
$0B
$0C
$00
$0E
$0F
$10
$11
$12
$13
$14
$15
$16
$17
$18
$19
$lA
$lB
$lC
$10
$lE
$lF

NUL
SOH
STX
ETX
EOT
ENQ
ACK
BEL
BS
HT
LF
VT
FF
CR
SO
SI
DLE
DC1
DC2
DC3
DC4
NAK
SYN
ETB
CAN
EM
SUB
ESC
FS
GS
RS
US

Null
Start of Heading
Start of Text
End of Text
End of Transmission
Enquiry
Acknowledge
Bell
Back Space
Horizontal Tab
Line Feed
Vertical Tab
Form Feed
Carriage Return
Shift Out
Shift In
Data Link Escape
Device Control 1
Device Control 2
Device Control 3
Device Control 4
Negative Acknowledge
Synchronous Idle
End of Transmission Block
Cancel
End of f.1edium
Substitute
Escape
File Separator
Group Separator
Record Separator
Unit Separator

32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
59
51
52
53
54
55
56
57
58
59
60
61
62
63

$20
$21
$22
$23
$24
$25
$26
$27
$28
$29
$2A
$2B
$2C
$2D
$2E
$2F
$30
$31
$32
$33
$34
$35
$36
$37
$38
$39
$3A
$38
$3C
$3D
$3E
$3F

;

64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91

<

92

II

#
$
%
&

(
)

*

+

,
•

/

0
1
2
3
4
5
6
7
8
9

=
>
?

93
94
95

$40
$41
$42
$43
$44
$45
$46
$47
$48
$49
$4A
$4B
$4C
$40
$4E
$4F
$59
$51
$52
$53
$54
$55
$56
$57
$58
$59
$5A
$5B
$5C
$50
$5E
$5F

II

96
97
98
99
100
101
102
103
104

I

105

J

106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127

@

A
B
C
D
E
F

G

K

L
M
N
0
P

Q
R
S
T
U
V

W
X

Y
Z
(

\

]
A

$60
$61
$62
$63
$64
$65
$66
$67
$68
$69
$6A
$6B
$6C
$60
$6E
$6F
$79
$71
$72
$73
$74
$75
$76
$77
$78
$79
$7A
$78
$7C
$70
$7E
$7F

"
a
b
c
d
e
f
g
h
i
j

k
1
m
n
0

P

q
r
s
t
u
v
w
x
y

z
{

I

}

DEL

tIl
I
tv

(I)

~

.~

t1

~

t1

>
l'Jl
()

H
H

g

~

()

::r
t'1

0

a
JlJ

rt
~

.

0

(J)

()
G)
()

n

t-3

......

til

'f'>
0

::0
rn
t11
t-3

~

A7 Set

Regular Set
"

8

'A

C

'8

'C

~.:

&.
.'.

'N
"y

'D
'£

"I

'p

'"

'G
"0

".

EH
~:
~:

D

• o

p

1

G

G

H

H

/

1

3

B

I

4

J

C'

"I

.J

K
L

1

6
7

II
"L

8

• #
"N

$

"'0

,

"p

,

,

$

-..
...•
..

<

'

(
)

"S

.

>
?

.)..

·t·

"

..

..

8
9

+

A

-..
.'.-,..
..

L

t'l
"
t·1
N
o

[I

p

p

o

b!

R

S
T

u

I~

v

A

w

x
y

.........
....I

I

,

[
.,

-.
]
.....

I
.J

5

,

"J

c
o
E
F

/

F.:-..'

,:::

B

r:.
.....

1:._.

T
U

,,

•

·3

c

b
c

d

d

b

e
f

n

P

"8

q

'=1

"C

r
• .=
-'
r

"p

u

u

"G

v

'•.1

"0

1••.1

"I

x
y
z

k

II

•

In

.......

I
m

"x

I

t
/

I
~:

A,

"
1

2

...,
.....
...
.,
...

::.::.
......

......

".

5

III

"J

6

·f

"K

1

I

"L

8

• }::
$

"0

,

"p

9

"s

'l

G

Y

IJ

o

1

I

.~

.

p

t··•.

r

q

.'··1

..•.

r

..'.', ,

,.

-,

t
.....
L

o

L

a

......

I....

•
L

b

1-1.

c

,
,

o

e

....-.

I
II ..
i

p

1[

f

o

q

9

R
5
T

':1

~l
"I

8

t

"~

{-

u

--'.

v

t.
I

I
I

(:
::.

" ..-'
....1
x

.....

y

L

) II

.....

..

'

z

-,
...

[

,

'-.

.I

-0..

]

o

h

.-.-

1

•.--

j

'.

I

......
DEI.

to
llJ
to
(D

I

J

u

1

*

1

r

d

1

t

F

n

N

L

I

£
'11

-:-'_0

.'

" ...>

+

I
"R

£

.-':

II.

+ , I
••a"

a

x

•,.-

T

:::::
•••••

c

D

J

:t-t

"N

8

1

3

~

.-

k

I

C

"Y'

I.

DEL

o

"w

"I

t

"

.-,.
.-,,-

"v

"D

t

h

•.1

.....

p

9

j

m

o

e
f

1

'"

A

k

v

w

III

•I

L
J

trJ

I

w

Page E-4

Chromatics

CGC 7900

7900

User'~

Manual

Page E-5

Page E-6

Chromatics

CGC 7900

INDEX

Capitalized entries correspond
listed in the Table of Contents.

A7 characters,i-4,1-69,E-3
ABORT,C-2S
ABSOLUTE PAN,J-lIl
ABSOLUTE ZOOM,i-7,3-182
Address error,D-2
Alpha,J-73
Alpha Lock,1-21
Alternate Char. Set,1-69,E-J
APPEND TO CREATE BUFFER,i-J,1-S4
ARC, i-6 ,3-66
AREA FILL,i-6,3-84
ASCII CHARACTER SET,E-2
ASCII CODES,E-l
Assembly language,C-l
ASSIGNING DEVICES,i-J,l-Jl
Autovector ,D-2
Axes,i-2
Background color,2-lS
BASIC,1-21
BAUD RATE,i-J,l-43,l-8S,l-9l
BEZEL KEYS,l-73,C-25
Bezier curve,3-63
BINARY MODE,I-114
BITMAP, 3-3
Bitmap, addressing,J-6
BITMAP BLINK,J-27
BITMAP CHARACTER SIZE,J-13
BITMAP COLOR AND BLINK,3-29
BITMAP CURSOR CONTROL,J-8
BITMAP DEFAULTS,3-5
BITMAP INTERCHAR. SPACE,3-14
BITMAP OPERATIONS,3-6
BITMAP ROLL AND PAGE,3-11
BLINK ON/OPF,i-5,3-Jl
Blink (Overlay),2-l6
Blink Plane,3-28
BLINK SELECT,i-5,J-28,J-113
Blinkingbacxground,3-Jl
Blue flood,1-78
Bold characters,J-71
BOLD VECTOR,i-6,3-48
Boot,I-23
Boot Strinq,1-86,1-9J
Break,1-19
Breakpoints,C-24
Brief guide,i-J
Buffera,I-8S
BUB error ,D-2
calc Mode,1-21
Cancel,i-7
CASE TABLE,1-J1,1-48,1-8S,1-89
CGC 7911 OVERVIEW,1-4
Change key,i-5,3-2l,3-24
CHANGE COLOR (BVS),i-S,3-24
CHANGE COLOR (RGB),i-S,3-21
CHANGE MEMORY,C-7
CHARACTER FONTS,E-J
Character 81ze,i-2,3-13
CHECKSUM MEMORY,C-15
CIRa.E, i-6 ,3-41
Clear EOL,2-8
Clear Line,2-1
C1ock,1-81
a.O,3-17
a.O default eolors,3-18
CMOS memory,I-24
CMOS memory,1-83
Code arqument8,1-13
CODE BIERARCHY,I-17
CODES AND CODE SEQUENCES,l-ll
CODES,A-l
COLOR COBE,B-l,B-6
Color keys,2-14,3-22
COLOR LOOKUP TABLE (CLO),3-4,
3-5,3-17

to

chat:ter

Color numbers,2-14,J-22
Colors available,J-J
COLORSET,i-5,3-82
COLORSWAP,i-S,3-81
COMMAND REFERENCE LIST,i-J
COMPARE MEMORY,C-9
COMPLEX FILL,i-2,3-83
CONCATENATED BOLD VECTOR,i-6,
3-49

CONCATENATED VECTOR,i-6,3-J8
Control codes,A-l
CONVENTIONS, i-9
CONVERGENCE, 1-1
Coordinates,i-2,3-J3
Copy key,J-7S
COpy RASTER,i-S,3-7S
COPY RASTER, OVERSTRIKE,3-76
CREATE BUFFER,1-51
Create Buffer address,I-86,
1-92
CREATE BUFFER ON/OFP,i-J,1-S2
Ctrl Bome,2-7
Ctrl codes,A-l
Ctrl,i-9,1-19
Ctrl-S,C-2
Ctrl-X,1-54
Ctrl-Z,1-1,1-21
Cursor Color,i-4
Cursor On/Off,i-4,2-9
Cursor blink,2-11
Cursor eolor,J-11
CUrsor control.2-1
Cursor keypad,1-21
Cursor relative move;2-9
Cursor, Bitmap,3-5,3-8
CURVE,i-6,3-63

Decimal numbers,i-I,1-97
DEFAULT COLOR LOOKDP,3-25
Default program,l-85,1-89
DEFAULT RAM ALLOCATION,1-94
Defaults, chanqinq,1-83
DEFINE A SUB-BUFFER,I-S4
Define Function Key,i-l,1-1,
1-11
DEFINE SOURCE RASTER, 1-5 ,3-14
DEGAUSSING,1-1
Del Char,2-8
Del Line,2-8
DELAY, 1-61
Delete Character,2-8
Delete key,C-2
Delete Line,2-8
DEVICE ASSIGNMENT LIST,1-33
Display reqisters,C-28
DISPLAY TIME,1-82
DISPLAY WINDOW VAR.,l-lll
Division by zero,D-2
DOS buffer,1-8S,1-87
DOS transient area,1-8S,1-87
DOT,i-6,3-J5
DUMP MEMORY,C-S
Duplez,i-3,1-27
EDGE FILL,!-6,3-85
END PONCH (object),C-19
Environmental,l-6
EOL Sequence,1-47
Erase EOS,2-8
Erase paqe,2-7
Error recovery,D-l
Escape,1-21
Escape codes,1-lJ,A-6
EVALUATE MATH,C-16
EXAMINE REGISTERS,C-21
EXITING PLOT SUBMODES,3-72
EXPANDED IMAGE MEMORY,l-lll

heaci.ngs,

and are

FILL MEMORy,C-lII
FILL,i-6,3-34
Filled figures,3-34
FILLED POLYGON (TILER),3-62
Foreground color,i-l
FOLL DUPLEX,I-JI
FUNCTION KEYS,1-71
Function Key buffer,I-85,1-S9
Function Key stack,1-85,l-87
Pull Duplez,i-J,1-J8
GENERAL INFORMATION,l-l
GO (WITH BREAKPOINTS),C-24
Greys,3-l7
BALF CUPLEX,i-3,1-29
Bandshaking,1-37,1-85,l-9l
Bard Oisk,1-6
BEXCONE,S-2,B-7
Bome,2-7
Bome 10wer,2-7
BOST EOL SEQUENCE,l-47
BUE, VALUE, SATURATION,B-l
BVS color units,3-24
BVS,B-l
Illeqal instruction,D-2
Imaqe planes,l-85,1-9l
Imaqe planes,1-9l
INCREMENTAL VECTOR,i-6,3-55
INCREMENTAL X-BAR,i-6,l-SS
INCREMENTAL Y-BAR,i-6,3-53
Inline Editor,C-J
Input buffera,I-8S
Ins Char,2-8
Ins Line,2-8
Insert Char,2-8
INSERT INTO SOB-BOFFER,l-51
Insert Line,2-8
INSTALLATION, 1-6
Intercharacter spacing,i-4,
Interrupts,D-2
INTRODUCTION,l-J

3-14

JOYSTICI,i-7,3-185
Joy-color ,3-185

Key names,i-9
Keyboard, 1-19
Keyboard buffer,1-85,1-87
Keyboard lights,1-32
Keyboard Processor,1-4
KEYBOARD SYNC,i-4,1-J5
KILL A SUB-BUFFta,1-S6
LED (keyboard),1-21
LIGHT PEN,i-1,l-77
Lighted keys,i-l,1-21
LITERAL CREATE,i-2,i-J,1-59
LOAD (object code),C-l1
Load a.O,J-2S
LOCAL,i-J,1-28
Loqical Devices,i-I,1-4,1-Jl
Ml,i-9
M2,i-9
Master Windov,I-61
Math parser,C-16
MDLE,1-8S,I-91
Memory allocation,I-94
Memory limits,1-85,1-88

Mirroring,J-91
Mode codes,l-16,A-2
Modifiers,l-ll
MONITOR,C-l
Move X-Y,i-4,2-9,3-9
Move cursor relative,i-4
MOVE MEMORY,C-S
NUMERICAL DATA,l-91
Numeric keypad,l-21
Offscreen memory,3-99 .
OPERATE ON WINDOW VAR.,l-l ••
Output Buffers,1-S5
OVERLAY BLINK ON/OFF,2-IS
OVERLAY COLOR/BLINK,2-l3
OVERLAY CURSOR CONTROt,i-2,2-1
OVERLAY CURSOR BLINK,2-11
OVERLAY DEFAULTS,2-5
OVerlay key,2-0,3-6
Overlay On/Off,i-1
OVERLAY OPERATIONS,2-0
OVERLAY PLOTTING,2-19
OVERLAY ROLL AND PAGE,2-ll
OVERLAY,2-J
Overstrike,i-4,3-15
Page,i-4,2-1l,J-ll
PAN ~~D ZOOM,i-7,3-99,3-18l
Pan X-Y,1-7
Parity error,D-2
PARITY/LENGTH/STOP BITS,i-3,
1-45
Pattern Fill,3-a.
patterns,i-S,3-al
Physical Devices,1-4,l-33
PLANE SELECT,i-4,3-1l7,3-1l3
PLANE VIDEO SWITCH,i-7,3-l'9
Plot, i-2
Plot and Alpha,3-73
Plot codes,l-lS,A-4
Plot dots (Overlay),2-4
Plot key,3-6
Plot light, i-I
Plot On/Off, i-o
PLOT SUBMODES,i-l,3-l3
POLYGON,i-6,3-59
Power,1-6
Power-up reset,l-23
PREFACE, i-I
Prefiz codes,l-ll
Priority of codes,1-11
processors,1-4
PUNCB,C-l8
Quiet Lock,1-21,l-75
RASTER PROCESSOR,l-4,3-13
Raster direction,i-S,3-71
Raster graphics,3-73
RAY, i-6 ,3-6a
REAL TIME CLOCK,l-Sl
Recall,2-8,C-l
RECTANGLE,i-o,3-43
REDRAW CREATE BUFFER,i-3,l-53
Relative pan,i-1
Reset,l-23,D-l
RESET, Boar, son BOO'1',1-23
Reset String,I-86,l-93
Resolution (Bitmap),l-3
Return,l-l9,2-7,C-4
Revision, software,C-14
Roll,i-4,2-11,3-ll
RS-2l2,1-l7
RS-449,1-37
RUBBER BAND,3-97

Scale, i-4
SCALE FACTORS,l-89
SCAtING ON/OFF,3-9l
Search memory,C-13
SECOND IMAGE, WRITING,l-ll4
SELECT BLINK PLANE(S),l-28
SELECT CHARACTER SET,l-69
SELECT IMAGE,J-l12
SERIAL COMMUNICATIONS,1-31
Serial defaults,l-9a
Serial port buffers,1-S8
SERIAL PORT CONNECTORS,1-41
SERIAL PORT PINOUTS.1-l9
SERIAL PORT WIRING,I-U
Serial ports,1-31
Set,i-5
SET BACKGROUND COLOR,i-S,2-1S,
3-l.
SET ctOCK,l-81
Set color,i-S,2-l4,3-29
SET CORSOR COLOR,3-l'
SET FOREGROUND COtOR,2-14,l-29
SET MEMORy,C-ll
SET RASTER DIRECTION,i-S,3-71
SET VECTOR TYPE,l-SS
SET VECTOR WIDTH,l-47
SET WINDOW LIMITS,l-62
Shift,i-9,1-19
Single Step,C-22
Sixteen planes,3-ll1
6S800,1-4,0-1
Size key,i-4,3-1l
Soft Boot,1-23,2-5
Source :aster,3-74
Sta.k, system,1-85,1-88,l-92
Stenciled cha:acte:s,%-l8
Stop bits, se:ia1,1-45
SUb-Buffers,i-l,i-3,1-54
System stack,1-85,1-S8,1-92

Tab stop., setting,I-113
Tab,2-7,3-9
TERMEM,1-27
TERMEM version,C-14
-TERMINAL EMULATOR,1-27
Terminal key,1-27
TEST,i-4,1-65
Tezt editing,3-S,C-3
TBAW,l-83

Tiler,3-02
TONE GENERATOR, i-7 ,1-l2,1-75
TRACE (SINGLE STEP),C-22
TRACE DISPLAY,C-23
TRANSMIT CREATe BUFrER,1-53
TRANSMIT WINDOW VAR.,l-lBl
Transparency,2-l7

TRAPS, 0-1

TRIANGt£,i-f,3-45
Two-image examp1e,l-l14
TWO-POINT CIRCLE,i-f,3-42
Ondefined code.,1-12
0.er,1-2
O•• r codes,1-14,A-8
V. Width,i-f,1-41
VECTOR,i-f,3-J6
VECTOR-DRAWN CHARACTERS,i-7,
3-7.
Vector type,i-5,3-81
Vector Width, i-o ,3-41
Version, C-14
VIEW A SUB-BUFFER,1-5S
VIRTUAL COORDINAT-ES,3-a9
VIRTUAL SEARCB,C-l3
Visibility, Overlay,2-17
VISIBLE ATTRIBUTES,2-17
VISIBLE CONTROL-CHARS,1-61

WARM START,l-2S
WINDOW AND SCALE,3-94
Window limits,1-62,1-l91
Window table,1-SS,1-92
WINDOW VAR. ASSIGNMENTS,1-99
WINDOW VARIABLE USES,I-1l1
WINDOW VARIABLES,l-9S
WINDOWS,i-2,i-4,1-61,3-7
Windows, number of,1-85,1-87
Word length, serial 1-45
Xmit,i-3,1-53
Zoom,i-7,3-99,3-1'2



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.3
Linearized                      : No
XMP Toolkit                     : Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:56:37
Producer                        : Adobe Acrobat 9.31 Paper Capture Plug-in
Modify Date                     : 2010:03:22 18:22:56-08:00
Create Date                     : 2010:03:22 18:22:56-08:00
Metadata Date                   : 2010:03:22 18:22:56-08:00
Format                          : application/pdf
Document ID                     : uuid:623b119f-4ab8-4e52-987b-3636b5f85341
Instance ID                     : uuid:75195502-aa42-4dbd-b650-c738d524757b
Page Layout                     : SinglePage
Page Mode                       : UseOutlines
Page Count                      : 330
EXIF Metadata provided by
EXIF.tools

Navigation menu