H 80 0444_Vistagraphic_3000_Graphic_8_Programmers_Reference_Feb_1981 0444 Vistagraphic 3000 Graphic 8 Programmers Reference Feb 1981
H-80-0444_Vistagraphic_3000_Graphic_8_Programmers_Reference_Feb_1981 H-80-0444_Vistagraphic_3000_Graphic_8_Programmers_Reference_Feb_1981
User Manual: H-80-0444_Vistagraphic_3000_Graphic_8_Programmers_Reference_Feb_1981
Open the PDF directly: View PDF
.
Page Count: 297
| Download | |
| Open PDF In Browser | View PDF |
H-SO-0444
Vistagraph]c7~il . 3COO/
Graphic 8™
COMl=UTS}:; GJ:2APH1CS
CIS1=1.A Y SYSTEM
SS~I15S axcc
S=~OGRAMMEJ:;'S R5Fe~SNC5
MANUAL
FESJ:;UA~Y
CALCOMP
A Sancers Gracncs CJmcany
~SANDERS
(,JOYf1gnr 1~81 Sancers ..4SSoc :3ces. rc
,:j r 3cn :c S IS a uacemark or Sanaers ":'sscc :ac;!s. ' nc o
\" ! stagraon~c .S 3 'r~aeman~ or ·":a:Cvmo
1981
H-90-0444
,
~.-.--,-
Vista
raphic™ SOC : /
Graphi,c a™
COI'JII=UTER GRAJ:JHICS
CISPLA Y SYSTEM
SERIES
exoc
PROGRAMMER'S REFERENCE MANUAL
FEBRUARY 1981
CALCOMP
A Sanders GraphICS Company
~SANDERS
COPYright 1981 Sanders Assoc[ates, inc.
GraphIc 8 [5 a trademark of Sanders Assoc[ates, Inc.
V[stagraphlc [s a trademark of CalComp
l,
"
, ii
[
,I
Sanders Associates,Inc. reserves the right to make corrections or alterations
to this manual at fny time without notice.
~
Original issue: February 1981
Reprint: August 19~1
Reprint: November L981
.-.;\~....
- -
..,
-
Reprint: February {gaZ
Reprint: AprU 198Z
Change 1:, September 1982
I
I
Reprint: September" 1982
Reprint:
January 1983
(
'
,!
..'.
f :~
f!
,
(
/'
I
'I I
[!
RECORD OF CHANGES
CHANGE NO.
1
DATE
Sept 82
TITLE OR BRIEF
OeSCRIPTION
Correct errors, general
update
ENTERED BY
r~
["'
(
I'"~
[.,
I
I
[
"
I ""
I
0"
f
I ;
I
I"
L
I
I
I
TABLE OF CONTENTS
Section
1
Page
GRAPHIC 8 SYSTEr1 DESCRIPTION
1.1
1.2
1. 2.1
1.2.1.1
1.2.1.2
1.2.1.3
1.2.1.4
1.2.1.5
1.2.1.6
1.2.1.7
1.2.1.8
1.2.1.9
1.2.1.10
1.2.1.11
1. 2.1.12
1. 2.1.13
1. 2.2
1.2.2.1
1.2.2.2
1.2.2.3
1. 2.3
1.2.3.1
1.2.3.2
2
Introduction
Component Description
Terminal Controller
Display Processor
Read/Write Memory
ROM/Status Logic
Multiport Serial Interface
Parallel Interface
Digital Graphic Controller
Video Controller
Mapping Memory
Timing Module
Charac ter Generator
2-o/3-D Coordinate Converter
Data Converter
EPROM Expansion Module
Input Devices
Keyboards
Trackball, Forcestick, and Data Tablet
Maintenance Data Input Devices
Output Devices
Display Moni tors
Hardcopy Units
OPERATING MODES
2.1
2.2
2.2.1
2.2.1.1
2.2.1.2
2.2.2
2.2.2.1
2.2.2.2
2.2.2.3
2.2.2.4
2.2.2.5
2.2.2.6
General
Local Mode
Verification Test Pattern and Diagnostics
Hardcopy Generation
Data Tablet Testing
Lo cal Me d e Command s
Memory Commands
Displaying a Refresh File
Transfer of Program Control
Transfer to System Mode
Teletypewriter Emulation
Additional Local Mode Commands
1-1
1-1
1-1
1-4
1-4
1-4
1-7
1-7
1-7
1-8
1-8
1-8
1-10
1-10
1-10
1-11
1-11
1-11
1-11
1-12
1-12
1-12
1-12
1-12
2-1
2-1
2-1
2-3
2-6
2-6
2-6
2-8
2-8
2-9
2-9
2-9
2-9
)
i
(
r
TABIoE OF CONTENTS (Cont)
Page
GRAPHIC 8 INSTRUCTIONS
3-1
3.1
.3.2
3.3
3.3.1
3.3.1.1
3.3.1.2
3.3.1.3'
3.3.1.4
3.3.1.5
3.3.2
3.3.2.1
3.3.2.2
3... 1
.3-1
3-2
3.3.2.3
3.3.2.4
3.3.2.5
3.3.3
3.3.4
4
5
General
Display Processor Instruc tiona
.
Digital/Graphic Controller Instructions
Pi:lCel Po si eion Instruc tions
toad Instructions
Move Instructions
Draw Instructions
'text Instruc: tions
ConiC: Instructions
Sequence. Control Instruc tions
tTncondi tional J'tllllP Ins true tions
Conditional Jump Instructions
Subroutine Instructions
Linkage Instruction
Halt and 'W'ait Instructions
Register Instructions
Display Control Instructions'
3-3
3.... 3
3-4
3-.5
3-9
3-11
3-12
3-12
3-14
3-15
:3-19
3-20
3...22
3-25
GaAPHIC 8 REGIsTERS
4-1
4.1
4.2 .
4.3
4.3.1
4.3.2
4.3.3
4.3.4
4.3.5
4.3.6
4.4
4.4.1
4.4.2
4-1
4-1
General
Display Processor Registers
Digital Graphic Controller Registers
Processor Registers
Function Registers
Sense and Mask Registers
Function Conttol Registers
Display Control Registers
Configuration Registers
Interface Bagi.sters
Serial Interface Registers
Parallel .Interf4ce kgisters
4-1
4-2
4-4
4...14
4-16
4-17
4....21
4-22
4-23
4-32
GRAP1UC CONTROLPROGaAM (GCP)
5-1
5.1
5-1
5... 2
5-2
5-6
5-6
5-6
5.2
5.2.1
5.2.2
5 .. 3
5.3.1
5.3.2
3 • .3.3
5.3.4
5.3.5
5.3.6
Description and Purpose
'. Host/GRAPHIC 8 C01llll1uuic.ations
Sedal Interface COmmunications
Parallel Interface Counnunieations
Host/GRAPHIC 8 MeSsages
Initialize and Error Messages
Establish I/O Transmission Mode (Polling/
Non-Polling)
. Memory Related Messages
Interrupt Related Messages
Keyboard Related Messages
Positional Entry Device Related Messages
5-11
5-16
5-27
5-33
5...40
I
I
f"
f
f
I
I
I:
.~,
f
f
I
r
I -I
".-.
I
I
Ii
--- - - - - -
-
.,""
TABLE ;OF CONTENTS (Cont)
Page
Section
5.3.7
5.3.8
5.3.8.1
5.3.9
5.3.9.1
5.4
6
-
,
,)
.
--~
,
5-72
6.1
6.2
6.2.1
6.2.2
6.2.3
6.2.4
6-1
6-1
6-1
6-1
6-1
6.S
7
5-68
6-1
6.3.1
6.3.2
6.3.3
6.4
6.4.1
6.4.2
;
5-49
5-53
5-63
5-67
GRAPHIC CONtROL PROGRAM USAGE
6.3
'r:
Extended Device :Control Message
Fortran Support~(FSP) Messages
Packed Vector Mode
Option Support
Option Messages,
Programming the ';3-D Coordinate Converter
General
Startup Procedures
GRAPHIC 8 Turned On Aft'er Host Computer
GRApHIC 8 Turned On Before Host Computer
Power Failure Startup
Startup with GRAPHIC 8 in Teletypewriter Ettlulation
Mode
Refresh Files
Refresh File Generation
Refresh rile Transmission
Refresh File Alteration
Optional Equipment Usage
Keyboards
PEDs
Multistation Usage
6-2
6-2
6-2
6-6
6-7
6"'8
6-8
6-10
6-11
ADVANCED GRAPHIC CONTROL PROGRAM USAGES
7-1
7.1
7-1
7-1
7-2
7-4
7-4
7-7
7-7
7-8
7-8
7-1i
7-16
7-16
7-16
7-17
7-18
7-18
7-18
7-18
7-19
7-10
7.2
7.2.1
7.2.2
7.2.3
7.3
7.3.1
7.3.2
7.3.3
7.3.4
7.4
7.5
7.5.1
7.5.2
7.6
7.6.1
7.6.2
7.6.2.1
7.6.2.2
7.6.2.3
Introduction
RAM Linkages
Unknown Command Reader Sent by Host Computet
Beginning of GCP Executi'l1e Loop
Message Ready to Send to Host Computer
Link !nstruction
Basic Instruction Operation
Synchronized Linkage
Sync Unk
Super Sync
The Digital Graphic Controller as a Device
The Parallel Interface as a Device
Programming Examples
Interrupt Operation
The Serial Interface as a Device
ROM and Status Logic Card Port
Multiport Serial Interface Ports
Host Computer
Keyboards
PEDs
iii
{
TABLE OF CONTENTS (Cont)
Page
Section
1.7
7.7.1
7.7.2
Appendix A
Appendix
B
Append:.l.x C
Programming Examples
Programming the Color Display Monitor
Use of Blink and LOT
7-21
7-21
7-21
SL"MMARY INFORMATION
A-I
GR.:-\PHIC 8r1AC'RO DESCRIPTION
PROGRAMMING CAUTiON'S
~IST
1-3
1-4
1-5
1-6
2-1
2-2
4-1
6-1
7-1
7-2
7--3
7-4
7-5
7-6
7... 7
7-8
.0.-1
A-2
C-1
OF ILLUSTRATIONS
Page
NUlllber
I-I
1-2
f
.
GRAPHIC 8 System Components
Cl;!lComp Nodel 31 Color Graphic System Specifications
GR.,L\.PHIC 8 Terlllinal Controller Functional Block Diagram
GRAPHIC 8 System Nemory Map
Addressable va. Disphyable Areas for Low Screen Re.solution
Representative GRAPH1C 8 System Configuration
Verification Test Pattern
Summary of GRAPHIC 8. Operating ~1:ldes
Addressable ve. Displayable Happing Menory Areas for
1024 x 1024 Screen
Display Created by Sample Refresh File No. 1
GCP ExeCutive Loop Flowchart
Synchroni zed Linkage Program Coding E;tample
Synchronized Linkage Flow Chart Example
Sync Link Program Coding Example
Sync Link Flow Chart Example
Super Sync Program Coding Exaanple
Super Sync Flow Chart Example
Relationship Between PDR and LUT
GRAP!UC 8 System Memory Map
Model 5784 Keyboard Layout and Code Assignments
1-2
1-3
1-5
1-6
1-9
1-13
2-4
2-12
4... 5
6-3
7-5
7-9
7-10
7-12
7-13
7-14
7-15
7-22
A-2
A-71
r
I
l
J
f
r
I
1)
I
t
I
I
I
r
t
I
{I
J
- 1
LIST OF - TABLES
Number
2-1
2-2
2-3
5-1
5-2
5-3
6-1
6-2
,-. -
~
,--
;
,,
1,-·,
!,
7-1
A-I
A-2
A"'3
A-4
A-5
A-6
A-1
A-a
A-9
A-IO
A-ll
A-I 2
A-13
A-14
A-IS
B-1
B-2
B-3
Page
Serial Interface Port Codes
Local Mode Command Summary
Standard Transfer Table
Data Word Translation Codes
GCP Extended Device Control
Byte Transmission Requirements
Sample Refresh File No.1
Sample Refresh File No. 2
Ma P LU'l' S1 ze
GRAPHIC 8 Local Mode Command Summary
Graphic 8 Controller Instruction ~ary
Graphic Controller Register Format Summary
Serial Interface iegister Format Summary
Parallel Interface Register Format Summary
Register Designations and Address Assignments
Display Proces6or Trap Addresses
Alphabetical Index of Messages Between Host and GRAPH!C 8
Character Generator Code Assignments
MUltiport Serial Interface Port Assignments
Standard Transfer Table
Charac tar Font Summary
7-Bit ASCII Code
GRAPHIC 8 Registers
GRAPHIC 8 Instruction Timing
GRAPHIC 8 Display Macros
Detailed Macro Descriptions
Typical Program Structures
2....5
2-7
2-11
5-4
5-50
5-65
6-4
6-13
7-22
A-3
A-4
A-20
A-26
A...28
A-29
A-34
A-36
A-67
A-68
A-69
A-70
A-72
A-75
A-78
B-3
B-5
B-19
.
"
-
;;;
.~ J
.)
v/vi
I:
J' ,;
f;':
I
l 'r'~_
'"_\
_:
(
I
"','
',,::
-'~"
1
');H
f)i
f r':
I
il '--
r
t
If~
t,
I·
,-!.
, f ,
~ I,
I
1.
f(:.
{I'
t \'
"-------------
-
Summary of Controller Instruc. tions
MNEMONIC
PAGE
DESCRIPTION
.. -"
ADDI
CALL
CALLE
CALR(E)
CHAR
CLEM
DRKY
DRSR
,=.'-
\'..:
DRXA
ORXR
ORYA
ORYR
FLPG
HREF
INI'!
IZPR
JMPM
J'MPR
JMPZ
JMPZE
it
i';
:
JPRZ
JRMP
JUMP
JUMPE
LDCG
LDOI
LOOP
LDOZ
..'
.j
LDKX
LOPD
,
URI
LDS1'
LOOPE
LOT!
LOU
LDXR
LlNK
LINKE
MDLU
'.
MODE
,
MPVD
MVSR
:
MVXA
MVXR
MVYA
.:oJ
MVYR
NOOP
Add to di splay regi ster immedi.a te
Call subroutine
Call extended subroutine
Call relative
Draw single character
Clear mapping memory
Draw conic Y
Draw short relative
Draw X absolute
Draw X relative
Draw Y absolute
Draw Y relative
Fill a convex polygon
Halt refresh
Initialize
Initialize
Jump and mark.
Jump sho~t relative
Jump if display register 0 contents
Jump extended if display regist.er 0
contents ia 0
Jump relative if display register 0
contents ia 0
Jump relative
Jump
Jump extended address
Load character generator
Load display register immediate
, Load display parameter register
Load display Z register
Load conic X register
Load pixel data register
Load device register immediate
Load stack pointer
Load extended stack point.er
Load text increment register
Load X absolute
Load X relative
Synchronized linkage
Synchronized linkage extended
Modify lookup table
Load instruction mode register
Move pixel data
Move short relative
Move X absolute
Move X relative
Move Y absolute
Move Y relative
No operation
3-23
3-15
3-15
3-16
3-9
3-28
3-11
3-6
3-5
3-5
3-6
3-6
3-32
3-20
3-28
3-27
3-18
3-i3
:fr.
0
3-14
3-14
3-15
3-13
3-12
3-12
3-23
3-22
3-25
3-26
3-11
3-28
3-23
3-22
3-22
3-27
3-3
3-3
3-19
3-19
3-31
3-28
3-29
3-5
3-4
3-4
3-4
3-4
3-13
I
...:J
Change 1
.,
:
~
vii
I
I
(:
Summary of Controller Instructions (Cont)
MNEMONIC
DESCRIPTION
Po i. nt plot relative
Point plot tabular absolute
Point plot tabular relative
Point plot Y absolute
Point plot Y relative
Restore display register
Return
Save dis play register
Draw two tabular characters
Update video controller registers
Wait
PPLR
PPTA
PPTR
PPYA
pm
RESD(E)
RTRN
SAVD(E)
TXT
UPDT
i.J'ATE
PAGE
3-6
3-7
3-8
3-7
3-7
3-24
3-17
3-.24
3-10
3-21
ORlGIN
Gt
GO
GP
GR
Rost
Rost
Host
Bost
Host
PoOst
Host
as
aT
GU
HI
KT
GRAPHIC 8
Host
Host
Host
Bost
GRAl'!lIC 8
Host
Host
Host
Host
Host
Host
Host
Host
GRAPHIC 8
KY
GRAPHIC 8
L1<.
LT
Host
Host
Host
Host
Host
EP
IG
II<
TI1
IN
IP
IS
IT
IV
IX
rr
'f
1Z
KP
Mt
MS
MU
NM
GRAPHIC 8
NN
NO
Bost
Host
Host
Host
NP
OT
'11iii
Change 1
DESCRIPTION
Give image
Give option status
Give PED No. 1
Give register
Geft status of PEDs
Give PED No. 2
Graphic update
Halt interrupt
Halt picture
Initialize FSP support
Interrupt control
Initialize I/O message formats
Input device
Initi,alize FED No. 1
Enable selected interrupts
Initialize PED No. 2
Initialize device
EnterEDC mode
Ini ti alize 2
Initialize
Continue picture
Alphanumeric keyboard No. Z
Alphanumeric keyboard No. 1
Light keys on function keyboard No. 1
Light keys on function keyboard No. 2
MoV'e image
Memorv blank select
Memory update
No messages ready
Enable error numbe'r
No operation
Enable box display
Request to device
PAGE
5-71
5-26
5-45
5-47
5-57
5... 31
5-21
5-54
5-28
5-11
5-51
5-42
5... 29
5-42
5...,51
5-50
5-71
5-7
5-22
J
I',
-
,
t
I
I
1
~
5-37
5-37
5-36
5-36
Ir
5-58
5-17
1:
5-18
5-16
5-61
5-16
5-59
5-51
,
f
5-23
5-47
.. \
I;
r
Summary of Host-GRAPHIC 8 Messages
MESSAGE
1:
t,
I
' I
J:
I~
{I
:;",j
Summary of Host-GRAPHIC 8 Messages (Cont)
MESSAGE
ORIGIN
PL
PV
RG
RI
Host
Host
RK
RL
RO
RP
GRAPHIC 8
GRAPHIC 8·
GRAPHIC 8
GRAPfIIC 8
GRAPHIC 8
GRAPHIC 8
GRAPHIC 8
GR.4.PHIC S
RR
RT
RU
Host
RW
GR.4.PHIC 8
SP
SU
Host
Host
TK
Host
1M
Rost
Host
TN'
TS
VL
VI
XJl
GRAPHICS
GRAPHIC 8
GRAPHIC 8
GRAPHIC 8
GRAPHIC 8
x.x
GRAPHIC S
ZI
Rost
ZN
Host
ZP
ZR
Host
Host
ZS
ZT
Host
ZU
Host
Rost
DESCRIPTION
PAGE
Poll GRAPHIC 8 for next message
Packed vector'
Return FSP table address
Re t urn image
Function keyboard No. 1
Function keyboard No. 2
Return option
Return PED No. 1
Return register
Return PED status
Register update
Return PED No. 2
Start picture
Selective update
Transfer control
Assign data tablet as PED No.1
As sign data table t as PED No. 2
2D/3D coordinate converter status
Variable length (follows 1.1 or RO)
x. or Y position overflow interrupt
Scratchpad ready for alphanumeric
keyboard No. 1
Scratchpad ready for alphanumeric
keyboard No. 2
Error status
Disable selected interrupts
Di sable error number
Disable box display
Initialize scra~chpad for
alphanumeric keyboard No. 1
Zero scratchpad No. 1
Ini tialize scra tchpad for
alphanumeric keyboard No. 2
Zero scratchpad No. 2
Change 1
5-15
5-65
5-55
5-24
5-39
5-39
5-72
5-48
5-27
5-46
5-20
5-48
5-21
5-19
5-23
5-41
5-41
5-75
5-25
5-32
5-38
5-38
5-8
5-30
, 5-62
5-60
5-34
5-35
5-34
5-35
ix! (x blank)
[
I.,'
I :
.I
i
1:
II,'
I: .
I,;
(,
"
l:i
t
"',J
1
'-j
;
(,
J!
I'
t,
-
t.
f:
(,)
11
I:
';1 . .
t,1
""
. 1i
{
.
"'I'
\,
SECTION 1
\.:
GRAPHIC 8 SYSTEM DESCRIPTION
..
1.1
l'
INTRODUCTION
The Sanders Associates, Inc. GRAPHIC 8- is a high-performance, intelligent
computer graphics terminal system incorporating refreshed raster display technology.
The Graphic 8 combines sophisticated display processing techniques, developed by
Sanders in the popular GRAPHIC 7- refreshed stroke graphics product line, wtth new
CRT raster graphics features. It is designed to interface a host computer and to
support operator CRT display monitor stations configured with interactive devices,
such as keyboards, trackballs, forcesticks, and data tablets. Also, it can produce
permanent hard copy records of displayed data.
the. GRAPHIC 8 system utilizes many of the key features of the GRAPHIC 7 system.
For instance, the GRAFRIC 8 can use any of the existing GRAPHIC 7 high-speed,
parallel host computer interfaces or the as-232C port. Existing GRAPHIC 7 software,
including the Sanders' FORTRAN Support Package (FSP), may be used with the GRAPHIC
8. And both systems use a common display processor instruction set.
I
.i
The axoo series GRAPHIC 8 features a dynamic display update via a double
refresh buffer memory te~hnique. From one up to four CRT display monitors are
supported by the 8XOO series configurations. Resolutions of 512 x 512, 640 x 480,
1024 x 768 (interlaced) or 1024 x 1024 (interlaced) are available. Both color and
monochrome ve rs ions are offe red wi th up to 8 bi ts pe r pixel to provide as many as
256 simultaneous colors or monochrome intensities (or 128 plus blink).
The GRAPHIC 8 display processor is a general purpose digital computer with a
set of oV'er 400 instructions that controls avat'iety of functions, which reciuce the
loading on the host computer. In combination with the host computer, the GllAPHIC 8
system permits the user to display digital data in a visual format on the CRT
display monitor and to interact with the displayed image by means of keyboards,
forcesticks, trackballs, and data tablets. Its high performance and intelligence
make it well suited to a variety of applications, such as, CAD/CAM, simulation and
training, command and control, cartography, and many others.
1.2
.. ....J
,
COMPONENT DESCRIPTION
The basic GRAPHIC 8 system consists of a terminal controller and a monitor.
The basic system can be expanded to include a wide variety of options and
enhancements.
....'
"'GRAPHIC 8 and GRAPHIC 7 are trademarks of Sanders Associates, Inc.
1-1
I
1
1
J:
f
t
I
COLOR DISPtAY MONITOR
AND .KEYBOARD
1
!
I
f'
I
I
TERMINAL CONTROLLER
Figure 1-1.
1-2
GRAPHIC 8 System Components
I
I
I
I
I,
I '
{
. s:
~'
DESCRI~T10N
"'
SPECIFICATIONS AND CHARACTERISTICS:
The CatComp Model 31 is a stand-atone recording
system for making 8 x 10 inch color or black and white
prints and 35 mm color slides of any data presented on
its self-contained, highresotution raster scan CRT. With
Polaroid Type 808 Potareolor 2 Land film. the Model 31
makes color prints instantly available.
Video Monitor:
'"
Nominal resolution of 1400 lines center screen
100
cd/m2 (30 fL) on flat-face CRT.
Pixel position error is<0.5% within a- 9 em eirclei":
".~
•
Standard
a
For use w.ith aI/ raster scan computer graphics and
digital image processing applications
•
Microprocessor controlled to assure consistent
exposure. retiable operation
•
Separation mode for automatic three-color separation
exposures
•
Switchable raSter blending for high color Saturation
prints
•
Fully automated 35 mm slide capability with remote
control (optional)
SYS1EMSINTERCONNECT
a • 10 POLAROID
COLOR OR BiloW "LM
HOST
COMPUTER
CALCOMP
..,OOEL
)
31
COLOR VIDeo
GRAPHICS
DISPLAY
1-~3L~U;e~.....j
JREEN
SYNC
Figure 1-2.
Optional
(all units single phase. line to
neutral):
120 VAC ± 10%. 60/60 Hz. 0.8 amps. 110
watts (max)
100 VAC ± 10%. 50/60 Hz. 1.0 amps. 220
or 240 VAC ± 10%. 50/60 Hz. 0.5 amps
Video Input: .
Separate Red. Green. Blue. and Sync video Signals of
0.35 to 2.0 peak to peak voltage required.
Standard-Handles horizontal line rate of 500 to 650.
Optional-High Line- Handles horizontal line rate of 800
to 1100 at 60 Hz or 1300 at
50 Hz.
Operating Environment:
Temperature-20o
lOoC
Relative HUl1"lidity-15% to 90% non-condensing
Altitude-Sea level to 4500 meters
Operating Noise-Negligible
e ::
Cables:
Power: 3 meter power cord.
Interface:
Four 74 Ohm. RG-69 coaxial cables of 3
meters each. BNC Plug on each end will mate'"
to BNC Bulkhead Receptacle.
8·10
COLOR OR BiloW FILM
35 mm
COLOR SLIDES
CalComp Model 31 Color Graphics System Specifications
,,"
1-3
1. 2.1 TEru.fINAL CONTROLLER. The GRAPHIC 8 system contains a terminal controller
which consists of a rack mountable card cage and a power supply. As shown in figure
1-3, the cards are interconnected via either a processor bus or a graphic bus. The
size of controller selected is based on the four folloWing Il1ajor considerations:
1.
Color or monochrome
{'
2.
Number of dmul taneOU$ c010rsor intend ties •.
3.
Resolution of the display :!mage
f· 'j
4.
N'Ull1ber of display stations per controller
···~'l
The GaA,PHIC 8 terminal controller accOt!lll1odates 11 cards and a power supply_
The controller eonSists of a card cage with slots for 17 cards. Six of the slots
are for the processol; caJ;'ds, one slot is for the digital graphics controller, one
slot is for the timing module. and the remaining nine slots ue for the mapping
memory and video controller cards.
1.2.1.1 Dh21ay Procenor.the display processor card is a general purpose digital
couputer that runs the CCl? atld acta as master control for all 4.eviees connected to
the processo"t' bus. It cQtttainsluUtiple high-speed general""'put"pose registers that
can be use, generates vectors, characters, conics,
point plots, fills and stores these in mapping memory in raster-scan format. It
executes all 40 display instructions of Sanders' stroke~writing (random position)
product line graphics terminal, the GRAPHIC 7. Additional display instructions have
been added to implement features unique to digital TV.
These digital graphic controller instru,ctions are describe.d in detail in
Section 3. The complete series of sequential instructions that defines any
particular display image is referred to as a refresh file.
The digital graphic controller may be considered as a de'Tice on the processor
bus of the terminal controller. It contains its one set of registers that maintain
instruction address, control fetch operations, and perform any branching that may be
specified by non-graphic instructions. It also calculates relative data when
required ~ loads data into appropriate registers, and initiates eJtecution of refresh
file instructions.
Status bits of the digital graphic controller are maintained by circuits on the
ROM and status logic card (paragraph 1.2.1.5). These bits plus the graphic
controllerregiste:r;"s aloe accessible to the display processor (paragraph 1. 2 .1. L;)
which maintains control over the entire terminal controller.
1.2.1.7
Video Controller. The video controller obtains data from the mapping
memory and formats it for presentation on the display monitor(s). Outputs are
provided as either RGB color or monochrome and as composite video.
External video may be accepted by the video controller and logically ORad with
internally-generated video. A single video ~ontroller can accommodate up to eight
bits per pixel.
The video controller generates one non-destructive, full-screen, crosshair
cursor and contains the cursor address registers which are accessible to the user.
It controls the split screen function which allows the user to divide the display
face into up to three variable-height horizontal bands and fill these bands with
data f:C'Olll anywhere in addressable mapping memory. This feature allows the user to
simultaneously view up to three separate areas of mapping memory which are not
necessa.rily contiguous<
The video controller contains a 256 x a-bit word Rfu'1 look-up-table (LOT) which
allows pseudo-color or pseudo-gray 1e'7e1 transformation to be made.
1. 2. L 8 Mapping i'1emory. The mapping memory contains pixel data in a format ~.hich
allows display refreSS-in a raster scan mode. The mapping memory may be configured
for 1rarious resolutions up to 1024 'it 1024 and for interlace or non-interlace
refresh. A single memory board c.an be supplied wi th a c.apaci ty of over four million
bits. Up to eight bits can be combined per pixel to provide 256 possible colors or
intensity levels.
I
I
-,
~I
r
:!"
-1',
.
l
f
f
I
-l.
I
'-j
If
1
{
I
l'
I
JI
1;
1
1,
(:
1-8
,
{
(1023, ! 023)
DISPLAYABLE
AREA
(-512, -512)
1024X76S
1024 X 1024
J
512 X 512
640 X 480
,J
I
Figure 1-5.
Addressable
VSe
Displayable Areas for the Four Screen Resolutions
1-9
A dual mapping memory configuration is for high-speed dynamic update of data.
The dual memory concept a.l1owsthe hardware to clear and update one memory while the
second mentory is refreshing the display. When the next update occurs, the roles of
the two memories are reversed SO that the previously updated memory now b.ecomes the
refresh memory.
"
1.2.1.9 Timing Moqule • The timing board generates all display-related timing
signals as weI!. as die necessary synchronization signals for the monitors. On-boa.rd
switches allow selection for cQ1J.Ipatible opera.tionWtth the possible resolutions and
refresh frequencies.
. .
1.2.1.10 Character Generation. Character generation is perform.ed by the· Digital
Graphic Controller. The basic set of characters $11pp1 ied is a standard set of 96
ASCIl characters. When the ASCII code cort'esponding to. the dedred character is
applied to the read-only mE!1llory, the character is drawn a.t the position determined
by the current/position for X and Y.
.
I
I
I
l
{
I
I.
ltead-ca.ly memory for s:L.x groups of 16 eharacters can be added to provide a
total of up to 192 standal;'d. aec1 special characters that can be prod.uced by the
G'R.APltIC 8 ..
I
1.2.1.11 2"'0/3-1) Coordinate Con.erter. The Model 575.3 2...0/3 ..n coordinate converter
converts a Sanders graphic· display into a three dimenSional display capable of
independent dyna+l1c manipulation of objects in apparenl: spaee. Among the functions
provided by theMQde1 5753 at'e t'1'anslation, sc:ali.ng, rotation, IlIindowing, independent display coordiIJ.<;lte mapping, perspective, and zooming with perspective.
I
the pel:spective feature is espeeially useful for realistic viewing of an
object. Utilizing perspective, the location of the viewer is defined relative to
the Utage space, and alllihes an!! objects within the image spalle are then viewed at
the proper perspective for that location. The view may be completely orthographic:
i f the viewer does not nsh to use th,e perspective feature.
Objectsc:aa be defined within a 64K (X), 64K CO. by 32K (Z) i3n..age spaee and
presented on a lit by IK s.ereen or any portion thereof. Translations can be made
within the limits of the image space and scaling range is 64 to 1. Rotation c:an be
provided about any axis.
3 ...D WindoWing, in conjunction with independent screen coordinate mapping,
allows the presentation of any data withitt a software definable X, Y, Z image space
to be presented on the full screen or any portion of the screen. Zooming is
accommodated by scaling and changing the user's apparent perspective viewpoint.
.
,
I
·.;.1
..."
The 5753 provides for both homogeneous and non-homogeneous matrix operation.
Also, transform.at1ons of 2-D :lInages can be accomplished 1ncludingtranslation,
rotat1on, scaling, and windOwing.
{
J
l
I
l'
II
I
{'
~
; ....!
I,'"
AlphanUll1eric ·data can be moved about the screen with vector defined data
Without sealing and rotation.
)'
r.!":\
.
{
deeem:lnedby instl'uctions from the digital graphic controller, characters
of three different dZescan bes~erated. Character. may also be rotated 90
degreeS! cout11:ereloekwise to aceommodate vertical writing requirmuents. Both normal
and rotated characters can be made to blink.
As
"'
,
1. 2.1.12 Data Converter. The modelS 744 data converter option transforms incoming
floating point binary numbers into displayable numbers. The displayable numbers may
be in any of sixteen formats selected by the host. The bi-directional converter
also converts the displayed numbers into floating-point binary for transmission back
to the host.
The data converter saves host computer time and storage resources by performing
these conversions within the graphic terminal. It allows data to be transmitted to
and from the host in its most compact form and frees the host programmer from the
conversion programming task.
The data converter can perform more than 500 conversions per second, which
allows it to be used in high data-rate applications resulting in significant
off-loading of the host computer.
The dita converter is not supported by the standard Graphic Control Program.
1.2.1.13 EPROM E~g>ansion Module. As options are added to the GRAPH!C 8, the
addi tional software required to handle the options will be stored on the model 7750
expansion module (EM).
. .J
The expansion module may contain up to 321< 16-bit words of non-volatile
read-only mem.ory (EPROMS). The data may be loaded from the EM automatically by
pressing the SYStEM button or when so instructed by the host, depending on the
options stored •
1. 2. 2 INPUT DEVICES. Optional data input devices for the GRAPHIC 8 give the
operator two-way interaction with the display and processing system. Input devices
available include two types of keyboards; a trackball, a forcestick, and a data
tablet. The GCP in firmware can support up to eight keyboards, or eight position
entry devices (trackball, forcestick, or data tablet). In addition to the foregoing, a teletypewriter or paper tape reader can be connected to the GRAPHIC 8 for
the input of maintenance da tao
1.2.2.1 Ki!yboards. Standard keyboards available for the GRAPHIC 8 are the Hodel
5783 and Model 5784 keyb"oards. The keyboards c.ontain a main block of alphanumeric
keys plus a matrix and a row of function keys.
c.
The Model 5783 keyboard offers an alphanumeric. block of 58 keys. These keys
generate standard seVen-bit ASCII codes fN'ith an eighth (MSB) bit always set to l.
The alphabetic keys generate both upper and lower case codes. A four-by-four matrix
of function keys is located to the right of the alphanumeric block and a row or 16
runction keys is located immediately above the alphanumeric block. Each function
key generates a single eight-bit octal code from 000 to 037.
An added feature of the Model 5784 keyboard is that each function key contains
a LED that can be lighted or turned off as required under program control. The
Hodel 5784 also has provisions for additional keys to the basic board. These keys
are for future expansion and are located on both sides of the space bar.
The keyboards operate at a rate of 9600 baud and interface to the terminal
controller via ports on the multipart serial interface card. Refer to Appendix A
for layouts of the two keyboards and the specific codes generated by each key.
1-11
l -,
1.2.2.2 Trackball, For~est:ick, and Data Tablet. The trackball, forcestick~ and
data tablet are referred to as PEDs (position entry devices). These devices are
used as determined by program control to move a cursor and/or data displayed on the
CRT screen. Movement initiated by the trackball is proportional to the speed and
direction in which the trackball is rolled. Movement initiated by the forcestick is
proportional to the direction and force ~<1ith which the forces tick is deflected.
Movement initiated by a data tablet is proportional to the speed and direction in
which the data tablet pen is moved along the data tablet surface. PEDs are
connected to the system via ports on the multiport serial interface card(s) in the
terminal controller.
1.2.2.3 Maintenance Data Input Devices. A teletypewriter and/or a paper tape
reader can be connected to the &'RAPH!G 8 to input data for maintenance purposes.
The teletypewriter is normally connected to a port on the ROM and status card in the
terminal controller while the paper tape reader is connected to one of the ports on
a multipart serial interface card. The teletypewriter serves basically as a
troubleshooting aid. The ,paper tape reader is used to load special user or
diagnostic programs into the GRAPHIC 8.
1. 2.3 OUTPTJ'!' DEVICES. The standard output de'1ice for the GRAPHIC 8 is the CRT
display monitor. A hard copy unit is available as an optional output ~evice. Using
the same signals that go to a statldard display monitor, the hard copy unit can
produce a duplicate on paper of any static image displayed on the CRT of the display
monitor. Operation of the hard copy unit is controlled manually.
An option~l hard copy multiplex switch is available. The multiplex switch is
capable of interfacing up to four GR.,<\PHIC 8 displays to a single hardcopy unit.
1.2.3.1 Display Monitors. The GRAPHIC 8 offers the user a choice of configuration
of eight Ca.T monitors (four monochrome and four color) to provide the right monitor
for the intended application.
Positions on the screen are specified in terms of a matrix containing 2048
coordinates in the X dimension and 2048 coordinates in the Y dimension. Two's
complement notation is used to designate the coordinates with location 0,0 being
defined as the center of the screen. Of the 2048 by 2048 addressable locations, the
displayable area comprises the field of coordinates centered about the middle of the
screen. Refer to figure 1-5 for different screen resolutions.
1. 2.3.2 Hard Copy. Both monochrome and color hard copy devices are available for
use with the GRAPHIC 8. Refer to figures 1-1 and 1-2_.
t'!
f
(
f
f
·1
--i,
,
,
"
\
'-'1
J,'lI
I
·,.1
I
I
I
I
I
I
I
I
II
Ii
1-12
,I
I
I
I
._)
r
-
-
3ASiCGRA~iCi
O
I
....... -
I
-,
TERMINAL
!1-1
~ CONTROLLER I--!-I
I
L ___ _ ____ .JI
-
GRAPHICSMULTIPlE STATION -
-
I
"1
~
: Or-:
c==J
!U:
i ~ ( '~5Ur CONnOL~' i
I
I [!§J I
I
1
KBD
I
I
:
I
!
GAAPHIC 8STANDARDTERMII'iAL
-
I
-
i 1~~~~~·-Oj
HOST
COMPUTER
MODEM
r -
-
i
I . .1 .__
EJ .JI
1I
L '__________
KBD
I
r=1
I·
.... :•. ]
C!!2J I
TERM'''''L
~
I
MOOEM • .J
:
I
I
KBD
r -- -
:
I
: Or--
TERMINAL
CONTROLLER -
L_
:
0
GiiAPHic iREMOTE"'TERMTI'I.~:L
-
-
II
f~_ ________
1'''18:
.J
I
I
IL I FeD.
1
I
KSD
I
__________ ---tI
KeD - KEYBOARD
TRACKBALL·r·FO~R~C;ES~T1=C:K:'======---------~:__---__1
PED - DATA rABlErt'"
L .. ",
r-i
-
-
-
,.......
r-
! o.d PARAl.LEL ' - ~ INTERFACES ,~-
r-
L_.J
TO/F~OM
I
DIGITAL '--OPTIONS .---
L_·. .J
i-j
_
_ _
:3.,
r-
°'"'"'"""
I
I
I
I
I·
I
I
I
I
I
" •
t
SERIAL I/O PORTS
DATA ENTRY DEVices
Figure 1-6.
REAOI
WRITE
MEMORY
TIMING
MODULE
'":J
""
0::
r-
I
I
MAPPING
MEMORY
~
u
L.... SERIAL
'"""-- 0,
,.... INTERFACE ,--- il:
~T-r
'--
t
r-I
HOST
DISPLAY
PROCESSOR
DIGITAL
GRAPHIC
CONTROLLER
~
I--
t.:!
I--
VIDEO
CONTROLLER
l
DISPLAY
MONITOR
EXTERNAL SYNC
ROM &
STATUS
t
SERIAL DIAGNOSTIC
PORT
Representative GRAPHIC 8 System Configurations
1-13/1-14
",
ft
(, ;
{'\
{
f
(
,!
'
:)1
,
":::-,,"i
J
,
"'' ,';
"
{:
... _.J
1-'
.. ",
~
I
I
I ':
f
I'
1
f
It
I'
I (\,
SECTION 2
OPERATING MODES
2.1
GENERAL
•
The GRAPHIC 8 system can be operated in either the local or the system mode.
In the local mode, the GRAPHIC 8 operates as a stand-alone system; in the system
mode, the GRAPHIC 8 operates on-line to the host computer. Initialization in either
mode causes built-in diagnostic routines to be performed automatically.
2. 2
LOCAL MODE
After primary power has been .applied to the GRAPHIC 8, the system may be
init:Lalized in the local mode by pressing the LOCAL pushbutton swi tch on the front
of the terminal controller. Pressing this Swl. tch causes a 1terification test pattern
to be displayed on each of the associated display indicators, causes the built-in
diagnostic routines to be performed, aM enables local 1J1dde ccmmands to be executed.
The following t:aragraphs discuss these operations as they relate to software.
NOTE
When the LOCAL swi tch is pressed, the built-in
.memory diagnostic exercises the complete memory
system. For systems containing JlX)re than 32K of
memory, it may take several seconds before the
terminal verification pattern is displayed. As
part of the memory diagnostic, the memory configuration installed in the terminal controller is
saved and can be examined if des:1red. Address 736
contains the RAM configuration word and address
750 contains the .RCM co~iguration 'NOrd.
the RAM and RCM configuration words are defined as
follows:
RAM CONFIGURATION WORD
I
15 14 13 12 11 10
MEMORY SYSTEM.
9 8
I
7 6
0
o
5 4 3
000
Address 670 contains a copy of the system
uration register (see page page 4-22).
2
o
1
0
0
01
config~
I
-,
. .1
Change 1
2-1
{
r
ll1emory Sys tem (64K cards)
(16K word 1/2 banks)
0
a
0
0
0
0
0
0
OK
0
0
0
0
0
0
0
1
16K
0
0
'0
0
0
0
1
1
32K
0
0
0
0
0
1
1
1
48K
0
0
a
0
1
1
1
1
64K
0
a
0
I
1
1
1
1
80K
0
0
1
1
1
1
1
1
96K
0
1
1
1
1
1
1
1
1l2K
1
1
1
1
1
1
1
1
128K
----r
.{
2
{
r
1
I
{
0
1
I
!
J
{
-r
3
Banks
'-'
Be
B15 B14 Bl3 Bl2 Bll BIO B9
1
ROM CONFIGURATION WORD
15
I
I
14
12
13
11
10
9
8
7
I)
4
5
3
2
1
0
0
0
{
I
0
0
0
0
o
0
0
0
0
0
1 0
No optional ROM
4K optional ROM
1
8K optional ROM
1
0
0
ROM
0
0
I
,
I
r
Ii
ti
2-2
'I
{ :,
,.:
2.2.1 VERIFICATION TEST PATTEmT &~D DIAGNOSTICS. Figure 2-1 is the verification
test pattern that is displayed on each display monitor when the GRAPHIC 8 is
initialized in the local mode. This pattern remains displayed unti1 terminated by
the proper command (paragraph 2.2.2) or \mtil a period of 45 minuteS has elapsed
since an operation affecting the pattern was last performed.
'
Components of the verification test pattern that are primarily associated with
software and the operation of peripheral devices are identified in figure 2-1. w~en
the system is first initialized in the local mode, "XX" appears in the small box in
the lower right portion of the pattern. The "XX" indicates that thE; code appearing
in the same box contains the results of the built-in diagnostic routines that were
automatically performed. The diagnostic code is a three-digit octal representation
of an eight-bit binary code that indicates the results of each diagnostic routine.
Bits in the binary code are assigned as follows:
MSB
7
6
5
4
3
2
1:
LSB
0
I.
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
!
I
GRAPHIC CONTROLLER ________________________________________ I
I
I
I
I
I
I
I
I
I
I
I
I
I
.I
I
I
I
I
NOT USED
I
I
NOT USED
I
I
3-D COORDINATE CONVERTER _ _ __
I
DIAGNOSTIC
I
I
PARALLEL INTERFACE DIAGNOSTIC ______
I
L
SERIAL INTERFACE D!AGNOS! IC
I
I
READ/WRITE MEMORY DIAGNOSTIC ____________- __ I
I
I
I
I,
I
---I
I
!
I
I
I
I
I
I
I
I
I
DISPLAY PROCESSOR DIAGNOSTIC ____________________ I
----------------
DIGIL~
DIAGNOSTIC
A checksum calculation routine performed whenever the GRAPHIC 8 is initialized
in the local mode is a checksum calculation based on all GCE stored in read only
memory. rne result is deposited in mernor! location - 500 (octal). Location 500 can
also be examined as described in paragraph 2.2.2.1.
When a diagnostic routine detects a malfunction, the corresponding bit in the.
error code is set to a 1; if no malfunction is detected, the bit is set to a O. The
octal code displayed in the verification test pattern then indicates the results of
all the diagnostic tests. For example, 000 indicates all tests passed, 002
indicates the display processor diagnostic test failed, 030 indicates the serial and
the parallel interface diagnostic tests failed, and 077 indicates that all
diagnostic tests failed.
2-3
(
I
,--"1
{
(
(
"~
J'~
(
{
I
f'
I
1"
I
"I
f:
~
Figure 2-1.
-~
Verification Test Pattern
I
(:
'.,.
As soon as any input is received by the terminal controller via a serial
interface port, the "XX" in the small box is replaced by a code that indicates the
port to which the input device is connected. Codes associated with each serial
interface port are shown in table 2-1.
Table 2-1.
CODE
Serial Interface Port Codes
•
SERIAL
INTERFACE
PORT
DEVICE
ASSOCIATED CONNECTOR
TT
TTY
Console teletypewriter
J2 on ROM and Status card
Fl
3
Function keyboard 1
J5 on multi port serial interface
card III .
F2
7
Function keyboard 2
J5 on multipart serial interface
card #2
F3
2
Function keyboard 3
J4 on multi port serial interface
card til
F4
9
Function keyboard 4
J3 on multipart serial interface
card tl3
51
1
Serial host
J2 on multiport serial interface
card til
1*
4
PED #1
J6 on card 1F1
2*
8
PED #2
J6 on card 112
3*
6
PED 113
J 4 on card IF2
4*
10
PED 114
J4 on card 113
PED
Indicators
... :;
Trackball (or forces tick) indicators appear in the upper left corner of the
verification test pattern. The "1*" indicator is associated with the device
normally connected to serial interface port 4 (J6 on mu1tiport serial interface card
no. 1) while the "2*" is associated wi th the device normally connected to serial
interface port 8 (J6 on multiport serial interface card no. 2). These indicators n*
displayed on the test pattern are only those that are included in the system
c.onfiguration (Display P'rocessor II switch settings) regardless of whether the
trackball or forcestick is physically connected to the system. If a trackball or
forces tick is connected to port 4 or 8, it can be manipulated to move its associated
indicator about the screen of the CRT as desired. (See paragraph 2.2.1.2 for data
tablet.)
2-5
When the serial interface port designation is displayed in the small box ~ the
three digit octal code in the box indicates the code last transmitted to the
terminal controller. Additionall y, if the code represents a displayable charac ter,
the character appears in the upper left corner of the box. If the code does not
represent a displayable character, the upper left corner of the box is blank. In
systems using SI (shift in) 'and SO (shift out) codes to identify characters in an
extended set, the SI character is displayed over the left hand digit o.f the code and
the SO character is displayed over the right hand digit.
The I-digit numeral in the upper center of the ver:1ficatirOn test pattern
indicates the monitor (1-4).
A filled Polygon positioned beneath the blinking Monitor Number will display
the default Colors/Gray levels. The o timber of Colors/Gray levels i~ a function of
the configuration and can be 8. 16, 128, or 256.
2.2.1.1
Hardcopy Generation.
A hardcopy of the terminal verification pattern can
. be generated by pressing function key FOte freeze the pattern .aIld then the hardcopy
initiate button located on the hardcopy unit.
2.2.1.2 Data Tablet Testing. The data tablet can be tested by pressing function
key F1. thIs causes dienn "trackball! forcestick indicators to change to n/;. The ltf
and 2# symbols indicate that all messages received via potts 4 and 8 are in data
tablet format. (Dat.atabletmessages consist of 10 character messages, whereas the
trackball a,nd forcestick generate 2.... character messages.) When the data tablet pen
switch is pressed and the pen is moV"edalong the active area of the data table
sur face, the appropriate cursor symbol (111 or 21ft) moves at a rate proportional to
the mO'7ettlent of the p.en. The If; symbol is associated with the data tablet connected
to port 4 and the 2ilsymbol is ,associated with the data tablet cOnnected to port 8.
NOn:
Successively pressing function key Fl causes the
terminal verification pattern to swi tch f'r'om
processing data tablet messages to trackball/
forcestick messages and vice versa.
2.2 • .2 LOCAL MODE CO~1MANDS. After the GRAPHIC 8 has been initialized in the local
mode the verification test pattern is no long.er required, display of the pattern may
be term:!.nated by pressing the RETURN key on the keyboard. The p.attern then
disapp~!ars and the letters "EO M" are displayed on the center of the CRT screen as
an indication that the system is in the local monitor mode. At this point, the
operator carl perform any of several operations that permit h1.m to monitor or debug a
program, transfer c()ntrol, or communicate with the host computer.
I
f
{
(
{
1
{
f
I
f
I
I
I
I
NOTE
Commands are executed when the RETURN key on the
keyboard is pressed.
The following paragraphs discuss commands that can be executed when the system
is in the local monitor mode. A summary of the commands is given in table 2-2.
I
{
Table 2-2.
Local Mode Command Summary
KEYBOARD
ENTRY
........
OPERATION
RE'l'URN
Executes local mode command or returns system to local monitor level.
nnnnnn/
Displays contents of memory address nnnnnn (octal).
/
Increments memory address counter by two and displays address
contents.
or
Bn
Decrements memory address counter by two and displays address
contents.
(BO 0-32K; Bl 32-64Kj B2 64-96K;
Select different memory bank.
B3 96-l28K; and B4 l6-32K RAM).
~ ..
I
I
f
I
S
Transfers GRAPaIC 8 to system mode operation.
T RETURN
Transfers to
L RETURN
Loads memory from paper tape reader.
nnnnL
REn:JRN
Loads selected option from expansion module.
U RE'lURN
Luload all options.
o
Display status of all options loaded.
_
1
RE'l'URN
theverifi~ation
test
pa.ttern~
Q
Decrements contents of display processor Q register by two and
displays result. Used with diagnostics to indicate address at which
display processor halted.
nnnnnnD
RETURN
Directs graphic controller to display refresh file beginning at
address nnnnnnn (octal).
nnnnnnG
RETURN
Transfers control of display processor to program beginning at memory
address nnnnn (octal).
Y RETURN or
Calls teletypewriter emulation program. After entering emulation
program, function key FO clears CRT screen. Function key Fl selects
full or half duplex operation; receipt of octal code 035 from the
host computer or pressing function key F13 transfers GRAPHIC 8 to
system operating mode. (Y = serial, P = parallel)
P RETURN
... j
)
RUB OUT
Deletes last octal entry from keyboard.
Change 1
2-7
I
2.2.2.1 ~1emot'y Commands. The content of a memory locat.ion is displayed by typing
the octal address (typing of leading zeros is not required) followed by a slash (/),
As soon as the slash is typed. the content of the memory location is displayed
immediately to the right ·of the address. Succ.essive memory locations can then be
examined simply by pressing the slash key~ Each time the slash key is pressed, the
memory address is incremented by two and its content displayed immediately to the
right of the slash •
...
After the slash key has been used to examine the content of a memory location,
the up arrow (t or t\) key may be used in a similar manner to examine preceding
memory locations. Each time the up arrow key is pressed. the memor] address is
decremented by two and its content displayed immediately to the right of the slash.
The content of a memo ry location may be cl1a nged af tel' it ha s been exa.mined by
the neW data. (typing of leading zeros is not required) before pressing the
slash or up arrow key. The new data 1s displayed to the right of the old data and
is automati~a1ly subs tituted when the slash or up arrow key is pressed.
ty~ing
Memory locations in other banks can be examined or changed via the bank (B)
select command. Typing BO, Bl, B2, B3, or B4 c.allses the memory bank selection to be
changed to bank 0, bank. 1,. baIlk 2, bank 3, or bank 4 respectively. Below is a table
representing the associated 'lirtual and physical addresses for each bank.
Bank Number
Virtual Addre,!!
0*
000000 ... 177777
Physical
Addr~
000000""177777
Pages
00-07
1
000000-177777
200000-377777
10-17
2
000000-17777 7
400000-577777
20-27
3
000000-177777
600000-777771
30-37
4*
000000-177777
100000-177777
04-07
I
f
f.
~-.
{
I
I
Return to the monitor level is acccmplished by pressing the RETURN key. When
this key is pressed, any specified memory content change is completed and the system
returns to IllOnitor level as indicated by letters "Bn t1" displayed at the c.enter of
the CRT screen.
2.2.2.2 Displaying a Refresh File. Imen the system is in the local monitor mode)
the contents of a refresh filernay be displayed by typing the starting address of
the file (in octal notation) followed by :a "n" and then pressing the RETURN key.
This cOtfimand instructs the graphic controller to display the entire refresh file
that begins at the specified address. Display of the refresh file c.ontinues until
the RE'l'tJRJ.'\I key is pressed again, at whic.h time the system returns to the local
monitor level. This command is subject to the bank argument presently- displayed.
2-8
"i :
-~
'°'1
f
,,""':"'i;I
f
I
I
I
-,
NOTE
*Addrasses in the range of 140000-177777 (pages 4,
5, 6, and 7) for banJ:r. o correspond to ROM and I/O
device registers. Addresses in the range of
140000-177777 for bank 4 correspond to ~~.
!,
f
I
I
f
r
I
I
..
,\
2.2.2.3 Transfer of Program Control. Program control may be transferred from local
monitor level to any desired address location in bank 0 by typing the address
location in octal notation followed by a "G" and then pressing the RETIJRN key. The
display processor then executes instructions beginning with the instruction at the
specified address. Any further operations depend on the program to which control is
transferred.
2.2.2.4 Transfer to System Mode. To transfer tq the system mode of operation from
monitor level, type "S". This command has the same effect as pressing the SYSTEM
switch on the terminal controller (paragraph 2.3). After transferring to the system
mode, operation in the local mode can be reestablished only by a message from the
host computer or by pressing the LOCAL switch on the terminal controller.
,
·'1
2.2.2.5 Teletypewriter Emulation. For purposes of communicating with a host
computer, the GRAPHIC 8 can be made to emulate the functions of a teletypewriter.
In this mode, the keyboard operates like the keyboard of a teletypewriter and the
display monitor serves as the printout device. Scrolling of data on the display
monitor is handled on a half-page basis. That is, when the CRT screen is full, the
top half of the data is deleted from. the display and the bottom half of the data
moves up to take its place.
.J
.
If a parallel interface card is installed in the terminal cQntroller, the
Graphic Control Program assumes that communications with the host computer are to be
handled over the parallel interface. In this case, teletypewriter emulation signals
are transmitted in parallel using only the low order byte (bits 0-7) of the 16-bi t
interface. If a parallel interface card is not installed, a standard 8-bit serial
interf ace via serial interf ace po rt 1 is assumed. In either case, bi t 7 is always
equal to zero •
.;
The emulation program is entered from the moni tor level by typing the letter
"Y" or "P" followed by RETURN.* Full-duplex of half-duplex emulation may then be
selected by pressing function key Fl which changes the selection each time it is
pressed. The type of emulation selected is indicated by the "tTY F" (full duplex)
or "TTY ROO (half duplex) that is displayed at the top of the screen at all times
during emulation. Switching between full and half duplex operation may be·
accomplished at any time during emulation by pressing function key Fl. Pressing
function key Fa during teletypew~iter emulation causes the screen to be cleared.
I
Exit from the teletypewriter emulation program occurs when octal code 035
(ASCII control character GS Group Separator) is received from the host computer.
This code, which can also be generated by pressing function key F13, immediately
causes the GRAPHIC 8 to transfer to the system mode of operation. Return to the
local monitor level can be achieved only by a command from the host computer or by
pressing the LOCAL pushbutton switch on the terminal controller.
i
2.2.2.6 Additional Local Mode Commands. Additional commands that can be used when
the GRAPHIC 8 is in the local mode at the monitor level are the· L, U, 0, T, Q, and
RUB OUT commands. The L command enables the meoory to be loaded from a paper tape
reader connected to the terminal controller. After the tape has been placed in the
reader, loading is initiated by typing the letter "L" followed by RETURN.
*y
a
serial, P
= parallel
I
Change 1
2-9
{
{
NOTE
A paper tape reader may be connected to multipart
serial interface card ports 1, 2, or 3 or to the
serial "interiace port on the ROM and status logic
card.
The L command can also be usod to load in options from the expansion module.
The. option command format is as follows:
nnnnL RETURN
where nnnn is the optioq nurn.beli.
3777 and 4001 to 7777. "
Valid option numbers are in the ranges of . 1 to
NOTE
{
{
I
(
-'\
"I
~
' .3
J
I' .>,1
The optional expansion module can store a variety
of option types.
The U command is used to unload all options.
will cause all OptiOl~S to be unloaded.
Typing"U" followed by RETURN
The 0 command is used to detect the· presence and status of all loaded options.
Typing 0 followed by RE1'URN causes the display of the first option loaded. Succes'"
5ive1y pressing the R.ETlJRN key causes the display of a~l other options loaded~ The
option status is displayed in the following format.
nnnn ss
Where nnnn is the option number
and SS is the option status
I
I
I
r
The option status code is as follows:
00
01
11
02
12
03
13
04
14
Detected but unloaded
Unloaded, checksum error (local)
Unloaded, checksum error (system)
Unloaded, checksum OK, hardware not present (local)
Unloaded, Checksum OK, hardware not present (system)
Unloaded, checksum OK., self test .. no go (local)
Unloaded, checksum OK., self test "". no go (system)
Loaded, chec.ksum OK, sel.f test"" go (local)
Loaded, checksum OK, self test'" go (system)
The T command is used to recall the verification test pattern when the system
is at the local monitor level. This command is executed by typing the letter "T"
followed by RETURN. The effect is the same as pressing the LOCAL switch on the
terminal controller. Pressing RETURN a ,second time causes the system to return to
the moni tor level.
2 .... 10
I
I
I
[
J
I
I
t
Table 2-3.
ADDRESS
(OCTAL)
1
..J
Standard Transfer Table
INFORMATION OR ROUTINE
REMARKS
157700
GCP date (year and month)
High order byte indicates month
in octal form. Low order byte
indicates last two digits of year
in octal form (e. g., 003115
indicates June 1977).
157702
GCP date (day)
Day of month is indicated in
octal form.
157704
GCP release number
Release number is indicated in
octal form.
157706
Number of GCP field changes
Number of field changes is
indicated by the number of bits
set to 1 (e.g., 000007 indicates
three field changes).
157710
ZERO
Maintenance routine. Graphic
controller sets X and Y positions
at zero (center of screen) and
then halts.
157720
PLUS
Maintenance routine. Graphic
controller sets X and Y positions
at maximum on-screen positions
(upper and right corner) and then
halts.
157730
MINUS
Maintenance routine. Graphic
controller sets X and Y positions
at minimum on-screen positions
(lower left corner) and then
halts.
157740
LOADER
Enables a file to be loaded into
read/write memory from various
input devices.
157750
MONITOR MODE
Enables local mode commands to be
executed.
157760
SYSTEM MODE
Enables system mode.
157770
TEST PATTERN
Transfers to verification test
pattern.
.• J
2-11
(
I
f
J
1.-
•
l'~l
.J
(
'.}
LOCAL BUTTON
I
I
l
I
r
J--_.
~_ _
A~U
·SE.! TRANSPER TABlli 2..3.
035 FROM HOST
POWfiR
ON
IZFROM
HOST
SYSTEM
BUTTON
I
I
I
[
f
I
Figure 2-2.
2-12
Summary of GRAPRIC 8 Operating Modes
(
{
.. -
SECTION 3
GRAPHIC 8 INSTRUCTIONS
3. 1
GENEHAL
Instructions used by the GRAPHIC 8 can be divided into two categories: those
executed by the display processor and those executed by the digital graphic controller. The two microcontrollers operate independently of one another and share
common memories via the controller bus (see figure 1-3). Running of GCP is controlled by the display processor while generation of the display image is controlled
by t.he digital graphic controller. The following paragraphs provide details
concerning the instructions executed by each microprocessor.
NOTE
In the octal codas shown for each instruction,
unused bits are indicated by X. Bits representing
variable data are indicated by d.
3.2
DISPLAY PROCESSOR INSTRUCTIONS
.
The display processor emulates a minicomputer of the PDP-II type manufactured
by Digital Equipment Corporation (DEC). As such, the display processor is capable
of e..'tecuting the standard set of instructions used for the PDP-1l/34 minicomputer
and user software may be prepared using standard DEC mnemonics. Other PDP-II
instructions that can be executed are the MUL, DIV, ASH, ASHC, and SPL instructions.
Details concerning PDP-II instructions are contained in the DEC PDP-II/04/34/45/
55/60 Processor Handbook which should be used as a supplement to this manual.
.
An additional instruction that can be executed by the display processor is the
EXCQ (exchange register Q) instruction. The format and operation of this
instruction are as follows:
15
14
13
12
I 0
I
I 1
1
1
I
Octal code:
.EXCHANGE REGISTER Q
IEXCQI
0767dd
11
10
9
8
7
6
5
4
3
2
1
0
I 1
1
0
1
1
1
d
d
d
d
d
d
I
The EXCQ instruction causes the contents of register Q to be exchanged with the
contents of the general register specified by bits 0-5. Its primary purpose is to
provide a means of retrieving the contents of the program counter following the
execution of a HALT instruction. When a HALT instruction is executed, the contents
of the program counter (HALT instruction address + 2) is stored in register Q. The
EXCQ instruction can then be used to move the value to a general register so that it
can be processed as required. The EXCQ instruction is used in conjunction with the
Q command of the local operating mode to enable the operator to determine the
address at which the display processor halted (refer to paragraph 2.2.2.6).
3-1
Operation:
'i,e
<-
(REG Q)
(REG DD)
<-
(REG DD)
(REG Q)
Condition Codas:
3.3
< 0;
N:
Set i f valus in Q reg
Z:
Set if value in Q reg =0, cleared oehetwi.se
V:
Cleared
C:
Not
cleared otherwise
affected
DIGITAL/GRAJ'RIC CONTROLLER
INSTRUCtIO~S
The primary functions of the digital graphic controller are to retrieve the
display instructions from. the refresh file, calculate the addresses of the pixels
that are to be illuminated and to write the pixel data into the mapping memory.
The digital graphic controller (DGC) instruction set comprises more than 60
insttuctiolts that are used to control the presentation of the image to be displayed.
These instructions can be broken down into four basic categodes: Pixel position
::i.nstructions, sequence control instructions, register instr-uctions, and display
control instructions. Pixel position instructions determine which pixels will be
displayed for the purpose of presenting vectot"s, conics, and chat"aCters" Sequence
control instructions direct the graphic controllet" to jump,hranch, halt, ot" wait as
required for pro pet" pt"Og!"atn execution. Register instr-uctions permit data to be
manipulated using the four general purpose registet"s and the stack pointer of the
graphiccontt'oller. Display instructions enable various parameters to be
established or modified as :required to achieve the desired display image
chat"actedstics.
NOTE
Macros W1:'itten in MACRO-ll assembly language are
available for GRAPHIC 8 users. These macros can
be used to assemble all the graphic controller
instructions plus some useful instruction
sequences. Refe:t to Appendix B for description of
the macros.
The cO'1llplete set of instructions and data that defines a particular display
image is referred to as a refresh file. An Extended lnstruction Mode (ElM) bit
permits more instructions than would normally be possible with a given set of opcode
bits. 'the EIM bit is set or cleared by the Load Mode bits instruction, MODE.
For example, 18 bit addressing is used for most sequence control instructions
when the ElM bit is on.
3-2
An indicator (EIM) appears~ whenever the ins truction being described is for ElM
bit on.
Instructions are fetched by the digital graphic controller via the processor
bus, acted upon, and the resulting cia ta placed on the graphic bus for application to
appropriate circuits Crefer to figure 1-3). The following paragraphs describe the
format and function of each instruc.tion in each category of digital graphic
controller instructions. A summary of the instructions is contained in AppendiX A.
'C
Instructions with bit:: X means that the bit is ignored by the instruction
processor. However, since future systems may utilize these X bits, never use an X
bit for information storage.
,
.-
3.3.1 PIXEL POSITrON INSTRUCTIONS. Twenty-five instructions are used to determine
the intensified Pixels in the display ~onitor. These instructions include load.
move, draw, text, and Callie instructions.
3.3.1.1 Load Instructions. Load instructions specify X-axis positions on the
screen in terms of absolute data (specific coordinates) or relative data (lengths
alo ng X axi s ) •
Except for short relative moves or draws, if both X- and Y-axis data are to be
changed, a load instruction must precede a move or draw instruction.
ILDXAI
15
I
I
I
0
LOAD X ABSOLUTE
14
I
I
I
13
12
1
0
0
I
I
I
11
0
10
8
9
I
7
I +
I
6
Octal code:
5
4
3
2
02dddd
1
J.
0
X COORDINATE
Bits 0-10 define absolute X-axis coordinate in two's complement fa rm.
bits (sign extended) replace contents of X position register.
Operat~on:
(DXR)
<-
X COORDINATE
LOAD X RELATIVE
15
I
I
14
13
12
I
11
These
I
10
101010111+
9
8
7
6
Octal code:
5
4
3
2
024ddd
1
o
X INCREMENT
I--~I------~!--~I--~----------------------Bits 0-10 define increment in X-axis coordinate in two's complement form.
These bits (sign extended) are added to contents of X position register.
Operation:
(DXR)
<-
(DXR)
+ X INCREMENT
3-3
{
3.3.1.2 MO'lTe Instructions. Move instruc tions specify X-' and! or Y-axis oel;7 pixel
positions on the CRT screen in terms of absolu.te data (specific coordinates) or
relative data (lengths along X and/or Yaxis). Except for a move short relative
instruction, a load instruction (paragraph 3.3.1.1) must precede Ii move instruction
when both X- and Y-axis data are to be changed.
IMV~l
MOVE X ABSOLUTE
15 14 1.3
"'j
I
T
I 0 I 1 0
I
12
10
11
r
I
I
I
9
8
7
1 I 0 I + I
I
6
I
I
.
Octal code;
,-5
3
4
2
0
I
X COORDINATE
.
1
Bits 0 ...10 define absolute X-a:ds coordinate in tTHO'S complement form. These
hi ts (sign extended) replace conte!lts of X po sf tion reg ister • NOTE: Mode 0 only
Oc tal code:
MOVE X RELATIVE
r._.,
{
05dddd
1
t
I
"'7\
~I
{
I ""
05Addd
f
o
,."-...,
I
. I
____________~~------------------------------_I
Bits 0-10 define incr€!U1ent in X-axis coordinate in two! s complement form.
These bits (sign extended) are added to contents of X pOsition register. NOTE: Hode
o only
Operatio.!!.:
-15
(DXR)
<-
(DXR) + X INCREME:r.7T
I~WY.A'
I
HOVE "I. ABSOLT.J'!E
14
!
I
13 .- 12
.....
I a I 1.
-
1
0
I
I
11
I
I
9
10
8
I
0
I
7
Octal code:
.5
6
3
4
2
06dddd
1
0
I
I
' I
I +
I
Y COORDINA'I'E
Bi ts 0-10 define .absolute Y-axis c:oorciinatEls in t~o I S complement form.
bits (sign e.."ttended) replace contents of Y position register.
Opera.~:
(DYR)
<-
15
r
I 0
I
l'fOVE Y REl.ATIVE
14
13
I
I 1
I
1
11
10
0 I 1
,+
12
I. I
I
These
Y COORDINATE
IMVYRI
9
8
7
6
Octal code:
5
4
3
2
064ddd
1
3-4
(DYR)
Y INCREMENT'
I
<. .- Y
INCREMENT
f
(
o
Bits 0-10 define increment in Y-axis coordinate in two's complement form.
ThesE! bits (s ign e.."ttended) are added to contents of Y po.sition register.
.Operati.9n:
I
I
I
I
Jr
-----.-. I
I
I
I
I
I
I
lMVS~1
15
Octal code:
MOVE SHORT RELATIVE
14
13
I
I
I
1 1 1 0 1+
1 1
,-
12
11
10
9
8
Y INCREMENT
7
6
0
1
5
+
4
:3
2
Iddldd
1
0
X INCREMENT
Bits 0-5 define increment in X-axis coordinates; bits 8-13 define increment in
Y-axis coordinate. Both sets of bits are in two's complement form. These bits are
added (sign extended) to contents. of X and Y position registers, respectively.
Operation:
<-
(DXR)
(DXR) + X INCREMENT
(DYR) + Y INCREMENT
<-
(DYR)
3.3.1.3 Draw Instructions. Draw instructions are similar to move instructions
(paragraph 3.3.1.2) except that they cause appropriate pixels to be illuminated from
the current X and Y positions to the specified X and/or Y positions. A point plot
relative instruction is also included in the draw instructions. This instruction
defines a dot represented by an intensified pixel.
-
DRAW X ABSOLUTE
IDRXAI
,15 ,14
I, 0 I 0
I
13
1
, ,10 I 9
I, 0 ,, + ,
I
12 .. 11
1
8
7
6
Octal code:
5
3
4
2
03dddd
1
0
X COORDINATE
Bits 0-10 define absolute X-axis coordinate in two's complement form. These
bits (sign extended) replace contents of X position register. NOTE: Mode 0 only
Operation:
<-
(DXR)
X COORDINATE
Octal code:
DRAW X RELATIVE
034ddd
-"
15
,
I
14
13
12
1
1
101 0
I
I
I
11
,
9
10
I
I
I 1 1+'
I-I
8
7
6
5
4
.'3
2
1
0
X INClEMENT
Bits 0-10 define increment in X-axis coordinate in two's complement form.
These bits (sign extended) are added to contents of X position register. NOTE: Mode
o only
Operation:
(DXR)
<-
(DXR) + X INCREMENT
. .:-j
3-5
(
r
IDRYAI
15
II
101
I I
DRAW Y ABSOLUTE
14
13
12
1
0
0
I
I
I
11
0
I
10
-
I
I + I
I I
7
8
9
,.
Octal code:
,
6.
5
4
,.
3
04dddd
1
2
I
I
I
Y COORDINATE
Pi
g.
~
-=q,
Bits 0-10 define absoluteY"'uis coordinate 'in two's comple1l1entfotm~,Tne13e
b1ts (sign extended) replace cont.ents of Y position 1;'e818ter..
(DYR)
q,eeration:
<- Y COORO!NA'l'E
IDRnl
15
I' r
I 0 I 1
I I
13
i
11
12
,.
10
i I ' .r
o
0
I
1
8
9
"
6
5
.4
044ddd
2
.,
1
<.....
-
IDiSiI
1
I
I
I
ORAW SHORT :RELATIVE
0
I
9
8
6
7
"
I +
1-
o
Y INCR£MENT
I
Octal code:
5
1
I
I
I
X INCREMENT
I
_,B11:s0"'5 define inc.rement in X-axis c.oordinate; bits 8"'13 define increment in
Y-a.::d.s coordinate. Both sets of bits are in two' s complement ,form. These bits are
added (sign extended) to contents of X and Y position
reg1stet:s) respec.tively ..
,
.
0;e,rat;ion:, (DXll) <- (On) + x tNCRFMENT
(Dn) (-,. (DYR) ... 1. INCREMENT
II
I 1
I
I
I
14
I
1 1
l~.
+
,-
11
12
1.
10
9
"
INCREMENT
8
I
I
'I
7
5
6
I
0
0
4
3
I
-
I+
I
2
'.
,
1
0
X INCREMENT
Bits 0-5 define increment in X-aXis coordinate; bits 8-13 define increment in
Y"'uis coot'dinate. Both sets of bits a.re in t140'$ com.plement fot'lll .. These bits are
added (s1i1l extended) to contants of X and Y position registers, respectively. A
dot is displayed as one intensified pi."'(el.
(Dxa)
(DYR)
<<_
r'
;",:,,.1
(DXB-)
(Dn)
+
+
X INCREMENT
'l INCREMENT
f
I
I
(
lmil
15
"
I '. .'
lddOdd
432
01+
"
-
"
(Dn.) + Y INCREMENT
15 14 13 11 11 10
I
I
I
(
','!
-0
I 1 I ... I
I I-I
(DYR)
"
,
Octal code:
Bits 0-10 define increment in Y-aXis coordinate in two' scomplement form.
These bits (sign extended) are added to contents of Y position register.
02eration:
" .i
{
(
DRAW Y RElATIVE
14
l'~~
0
,
r
I
l
I ,-,
IpPYAI
15
I
I
I
0
(ElM) Octal code:
POINT PLOT Y ABSOLUTE
14
I
13
I 1
I
0
12
11
I
I
1 I 0
!
10
9
8
7
I +
I
5
6
4
3
2
1
05dddd
0
Y COORDINATE
The Point Plot Y Absolute instruction provides the ability to point plot along
the Y direction without the need for the MVYA instruction. The Point Plot is
displayed as one pixel. Normally, LDXA precedes this instruction.
(DYR)
Operation:
-
<- Y COORDINATE
paIN! PLOT Y RELATIVE
IpPYRI
15
II
14
13
12
I
11
I
10
9
8
7
4
3
2
1
o
i__~I_______I~~I__~~______________~____~
~
t"
5
6
054ddd
Y INCREMENT
101101111+
__ I. - -
I
(ElM) Octal code:
The Point Plot Y Relative instruction provides the ability to point plot in the
Y direction without the need for the MVYR instruction. The plotted point is
displayed as one pixel.
Operation:
(DYR)
<-
(DYR)
+
Y INCREMENT
POINT PLOT TABULAR ABSOLUTE
15
I
I
I
I
I
I
l ' :,
0
I
I
I
F
I
I
I
14
0
x:
13
0
x:
12
0
X
I
I
I
11
l'
X
10
I
9
1
8
1
7
1
6
I
4
3
2
1
0076dd
0
I
0 IROTI
I
-+
5
(ElM) Octal code:
TAB INCR
I
COORDINATE
The PPTA instruction specifies a sequence of X or Y coordinate depending on the
orientation.
Bits 0-4 represents the X or Y Tabular Increment between successive points.
Bit 5
a
~
0 indicates horizontal orientation. Coordinates are Y values.
1 indicates vertical orientation. Coordinates are X values.
Bit 15 (in the data words)
= 0 indicates an intermediate point.
'" I indicates the final plotted point and the end to the variable length
instruction.
3-7
J
.Q.P.el:a ti.9p::
For horizontal orientation:
I :.
(ROT'" 0)
... 1
(DXR)
(DYR)
<<-
(DXR) + tabular increment
Coordinate
For vert,ical orientation:
(
(ROT" 1)
I
(DYR)<- (DYE.) + tabular increment
(DXR) <- Coordinate
····1
[
(ElM) Octal code:
POINT PLOT TABULAR RELATIVE
15
I
I
I
I
I
I
I
I
I
0
F
14
I
I
I
13
0
X
0
X.
12
0
X
I
I
I
11
10
1
L
9
1
8
1
7
1
6
I
5
+
3
2
1
, .. J'
0
I
1 IROTI
I
X
4
0077dd
TAB INCR.
I
INCREMENT
I
I
I
I
I
I
I
I
I
The PP'l'A instruction specifies a sequence of X or Y increment depending on the
orientation.
Bits 0-4 represents the X or Y Tabular Increment between successive points.
Bit 5 .. 0 indicates horizontal orientation. Increments are Y values.
.. 1 indicates vertical orientation. Increments are X. values.
Bit 15 (in the data words)
:: 0 indicates ,an intermediate point.
:I 1 indicates the final plotted point and the end to the variable length
ins truction.
Operation:
For horizontal orientation:
(DXR)
(D,("R)
<<-
(DXR)
3-8
<<-
= 0):
(DXR) + tabular inc.rement
(DYR) + increment
For vertical orientation:
(DYR)
(ROT
(ROT:I 1):
(DYR) + tabular increment
(DXR) + increment
I
I
r
I
I
r
I
r
I
3.3.1.4 Text Instructions. Two instructions are used to draw characters. One
instruction causes a single steady or blinking character to be drawn at the current
position. The second instruction enables two characters to be drawn and the
position incremented automatically when each is complete. Character size and
orientation data are not included in the text instructions. These parameters as
well as the values used to increment the X~ Y position are determined by display
control instructions (paragraph 3.2.4).
'-;'-.
-
I CHARI
15
I
I
I
1
DRAW SINGLE CHARACTER
I
14
I 0
I
13
0
12
1
I
I
I
11
1
10
9
1
B
I
8
I
I S I
I I
7
1
6
Octal code:
5
4
3
2
116ddd (blink)
117ddd (steady)
1
CHARACTER ASCII CODE
0
I
I
I
Bits 0-6 specify ASCII code of character to be drawn at location defined by
contents of X and Y position registers. Bit 9 specifies whether the character is to
blink or be steady (1 indicates steady). Bits 0... 6 replace contents of character
register. Bit 8, the shift bit, indicates either the standard character set (1) or
the extended optional character set (0). This shift bit, applies only to the
character specified in the CHAR instruction. It has no effect on subsequent text
instructions. Bit 9 replaces blink bit in display Z register. After a character is
presented, the starting location is returned in X and Y position registers and the
previous state of the blink bit is restored in the display Z register.
Operation:
(DCR) <- CHARACTER ASCII CODE
OZR (blink bit) <- Bit 9
DZR blink bit is restored following instruction execution
NOTE
On customer systems containing special characters
or speCial symbols, the shift out code (character
code octal 16) can be used to display these
symbols. This is done by executing a CHAR
instruction containing the shift out code.
FolloWing the shift out code is a group of TEXT
instructions to display the selected special
symbols. After displaying special symbols, the
shift in code (character code octal 17) must be
used to permit display of the standard characters
again.
3-9
i
i.->
-
r
Inti
15
r
DRAW TWO TABULAR CHARACTERS
14
I
I 1 I
I .1.
13
12
I
i
11
9
10
8
CRAUCTER 2 ASCII CODE
7
I
1
It ..
6
I
I
5
Octal code:
4
3
·2
1
Idd2dd
I····
0
CltARAC'rER 1 ASCII CODE
I '.
"Ojo".
~
Bits 0-6 specify ASCII code of first character to be drawn; bits 8-14 specify
ASCII code of second character to be drawn. Beginning loeation for each charaeter
(O(
is defin~ by X and Y posit1on registers. Bits 0-6 reylace the contents .of eharactar register. ,'The charac:ter is presented. Then bits 8-14 replace contents of
charaeter reg1stet:. When a charaeter is completed, the X position register (Y
position register £lor rotated characters) is autol'llatically incremented by the contents of text increment register. If ASCII code for a NULL character is specified,
no character is drawn and the X (or y) pOsition register is not incremented.
[
0psl:'.ation:
~raw
character 1 at position
(on)
<-
(Dxa)
+
on,
OYR
<-
(DYR)
(DTI) [(Dn.)
+
(DTI) for
.rotated tut]
R.epeated above for character 2
Three control characters are used in the ·CHAR or '.tXT insttuetiQntodetermine
text posit1on on the screen (see table A-9).
TheSn character defines the left urgin' of screen as the present X pod tion
(Y position for rotated text).
(um)
[(L..'1R.)
<- (on)
<- (on)
(
of rota ted text J
The Carriage letum CR character sets the X position (Y position for rotated
text) to the previously defined left margin.
<-
(
"
[(OYR) <-(L..'iR) for rots. ted text]
(
'The Line Feed LF character dect.ements the current Y position (or increments the
current X position for rotated tut) by the am.ount previously defined as the line
increment (see theLDTI instruction).
I
(DXR)
(LMR)
(on) <- (on) - (DLI)
[(Dxa) <- (DXa) + (DLI)
for rotated text]
(
(
[
(.
3-10
t
TI1e follOwing information describes the RAl1 character generator.
Summary of features:
1.
The font size of the standard character set determines the font size which
must be used in the extended and RAM character sets. Vertical misalignment of the characters will result i f this concii tion is not met.
2.
In the RAM set, 32 character codes (00°8-0378) are reserved for
control functions; 96 character codes (04°8-1778) are for displayable
characters.
3.
Multiple character tables are possible.
4.
All standard character sizes and rotation apply to RAM characters.
5.
ASCII code 0338 is the cont.rol code used to enter the R.'lli character set.
6.
The base address for the RAM table must be loaded prior to using RAM
characters for the first time. Reloading is necessary only when multiple
tables are in use.
7.
The "building" of the RAM character table must conform to the guidelines
that follow.
8.
The character table must be based at 4K boundaries and may be placed in
any bank of memorJ. Care must be taken not to violate any reserved areas
of memory in bank O.
9.
RAM Control Characters
"
NULL (0008) performs same funct.ion as in standard and extended sets.
SO (0168) exits RAM character set and enters entended set.
51 (0178) exits RAM character set and enters standard set.
Guidelines
The RAM address of a specific character is determined by shifting the 7-bit
ASCII code four places to the left, filling the four least significant bits with the
LSB of the ASCII code, and "oring" this value with the base address loaded by the
LDCG (load character generator) instruction (see page 3-23). The equation to
calculate the RAM address of a character in decimal is:
ASCIIIO + base address1Q (+15 if ASCII1Q is odd)
character
= address
of RAM
Change 1
3-10A
f
e. g.
~
1001000
= ASCII
c
OOOOOlOOl!OOOOOO
Modified ASCII code
OOlOOl001!000000
RAM address assuming base address of 200008'
Base
addre.ss
The digi ta.l gra.phic can troller microcode checks the LSB of the RAJ.'1 addre~s s to
determine the direction to proceed through the RAM. If the address is even, the
digi tal graphic con troller increments the aAI.'1 address by 1 to fetch the succeedi.ng
c.haracter da.ta. If the address is odd, the digital graphic controller decre!llents
the RAM address. This .implies that the character definition is referenced to the
initial character address calculated. An e...-x:ample oihow the Land Mcharacters
would apr..ear in a RAM table based.at 200008 using their assigned ASCII eodes is
shown below.
1001100
""
0010010011000000
1001101
0010010011011111
L character ASCII code
..
R..Ui addr as s for L character 2230°8
""
M charac.ter ASCI I code
""
RAM address for M character 22337 8
The m1lPtimUtll width of a character is fixed at 7 "pixels. Bit 0 of the 8-hi t byte
is a. flag that informs the digital gtaphic controller that the character i'9
ccmplete. Character length may be up to 16 pixels and may be shifted as in the ease
of lower case char,acters.
(
(
[
I
f
{
I
r
The load character generator address instruction loads the base address of the
The character table must be based at 4K boundaries in memory.
I
Allowable character table base addresses (Batik: ¢):
[;
R.&'1 character set.
4000
10000
14000
20000
24000
30000
34000
40000
44000
50000
54000
60000
64000
70000
74000
100000
104000
110000
114000
120000
124000
130000
134000
f
,
f
I
3-10B
Change 1
r
I
,.
Example of a refresh file using the
4700
30000
117601
140301 }
174201
100277
117600
.-.t
117601
112217 }
130711
141674
117600
RA~
character set:
Load character table address
Base address
Enter RAM character set
RAM characters
Exit RAM character set
Enter
RJu~
character set
RAM characters
Exit RAM character set
Change 1
3-10C
[
r
(
RAM
ADDRESS a
RAM
CATAS
r
200
I
7 6 54 3 2 1 0
22300
20.0
2JXl
r
200
1
200
200
I
200
200
377
f
(
I
[
203
2.02
I
Z]2
202
202
1
22337
222
f
25,2
306
t
202
I
END OF CHARACTER BIT
H·8()'0444-1 00
Example Clf Two 7 X 9 Characters in RAM
(
r
(
r
J-10D
Change 1
[
3.3.1.5 Conic Instructions. Two conic instructions are used to specify 90-degree
segments and axis lengths of ellipses to be displayed. One is a load instruction
that specifies X-axis data. The second is a draw instruction that specifies Y-axis
data and presents the ellipse. Bits in both instructions specify what combination
of 90-degree segments will be unblanked when an ellipse is drawn. Axes of all
ellipses drawn using these instructions alone lie parallel to the X and Y axes of
the display indicator •
•
NOTE
Both conic instructions are required to define
each ellipse even when parameters specified by one
instruction must precede the draw instruction. If
the draw instruction is used alone, a circle will
be d1splayed with a radius equal to the length
specified for the semi-Y axis.
ILBiXI
.............
15
"
.'
I
I
I
0
I
I
I
LOAD CONIC X aEGISl'ER
14
13
1
1
I
1
I I
8
7
I 0 IQIIIIQII
I I
I I
65
Octal code:
43· 2
07dddd
1 .0
X SEMI-AXIS LENGTH
-.'
Bits 0-8 define semi-axis length of ellipse (distance from ellipse center to
its perimeter) along X axis of CRt. Bits 9 and 10 s,pecify unblanking (l indicates
unblank) in quadrants QI (upper right) and QIII (lower left), with respect to the
.major and minor axes (if rotated) of the ellipse. All of bits 0-10 replace contents
of X conic register.
Operation:
-
(KXR) X SEMI-AXIS LENGTH plus QI and QIII bits
IDRKYI
15
0
c~J
I
I
I
DRAW CONIC Y
14
13
12
1
1
1
11
I
I
I
I
10
I
9
I
8
7
Octal code:
6
5
4
3
21
07dddd
0
I
1 IQIVIQIIIY SEMI-AXIS LENGtH (OR CIRCLE RADIUS) I
I
I
I
I
Bits 0-8 define semi-axis length of ellipse (distance from ellipse center to
its perimeter) along Y axis o~ CRT. Bits 9 and 10 specify unblanking (1 indicates
unblanking) in quadrants QII (upper left) and QIV (lower right), with respect to the
major and minor axes (if the ellipse is rotated). All of bits 0-10 replace contents
of conic Y register. The ellipse is drawn as defined in conic X and Y registers
with ellipse center at location defined by X and Y position registers. The ellipse
is unblanked in quadrants specified by bits 9 and 10 in the conic X and conic Y
registers. If a DRKY instruction is not preceded by an LDKX instruction, bits 0-10
of the DRKY instruction replace the contents of the conic X as well as the conic Y
register. The result is that a circle with a radius equal to the length specified
3-11
--....:.
by bits 0-8 is created. Bits 9 and 10 then specifyunblanldng for the upper and
lower semicircles, respectively.
Operation:
Preceded byLDKX instruction:
(KYR)
<- Y;
SEMI"'A.XIS LENGTH plus QII and QIV bits
Not preceded by LDKX instruction:· .
(KYlt)
(IaR)
<- Y
<- Y
f.
SEMI"A.,.,{I.S LENGnt plus Q!I and QIV bits
SEMI-AXIS LENGTH plus QI! and QIV bits
3.3.2 SEQUENCE CONTROL INSTRUCTIONS. Thirteen instructions are used to control the
sequence of program execution an4. timing by thedigit.a.l graphic controller. These
instructions include unconditional jUlllP,conditiona1jump, subroutinet linkage,
halt, wait, and update instructions.
The.JllMP, J'MPZ, Jl?U , CALL, CALlt and R'l'RN utiliZe an 18-bit addres iii if the E1M
bit is on. In this case it is reComll1ended that you use the utendedform of the
Il1nemon1c for clad ty.
.
.
3.3.2.1 Uncond1ti.91.'lat, ~~p!nstrue.'tions. Uneondit:l.oaal jump instrUctions permit
program control of the graphic controller to be transferred directly or indirectly
to a speCific address in memory (absolut.e jump) or to an addreu remoVed from the
current loeation by a speCified increm~iU1t (relative Jump). The jump short relative
inettu¢.tion (JMPtt) can also be used as a np"'opera.tion instruction (NOOP) by.
specifying a jump inere1l1ent of 2.ero bytes.
IJ'IJW'(E~1
1S
lli""!"'''''''''
I
14
13
I 0 I 0 0
I
I
I I 1
I (AlS) IA14 AI3
I
I
12
0
I
I
I
11
0
10
0
,
9
8
I
I
I
I
0010Xd dddddd
Octal code:
JUMP
0
7
6
0
()
~
'
X
4
3
X
XI
.
I
I
u.
,
.
At
I
I
AO I
I
JUMP is a two-word instruction used for unconditional transht' of program
control (direct or ind1rect) to aspeeif1¢. location in memory. The fir!lJt word
identifies the instruction. 'The second word spee1fiesa direct or indireet address
(for ElM ... 0) to which program contrQ1 is to be transferred. The JUMPE, jump
extended address instruction, uti.,liz.es bits 0""1 of the first word as bits A16-A17 of
the extended 18 bit addrQss" Also, when in extended mode bit 15 represents address
bit 15 (A15) not the indirect bit !.
'the specified address may be the address of any even....numbered byte from 00000
to 777776 (octal). If bit 15 of the second word is set to 0 (direct addrelllsing) and
ElM'" 0, control is transferred to the address speCified by bits AO-A14. If bit 15
is a 1 (indirect addressing) and ElM
0, bits AO-A14 specify the 1l1emQryaddress
that contains the required data. In this case, the contents of the specified
:;I
(
..""
T,
(
l
[
I·"!
r. .
1
2
0
. I . I'
I
,
X A17 A161
A2
JUMP ADDRESS
[ .~
[
.,....
.,-:
..
(~
r
.~.:
[
.-
(
{,
[
address are used as the location to which program control is transferred. Note that
direct addressing canrtot be used for addresses greater than 777776 (octal). Multilevel indirect addressing may be used.
Operation:
•
<
,1
Direct:
Indirect:
IJRMP(E) I
14
13
I
+
.
<- JU~1P
<-
(JUMP
I
I
0
0
ADDRESS
ADDRESS)
.
JUMP RELATIVE
15
0
(DPC)
(DPC)
OOllX."{ dddddd
Octal code:
11
10
9
8
7
6
5
4
3
2
1
0
a I a
a
1
a
a
1
x
X
x
x
x
x
12
I
I
I
JUMP INCREMENT (IN EVEN
IA14
Al
BY'l'ES)
AO
I
JRMP is a two-word instruction that causes unconditional tranSfer of program
control to a relative location in memory. The first word identifies the instruction, the second word specifies an even number of bytes by which the program counter
is to be incremented. The jump increment is added modulo 2 16 (any carry is
ignored) ~o the contents of the program counter which is pointing to the address
following the location of the jump increment word. The result is used as the
address of the next instruction to be ~~ecuted by the digital graphic controller.
Relative jurnps from -100000 to 77776 (octal) bytes can be accomplished using this
instruction.
If EIM = 1, the JRMP(E) instruction utilizes 18-bit addressing. If the
causes the 16-bit program counter to overflow, the bank register PGR is
incremented or decremented appropriately.
incremen~
Operation:
(DPC)
<-
(OPC) + JUMP INCREMENT
Octal code:
JUMP SHORT RELA!IVE or NO OPERATION
005ddd (JMPR)
005000 (NOOP)
or
INOOP I
15
14
13
I
o I a
a
3·
2
11
10
9
8
7
0 I 1
0
1
+
JUMP INCREMENT (IN EVEN
12
I
6
5
4
1
a
I
a I
____~I___________~I________~____________________B_Y_T_ES~)~____ I
Bits 0-8 specify, in two's complement form, an even number of bytes by which
the program counter is to be incremented (or decremented). These bits are added to
the contents of the program counter which is pointing to the address following the
location of the JMPR or NOOP instruction. The result is used as the address of the
n~~t instruction to be executed by the digital graphic controller.
Relative jumps
from -400 to 376 (octal) bytes in either direction can be accomplished using this
3-l3
(
instruction.
instruction.
Specifying a relative jump of 0 bytes results in a. no-operation
Operation:
<-
(DPe)
(DPe)
I
+ JUMP INCRltMENT
3.3.2.2 Conditional JumE Instructions. Two conditional jump instructions are
provided to permit progtam control to be transferred or to continue in normal
sequence as deteZ'lllined by testing the contents of general purpose register O. Jumps
are executed when the con·tents of this register are not equal to zero. One instruction causes a conditional jump, d.irect or indirect, to a specific addre.ss in memory
(absolute jUlnp), The second instruetion causas a conditional jUlnpto an address
removed from the current location by a specified increment (relative Jump).
Q
I t
I
I
I
I
14
., 1,
0
0
12
11
I
,10
0 I 0
I
0
8
9
I
1 .I
7
6
0
1
,
5
0
I
I
4
X
JUMl? AnDRESS
!(AU) lA14 AU
!
3
1
2
0
t
X
(
Octal code: 0012X dddddd
I
I
[
(
JUMP IF DISPLAY REGISTER 0 CON'l'ENTS #J
15
[
I
(
X Al7 A16!
X
A2
Al
!
I
I
AO I
!
JMPZ is a t'Wl)"'word instruetion used for the ·condit'ional t1;.'ansfer (direct at
ind.1ract) or program. control to a speeific me!llory location. The first word identi'"
fies the instruction and causes the o,ontents of general register 0 (DRO) to be
tested. The seo,.ond word spee:f.fi.es a direct or indirect addl'ess to which program
eontrol 1s conditionally to be transferred.
The JMPZ!, conditional jt.ml.p extended addr~u;s instruction, uses bits 0-1 of the
fint word as bits A16-A11, respectively, of the extended 18 bit: address. Note that
for ElM "" 1 bit 15 represents the addreSS bit: (Al5 ) not the indirect bit I.
The speo,iUed address utay be the address of any even-nmbered byte frout' 00000
to 77776 (oo,ul). Program o,ontt01 is transferred only when (ORO) J. O. If bit 15
of the second wotd is set toO and EIM "" 0 (direct addressing), control is transfet'red to the address specified by bits AO-A14. If bit 1S is a 1 and EIM-O
(!ndireet addreuing), bits AO-Al4 specify the memory address tha.tcont-ai.ns· tha
required data. tn this case, the contents of the speo,ified address is used as the
10o,ation to which program control is t;:rat'lsferred. If (nRO) "" 0, prograJ;ll control is
not: transferred and the progralll continues by eXecuting the instruo,tion at en€!
addtess that Uunedia.tely follows the seo,ond word of theJMPZ(E) instruc Uon (this is
the address to wnj;o,h the program counter is point.ing). Note that direct addressing
cannot be used for addresses greater than (7) 77116 (oo,tal). Multilevel indirect
addnsssing lllay be used.
012eration:
Direct:
Indirect:
(ORO) " 0:
(ORO) "" 0:
(ORO) '" 0:
(DRO) "" 0:
(DPC <(Ope)
I
r
r
(
JUMP
(
<<-
I
<-
(OPC)
(OPC)
I·
ADDRESS
(DPC)
(JUMP ADDRESS)
(DPe)
(
IJpRZ(E) I
JUMP
RELATIVE IF DISPLAY REGISTER 0 CONTENTS ,. 0
Octal code:
14
15
13
I
'J
0
+
0
I 0
I
I
11
10
9
I
0 I 0
I
0
1
12
IA14
8
7
6
5
4
3
2
1
0
I 0
I
1
1
X
X
X
X
X
X !~
I
I
INCREMENT (IN EVEN BYTES)
JUMP
0013X.X dddddd
A1
I
I
I
AO !
I
JPRZ is a two-word instruction that causes a conditional transfer of program
control to a.·relative location in memory. The first word identifies the instruction
and causes the contents of general purpose register 0 (DRO) to be tested. The
second word specifies an even number of bytes by which th~ program counter is
conditionally to be inc'1'emented. Prog'1'am control is transferred only when (DRO) {t
O. When (DRO) {t O. the jump incr$1l1ent is adde-d mo-dulo 216 (any carry is
ignored) to the contents of the program counter which is pointing to the address
follonnl the location of the jump increment word. The result is used as the
address of the next,instrUction to be executed by the graphic controller. When
(DRO) ,. 0, program control is not tl'ans.ferred and the program continues by executing
the instruction that immediately follows the second word of the JPRZ instruction.
Conditional relative jumps from. "'100000 to 77776 (octal) bytes can be accomplished
using this instruction.
.-
If ElM" 1, then the JPRZE instruction utilizes 18-bit addressing. If the
increment causes the 16-bit program counter to overflow, the bank. register PGR is
incremented or decremented appropriately.
Operation:
(DPC)
(DPC)
(DRO) " 0:
(DRO) "" 0:
<<-
(DPe)
+ JUMP INCREMENT
(DPC)
3.3.2.3 Subroutine ItlS1:ructions. Four subroutine instructions are provided to
permit calls to and returns from subroutines as required. Calls may be made to
subroutines located at a specific address in memory (absolute calls) or to sub- routines at an address removed frOm the current location by a specified increment
(relative calls). The digital graphic controller is capable of calling subroutines
between different me1llOry banks by the use of the extended address instructions
CALLE. A jump-and-lllark instruction is also included which permits direct or
indirect-calls to be made to subroutines at specific memory locations.
!CALL(E) !
.;
15
0
I
.•)
Al5
'.:"l-f
CALL SUBROUTINE
14
13
I 0
I
0
I
A14
Octal code:
0021Xd dddddd
11
10
9
8
7
6
5
4
3
2
0 I 0
!
1
a
0
0
1
X
X
X
X A17 A16!
!
12
I
SUBROUTINE ADDRESS
1
0
I
A2
Al
AO
I
I
I
j
3-15
"~-'1
('
-
(
CALL is a two-word instruction that calls a subroutine from a specific location
in memory. The first word ident:ifies the instruction; the sec.ond word specifies the
address that contains the first instruction of the desired subroutine.
The CALLE, call extended subroutine address instruction, utilizes bits 0-1 of
the first word as bits A16-A17, respectively, of the extended 18 bit subrolltine
address.
The specified address may be the addreSS of any even-numbered byte from 000000
to 777176 (octal). When a CALL instruction is executed, the contents of the program
counter (which is pointing to the address following the location of the sllbroutine
address word) is pushed onto the graphic controller stack. This saves the address
of the instruction to be executed following completion of the subroutine. Bits
A16-A17 are loaded into the bits 14 and 15, respectively, of the bank register PGR.
The contents of the second word of the CALL instruction. is then loaded into the
program counter and used as the location of the next instruction to be executed by
the digitalgraphia controller.
(DSP) <- (DSP) - 2
(Top stack location)
<-
(DPC)
I
;i
\
-"
I
.....,
i
f
I
[
':"'j
I
f
IF EIM ... 0, then:
(DPC) ~- SUBROUTINE ADDRESS
(
ELSE [EIM
1]
(DSP) <- (DSP) - 2
(Top stack location) <- (PGR)
(DPC) <- SUBROUTINE ADDRESS
:II
I
END
IC~R(E)
15
0
+
(
I
CALL RELATIVE
i
I
I
14
0
A14
13
I .
12
I
I
0
0
I
I
11
10
9
8
0
1
a
a
Octal code:
,
7
6
5
1
0
1{
4
X
SUBROUTINE INCREMENT (IN EVEN
3
X
0022XX dddddd
2
X
1
0
X
x
Al
AO
BY~S)
CALR is a two-word instruction that calls a subroutine from a relative location
in memory. The first 'Nora identifies the instruction;. the second word specifies an
even number of bytes by which the program counter must be incremented to obtain the
address that contains the firs tins truction of the deSired subroutine. The
specified increment may be any even number of bytes from -100000 to 77776 (octal).
When a C.\LR instruction is executed, the contents oithe program counter (which is
pointing to the address following the location of the subroutine increment word) is
pushed onto the digital graphic controller stack. This saves the address of the
instruction to be executed folloWing completion of the subroutine. The contents of
the second word of the CALR instruction is then added modulo 2 16 (any carry is
-ignored) to the contents of the program CQllnter and the result used as the location
of the next instruction to be executed by the graphic controller.
3-16
I
(
I
I
(
I
(I
I
.-
If ElM" 1, then the CALRE instruction utilizes IS-bit addressing. If the
increment causes the 16-bit program counter to overflow, the bank. register PGR is
incremented or decremented appropriately.
IF (EL.'! .. 1) then:
.. (DSP) <- (DSP) - 2
Operation:
(Top stack lo~ation) <- (PGR)
(DSP) <-- (DSP) - 2
(Top stack location) <- (DPC)
(DPC) <- (DPC) + SUBROUTINE INCREMENT
ELSE [ElM'"" 0J
(DSP) <- (DSP) - 2
(Top stack location) <- (DPC)
(DPC) <- (DPC) + SUBROUTINE INCREMENT
END
IRTItN~E)1
Octal code:
ItE'l'URN
0023XX
,-.
15
i
I
. I:..,....
0
r
..
I
I
I
14 . . 13
0
0
12 .11
0
I
I
I
0
,10 ..
.
1
9
0
,
8
I
I 0
I
7
I'
6
1
I
S
t
.
I X
I
4
X
2
1
I
X I X
0
X
X
3.
"
A RTRN instruction is normally the last instruction of a subroutine called by a
instruction. It causes program control to return. from the subroutirte to the
main program. Whel1 a RtRN instruction is executed, the COl1tents of the location .
indicated by the digital graphic controller stack pointer is popped from the stack,
loaded into the program counter, and used as the address of the next instruction to
be executed by the digital graphic controller.
CALL(E)
,.
Operation:
!F (ElM" 1) then:
(FGR) ~ (Top stack location)
(DSP) <- (DSF) + 2
(DPC) <- (Top stack location)
(DSP) <- (DSP) + 2
ELSE [ElM" 01
(DPC) <- (Top stack location)
(DSP) <- (DSP) + 2
END
. _.i
, !
u.l
}
:.,-1
!
3-17
r
~,
r
IJ~1'!(.~~ I
15
JUMJ? AND MARK
14
13
II
I a I 0 0
I
I
I I J
I CAIS) IA14
I
I
Octal code:
0020XX dddddd
I
f
-\
r
12
11
10
9
8
7
6
5
4
3
2
1
0
0
0
1
0
0
a
a
x
x
x
x
x
xI
JUMP ADDRESS (IN EVEN BYTES)
Al
~
AO
I
I
JMPM is a t'Wo"'word instruction used for direct 07: indirect calls to subroutines. The first word identifies the instruction; the second specifies a direc.t
or indirect address to be used for storage of a return address from the subroutine
being called. The specified address m,ay be the address of any even-numbered byte
from 00000 to 77776 (octal). If hit 15 of the second word is set to 0 and EL.'1 "'" 0
(direct addressing), the return address is stored in the location specified by bi ts
0-14. If bit 15 is a 1 and EIM .= 0 (indirect addressing), bits 0-14 specify the
memory address that contains the required data. In this case, the contents of the
specified address are used to designate the location in which the return address
will be stored. When a JMPH instruction is exec.uted, the contents of the program
counter (which is pointing to the address followng the loca.tion of the jump address
word) is stored in the direct or indirect a.ddress specified. This saves the
location of the ir4struction to be executed follOwing completion of the subroutine.
Exec.ution of the called subroutine then begins at the address immediately following
the location in which the return address is stored. When the subrOutine is
c.ompleted, return to the main program is effected by an indirect JUMP instruction
that references the return address stor?-ge location. Nate that the JMPM instruction
cannot be used for direct addressing of addresses greater than 77776 (octal).
Multilevel indirect addressing may be used.
Note that for EIM "" 1 bit 15 of the second word represents
(A15) rather than the indirect bit I.
Operation:
j~p
address bi t
Direct:
(JUMl' ADDRESS) <- (DPC)
(D PC) <-JUMP ADDRESS +
2
Indirect:
(Address contained in JUMP AD-DRESS) <- (DPC)
(DPC) <- (Address c.ontained in JUMP ADDRESS) + 2
I
~'-:
[
(
1
;, .J
r
r
(
(
I
[
I
(
(:
I:
rI
3-1,9
:1
I
i
"
'r;
3.3.2.4 Linkage Instruction. A linkage instrut.ction is provided so that synchronized linkage can be effected between a progra~ being executed by the digital
,graphic controller and a program being executed; by the display processor. This
enables the additional power of the display processor to be used to mod.i£y or
process refresh file data as required. Details concerning applications of the
linkage instruction are contained in Section 7.,:
ILINK(E) I
15
0
SYNCHRONIZED LINKAGE
14
I
13
12
0
0
,I 0
I I I
I (A15) I
I
I
I
I
I
Octal code:
0040}{.'{ dddddd
11
10
9
8
7
6
5
4
3
2
1
0
1
0
0
0
0
0
X
X
X
X
X
X
LINK ADDRESS
0
LINK is a two-word instruction. The first word identifies the instruction; the
second word specifies a direct or indirect aiidress to be used for storage of the
address that follows the location of the LINK instruction. The specified address
may be the address of any even-numbered byte from 00000 to 77776 (octal). If bit 15
of the second word is set to 0 (direct addressing), the storage address' is the
location specified by bits 0-14. If bit 15 is a 1 (indirect addressing), bits 0-14
specify the memory address that contains the required data. !n this case, the
contents of the specified address designate the location to be used for storage.
When a LINK instruction is executed, the contents of the program counter (which is
pointing to the address following the location of the link address word) is stored
in the direct or indirect address specified. This saves!:he address of the
instruction that immediately follows the LINK instruction. The graphic controller
then halts and interrupts the display processor. . Restarting of the graphic controller is controlled by a command from the di.splay processor as described in
Section 7. Note that the LINK instruction cannot be used for direct addressing of
addresses greater than 77776 (octal). Multilevel indirect addressing 111ay be used.
All indirect addresses 'are accessed in the bank defined by the bank register.
(See PGR in Section 4.) The direct link address is accessed in bank O.
Note that for ElM'" 1 bit 15 of the second word represents the LINK address bit
(AIS) rather than indirect bit I.
Operation:
Direct:
(LINK ADDRESS) (- (DPC)
Indirect:
(Address contained in LINK ADDRESS) (- (DPC)
'-
,
J
... ""
3-19
.1
I
3.3 • .2.5 Halt and Wait Instructions. One halt, one wait a.nd update instruction are
inc.luded in the digital graphic. controller sequence c.ontrol instructions. The halt
instruction is used for debugging ,vhile the ,,,ait instruction ensures that the
displayed image is synchronized lilith the update of mapping memory.
(
I'
.,\
IHREFI
.
HALT REFRESH
15
0
14
13
12
0
0
0
I
I
I
11
10
9
•8
0
0
a
0
I
I
I
Oct: al code:
OOOOXX
7
6
5
4
3
.2
1
a-_. !
a
0
x
x
x
x
x
xl
I
The HREF instruction causes the graphic controller to halt and to send an
interrupt to the display processor. This instruction is normally used for debugging
purposes. Whether the interrupt is enabled and the manner in which it is processed
are determined by the software being executed by the display processor. Restarting
of. the digital graphic controller is controlled by a command from the display
processor as described in Section 7.
0Eexation:
Digital graphic controller:
Halt
,
Process interrupt (if enabled)
"'1
i
, I
f
I
r
(
r
I
I
I
r
3-20
l
r
I
r
r . ,'
Send inten"Uptto display proc.essor
Display processor:
:1
[
I
-.. -
WAIT
IWATEI
15
I
I
I
0
I
I
I
14
13
12
0
0
0
I
I
I
Octal code:
0070XX
11
10
9
8
7
6
5
4
3
2
1
0
1
1
1
0
0
0
X
X
X
X
X
X
The WAn: instruction is used to control the. displaying of a refresh file each
time a frame sync pulse is generated. One and only one WAI! instruction is used in
each refresh file. The mapping memory is cleared each time the WAtE instruction is
accessed by the digital graphic controller. The mapping memory being displayed is
swapped and then the second (non- displayed) mapping memory is cleared when WATE is
encountered. The second mapping memory then becomes the displayed memory_ This
process is repeated each time the WATE instruction is accessed by the digital
graphic con troller •.
-
IWiltl
UPDAT! VIDEO CONTROLLER REGISTERS (EIM)
14
1S
I
I
I
0
I
I
I
0
13 . , 12. 11
10
9
8
7
1
1
1
0
1
0
0
I
I
I
Octal code:
6
5
4
1
X
X
3
X
2
I
I x:
I
0073XX
1
0
X
:{
The UPDT instruction is used to update the selected video controller registers
frau t.he corresponding RAM register without effecting pixel memot"y. It is used, for
example, to display the full screen cross hair cursor, display a split screen, or
change video controller status •
..
..
Change 1
_.J
!
3-21
I
(
-f·..-;
3.3.3 REGISTER INSTRUCTIONS. Register instructions are used to modify the c.ontents
of general purpose registers of the digital graphic controller (display registers)
and to control graphic eonttoller stack operations ..
LOAD DISl'tAY REG.tSTER IMMEDIATE
I
15
I
14
.
,..
13
I 0 I 0
I I
12
I
II
I
10
0 1···1
0
I
I
I
J
6..
..1
a
1
I·
7
8
9
0
1
0
.
,
Octal code:
I
5.
I ....
Q061dd dddddd
o
'., .
f··
nRJ;
I
I
i i ..
"
DATA
I
I
,I .
I
I
(
r
(
---------------------------------------------,
two-word i9tructiOn. used to load data into one of the display
LDD! 1s a
registe.rs of the lliigital graphic controller. The first word identifi.es the
insttuct:lon and the d:lsplay tegister into W'hieh data is. to be loaded. 'The second
word contairut the data to be loacled into the designated register. Bits Oto 5 of
the first word specify, in binary form, the number of the .register to be loaded.
General purpose registers DRO through DR3 are designated by 00, 01,10, and 11
relpec.tively.. See table A"'6 for the complete list of registers that c.an be loaded •
.
1S
14
I' I
I 0 I 0
I I
I
13
0
12
°
11
10
9
11
I
1
0
I
,
8
1
0
1
6
0
I
5
I X
I
AJ:)DRESS
IA.15
Octal code:
006ZXd dddddd
I '~
,i
[~
"'~
I)
3
2
1
0
x:
X
A17
I
X
A16 I
[,"
AO
I
I
I
,{
Al
1$
controller stack pointe:r. The fiI."st word identifie:s the instruction. The seco·nd
word contains the memory address to be loaded into the digital graphic controller
stack pointer.
The LOSPE, Load Stack Pointer Extended instruction, utilizes bits 0 and 1 of
the first W'Ord a$ bits A16 and A17, respec.tively, of the 18 bit extended address to
be loaded into the stack. pointer (for EIM bit on). The graphic controller stack. is
acee.sled in the bank. defined by the bank. register. (See PG'R in Section 4.)
(l)SP)
:1
4
-I·
I
1-----------------------------------------------LDSP
a twO"'"word instruction used to 10a4 an address into the digital graphic
OJ!eration:
J
[J
[ i
LOAD STACK PO INTER
~]
;1
<- ADDRESS
NOTE
Thebaginning of stack may be defined in any bank..
The stack must not transcend bank boundaries.
.~
I
I
I
I
(
J,
f :;
LOAD DEVICE REGISTER lMMEDIATE
!LDRI!
14
15
!
l' 0
I
I
I X
I
''''f~ _
13
I
11
10
9
8
7
6
0 I 1
1
0
0
0
0
12
I
I
I
0
I
I
X
0
Octal code:
5
3
1
2
DEVlf
0
REG if
I
I
I
X
·X I
DATA
1
LDRI is ftmctionally equivalent to NOOP.
the GRAPH IC 7 sy s tern.
It is included for c.ompatibiE ty with
ADD TO DISPLAY REGISTER IMMEDIATE
15
4
0060dd XXdddd
14
13
12
11
10
9
8
7
6
Octal code: 0043dd dddddd
5
4
3
o
1
2
!
I
I
I
DRIP
I 0 I 0 0 0 I 1 0 0 I 0 1 1
I
!
I
I
II--~--------~------~--------~----------------DATA
1+ !
I
!--~--------------------------------------------
ADD! is a two-word instruction that enables a numerical value to be added to or
subtracted from the contents of a display register. The first word identifies the
display register that contains the data to be modified. The second word, in two's
complement form, contains the numerical value to be added (or subtracted from) the
designated register. Bits 0-5 of the first word identify, in binary form, the
number of the register containing the data to be modified. Genera.l purpose
registers DRO through DR3 are designated by 00, 01, 10, and 11, respectively. See
table A-6 for a complete list of display registers.
Operation:
(DRif)
<- (DRlf) +
DATA
LOAD CHARACTER GE NEUTOR
15
13
12
I
I
I
I 0 I 0 0 0 I
I
I
I
I
I BASE ADDRESS
I
,
.J
"
14
set.
1_1•
10
9
8
Octal code:
7
6
5
4
3
0047dd dddOOO
0
0
1
1
1
X
X
X
X
0
0
0
0
0
0
0
0
0
I
I
I A171A161
I I
I
I
0
0 I
I
1
1
0
1
2
LDCG is a two-word instruction that loads the base address of the RAM character
The c.haracter table must be based at 4K botmdaries in memory.
Change 1
3-23
r
ISAvpl~)J
SAVE DISPLAY REGISTER
15
I
I
!
14
13
0
!
I
0
0
11
12
I
0
I
I
10
9
8
7
I
1
0
0
0
_....6- .
0
Octal code:
5
4
.3
2
1
r
0041dd
I.
I'..
0
1
nai;
1
._\
I
}
"
The SAVD instruction causes the contents of the display register identified by
bits 0-5 to be pushed onto the top of the graphic controller stack. Before the push
operation, the graphic controller stack pointer is decremented by two. Bits 0-5
identify the number of the register in binary form. General purpose registers DRO
through DR3 are designated by 00, 01, 10, and 11, respectively_ If ElM: = 1, then an
18-bit stack address is used.
Operatil.:m:
(nSP)
<-
(nSP) - 2.
(Top stack location)
I
I
i
0
I
I
I
14
13
0
0
12
0
I
I
I
11
10
9
8
7
6
(
Octal code:
,5
4
3
2.
1
0042dd
0
(DRIi)
(nSF)
(
I'
1
0
0
0
1
0
DRii
The RESD instruction causes the contents of the top oithe graphic controller
stack to be popped and placed into the display register identified by bits 0-5.
Following the pop operation, the graphic controller stack pointer is incremented by
two. Bits 0-5 identify the number of the register in Mnary form. General purpose
registers ORO through OR3 are designated by 00, 01, 10, and 11, respectively. If
ElM = 1, then an l8-bit stack. address is used.
Operation:
r
<<-
(Top stack location)
(OSP) + 2
J
(I
I
<,
(
(
(
(
[
3-24
<.1
~~~~
(DR#)
RESTORE DISPLAY REGISTER
lRESD(E)/
15
<-
r
"]
r
fi
<;1'"
3.3.4 DISPLAY CONTROL INSTRUCTIONS. Display control instructions are used to
establish and/or change various display parameters as required. An initialized
instruction is also included to permit definite hardware conditions to be
established before a refresh file is processed.
ILDDPI
LOAD DISPLAY PARAMETER REGISTER
15
14
I
I
I
I
0
I
I
0
13
0
11
12
I
1
10
9
8'
7
6
014ddd
Octal code:
5
4
3
2
1
0
"I
I 1 !
I I
DISPLAY PARAMETERS
LDDP is used to modify the contents of the display parameter register.
action of individual bits is as follows:
The
Action
0,1
Character 9ize:*
1 0
0 0 ... size 0 (smallest)
0 1
= size
1 (same as size 0)
1 0 == size 2 (2.0 times size 0)
1 1 "" size 3 (3.0 times size 0)
2
"
Character orientation:
o
:=
normal
1 "" rotate 90° ccw
3
,.
Character parameter change enable:
o = no
change
1 = change character size and/or orientation status to that indicated by bits
0-2
4-10
,
Not used but are always zero
"
J
*See table A-12, page A-70 for character size descriptions.
~-i
\
3-25
,"','.
-
ii
!LDDzl
15
14
13
I I
I 0 I 0
I I
0
Octal code:
LOAD OISPLAY Z REGISTER
1:2
11
I
Jf:' I
'" I
I
10
9
7
4
5
6
I
!
I
0
8
1
2
3
' I
01dddd
0
t
"
DISPLAY Z PA.1W1En:RS
I
I
I
'
~
. ,j
,,'
(
....,;
-
LODZ is used to IlIOa1fy tb.econtents o:! the display Z register.
individual b:i,ts is as fo110WfH
The action of
r
':1,
,!
'"I,
Bit(s)
, .
action
0-2
., Gt'ay level selae t (mode 0 only; no1: mode 1)
,
210
000,..
intensity level 0 (off)
1 .. intensity level 1
thru
thru
, 1 1 1 .. intensity ,level 7 (brightest)
o0
The gray level is also written into the Pixel Data Registel:'
(:~DR)
f
(bits 1-7).
Une structure select:
-o
4 3
0 ,..
..
1 0 ..
1 1 ,.
o1
5
so 11d: vector
dotted vector
dashed vector
dot-dashed vee tor
(3 on, 5 off)
(5 on, 3 off)
(4 on, 4 off t 20 on t 4 off)
Blink. ,select:
o ,..
steady
1 '" blink.
The bUnk. bit is also writt~n into the MSB of the Pixel Data Register.
rate is 1.5 hertz.
The blink
O1sp1ay select:
_ -9 .........
8 1 6
1 X X X '" Display no. 1 enabled
X 1 X X .. Display no. 2 enabled
X X 1 X .. Display no. 3 enabled
X X Xl.. Dis play no. 4 enabled
10
Dis play select change enable:
o ..
no change
1 .. change select status to that indicated by bits 6-9
0pel:'a.tion:
(DZR.)
<-
I
I
I
(
I
I -'
(
I
DISPlAY Z PAR.AMltTERS
,,(
Change 1
(I"
, - - -
15
I
I
I
Octal code:
LOAD TEXT INCREMENT REGISTERS
ILDT!l
1
!
14
I
I
1
I
13
I
I
12
11
10
9
8
LINE INCREMeNT
7
6
o
1
5
4
3
2
1
1401dd
o
TEXT INCREMENT
LDTI is used in conjunction wi th the TXT (draw t"NO tabular characters) to
specify the amount by which each line and each character is incremented. For normal
characters, the contents of the X-position register is incremented. For rotated
characters, the contents of the '[-position register is incremented. The text
increment specified by bits 0 through 5 replaces the contents of the text increment
register. The line increment is specified in bits 8 through 13. See table A-12 for
the recommended line and text increments for character sizes 1 through 3.
Operation:
Normal characters:
J
<- TEXT INCREMENT
<- LINE INCREMENT
<- (OXR) + TEXT INCREMENT
(DTI)
(OLI)
(DXR)
I'
, ',-1'
(followng display of each character)
Rotated characters:
',J
,
,
-'
(DTI)
<- TEXT
(DLI)
(DY'R)
<-
I IZPRI
Octal code:
INITIALIZE
15
I
I
I
INCREMENT
INCREMENT
(DY'R) + TEXT INCREMENT
(following display or each character)
<- LINE
0
!
I
I
14
13
12
0
0
0
11
10
9
8
7
6
0
1
1
0
0
0
I
!
I
I
IZPR is functionally equivalent to a NOOP.
with the GRAPHIC 7.
I
I
0030XX
5
4
3
2
1
0
X
X
X
X
X
X
It is inc.luded for c.ompatibility
,
,
'
3-27
r
··l
f
LOAD PIXEL DATA REG ISTER
ILDFUI
15
I
I
I
0
I
I
I
14
13
12
0
1
1
11
10
9
8
I 1
I
it
X
X
'·1
7
6
(ED1) Octal code:
5
4
3
1
2
034Xddd
I
0
V4~UE
---
15
I
I
I
~10DE
LOAD INSTRUCTION
0
I
I
I
14
0
13
·0
12
0
I
I
I
11
10
9
7
8
Octal code:
6
5
4
:3
1
1
0
1
1
2
-
I
1
See
0072dd
0
I·
I
I
ED1
0
1
The MJDE is used to ll10dify the Extended Instruction Mode (ElM) bits 0-5. The
En! detetmines which set of instructions will be recognized by the digital graphic
controll~r with the. Same opcode. When mode'" 0, the standard instruction set is
used. When mode"" 1, the Extended Instruction Set is used. If bits 1-5 are set, no
mode change results. See table A-2 for a summary of these instruction sets.
INITIALIZE
IINI'!l
,
15
I
I
!
14
I
° II
0
13
0
(EIM)
11
10
9
8
7
6
5
4
I
0 I 1
I
1
1
0
0
1
X
X
12
Octal code:
3
2
X
X
.
I
0071x..'t
1
0
X
X
IN!Tis used to res tore the digi tal graphic controller to power up conditions.
I
!J.'HT resets the split screen function and crosshair cursor on the v'ideo
controller, loads the look ...up table to initial values (see page 7-21), and selects
the color White.
IctRMI
15
!
I
I
(EIM) Octal code:
CLEAR MAP FING MEMORY
0
14
I
I
I
0
,.13
12
11
10
9
8
7
6
0
0
I
I 1
I
1
0
1
1
1
CLRM clears the selected mapping memory.
5
4
X
X
3
2
X
X
.
067XX
1
0
X
X
I
1
.,
,.
f
I
:1
r
I
I
~'l
r
(
...
I
I
I
r
(
Change 1
·~:l
f ~~
I
3-28
1
r
'the L.DPD instruction is used to modify the Pixel Data Regi:ter (bits 0-7).
Section 4.3.2 for a description of the Pixel Data Register (PDR) •.
IMODE I
::-:1
I
."
(ELM) Octal code:
063dd
I I
I
I
I 0 I 0 0 0
1 I X X X X A17 Al61
I__~I______~______~____~l_'__~__~_____ I
I
I
IAIS •
GRAPHIC 8 MEMORY' ADDRESS
AO I
I
I
I
:,..'
I I In I I
lAM lRELllNCIDIR\
,0
..
J
.J
I
I
I I I I I
I
I
I
I
INITIAL X VALUE
I
I
I
I
I
I
INITIAL Y VALUE
I
I
I
I
I
I
~X~
I
I
I
I
I
I
~y~
I
I
I
MVPD controls the transfer of data between the' selected mapping (Pixel) memory
and the display processor memory. The data is defined ~y the GRAPHIC 8 memory
address (bits AO to AI7). The Initial X and Y values and the Final X and Y values
represent the rectangular array of pixels involved in the transfer.
Word I
Word 3
-
Bits
12
Description
GRAPHIC 8 memory address bits A16, Al7
.. 0 Data transfer occurs from mapping memory to GRAPHIC 8
memory
.. 1 Data transfe·r occurs from Graphic 8 memory to mapping
memory
3-29
r
13
'" 0 The XY pixel scan is left to right mO'ling from 'bottom
to top.
'" 1 The XY pixel scan is bottom eo top moving across from
left to right.
14
J
Description
Bits
'" 0 Initial X and Y values are abs"olutepixel addresses of
the lower left corner of the rectangular pixel array.
The final X and Yvalues are absolute pixel addresses
of the upper right corner of the rectangular pixel
array.
'" 1 Initial X and Y values represent pi~cel increments from
the c.urrent X, Y pixel address to the lower left corner"
of the pixel array.
r
l
•
f
I '"
r
The final X and Y values are the pixel increments from
the current X,Y pixel address to the upper right corner
of the rectangular pixel array.
15
Addressing mode
"" 0 GRAPHIC 8 absolute address
:III
1 GRAPHIC 8 memory displacement from the display program
counter (lst word after word 7)
Each pixel array corresponds to an array of co"nsec:utive 1'1. hi t hyt~s in the
GRAPHIC 8 memory. n (= 4,8) is the number of bits per pixel including the MSB or
blink bi t. The va.lue in the n bi t byte represents the gray level of the corresponding pixel.
f
(
I
J
I
I
[
i·
..--1
~,
, ..
-
IMDLiiI
15
I
I
~,
MOD!FY LOOK-UP TABLE
14
13
0
I
oI
11
10
0
0 I 1
1
0
0
0
0
12
I
I I
I
IAl'
I
I I
lAM I
I
I
I I
I 0 I 0
I I
I I
I 0 I 0
I
I
I,
(ElM) Octal code:
066Xd
8
7
6
5
4
3
2
0 I 1
1
0
X
X
X
X A17 A161
9
I
1
-
0
I
I
I
I
GRAPHIC 8 MEMORY'ADDRESS
AO I
I
I
NUMBER OF GRAPHIC a a-BIT BYTES
I
I
VIDEO
I
I
0
0
0 0
0 I 0 0
0
CONTROLLERS I
I
I
I I
I
0
0
0 I 1 I
LOOKUP TABLE ADDRESS
I
I
I
,
MDLU is ,used to modify the 1fideo controller look""Up table. The look-up table
defines the manner in which the data in mapping memory is presented to the display
without modifying the refresh data itself.
Each video controller contains a 256 x a-bit word RAM look-up table (LOT)
(starting at video controller memory 400 (octal») which permits pseudo-color or gray
level transformations.
, .J
The GRAPHIC 8 memory address specifies the beginning of n consecutive 8-bit
bytes (where n is the number of GRAPHIC 8 bytes, word 3). If the addressing mode
(AM) bit is 0, then this address is absolute. If the (AM) bit is 1, then the value
represents a displacement from the program counter (1st word after word 5). The
contents of each byte is the desired new gray level (or color) for each
corresponding gray level (or color) in mapping memory.
The Video Controller number is assigned as follows:
..
I
Controller
Number
Word 4, value for bit:
3
2
1
0
1
2
3
0
0
0
0
0
1
1
0
0
4
1
0
0
1
0
0
0
Any combination of controllers can be assigned with the same MOLU instruction
by setting any combination of these bits.
; ..
The LUT beginning video controller address is 4008. Addresses greater than
4008 but less than or equal to 7778 may be specified to modify a portion of the
LUT.
j
3-31
I
The useable portion of the LUI is Ii- function of the number of bits per pixel
and the blink capabill ty of the configuration. If bUnk. is not enabled t then all
bits per pixel (number P) are used for pseudo gray level (or color). Therefore,
with no blink, the useable po rtioi'l., of the LUT is fro~4008 to 4008 + Zp - l .
If the conf:tgura,tion has blink, then the MSJ3 is used so only P... l bits are used
for the pseudo gray level (or color). Therefore, with bllnk.,·the useable po rt i.on of
the LOT is . rtOUl 4008 to 4008 + 2P"' 1 .. 1.
For e:ua;ple, suppose the com igurationhas 4 bits per puel w:t,th blink for
video controller number 1. InitiallY, the ;r..U'I' loot<.s like:
VideQ Controller Address (octal)
Contents,
..
,
o
400
401
402
1
2.
--
406
407
6
7
We wish to modify the LUT to reverse the roles of gray. levels 0 and 7 (reverse
video). The MIlL!] inst'l'U(!tion is:
I
• WORD
6600
the MDLU opcode
• WOE {;ADR
G8 metl101:'1 address or d,isplacement (1£ AM • 1)
LO
f;of 13-'01 t bytes
controller 11
1
400
j,
Ltl'!' address, in video controller RAM
where
ADR:
Location 0 of the LUI defines the background
color. Blinking is be tween the defined
color and black, regardless of the back....
ground eolor.
Change 1
I '. :.
'
,
'
:~
'.;:,.8
f'
f:
f
,,_ ..
I
".
,;1
f
I
/>
I
,
..
• BnE 7, 1, 2,3, 4, 5, 6, 0
NOTE
3-32
r
I ,~
(EIM) Octal code:
FILL A CONVEX POLYGON
15:
I . I
101
I ~. I
I . I
14
0
13
0
12
11
I
0 I 1
I
I
lAM
I
10
9
8
7
6
5
4
3
1
1
1
0
1
X
X
X I X Al7 Al61
I
IA151 •
I
I I
lULl
I I
0075XX
I
.1
ADDRESS FOR LIST OF. VERTICES
NUMBER OF VERTICES
2
1
0
I
I
I
AO I
I
I
I
I
where the address contains:
Xl
11 Xl
Yl
AYI
•
"
I
OR
i
I
..
~
"Yn
Yn
Third word bit 15 • 0 for absolute address of list
- 1 for displacement from the program counter (first
word after word 3)
and
bit 14 • 0 for absolute
~ertices
I
bit 14 • 1 for relative ~ertices. Each vertex is relative to
the current X and Y pOSition, not to other vertices.
The adjacent vertices are Usted in either the clockwise or counterclockwise
direction. The last vertex is adjacent to the first in the list. A previous LDDZ
or LDPD instruction is used to specify the gray or color level for the filling
algorithm.
The fill algorithm is based on the geometric shape of the convex polygon.
convex polygon has all its interior angles less than 180°.
Change 1
A
3-33
f;
.{ '. !i
There is no limit to the number of vertices that can be specified except the
size of read/write memory. If a non-convex polygon is specified unpredictable
results will occur. Maximum execution speed is obtain·ed· if the vertices are
specified in the clockwise direction starting with Y maximum.
NOTE'
The on and un relllain \1nchanged. The beginning'
ofth:e vertex list can be in any bank. Ro'Wever,
the vertex Ust must not transcend bank
bounda.ries ..
. (., "1
,
I."j.
I
f;
f ,"
\{
( I:,.::
'
{
,,~;"
t";
·f;
'I:
{.
I,
,.
[.'
3--34
(:
,
..
SECTION 4
GRAPHIC 8 REGISTERS
4.1
GENERAL
GRAPHIC 8 registers fall into three major categories! display processor
registers, digital graphic cant roller registers, and interface registers. This
section describes the application and format of each register in each category and
identifies the address assigned to each. A summary of the data contained in this
section is provided in Appendix A.
4.2
, ,
DISPLAY PROCESSOR REGISTERS
The display processor contains eight general registers designated RO through
R7. These registers function in a manner similar to the corresponding registers in
a minicomputer of the PDP-ll type manufactured by Digital Equipment Corporation
(DEC). Details concerning the applications and formats of these registers are contained in the DEC PDP-ll/04/34/45/55/60 Processor Handbook which should be used as a
supplement to this manual. Note, however, that addresses are not assigned to the
display processor registers.
An 8-bit switch register is program readable (used by GCP) from octal location
177774.
4.3
DlaITAL GRAPHIC CONTROLLER REGISTERS
Digital graphic controller registers can be divided into six groups: processor
registers, function registers, sense and mask registers, function control registers,
display control registers, and configuration register. The following paragraphs
provide details concerning the application, format, and address of each register of
each group. The RAM register address, RRn, refers to a Rk~ address in the digital
graphic controller. The register is accessible by program control only if it is
also assigned an octal memory address: nnnnnn. Refer to Appendix A for a summary
of the data applicable to digital graphic controller registers and their display
register numbers (DRn).
NOTE
Except for the sense. and mask, and the function
control registers, all graphic controller
registers a~e 16-bit registers. In several cases,
however, fewer than 16 bits are used. The
descriptions in the following paragraphs consider
the size of each register to be equal to the
number of bits used •
.".)
4-1
1
4.3.1 PROCESSOR REGISTERS. Processor register's of the digital graphic controller
comprise four general purpose registers, a st,ack pointer t a program counter, and an
instruction register. These registers are the general working registers of the
graphic controller. Each has an octal adciress and, when the graphic controller is
halted, the contents of each can be read by the display processor using programmed
data transfers.
Oc tal address:
GENER.ALPURPOSE REG!STE:Rn
thru
165002 (nRO)
165004 (DRl)
I
-
If .,
I
165032 (DR2)
165034 (DR3)
IDR31
14
15
l3
l2
11
lO
7
8
9
5
6
43
2
1
o
Ea'ch of the fo·ur general purpose registers (display registers) in the digital
graphic controller is a l6-bit register that can be used as required for general'
operaUons or for te.llporary storage of data. Additionally, the contents of DRO can
be tested and a jump executed if the value is not equal to zero. Pata is' written
into the general purpose registers using graphic controller instructions.
PRO thru DR3:
Associated. instructions:
LDDI
ADD I
DROonly:
-17
IDS]? I
,"'
I
I
JPRZ
Octal addtess: 165000
STACK POINTER
15
16
I
I
I
14
13
l2
11
10
9
I
I
I
7
8
I
6
.5
4
3
2
1
. I
a
The stack pointer is a 16-bit register that contains the address of the top
loca tion in the memory s tack. It is loaded by the graphic con troller LPSP (E)
instrtlc tion. ~.then ill SAVD(E) instruc tlon is used to push data onto the stack, the
contents of the stack pointer is autdlllatically decremented by two before the push
opera.t:f.on Occurs. When a RESD(E) instruction is used to POP data from the stack,
the contents of the stack point;e.r if a'utOO1atically incremented by two following the
pop operation. Call and return inst'ructions make similar use of the stack pointer
to save and restore the contents of the program counter when a subroutine is
performed.
Associated instructions:
4-2
tDSP
SAVD
CALL
CALR
RESD
RTRN
,
,';
SAVD
RESD
JMPZ
'),
II
f
I\
f
I
I:
I'
f
f-
PROGR&'1
COUNTER
."
15
14
13
12
11_ 10
9
8
Octal address: 165006
7
6
5
• I
4
3
2
1
o
.1
The program counter is a 16-bi t register that contains the address .of the next
instruction to be ~~ecuted by the graphic controller. The program counter is
initially loaded by the display processor with the starting address of a refresh
file. This automatically starts the digital graphic controller. As instructions
are executed by the graphic controller, the contents of the program comter is
incremented automatically. A. one-word instruction causes the contents to be incremented by two while a two-word instruction causes the contents to be incremented by
four (bit 0 is always zero). For this reason, increments used for relative jumps or
calls must be calculated from the address immediately following the location of the
jump or call instruction.
A$sociated instructions:
All
DISPLAY INSTRUCTION REGISTER
IDIRI
15
14
13
12
11
10
9
8
7
6
Octal code: 165010
5
4
3
2
1
o
The display instruction register is a 16-bit register into which each
instruction or data word fetched by the graphic controller is placed.
Associated instruct;:ions:
All
, .._....
4-3
4.3.2 FUNCTION REGlSTERS. These function registers are loaded by the digital
graphic controller instructions as required to control the functions performed by
the m.icrocode. Each function register has an octal address so that, ","hen the
digital graphic. controller is halted, the contents of the registers can be read by
the display processor using programmed data transfers,.
IDnl
X POSITrON REGISTER
15
1L.
13 '12
I
I
I
11
I
I
I
10
I
I
I
I
9
7
8
x:
I
I
[
'~.
I
~~
Octal address: 165020
6
5
4
3
,
2
1
0
COORDINATE VALUE
(
I
l__SIGN/OVERFLOW
BIT
1
_ _--:SIGN BIT
The position register is a 12-bit register that contains the value of the X
coordinate of the screen position~ When a digital graphic controller loads absolute
data into the X position register, the 11 bits that specify the value of the X
coordinate are sign, extended to fUl the 12 bi t8 of the register. When an
instruction specifying relati,re X position data is executed, the speCified data is
added to the con-tents of the X position register. Bit 10 serves as an indicatol;' of
overflow conditi¢n. Whenever the addition of relative data causes the value in the
X position register to exceed programmable limits, bit 10 will differ from bit 1l.
Under thesec.ondit1ons, if the X/Y overflow bit in the mask. register (MKlt) is set
and the interrupt is enabled, the graphic cont:roller will halt and interrupt the
display proceSsor. If the X/Y overflow bit is not: set, relative data wUl still
modify the register contents but the screen will be blanked ut'ltil bits 10 and 11 are
no longer different. Coordinate values are expressed to two's complement form and
may range from 17778 (+1023) to 20008 (-1024). The zero X coordinate defines
the vertical center line of the CRT screen. Positive coordinates are to the right
of center; negative coordinates are to the left of center. Note that only the
ITalues from 07778 (+511) to 30008 (-.512) fall into the displayable area of the
CRT. Values outside these limits cause the display to be blanked (see figure 4-1).
Associated
instructio~q:
LDXA
LDXR
DR.."{A
DRXR
PPTA
PPYA
MVXA
PPLR
MVXR
TXT (for normally oriented
DRSR
MVSR
I
(
1:
,I
I:
t,
characters)
PPTR
PPYR
I:
4-4
-1
r'
.-'~
~
-
. _- +
............
-
v
..... _--IlOOO
Y - 3717
I
I
I
I
I
NOTE
Coordinate designations are in octal format
0
.
Figure 4-1.
Addressable vs. Displayable Mapping Memory Areas
for 1024 x 1024 Screen
4-5
.--~
~.
I
..
!f,.1.
-.
loyal
..
Octal address: 165022
Y POSITION REGISTER
f~'
:~~
'W'.
10 . 9
8
I fl
I
~I
7
5
6
4
3.
I
1
o
y COORDINATE VALtrE
IH.,
}
$:-
--.i-.i, . . stcm
..
:SIT
" .... bit register that contains the value of the Y
'The Yposition register is 11::t2
coordinate of the screen polition~ This register is identic.al to the X position
register and perfo~s the $ame functions .for Y coordinate data that the X position
register performs f,or X coordinate data. The XlY overflow bit in the lllask register
(MKR).is applicable to the Y as well as the X position register. '!hezaro Y coordinate defines the hodzontal center line of the CRT screen. Positive coordinates are
above the center; negative coordinates are below the center.
A$sociated 1%).struetions:DRYA
011YR
-
MVYA
DRSR
MVSR
PPUt
MVYl
'tXT (for rotated charac.ters)
DISPLAY CHARACTER REGISTER
IOCRI
15
14
q
13
f
11
PPTA
PPT~
PPYA
PPYR
Octal addre$S; 165024
10
9 8 1.' 6 5 4 3 2. 1 0
"'_I',
ASCII CHARACTER CODE
The displaY character register is a se'V'en-bit register that contains the c04e
of the c'haraetet or symbol to be displayed.. A.SCI! codes are used for standard and
optional cha,rac:.teu:s and symbols as shown in AppendiX A.
Assoeiated instructions:
'.
I
f ::1
.....,
,-'I
'_~
I ;.
I...,....
,~ SIGN/OVERFLOW BIT
:_.-;
,-~,
:',,'
1. ,
I,
,(
I
,,f, .
I ','
t"4
f
l~
(:
',1,
4-6
"I
I
f ,. ".. ,
I
f
..
~
TEXT INCREMENT REGISTER
IDTII
..
14
15
13
12
I
I
I
11
0
I
I
I
10
0
9
8
7
6
0
0
0
0
I
I
I
Octal address: 165012
5
4
3
2
1
0
TEXT INCREMENT'
The text increment register is a 12-bit register that contains the value by
which the screen position is to be incremented after each tabular character is displayed. Bits 0-5 may be programmed as required; bits 6-11 are always zero. After a
normally oriented character is drawn, the value in the text increment register is
added to the value in the X position register. After a rotated character is drawn,
the text increment value is added to the value in the Y position register. Note
that this register is associated only with the TXT (draw two tabular characters)
instruction. No automatic incrementing of the screen position occurs when the CF~
(draw single character) is used.
Associated,instructions:
TXT
LotI
-I
i
-
101.11
LINE INCREMENT REGISTER
I
I
L
15
i
14
13
12
I
I
I
11
0
I
10
I a
I
8
7
6
I
a I a
0
0
.9.
Ram address: RR126
5
4
3
2
1
0
LINE INCREMENT
I
The line increment register is a 12-bit Ram Register that contains the number
screen coordinate units that are advanced after the control character, Line Feed, is
encountered in the TXT or CHAR instruction. For horizontally oriented characters,
the line increment value is decremented from the Y position register. For
vertically oriented characters, the line increment value is incremented to the X
pOSition register.
Associ.;ttedinstructions:
TX'!' CHAR LDTI
...,.;.
,
••.Jl
iJ
4-7
r
CONIC X DATA REGISTER (OPTIONAL)
IK:{!I
Octal code: 165026
" I
II
I
"1
11..
15
I ....I
I
12
13
""
10
11
,- j
8
9
I
I
I
I
I
6
5
4
3
2
1
0
"j
I
IQIIII QI
7
J
X SEMI-AXIS LENGTH
The conic X data register is an II-bit register that contains the value of the
length of the X semi-axis (distance from the ellipse center to its perimeter on the
X axis) for an ellipse to be displayed. The X semi-axis length is contained in bits
0-8. Bits 9 and 10, respectively, designate unblanking for quadrants I (upper
right) and III (lower left). A zero indicates the image in the quadrant: is to be
blanked while a one indicates the image is to be unblanked. Loading this register
dloes not change the current screen position. Not"lllally, this register is loaded by a
(load conic X register) instruction. If a DRKY (draw conic Y register)
instruction is not preceded by a LDKX instruction, the data spedfted by the LDKY
instruction will be loaded into both the conic X and the conic Y data registers.
I
I
':".~,
:
f-.'
LD~X
Associated instructions:
IKYRI
LDKX
DRK"! (when not preceded by LDKX)
CONIC Y DATA REGISTER (OPTIONAL)
15
14
, I
13
, I
12
11
I
10
9
8
I
I
!
I
!QlvIQII!
I,
7
6
4
3
2
1
o
YSEMI -AXIS LENGTH
The conic Y register is associated rNith the optional conic generator card. 1t
is an 11-b.i t register that contains the value of the length of the Y semi-axis
(distance from the ellipse center to its perimeter on the Y axis) for an ellipse to
be displayed. The Y semi-axis length is contained in bits 0-8. Bits 9 and 10,
respectively, designate unblanking for quadrants II (upper left) and IV (lower
right). A zero indicates blanking while a one indicates unblanking. Loading this
register changes the current: screen position in accordance with the data in the
conic X and the conic Y data registers (the ellipse center is defined by data in the
X and Y position registers). Data is loaded into the conic Y data register using a
DRKY instruction.
Associated instructions:
DRKY
{
,(
l'
f
I
(
I
I:
4-8
\
'I
Octal address: 165030
5
f
"'I
..
,
;..,.,;
DISPLAY Z REGISTER
IDZRI
-I
I
I
15
14
13
12
11
I
10
9
8
Octal address: 165016
t,
7
6
5
{4
I····
2
3
0
I'
I
I
I
-,
I
I
DISPLAY SELECT CHANGE ENABLE ___ I
l __
1
DISPLAY SELECT _ _ _ _ _ _ _ _ _ _ _
1
BLINK SELECT
I
LINE STRUCTURE-=-S==E=L-=E-=:CT=-------------1
GRAY LEVEL SELECT ________________________ 1
The display Z register is an II-bit register containing data that controls the
Z-axis parameters of the associated display indicators. The action of the
individual bits is as follows:
L: .
Bit(s)
0-2
Action .
Gray level select:
..
210
--000 ... intensity level 0 (off)
001 = intensity level 1
thru
1 1 1
= intensity
level 7 (brightest)
This gray level is also wri~ten into bits 1 to 7 in
the Pixel Data Register (PDR). See the Note.
3,4
Line structure select:
! .
4 3
o 0 = solid vector
o 1 - dotted vector
1 0 = dashed vector
1 1 = dot-dashed vector
5
Screen Coordinates On/OH*
3 ON, 5 OFF
5 ON, 3 OFF
4 ON, 4 OFF, 20 ON, 4 OFF
Blink. select!
o ""
1
::0
steady
blink.
This blink. bit is also written into the Pixel Data
Register as the MSB. The blink rate is 1.5 hertz •
..J
*For a 512 x 512 screen, one pixel represents
t~o
screen coordinate units.
4-9
1
I
If
Action
Display select:
987 6
~
1 X X X ,.. Display No.1
X 1 X X .. Display No. 2
X X 1 X .. Display No.. 3
X X Xl'" Display No. 4
enabled
enabled
enabled
enabled
The Display S.elect bits 9-6 are ma.pped to bits 0-3 of
the Display Select Register (DSR).
Display select change enable:
10
o ...
no change
1 ,.. change display select status to that indicated by
bits 6.,.9
~~sociated
instructions:
tDDZ
NOTE
The DZR bit 5 (blink) and bits 0-2 at'e mapped to
the PDR register as follows:
Bits per
Pixel
4
8
76543
2
f -,
_'.1
l
f
,
t
(
1 0
521 0
210
5
1
In llide 0 the intend ty bits are witten through
the DZR for compatibility with the GRAPHIC 7
systems.
In Mode 1 the LDPD instruction is used to specify
intensities.
I"
I
t
...
-1
f
I,
I,
I:
It
-,-,
Octal code: 165014
DISPLAY PARAMETER REGISTER
iDPRI
15
14
13
12
11
I
I
I
10
9
8
7
6
5
4
0
0
0
0
0
0
0
3
2
1
0
CHA.R.ACTER PARAMETER CHANGE ENABLE
CHARACTER ORIENTATION
--------CHARACTER SIZE
----------------------------------------------
The display parameter register is an ll-bit register containing data that
controls various parameters of the associated display indicators. The action of the
individual hi ts is as follows:
Bit(s)
0,1
Ac1;ion
Character size:
(Also see table A-12)
1 0
a0
= size
0 (smallest)
- size 1 (same as size 0)
1 0 = size 2 (2.0 times size 0)
1 1 = size 3 (3.0 times size 0)
o1
,
.'
2
Character orientation:
o = normal
1 - rotate 90° ccw
3
Character parameter change enable:
o = no
1
4-10
change
= change
character size and/or orientation status to
that indicated by bits 0-2
Not used, but are always zero
.,J
4-11
1I,
LEFT MARGIN REGISTER
15
14
13
12
I
9
8
6-
7
5
2
3
4
1
I
I
I
I
-I
10
11
Ram address: RR108
I
X (or Y)
1'.
f
0
COORDINATE VALUE
I,.
I
I______--____~~--~~-----------------------------
I
SIGN
SIGN ~O~VF~1.~
.. - - - -
The left marg:in register contains the X position value (or Y position value if
rotated te.."tt) that defines the position at which the next character will be
presented whenever a CRcontrol character is encountered. The margin value is
stored when an STX: cha:!;"acter is specified in a CHAR or TXl' instruction as the
current DXll (or DYR.).
.
Associated instructitrns!
PIXEL" DATA REGISTER
IPDil
•
CH.AR TXT
15
14
13
12
11
10
9
8
Octal addre$s: 165044
6
7
4
5
2
o
1
The Pixel data register is an eight-bit register that contains a value
specifies an index into the lookup table and the blink status. If blink is
the MSB of this value represents the blink bit:. '!'he remaining bits are the
into the lookup table. Bits 8 to IS are not used. The blink bit is set by
instruction only.
A$sociated instructions:
-.,.....p+
LDPR
The following summarizes the use of the FDR for
various bits per pi.:te1 and blink (*).
-
Blink
Bits per Pixel
Yes
3
No
4
7
8
Yes
No
7
6
1
0
2
2
2
2
1
1
1
1
0
0
0
0
'*
'*
7
6
6
5
5
4
4
3
3
3
J
l
f
I
II
I
l:
NOTE
PDR Bits
5 4 3 2
that
enabled,
index
the t.DDZ
I
I
..
f:
,.
II
I:,
1.
-1
!
Octal address:
GRAPHIC CONTiOLLE..tt BAl.'iK. REGISTER
15
14
I
13
12
11
10
9
7
8
5
6
3
4
2
1
~<65014
o
MEMORY I
I
BANK
1,-.,
The graphic controller bank register is a two-bit register used to extend the
memory addressing capability of the graphic controller up to a total of 131,072
(l28K) words.
Ipazl
DISPLAY PROCESSOR PAGE REGISTERS
Iml
I
I
IpRJI I
Octal address: 172342
15
14
13
12
11
10
9
7
B
I
6
I
4
I
I
I
-
3
2
1
I
MAPPED
PAGE:
°II Octal address:
172344
I Octal address: 172346
The display processor page registers are 5-bit registers that are used to
extend the memory addressing capability of the display processor up to a total of
131,072 (IZeK) words •
11
.
5
'~.
NOTE
,j -
t~
Refer to Sanders publication H-78-o40B for
detailed information on programming the page
registers of the GRAPHIC B.
. ;
;.
,to
..
~
..... j
,
4.3.3 SENSEAND.M4\.SKREGISTERS.
One sense and one mask register are a sso,cj, a ted
with the digital graphic cout'roller. Both registers are as.signed octal addresses
and may be read at any t:1me by the display processor using programmed data
t'ransfers. Programmed data transfers may also be used by the display processor at
any time to write data into the mask register.
SENSE REGISTEl
15
14
13
12
11
10
.~
8
I
I
I
PP2 SYIIen ACTIVE
Octal address: Ih660
7
6·
"
I
I
I
I
I,
PPI SWI'tC11 ActIVE _ __
1W..TEP
5
4
I
I
I
.I
I
I
3
I
I
I
2
1
I
0
I
I
I
---
The seMe recister isa one-bit register that ind.icates t1;1e halt status of the
digital graphic controller. the remaining bit.$ are not used. !he condition
indicated by bit 4 when·it is set tol is as follows:
--
•
Bit
4
Condition. In4icated. When Se'1:; to ~
Digital graphic controller is halted for one of t,he
folloWi ng rea sons:
1)
O:l.splay processor sends stop function code (165040) to
graphic controller
2)
Display processor executes RESE'tinsttuction to
initialize devices on controller bus
3)
BREi' instruction executed by graphic controller
4)
LINK instruction executed by graphic controller
5)
Bus timeout (mea;rry fails to respond to a fetch
ccmmand)
6)
X or Y position overflow (bits 10 and 11 in the X
poSition or the Y poSitiotlregister are different and
the X/Y overflow bit in the mask register is set to 1)
I
4-14
6
P110TOPEN swi tah 1 :£. s act ive
1
PRO'I'OP!N swi teh 2 is active
Change 1
I
I,
f
I ,~'J:
f ':]:
J'~
,I
_:-:1
f
:~I
{--'
{
{'
I
I:
I
I
IMKRI
MASK REGISTER
15
14
13
12
11
10
9
8
7
Octal address: 177662
6
5
4
3
2
1
o
PP2 SWITCR:...-_ _ _ _ _ _ _ __
PP2 STRIKE
PPI SWITCH·------........- - - - PPI STRIKE
REAL TIME ~CL~O~C=K~-------------------------
X/Y Ov"ERFLOW
HALT
--------------------------------------
The mask register is a seven-bit regist~r on the ROM and Status card that
enables the digital graphic controller to report condi tions to the display processor
on an interrupt basis. An interrupt occurs when the condition is met and the corresponding bit in the mask register is set to 1. Bits in the mask register can be
set or cleared as required by the display processor using programmed data transfers.
Addi tionally t programmed data transfers may be used at any time by the display
processor to read the contents of the mask register. Seven different interrqpts are
enabled or inhibited by bits 1 through 7 (bits 0 and 8-15 are not used). The
interrupt and the interrupt vector address associated with each bit are as follows:
Bit
t'._
Interrupt
Vector
Address
(octal)
Associated Interrupt
1
Graphic controller halted by HREF instruction
000140
2
X or Y position overflow (bits 10 and 11 in X position
or Y position register are dif ferent)
000144
3
Real time clock (interrupts at rate of 60 Hz)
000100
4
PHOTOPEN 1 strike
000150
5
PHOTOPEN 1 switch activated
000160
6.
PHOTOPEN 2 strike
000154
7
PHOTOPEN 2 swi tch activated
I
NOTE
Refer to H-82-1319 (Vistagraphic Series PICK
Routine User's Manual) for PHOTOPEN usage.
Associated instructions:
Display processor programmed data transfers
(read or write)
Change 1
4-15
4. 3. L~ FUNCTION CONTROL REGISTERS. Two function control registers are associated
with the digital graphic controller. These registers are actually only addresses
that may be accessed by the display processor. Simply by ace,essing function control
register addresses, the d:i.spl.ay processor can halt or restart the graphic controller
as required.
-
I FUNS I
, FUNCTION CONTROL STOP REGIS'l'ER
15
14
13
12
11
10
9
8
7
6
Octal address: 165040
5
4
3
2
1
o
The function control stop register is a function control register used to halt
the digital graphic controller. The HALT bit 4 in the sense regist~.r SENS must be
checked for the digital graphic controller being halted before pro~,eeding with code
that assumes the c.ontroller is halted. Whenever the display processor accesses the
address assigned to this register, the gra.phic controller halts.
A.ssQciated instructions:
,
-
IFuNcI
Io::pcca
AcceSsing address 165040 by display processor
FUNCTION CONTROL CONTINUE REGISTER-
15
14
13
12
11
10
9
8
7
6
5
Octal address: 165036
4
3
2
1
.0
The function control continue register is a function control register used to
restart the graphic controller after it has been halted. The HALT bit 4 in the
sense register SENS must be checked whether the digital graphic controller has
started before proceeding With code that assumes the graphic controller is running.
When~~er the display processor accesses the address aSSigned to this register, the
graphic controller resumes processing from the point at which it last halted. ~ote
that this register should not be accessed unless the graphic controller is halted.
Associated il'l.st1:Uctio!!,s.=
4-16
Accessing address 165036 by display processor
4.3.5 DISPLAY CONTROL REGISTERS. Any ccmbination of four video controllers'tnay be
selected by the LDDZ instruction. Twelve display control registers are asso-'---·--~-·1·
I(SX1,SYl)..;.//
I
: :+
i
I
I
.
I (5)(2, SY2~ -'
II
-,"/
I.
~I.~aI
I
t
--
-
-
-
-
,.}- - - - - ... - - ... - -.-
I
+
I
I.
..
I
f
l.N2
I
+
---------+f----,
1"""'1
I
I
lN3
,
I_-.....______-'*!o.....---.1
I
I
NOTE
The system sets up SX1, SY.l, LNl to display
the complete screen ,..men sp11 t screen is not
being used.
Change 1
1
I
--I
I
4-20
I
:1-----------1:1-.
!
I
tI":1.N3- II
I.
00
I
I
1
/
'""
- _ .... r l
I
If'-- , - - - I
~3,m) .....
2048
PIXELS
-
,,"7r -:- - - - - -- - - - - .J -'
-------i"'l!.;---,
SCREEN
-
I
I
I
I.
I
t
I
f
I
I
I
I,
4.3.6 CONFIG1.J'RATION REGISTERS. Three types of regi stersareavallable to determine
the configuration of the present GRAPHIC 8 installation.
locrl
DISPLAY CONFIGURATION REGISTER
15
14
13
12
11
10
9
8
7
Octal address: 165052
6
5
4
3
2
1
0
Display meni tor number n (1-4) is configured into the system wthen bit n-l of
the Display Configuration register is set.
Octal address: 165046
VI DEO CONTROLLER DmECTORY REG ISTER
15 _ 14
13
12
11
6 _ 5
10
4
3
Video controller number n (1-4) is configured into the
set in the Video Controller Directory register.
14
13
i
12
11
'10
9
8
syst~
1
o
when bit n-l is
Octal address: 165070
CHARActER FONT REGISTER
15
2
.7
6
5
4
3 .. 2
1
0
VALUE
This register contains a value indicating the character font present in the
current coI1figuration.
I
Value .. 377 for 7 x 9 font
.. 371 fo r 5 x 7 fon t
.
.,
-.1
Change 1
4-21
-
Isal
System Configuration Register
15
I
I
I,
I
I
14
I
I
13
.11
NOT USEl)
BLINK STATUS
RESERVED Foa
aumwAD
SCmN lUSOLoTION
12
11
I II
I' I I
I
L
10
8
1
7
6
I' I
5
4
I I
II
I
I
I
OCtal address:
.3
I
I
I
2
1
I
I
J
o
,
f"'~
I
NUMBER OF VIDEO CO~NTR:::e:.~O~LU~·:'!:'R"!:"'S"""--MEMORY FUtD SIZE _ _ _ _ _- _ _ _ _ _ _ _ __
BITS PER PIXEL
USE'RVED FOR BAlU)~":=:w.'.;':'ffi~::r.'_.- - - - - - - - - - - - - - - -
,,',
(
B:t't(S2
VALUE
1...2
Bits per pixel:
2
I
I
165050
l
I
I -,
1"::
f ,-"
1
0'
T
1
1
0"
1..
- 2 bits per pixel,
4 bits per pixel
8 bits per pixel
:(
"
Memory field size:
5
0'
I
0
0
1
1
1
1
4
.3
a
T
1
1
0
1
0
1
1
1
0
0
0
1
....
..
.
III
'III
X
2048
Y
'It
lola
1024 'It 2048
2048 :It 1024
1024 11: 1024
512 x .1024
1024 11: 512
512 x 512
I
I ...
Nu'!l1.ber of Video Con troller
7
6
0"
'0 ..
1
1 .. 2
0.. .3
1
1"
o
1
4
Screen RIa so lution:
9
8.
'0 0'
0 1
1 0
1 1
.
...
'III
512 x 512
640 x 480
1024 'It 768
1024 'It 1024
.
I: , -
Blink/No BUnk:
12
0- ..
1
..
MSB or PDa is blink bit
MSD or PDR is part of pixel data.
f,
r
Change 1
I"
4.-4
INTERFACE REGISTERS
Interface registers are associated with the various serial aud parallel interface ports of the GRAPHIC 8. The following paragraphs provide details concerning
the format and the address assigned to each interface register. Refer to Appendix A
for a summary of the data applicable to the interface registers.
4.4.1 SERIAL INTERFACE REGISTERS. Up to thirteen serial interface ports are available for external devices to communicate with the GRAPHIC 8. One is located on the
ROM and status logic card and four are located on each multipart serial interface
card (three multiport serial interface cards may be installed in the terminal
controller). The designations of these ports and the associated devices for 4
keyboards and 4 PEDs are as follows (note that ports 1, 5 and 9 can be used either
as basic serial interface ports or as full RS-232C interface ports):
Port
Desianat!on
..
.'.:
-
1 (RS-232C)
2
,.;"
3
.
~.,
Associated
Device
-,
Location
Has t computer
Alphanumeric/Function Keyboard no. 3 I Multipart serial
Alphanumeric/Function Keyboard no. 1 , - interface card no. 1
PED no • 1
I
-
4
5 (RS-232C)
6
7
8
-I
Unused
,
Multipart serial
PED no. 3
Alphanumeric/Function Keyboard no. 2 , - interface card no. 2
PED no. 2
_I.
12
Alphanumeric/Function Keyboard no. 4-'
PED no. 4
I Multipart serial
, - interface carcino. 3
Unused
Unused
I
TTY
Teletypewriter
9
(RS...232C)
10
11
-
ROM and status logic
card
Bits 0-3 of the Display P~ocessorrs 8-bit switch register (octal location
177774) represent the port assignments for keyboards and PEDS. When LOCAL or system
mode is entered, GCP connects the corresponding device interrupt routines to the
proper ports.
The follOwing describes the assignment of serial interface ports 2, 3, 4, 6", 7,
8, 9 and 10 for different GRAPHIC 8 configurations. Port 1 is reserved for the
host. Port 5 is unused •
..........
i
i
L.:':'::
4-23
.;
I
I
Value in bits 0-3 of the I I
sw:i,tch register represent II
I the number of keyb(lards
II
I....:::;.in::.;.._t;.;::h;,;::;e...;s;;..y~s;..;;t_em;;;:;.~:;........-.-_ _ _ l I
I
I
I
I
I
I
I
I
I
I
I
I.
I
I
I
I
II
I
II 3 7 2 9 10 6 S 4 I
11"""-17 2. 9 10 6 8 4 I
II 3 rl2 9 10 6 8 4 I
II 3 7 rig 10 6 8 4 I
II :3 7 2 9T106 S 41
II 3 7 2 9 10 16 a 4 I
II 3 7 2. 9 10 rl8 4 I
II 3 7 2. 9 10 6 TI4 I
II 3 7 2. 9 10 6 8 7+1
II
.I
II 1·· i 34 5 6· 7 . ·8 I
I I I
II Ports for Keyboard No.. I
0
1
2.
3
4
5
6
7
8
I
.
I
I
Ports left for PEDno.
I
I .1.
8
7
, ..
6
5
4
3
2
. . i.
1
NOTE
With respec:tto sedal interface registers,
receive I1een the GRAPHIC 8 and the
host: c.omputer. This address lll\.lSt be the address of an even-numbered byte. Each
time the parallel interface completes a DMA word transfer. the address in the memory
address register is incremented by two bytes.
4-32
I
f
f
(
f
I
{
I
STATUS REGISTER n
ISTRn!
15
14
I
I
I
13
I
I
I
12
I
I
I
11
Octal address : 1 i2414 (STRl)
172434 (STR2)
10
9
7
8
6
I
5
4
3
2
1
o
I
I
INPUT NOT READY
INPUT INTERRUPT EN'ABLE
INPUT WORD REQUEST _ _ __
SPARE INPUT NO. 2
ATTENTION INTERlUJl?T"'--E~NA~BL~E~-ATTENTION NO. 2 _ _---.;_ _ _ _ _ __
ATTENTION NO. 1
WORD COUNT';' ZER.-::"'O--------------
OtJ'l'PUT CONTROL
OUTPUT
INTERRUP·-=:T-=E=-=N':'?A~B~LE~-------------
OUTPUT WORD RECEIVED _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __
DMA COMPLEtE
DM..<\' I/O MODE - - - - - - - - - - - - - - - - - - - - - - ADDRESS BIT 17 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __
ADDRESS BIT 16
SPARE INPUT N O . - - : . " " l - - - - - - - - - - - - - - - - - - - - - - - - - - -
The status register contains the necess'ary control and status bits to operate
the parallel interface in either a DMA mode or a program control mode. The function
of each bit is as follows:
-o
Bit
1
Remarks
Function
Spare input no. 1
Address bi t 16
1.
Program read/write
2.
Cleared by controller bus reset
3.
The status of this bit is directly
presented to the host c~puter for
programming as required
1.
Program read/write
2.
Cleared by controller bus reset
3.
This bit and address bit 17 (bit 2) are
used in conjunction with the address in
the memory address register (MARn) to
expand the DMA addressing capability to
128K words
.
4-33
[
2
Remarks
Function
Bit
Program read/write
Address bit 17
2
:3
3
4
DMA
rio
mode
DMA complete
Cleared by controller bus reset
This bit and address bit 16 (bit 1) are
used in conjunction with the address in the
... memory address register (MARn) to expand
~. the Dt-1.A addressing capability to 128K
words
1
Program read/write
2.
CJ,.ear~d
3.
set, indicates DHAinput operation
(transfer of words from GRAPHIC 8 to host;:
computer). ~en cleared, indicates DM..<\'
output operating (transfer of words
from host computer to GRAPHIC 8)
by contz'oller bus reset
~oJhen
4.
This bit iSW'I'itten by the program prior
to a DMA operation; it lllUSt not be changed
until the DMA operation is complete
1.
Program read only
2.
Cleared by controller bus reset
3.
Cleared when DMA operation is initiated
4.
This bit is set at the completion of a
DMA operation
5
Output word
received
f
I
I
f
I
f,·e
(
I
I
t
I
1.
Program read/write (set only)
2.
Cleared by controller bus reset
3.
Cleared whenever output control (bit 7) is
cleared
I
4.
This bit iasent to the host computer to
indicate that data has been received. It
is set by the program either when a data
ready interrupt occurs or-when output
c!)ntrol (bit 7) is sensed as being set
(,
5.
During a DMA output operation, this bit
is set by the interface
{
I
I
r
4-34
I
.-
Bit
Function
6
Output interrupt
enable
Remarks
1.
Program read/write
2.
Cleared by controller bus reset
3.
Setting this bit enables the interface
to generate a data rea~y or a DMA complete
interrupt
4.
Interrupt trap address (octal) for each
regist.er is:
STRl - 000124
STR2 - Unassigned
7
Output control
1.
Program read only
2.
This bit, when set, interrupts the display
processor to indicate that output data
is available from the host computer. It
reflects the status of the output. control
signal from the host computer
1.
Program read only
2.
Cleared by controller bus reset
3.
Cleared when value in word count register
(WCRn) equals zero
4.
Set when WCRn contains non-zero value
1.
Program read only
2.
This bit reflects status of attention no. 1
signal from host computer. If attention
interrupt enable (bit 11) is set, a high
attention no. 1 input will cause an optional
interrupt to the display processor to be
generated
1.
Program read only
2.
This bit re,tlects status of attention no. 2
signal from host computer. If attention
interrupt enable (bit 11) is set, a high
attention no. 2 input will cause an optional
interrupt to the display processor to be
generated
I. ,
8
9
10
Word count .;
zero
Attention no. 1
Attention no. 2
.. J
4-35
r
Bit
Function
11
Attention interrupt enable
Remarks
1.
Program readhl1ri te
2.
Cleared by controller bus reset
3.
This bit, when se.t t aliows the interface
to generate an optional interrupt to the
display processor when either attention
no. 1 (bit 9) or attention no. 2 (bit 10)
goes high
4.
Interrupt trap address (octal) for each
register is:
I
I
I
I
I
stRl - 000130
SIR2 - Unassigned
12
13
Spare input no. 2.
Input word request
1.
Program read/write
2.
Cleared by controller bus reset
f
3.
The status of this bH is directly
presented to th!; host computer for
prograIllm.ing as required
{
1.
Program read/write (set only)
I
2.
Cleared by controller bus reset
3.
If a single word ,transfer to the host
computer is de.sired~ the program loads the
input data register (IDRn) wi th the word
and then sets this bit to indicate that
the da ta is available. Either an input
i.nterl"upt or sensing i;:ha t input not ready
(hi t IS) is cleared indicates tha t the
transfer is complete.
4.
During a. DMA input operation, the interface
loads data from memory into the IDRn and·
then sets this bit. The bit is cleared
whenever a new d;~ta ready (NDRY) pulse
occurs (the interface generates an NDRY
pulse for the host computer whenever the
input: control signal from the host computer
goes high).
,f
I
(
I
(
I
I
{
4-36
I
-Bit
Function
Input interrupt
enable
Remarks
1.
Programread/write
2.
Cleared by controller bus reset
3.
This bit, when set, enables the interfac.e
to generate an interrupt to the display
processor to indicate either that data
has been accepted by the host computer or
that a DMA transfer of data to the host
computer is complete
•
o
4.
Interrupt trap address (octal) for each
register is:
J-
snu ...
000120
STR2 - Unassigned
15
.~
Input not ready
1.
Program read only
2.
When set, this bit indicates that a transfer
of data to the has t computer is in process.
It is cleared when input word request
(bit 13) is cleared and the input control
signal from the host computer is low
.j
4-37
~J
r
.,
(
IOORn!
OUTl?TJ1' DATA REGISTER
or
or
I IPRnl
Oc.tal a.ddress:
172416 (ODR1 or IDRl)
172436 (ODR2 or 1DR2)
f
r
INPUT DATA REGISTER
15
i
14
13
12
11
10
9
8
7
6.
5
4
3
2
1
o
OUTPUT OR INPUT DATA
The data register is a dUal-purpose register referred to as an output data
register (OORn) when data is being transferred from the has t computer to the GRAPHIC
8 and as an input data register (IDRn) when data is being transferred from the
GRAPH.IC 8 to the host computer.
When used as an OoRxl., the register is a program read only register the contents
of which reflect the states of the data lines from the host computer. The program
reads the contents of the register either when a data ready interrupt occurs or when
output cOfitrol (status reg.ister bi t 7) is sensed as being set. During an output DMA
operation (tra.nsferring data from the host c.omputer to the GRAPHIC 8) the interfac·e
loads the ODRn contents Lntothe GRAPHIC 8 memory.
wnenused as an IDRn, the register is a program write only register the
contentS of which are directly presented to the host computer. It is cleared by a.
controller bus reset. During an input DMA operation (transferring data from the
GRAPHIC 8 to the host computer) the interface lQads the IORn with data from the
GRAPHIC 8 to memory. Puring transfers of $ingle words, the program loads the data
into the IDRn and then sets input word request (status register bit 13).
NOTE
The parallel interface will provide either hig11true or low-true data to the host computer.
Similarly t the interface will acc.ept either hightrue or low-true data from the host computer.
I
I
[I
f
l:
f
f
I
(
f
I
f
I
{
4-38
[
~-,,:..
.~
•
SECTION 5
GRAPHIC CONTROL PROGRAM (GCP)
5.1
DESCRIPTION AND PURPOSE
..
The Graphic Control Program (GCP), a program in read only memory (ROM), is the
central intelligence of the GRAPHIC 8. GCP allows the user to easily control the
interactions between the h~man and Graphic system responses. This program handles
all the tasks for the GRAPH!C 8 that must normally be programmed for other display
systems. The soft'Ware engineer, therefore, need only be concerned with the
generation of software for the host computer. Specific tasks performed by GCP with
no requirement for host intervention include:
•
Rou.tine housekeeping
•
Handling of all operator inputs
•
Handling of trackball/forcestick or data tablet manipulations
•
Handling of all graphic controller interrupts
•
Insertion of keyboard data directly into a refresh file
•
Formatting of messages for GRAPHIC a-to-host communicat!ons
L·
.', .....
. : ....
.
When the GRAPHIC 8 is initialized in the system mode (refer to Section 2), all
peripheral devic.es are automatically initialized without any action by the host and
GCP is able to accept messages from the host. As detetinined by the host application
program, the GaAPHIC 8 is also enabled to format and transm.i.t various types of
messages to the host. The host application program determ.i.nes the manner in which
data in messages from the GRAPHIC 8 will be processed and the type of data that will
be returned in messages to the GRAPHIC 8. For controlling these operations, the
application programmer has full access to all control registers of the terminal
controller.
Generations of all display instruction codes and management of the refresh file
must be accomplished by the application program resident in the host computer or by
software down-loaded into the GRAPHIC 8. For most computers, display instruction
macros can be used to simplifY,this task. Extended macro assemblers that contain
the display instruction macros already exist for some computers (refer to Appendix
B). Other methods of generating display instruction codes include host-resident
graphic suport packages and data statements. A package of this type available as an
option for the GRAPHIC 8 is the host-based FORTRAN support package (FSP) •
.•• J.
5-1
r
J
--
5.2
HOST/GRAPHIC 8 COMMUNICATIONS .
All communications between the host computer and the GRAPHIC 8 are handled by
GCl?
Transm,issionsin either direction are referred to as messages. Each message
begins with a command header that contatne two ASCII characters to define the
message typ'El. The heClder is then followed by as many 16-bit words as are required
to transmit the associated data. The general fot'tl1 of all messages is as follows:
MSB
15
I
I 0
LSB
..
I
14
13
12 ,.11 . ., 10
ASCII caARACTER
1
,
9
7
8
NO. 1
0
6
I
I
I
5
4
"
I
1
I
ASCII CH.A.aACTER NO.2' Command header
I--~----------------~--~------------------I
1
l
1-'
I
I
I
I·
WORD 1
I
I
,'I
t
. ". "
,
,
t "".
'f
. . 'f
f
WOlUl 2
•
WORD n
I
1
I
II
I
I
I
'I
I
--~----------~-----------------------------------•
•
I
1
1-
Associated
data
(i£ any)
1
.., ,
.
I
I
~
1
I
_I
5.2.1 SERIAL INTElFACE COMMUN!CATION:S. When communications with the host: computer
are. handled over a serial· interfac.e, the da.ta portion of ea;eh rneSSf,ge must be .
converted to ~ ASCII forntat. This translation is required for· rneesages tTansmitted
in either direction. For GUPKIC 8-to"'host rnessages ,the translation is accom....
plished by GCl?
For h01;lt-to"'GltAPH:!C 8 m~s$ages, the translation must be ac¢om'"
pl1shedby th~hQst cottltluter and GCl' is used to resto.re the data to its original
format:. The resulting lllessages, regartlle$s of cont~!mt, eonsisten:t:irely of the
alphanumeric ASCtI characten A through Z and 0 through 9 terminated with the ASCII
code for a carriage return. The reason for the translation is to ensure that no
ASCI! code is transmitted th.!:l.t might interfere with a host operating system or with
the serial interface itself.
ASC!I. characters used in message cOllUl1S.nd headers are limited to G throu.gh Z.
Since these headers are originally generated in ASCII format, no trC!-nslation is
requirftd. Transll,ttion iii required only for the information c"9ntainftd in the
associated data words. The information in these words is translated into ASCI!
characters 0 through 9 and A through F. Each data word is translated in the
following ~nner:
f
f
"'1
."~.
,
[:
I,
f
I
(
f
(
r
[
(
5-2
.. ,
."
I,~
1
,
.""
[
J
21 . . 0
.3
I
I
.-
a.
The data word is divided into four 4-bit nibbles.
b.
Beginning at the left (the most significant nibble), each nibble is
considered as if it represented its hexadecimal equivalent (0 through F).
c.
The ASCII code for the hexadecimal number is transmitted over the serial
interface (all ASCII codes are transmitted as eight-bit codes with a 0 in
the most significant bit position) •
•
After all data words have been translated and transmitted, the ASCII code for a
carriage return is transmitted as an end-of-message indicator. Table 5-1 shows all
possible bit combinations for nibbles and the resulting ASCII character codes into
which they are translated •
.J
As an example of the translation process, consider the host-to-GRAPHIC 8
message GI 0137008 0007468_ This message instructs the GRAPHIC 8 to transmit
486 decimal words of data in its memory to the host c01D.puter beginning at octal
address 013700. As originally constituted, the message would have the following
form:
MSB
I
I
1,',.
I
15
LSB
14
13
12 .11
,.
10
9
8
ASCII
CODE
I____________________
7
6
5.
4
3
2
.. ,
ASCII I CODE
G
1
oI
I Command header
~---------------------I
. I
BEGINNING ADDRESS
NUMBER OF WORDS REQUESTED
Word 2
!t..._..J!\
!
5-3
[
~
Table 5.... 1.
Data Word Translation Codes
ASCII CODE FOR
HEXADECIMAL EQUIVALENT
RE,XADECIMAL
NIB8LE
EQUIVALENT
0000
0001
0010
0011
0100
0101
OUO
0111
1000
1001
1010
1011
1100
a
00110000
00110001
00110010
00110011
00110100
001:10101
00110110
1
2
3
4
5
6
7
9
C
D
1101
1110
1111
r
00111000
00111001
0100QOOt
01000010
A
B
14
01000100
01000101
010001.10
F
I
I
I
"
1
0
I
I 0
I
0
,I'
o
"
0
i
0
1
9
1
7
8
'I
1
"
5, \ 4
6
a
1
0
'i
0
3
1
1
1
1
1
2
I
1
r '
0
'
1
",
0
(
1
J.•
it'
0
0
0
0
0
1
1
0
0
1
0
a
0
0
0
1
0
0
1
1
0
'
1
1
I Gl
I
I
0 I 01370°8
I
0
i· . .
"
, :~ .
i'
I! ~
I
1
0
0
t
0
0
'
(.
f
I
I
I 0007468
I
I
(
I
{'
5-4
"
OlOOnOn
E
12 11 10
13
o
J
(
Which, in. bina:t:Y fom is:
15
(
[,
,
OOllOUl
8
r
(
The command header, which is already in ASCII form, is transmitted as is in two
bytes with the high-order byte being transmitted first. The two data words are then
divided into eight nibbles and translated into ASCII codes as follows:
Hexadecimal
Equivalent
1
7
00110001
00110111
01000011
00110000
C
o
":'"
ASCII
Translation
I
000
1
0
1
1
1
1
1
000
0
0
0
1
·1
--------------~------------~------------~------------
o
00110000
00110001
01000101
00110110
1
E
6
o
0
000
0
0
1
1
1
1
0
0
1
1
0
After the ASCII code for a carriage return has been added at the end, the final
message resulting from this example would appear as follows to be transmitted one
byte at a time over a serial interface:
1- I ASCII
Command
header
Starting
address
data word
o
G CODE
<
1_ 1 ASCII I CODE
o 100
,,-
o
I
, ASCII 1 CODE
0 1 1 000 1
00110 1 1 1
1
ASCII C CODE
o 100 a a 1 1
!
1_
ASCII 0 CODE
<
,- , ASCI! 0 CODE
1
a 0 1 1 000 0
aa
1 1 000 0
I
I ASCII 1 CODE
I
I
ASCII E CODE
a
ASCII 6 CODE
00110110
ASCII CR CODE
00001101
<
,_
Terminator
100 1
ASCII 7 CODE
or
Ending
address
data word
1 000 1 1 1
00110001
1 0
a0
101
5-5
(
5.2.2 PARALLEL INTERFACE COMMUNICATIONS. l,fuen communications bet'ween the host
computer and the GRAPHIC 8 are hand.led over a parallel interface, messages in both
directions are transmitted in the binary 16-bit word format in which they are
originally constituted. No translation of the data words is necessary and no
end-of-mess.age indicator is required. Note, however J that ASCII codes are used for
the two characters in the command header regardless of whether the message is
handled over a parallel or a serial interface.
5.3
f
I
f
HO$T/GWFJ.IC.'3 -MESSAGES
,
There ate nine different groups of messages tra.nsmitted betwaenthe host
computer and the GRAPHIC 8. These groups are listed below:
f
1.
Itlitialize and error messages
2.
Establish I/O transmission mode (polling/non-polling)
3.
Memory relatEld messages
4.
Interrupt rEliated messages
s.
Keyboard related messages
6.
Positional entry device related messages
7.
FOR.'1'R.A"'\~
8.
Option messages
9.
3D coordinate converter massages
support (FSP) n'lessages
5.3.1 IN!TIALIZE AND ERR.OR. MESSAGES.
followin.g messages:
f
The initialize and error group consist of the
HOST-to-GRAPRIC 8 (H.-)G8)
IZ
I
I
L
Initialize
GRAPHIC a-to-HOST (GS-)H)
x:x:
The follOWing paragraphs discuss these messages and give details concerning the
format and application of each.
I
(
(
(
(
I
f
5-6
I
;
I
I
0
I
I
I
14
.
, 13
Command h~der code (octal):
INI!L\LIZE
IIZl (H->G8)
. 15
I
~:
12
11
10
ASCII I CODE
9
8
7
0
I
6
I
I
5
d:
3
2
1
044532
0
AS,CII Z CODE
Command header
. .;
The initialize m,ssage is a single-word message ~hat causes the GRAPHIC 8 to
initialize in the system operating mode (refer to Section 2). Initialization in the
system mode results in the following:
a.
Associated display indicator(s) goes blank.
b.
Associated keyboard(s) and PEDIs are enabled.
Built-in diagnostic tests are performed.
d.
The results of the diagnostic tests are sent in an XX message to the host
computer.
NOTES
1.
An IZ message is recognized by the GRAPHIC 8
only when the GRAPHIC 8 is operating in the
system mode. If the GRAPHIC 8 is operating in
the local mode, the host computer ntUst first
generate a hard-Wired INI! Signal (if a
parallel interface is used) or a RING+ signal
(if a serial interface is used). or the
operator must press the SYSTEM switch on the
GRAPHIC 8 front panel.
2.
After an IZ message has been sent, no further
message should be sent from the host computer
to the GRAPHIC 8 until an XX message has been
sent from the. GRAPHIC 8 to the host computer.
3.
When the GRAPHIC 8 is operated in the teletypewriter emulation mode (refer to, Section
2), initialization in the system mode can be
accomplished by sending the code for ASCII
character group separator (octal code 035)
from the host computer to the GRAPHIC 8.
5-7
{
f";
Igi
ERROR STATUS
(G8->H)
15
I. I
I 0 I
I I
13
14
12
11
10
ASCII X CODE
9
Command header code (octal):
8
7
6
4
5
3
2
1
,
"I
Co Illlll-and Header
" 'f
"
ERROR B:r:rS
i~otd
!
!
BIB
I
1
i-lord 2
I'P"'~
I
0
000
o o o o
0
I
.
ADDITIONAL INFORMATION
I
.I
I
I
0
ASCII X CODE
0
054130
o
o o o
o
Word 3
Whenever the GRAPH1C 8 is initialized in the system mode (refer to paragraph
2.3), an x.."{ message is automatically sent to the host computer to indicate the
results of the diagnostic tests performed and the ROM checksum calculated during the
initialization routine: When the GRAPH.IC 8 is operating in the system mode t x..'{mess.a.ges at'.€! also automatic:;ally sent to the host computer (pro\rided that error detection has been enabled via the 1M message) whenever an error condition is sensed by
Gel?
There are four casiccategories of xx. messages, each of which has a slightly
different format for words 1 and 2. 'The make-up of ~"ords 1 and 2 for each category
is as follows (a 1 in aoit position marked .. X" indicates an error condition or
failure of a diagnostic test):
(
{
L
I
(
I
I
I
a.
Initialization XX message:
15
I
14
11
10
9
8
7
6
5
4
3
2
1
o
010
o
o
o
o
x
o
x
o x
x
x
12
13
I
I
11100
I
I
I
Word 1
Word 2
ROM CHECKSUM
Bits in word 1 indicate the following:
Bit
Bit
Bit
Bit
Bit
Bi t
0
- results of interface diagnostic test
1
2
4
- results of graphic controller diagnostic test
- results of display processor diagnostic test
- results of 3-D Converter diagnostic test
6
- results of read/write memory diagnostic test
set to 1 indicates initialization XX message
15 -
.,
;
All other bits are always zero.
Any possible combination of test results can be indicated.
Word 2 contains the result of the ROM checksum calculation.
b.
Normal running XX message:
15
14
I I
101
I I
X
a
a
13,
12
11
10
9
8
7
o
6
5
4
3
2
1
0
a
o
x
o
o a
Word 1
o
Word 2
0
!
oI
I
X
x
o
a
x
o
o
0
a
a
o
o a
I"
o o o o
o
Bits in word 1 indicate the following (when set to 1):
I
- incorrect message format sent by host computer
- unidentified internal interrupt detected by display
processor
Bit 10 - GCP serial interface buffer is full
Bit 11 - GCP serial interface buffer is 7/8 full
Bit 14 - Command header not recognized by GCP
Bit 3
Bit 7
All other bits are always zero.
Any combination of errors can be indicated.
Word 2 contains all zeros for bit 3, la, 11 and 14 type errors. For bit 7
errors, word 2 contains the address plus 4 bytes to identify the address
of the unidentified internal interrupt.
Change 1
5-9
c.
r
r
Buffer XX message:
15
I I
I 0 I
I I
0
I
0
13
14
12
0
I
I
I
I
0
'
I
0
0
,
'
10
11
I
9
8
7
6-
0
1
0
0
'
I
I
ASC'II CHAR NO. 1
I
I
I
I
5
4
3
2
1
0
0
0
0
0
0
0
,
I
i
"
I
(
Word 2
~,
A buffer xx. message is sent when no output buft'er is ava:!.lahle to Gel? for a
messlilge to be sent to 'che host c.Qntputer. Bit 8 in word 1 identifies the meuage as
. a buffer XX message; all other bits in W'o1;d 1 are always zero:. W01;d 2 is the
command header £01; the meuage that could not be sent to the host cODlputer.
d.
14
I I
I 0 I 0
I 1
I
I
I
12 ,11
13
0
"
0
!
,
0
I
0
0
0
4,"
I
I
r
I
I
10
9
' I
0
1
0
f
0
0
0
I
I
I
7
8
I 0
I
0
0
0
I
6
,
,
,
'i
0
I
I
I
5
'
0
0
I
I
4
3
0
0
,
,
'I
'
,
0
,
0
I
I
I
I
2
1
0
0
0 I 0
,
0
Word 1
,
,
0
1
-
- -
14
0
0
1
1
0
o
1
1
2
3
0
1
:',:'"
"
..
Word 2
J
Bits 14 and 15 of word 3 contain the bank number aSsociated with the XX
Message. Bits 14 and. 15 are defined as follow,s:
Bank.NllIllber
(
( 1'-
For all XX messages:
15
r
'
0
A characte1; ove1'1;ua XX messagl! is sent whenever a character overrun condition
or padty error is c1eteet ed at the serial intedace port used for communications
with the host eom:puter (normally port 1). Bit 9 in 'word 1 ident1fielilthe XX message
as a character oV'er1:'Un XX m.essage; all other bits in word 1 are always zero. Word 2
identifies the port on Which the overrun WaS detected (GCl? assum.es sedal communications With the host c013lputer are. handledV'i$. port 1. Therefore, word 2 of a
character Qverrun x.tm.essage always has a binary value equal to 1).
Bits
I'"~
r
Character overrun XX meuage:
15
'·1
Word 1
"
ASCII CHAR 00. 2
0
[
(
[~
,
.. :
I
r ':~
I
[
I,
[;
5-10
I '"
The eatablish I/O
5.3.2 ESTABLISH I/O TRANSMISSION MODE (POLLING/NON-POLLING).
transmission group consists of the following messages:
HOST-to-GRAPH~~
--.-
8
1M
Initialize I/O message formats
PL
Poll GRAPHIC 8 for next message
NO
No operation
GRAPHIC 8-to-HOST
NM
i,
The following paragraphs discuss these messages and give details concerning the
format and application of each.
-
11M1
I
I
I
I
0
I
I
0
I
I
14
13
12
11
, 10
9
8
I
I
I
ASCII I CODE
I
'\
INITIALIZE I/O MESSAGE FORMATS
(H-)G8)
Command header code (octal): 044515
15
·1_
No messages ready
D
D
D
D
D
D
7
6
5
4
3
2
1
I
I COnml.and Header
I
ASCII M CODE
0
0
I
D
0
0
0
0
D
D
D
D I Word 1
I
The 1M message is used to activate or de-activate error detection and to
initialize GCP to operate in either a polling or non-polling mode.
',=:t'
5-11
'!
;.---~
r
:\'>
1:
A detailed description of the meaning of all bits i& WORD 1 is given below:
~{
:ill
o
Polling
o
1
1
Rost to GltAl?'f!IC 8
data not packed
{
Descr~pt:ton
GCl? operates in non-polling mode (i.e.,
messages ar~· automatically sent to HOST
when a message fsready.)
Gep operates in a polling mode (i.e.,
the HOST must issue a poll (pt).. message
each time the 'f{oSt wants the nelCt
message from the GRAPHIC 8.)
In this mode, Gel? does not respond eo
polls until a message is ready for
transmissiori to the iost.
Send poll
message back
1
2
~
Value
0
1
In this mode, if the Gel? output buffer
is empty,' a dUllUl1Y NM me$Sage is sent
back to the HoISt to indicate that the
GCl? output buffer :i.a empty.
GCP i1,lterprets all data wPrcls sent from
the HOST to be in packed format·.
Gel' interprets all data words sent from
the HOST to· be in :t:ntag e fo mat.
3
Ac.tivate enol'
detect1c>n
a
Gep ignores all command header errors.
This pel:'lDi ts the operatiQft. of GeP in
serial full .. duplex mode. Messages
eChoed back to GRAPHIC 8 frtlUl Host are
ignored.
1 .
Gel? validates all conmxand headers; when
er1::'ors are deteeted, an appropriate XX
error messa.ge is sent to the HOst.
,I
I
(
(
-~1
I
lI
(
,<
(
r
( 1-
(
( ~.
I
"
I,:
(
(
r
I
[I
"
-~
•••
these b1ts are reserved for future
expansion.
... '"
r
Description
Bit
8-14
These bits operate in conjunction with
bits 0 and 1.
Special poll
character
If bits 8-14 are all zeroes, GCP sends
messages back to the Host anytime a PL
message is received.
If bits 8-14 contain any non-zero
value, then GCP does not send a message
to the Host until the Host sends a PL
message followed by the special poll
character. Effectively, when GCP
receives the PL message, it prepares a
message for transmission to the Host.
It then waits for the special poll
character before the message is sent to
the Host. The special poll character
is sent by the Host to indicate that it
is ready to receive the next GRAPHIC 8
message. The special poll cha:racter
permits operation with operating
systems that use a special character to
turn around (change direction) a serial
communications line from output to
input.
NOTE
By default, GCP is initialized so that all bits
(functions) represented by word 1 of the 1M
message are set to o.
When GCP is initialized by the IZ message, it is set up to operate in a
non-polling mode. In this mode, whenever GCP has a message stored in its output
buffer, the message is automatically sent to the host computer (i.eo, GCP is
operating in an asynchronous or non-polling environment).
~.
By setting bit 0 of word 1 of the 1M message to a 1, GCP can be set up to
operate in a polling mode. In this mode GCP only sends a message to the host
computer when the following two conditions exist.
1.
GCP has a message stored in its output buffer.
2.
The host has issued a PL message. The PL message tells GCP that the host
computer is ready to receive the next message and that GCP should send it.
If a message is stored in the output buffer, GCP immediately sends it to
the host computer. If no message is stored in the output buffer, GCP
waits until a message gets stored in the output buffer, then it sends the
message to the host computer.
, ..,
~,"":;J
I
5-13
r
Bit 1 of word 1 works in conjunction with the way bit 0 has been set up. When
bit. a is set up for non-polling mode (bit 0 "" 0), the value of bit 1 is ignored.
\fuen b:i,t 0 is set up for polling mode (bit 0 :=: 1), GCP operates as follows:
1.
2.
When bit 1 is 0, GCP
previous paragraph.
ope~ates
in a polling mode as described in. the
When bit 1 is 1, GCP operates in a. polling mode that is slightly different. In this mode, after GCP receives the PL message, it does one of
the following:
( 1)
If a message is stored in' the output buffer, GCP immediately sends i. t
to the has t COttlput er.
(2)
It the output buffer is empty, GCP immediately sends a NM dummy
message to the host computer. The NM message indi~ates 'to the host
computer that the GCP output buffer is empty and that the conununications line between the GRAPHIC 8 and the host computer is still
act:i.ve.
The special poll character is applicable to serial. communications only. This
character i i defined in bits 8 t.hrough 14 of word 1. The special character poll
mode jol'orks inconjunctiortw:i.th the way bits a and 1 have b!';!en set. up. When bit 0 is
0, the spe<::ial poll character is ignored by GCP. Setting bit 0 to a. 1 activates the
special poll cnatacter bits. If t.he special poll character is set up for 0 (i.e.,
bits 8 through 14 are 0), the polling lllodes previously described are in effect. U
the special poll character is set up with non-zero value, then the following special
p()lling mode is activated.
1.
Host computer sends aiL message to Gep.
2.
Host computer sends the special poll character to GCP.
3.
After GCP receives the PL message followed by the special poll character,
the ne.~t message :1.$ sent t.o ttte host computer.. The sending of this
tnessage is based on whether the output bll,ffe.r has a mess.age and the ,oI'ay
bit 1 has been set; up.
Bit 3 of word 1 of the 1M message. is used to .activate the detection of command
header errors. By default, Gel' is initialized to ignore all conunand header errors.
By setting bit 3 toa 1, GCl? can be activated to validate all command headers. Tilhen
GCP detects that the host computer has sent an invalid GCP message, it stores an
appropriate XX error message in its output buffer.
I-
I
[
I
I
I
\
-)..t'l
(
.'-',,",
L
I
I.
f
I
I
I,
I
I
I!
5-14
,,~-
I
The recommended values for word 1 of the 1M message are given below:
Type of Interface
Polling Mode
Non-Polling Mode
Parallel
9 or 11
8
Serial half-duplex
9 or 11
8
Serial full-duplex
(echoing enabled)
1 or 3
0
Serial full-duplex
(echoing disabled)
9 or 11
8
POLL GRAPHIC 8 FOR NEXT MESSAGE .
Command header code (octal): 050114
'':.
15
II
I
I
0
I
I
14
13
12
11
10
ASC!I P
9
8
7
o
6
5
4
3
ASCII L'
2
1
o
Command Header
The poll message is sent by the Host to request that the GRAPHIC 8 send the
next message. This command works in conjunction with the way the 1M command has
initialized GCP.
5-15
[
"
I :~
(
._ ... ,
':
II
(:~i
,
I
,·"",1
. ,"
,,
( ":
.,1
( '1
'.;:J
,
(
j
:
....
.:....
I
I
r"
--.;.,..
(,
I
II
I
The NO message is a single-word meuage that eauses llO operation to be
perfor'llled by GCP. NO ussages are used primarily .as fillers when t;.he host computer
application program requires that all messages sent to the GRAl'H!C 8 be of constant
length.
5.3.3 MEMORY RELATED MlSSAGES.
following:
MS
Memory bank select
MU
Memory
SU
Selective update
RU
SP
HP
Register update
Start picture
lialt picture
Continue pic.ture
Transfer control
KP
n<
GI
GR
The memory related m.essages consist of the
(,
u:p~te
I
(.' -
Give image
Give register
.[
5-16
•
\
r
..
GRAPHIC 8-to-Host
RI
VL
RR
Return image
Variable length
Return register
The following paragraphs discuss these messages and give details concerning the
format and,application of each.
I~I (H-)G8)
MEMORY BANK SELECT
Command header code (octal): 046523
15
I I
I 0 I
I I
X
t. _
14
12
13
11
10
9
8
ASCII M CODE
X
X
X
X
X
7
6
X
X
3
1
2
0
I
I Command Header
I
ASCII S CODE
0
X
4
5
X
X
X
X
X
I
I
I
BANK
Word 1
The MS message is used to select the desired memory bank. This message should
be issued prior to such commands as MD, SU t GU ,and GI if a large memory system is in
use. Sits 2 through 15 in word 1 are ignored by GCP. Bits 0 and 1 represent the
bank" number selected as· given below:
Bits
o
o
o
1
1
BANK NUMBER SELECTED
1
0
o
1
0
1
1
2
3
Below is a table showing the relation of virtual addresses (i.e.; addresses
specified in :tU t SU, GU, and GI messages) to physical addresses when different
memory banks are selected.
BANK ,NUMBER
VIRTUAL ADDRESS
PHYSICAL ADDRESS
RAM PAGES
o
000000-177777
000000-137777
00-05
1
000000-177777
200000-377777
10-17
,2
000000-177777
400000-577777
20-27
3
000000-177777
600000-777777
30-37
. .'i
<--J
5-17
"
1'.
(~'~
[ "",'
,
~
,
NOTE
When GCP is in~tialized by default,. bank. 0 is
selected. Memory bank selection should be taken
into account fQ,r the following Rost-to-GRAPIUC 8
~
messages:
MO, SU, 51','G1. MS, IP, IT, TK., ZR~ ZT, MI, GU
Mem.ory b4nk selection should be taken into account
for the following GWHIC S'"'to-Rost messages:
RI, XX, lII, ,:,XI
"
-
(H->GS)
I
I
IMOI
I
I
15
0
MEMORY UPPAl:!
12 11
14 ,13
1 '
I
I
,'t
10
9
, '.
,7
I
I
I
ASCU M CODE
I
0
I
I
i'
5
6
' t
,
4
3
Z
1
,
,
I
I
I
"
,",1
t
f
' I
I
..
'"
,
'
I
Command Header
r
f·
.",
,
0
"
,t"
ASCII U CODE
LOAD ADDlti!!
,
I
I
[
'Wor<:i 1
0
",:'
'f.,':
(
"
NllMBER OF DATA WORDS TO BE LOAI)EP
,'Word 2
[
t'
"
DATA WORD
'Word 3
•
•
•
I '
'"
DATA WORD
'f
,,'
i
i
I
I
I
'Word n
The MU message is a V'ariable"'length message used to load data into the
t'ead/wri te memory of the GRAPHIC 8. the load address specifie4 in wot'd 1 tells GCP
the address at which loading of the data should begin. !his address must be the
address of an eVen-num\:tfu:ed byte. An odd. add.ress will result in an XX (error
status) me,seage being returned by the GRAPHIC 8 and data will not be loaded.
I
,
( ,
(
5-18
..
COlDll1Snd header code (octal):" 046525
8
l
.. ;
,<
Word 2 specifies the total number of data words that are to be loaded into
successive read/write memory locations. This word is then followed by the data
words to be loaded.
When a memory update message is sent from the host computer to the GRAPHIC 8,
CCP halts the graphic controller (this blanks the display indicator). The GRAPHIC 8
then remains halted until a KP (continue picture) or SP (start picture) is sent by
the host computer. For lengthy memory update messages, thi.s can result in
noticeable blanking on the display indicator.
!~I
15
14
13
12
11
10
9
8
I
ASCII S CODE
I1__
0 I __________________
1
~I
Command header code (octal): 051525
SELECTIVE UPDATE
(H-)G8)
7
6
5
4
3
2
1
o
o ________________
Ascn U CODE
___
~~
LOAD ADDRESS
o
Command Header
Word 1
NUMBER OF DATA WORDS TO BE LOADED
Word 2
DATA WORD
Word 3
DATA WORD
Word n
The SU message is a variable-length message that operates in exactly the same
manner as the MU (memory update) message except that the digital graphic controller
is not halted. Therefore, if an SU message is used to update a refresh file
currently being processed by the graphic. controller, the file must remain 'lalid as
each data word is replaced •
.. ~.j
5-19
f
~1ore
commonly, an SD message is used to loa.d a new refresh file into a
different area of memory while an older file is being processed by the gra.phic
controller. After loading of the new file is complete, an SF (start picture.)
message from the host c,omputer causes the graphic controller to process the new
file. This assures that the display will not be blanked while the data is being
transferred as occurs when an MD (memory update) message is used.
IRUI
15
REGISTER UPDATE
(&->G8)
14
13
12
11
10
9
I I
I1___
0 I __________________
ASCII R CODE
I~
Command header code (octal):
8
~~
7
6
0
__
ASCII U CODE
I Command Header
____________________
,__ 1
~
5
4
3
2
1
OS1l2~
0
--;--1
r'
ADDRESS
I1_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _REGISTER
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ___
Word 1
[
[
(
r
t'iord 3.
I
I
Word n
f
. The RU message is a variable length message that is used to update a series of
registers in the!/O address area of the hardware. Word 1 contains the address of
the first register to be updated.. Valid register addresses are in the range of
160000-177777 (octal). Word 2 contains the register count indicating the number of
succ.essive registers to be updated. Words 3 through 1'1 contain the data values to be
loaded into each register.
NOTE
!he au message does not change the current memory
bank. selection. It is also possible to interpret
registeraddre$s as memory address in the above
message. When updating memory address, the llaer
must take into account memory mapping. Memory
addresses inche range of 020000 to 077777 are
subject to memory mapping.
.~~
;1
:j
.. j
(
r
REGISTER DATA
.')
r ",
REGISTER COUNT
REGISTER DATA
I
i'
-!
I·
I
I
I
I
[
r
Isp I
15
J
"O-
,
J
0
START PICTURE
(H:-)G8)
14
13
I
I
I
12
11
10
9
Command header code (octal): 051520
8
ASCII S CODE
7
6
5
4
3
2
1
0
ASCII P CODE
0
Command Header
STARTING ADDRESS OF REFRESH FILE
Word 1
The SP message is a two-word message that causeS the digital graphic controller
to begin processing a refresh file starting at the address specified in word 1. The
specified starting address should be the address of an even-numbered byte. If,
however, an odd address.is specified, the low order bit is ignored by GCP and no XX
(error status) message is generated. If the graphic controller is running, it is
halted and restarted at the specified refresh file address.
IHPI (H-)G8)
15
I
I
I
0
14
I
I
I
13
HALT PICTURE
12
11
10
ASCII H CODE
9
Command header code (octal): 044120
8
7
0
6
5
4
3"
2
ASCII P CODE
1
o
I
I Command Header
-'
The HP message is a Single-word message that causes GCP to halt the digital
graphic controller. The refresh file is not altered and the graphic controller
program counter remains pointing at the location of the next instruction to be
processed. Following an HP message, the digital graphic controller remains halted
until an SP (start picture) or KP (continue picture) message is sent by the host
computer.
5-21
r
r
t~
,:j
Igi
I
15
~'
CONTINUE PICTURE
(H:->G8{;
I
14
13
12
11
10
9
8
Command header code (octal): 045520
7
6
.,
5
4
3
2
1
(
o
ASCII P CODE
ASCII K CODE
a
Command Header
I 0 I
I___I __________--------~--~----~--~--------
I
I
The K.1' message is. a single-TNord message used to restart the d.igital graphic
controller at· the instruc.tion following the one at which it halted. Conditions
causing the digital graphic controlle~ to halt include:
a.
,.
b.Rast computer sends MU (memory update) message to GRAPHIC 8
Display processo;r: sends stop function code (165040) to digital graphic
controller
d.
Display processQr executes RESET instruction
e.
HREF instruction executed by digital graphic controller
f.
LINK instruction executed by digita.l graphic controller
g.
Invalid il'l.struction executed by digital graphic contl;'oller
h.
Bl,ls timeout (memory £.ai1sI:0 respond to a fetch .colllPland)
1.
X or ~i position overflow (if interrupt to display processor is enabled)
If the digital graphic controller is running when
a KP message is sent by the host computer, GCP .
returns an xx (error status) messa.ge to the host
computer.
..
JI
.
NOTE
..
(
Host computer sends HI' (halt picture) message to GRAPHIC 8
c.
"'-,
(
I
1
(
I
(,
I
I
I
I
I)
[
5-2:2
i/
(I
"
ITKI (H-)G8)
TRANSFER
Command header code (octal): 052113
CONTR~L
~~\,
15
I
I
,-_ .....
!
I
0
14
13
I
I
I
12
11
10
9
7
8
ASCII T CODE
6
5
4
3
2
1
0
ASCII K CODE
0
Command Header
--'
STARTING ADDRESS OF PROGRAM
0
Word 1
The TK message is a two-word message that causes the display processor to stop
processing GCP and begin processing the program that begins at the address specified
in word 1. This message is intended for advanced applications to permit a program
other than GCP to be processed by the display processor. Normally, such a program
would be down-loaded from the host computer using an MU (memory update) message and
then started by using a TK messag4a. After control has been transferred·, no further
communications via GCP are possible unless the new program deliberately returns to
GCP with an RIS PC instruction.
0
IG!l (H-)G8)
15
I
I
I
0
I
I
I
14
13
GIVE IMAGE
12
11
10
9
ASCII G CODE
Command header code (octal): 043511
8
J
I
I
7
6
5
0
4
3
2
ASCII 1 CODE
1
o
Command Header
STARTING ADDRESS
Word 1
NTJ'MBER OF WORDS REQUESTED
Word 2
The GI message is a three-word message that causes GCP to send back to the host
computer the contents of the GRAPHIC 8 memory beginning at the specified starting
address and ending ,..hen the requested number of words have been sent. The specified
starting address should be the address of an even-numbered byte. If, however, an
odd address is specified, the low order bit is ignored by GCP and no XX (error
status) message is generated.
In response to a GI message, GCP sends an RI (return image) and a VL (variable
length) message to the host computer. The RI message indicates the length of the VL
message while the VL message contains the requested data.
5-23
r
r'-~
.• J
r
[
.1'
" - ... 1
(
~:--I
,'"
(_.GCP retu:rns aa 1U message to the hose computer lnrespanse to aGI (gi.ve image)
messag. frQ1ll the host eOlllputer. Word. 1 specifies the s.tarting address of the data
to be transferred and word 2 speeifies tlie aumber of 16"'b,it words to be transferred.
The data in words 1 and 2 are always the sal\1ll as thedaeain the corresponding words
of the requesting Gt message. a:t.ts 14 and 15 catttain the bartk rtumber that the R.I
message is related to. Ea<:.h Il! message is immediatuy follo'tle-d by a til.. (variable
length) message that eontainsthe data requested by the he,at computer.
~ \.,:
r)
(
(/
[;
I):
( 'i
5-24
IVLI
15
I
I
0
VARIABLE LENGTH
(G8-)H)
!
I
14
13
12
11
10
ASCII V CODE
9
8
Command header code (octal): 053114
7
6
4
5
o
3
2
1
o
ASCII L CODE
I--~I------------------~~~---------------NUMBER'OF DATA WORDS TO BE TRANSFERRED
DATA WORD
Command Reade r
Word 1
Word 2
.,
DATA WORD
Word n
The VL message is the only GRAPHIC 8-to-host message that does not nec.essarily
contain four words.. Its length is determined by the number of data words to be
transferred. In response to a GI (give image) message from the host: computer, GCP
returns an RI (return image) message that is immediately followed by a VL message.
The RI message informs the host computer that a VL message is to follow. 'The I1'L
message contains the data requested by the host computer. Word 1 of each VL message always contains the same data as word 2 of the prec.eding RI message. Words 2
through n of each VL message contain the requested data.
NOTE
Normally, after receiving the RI message, the host
sets up to read in the VL message. For host DMA
operations, the word count speCified to read in
the VL message should be set equal to the number
of words to be transferred (i.e., word 2 of the RI
message), plus two.
5-25
.
,
)
r
GIVE REGISTER
IGRI (H.->G8)
14
15
I
I
I
13
I
0
-
I
12
11
10
ASCII G CODE
9
Command header code (octal): 043522
8
7
6
5
t+
,
"
.;)
2
1
Command Header
I
,
REGISTER (OR MEMORY) ADDRESS
0
I
[
0
ASCII RGODE
0
Word 1
The GR message is a two-THord message used by the host computer to obtain the
contents of the GR...:\.PHIC 8 register specified by the register address in word 1. The
contents of any register having an assigned address may be obtained in this manner.
If required, Gel? automatically halts the graphic controller before the data is
obtained and then restarts it at the completion of the operation. In response to a
GR message, GCl? sends an RR (return register) message to the host computer.
Although the intent of the GR message is to peI"lP.it the contents of registers to
be read, it can also be used to read the contents of GRAPHIC 8 memory addresses.
When it is used to read a memory address, the specified address in word 1 must be
that of an even-numbered byte. If the address of an odd-numbered .byte is specified,
GCP causes an XX (error status) message to he sent to the host computer.
r
1
r
I
.. J
r
J
NOTE
1.
Addresses in the range .of 000000-017776 are
directly addressable.
2.
Addresses in the range of 020000-077776 are
subje.ct to memory mapping.
3.
Addresses in the range of 100000"'117776 are
directly addressable.
I
r
I
I
4.
Addresses in the range of 120000-177776 are
related to ROM and I/O device registers.
I·
When the GR message is used on a large memory
system, the .following restrictions must be taken
into account.
I
I
I
I
5-2.6
, .1
[
I
I
!RR! (G8->H)
15
I
I
I
14
13
Command header code (octal): 051122
RETURN REGISTER
12
11
10
9
8
7
6
5
I
0
I
I
ASCII R CODE
4
3
2
1
0
ASCII R CODE
0
Command Header
REGISTER (OR MEMORY) ADDRESS
0
Word 1
I
CONTENTS OF REGISTER (OR MEMORY ADDRESS)
I1____________________________________________
__ Word 2
II 0
o
o
o
o
o o o
0
o
o
o
o o
o
o
Word 3
I----------~--------~------~------~--------
An RR message is sent by GCP to the host computer in response to a GR (give
register) message from the host computer. Word 1 of an RR message is aiways the
same as word 1 of the requesting GR message. The requested data is returned to the
host computer in word 2. Word 3 always contains all zeros.
5.3.4 INTERRUPT REL.'~TED MESSAGES.
following messages:
The interrupt related group cons ist of the
Host-to-GRAPHIC 8
IK
Interrupt control
IS
Enable selected interrupts
ZI
Disable selected interrupts
GRAPHIC 8-to-Host
HI
Halt interrupt
XI
X or Y position overflow interrupt
The folloWing paragraphs discuss these messages and give details concerning the
format and application of each.
'0-...3
5-27
(
[.
Inl
-.. (a->G8)
15
I
I
I
I
I
14 . j 13
Command header code (octal): 044513
INTERRUPT CONTROL
12
10
11
9
8
I
ASCII I CODE
7
6
2
543
'I
I
a
1
I
I Command Header
I
.1
ASCII KCaDE
0
I
,
I'
I
I
"f i f
" f'·
SELEC'l'ED MASK BITS,
j'
"
""I
I Word 1
I
I____--__~------.-,-.------------------------------
The IX. message is a two-word message used to enable or disable certain GCP
f'U11ctions and to detet'lDine conditions under which thedigi tal graphic controller can
interrupt the display processor. When an IX m.essage is sent, the contents of bits
1... 3 of the word 1 di::t'ectly replaces ,the contents of the graphic controller t!lS.sk.
register ('MXR). The remaining bits of the word are decoded and used to enable or
disabl" associated interface ports. The function or interrupt condition associated
wi th each bi tis as fo llows :
-
BIt
I
FUNCTIONOl lNTERaupt CONDITION
SElUAL. INTEUA,Ci .l?ORT
0
PED no. 4
10
1
Digi1!al Graphic COtttt'oller halt
a
X or Y p():si tion o'\1et'flow
3
Real time cloek
N/A
N/A
N/A
4
Unused
5
Unused
6
Unused
7
Unus.ed
8
unused
9
AlphanuJner ie/f unction keyboard no" 4
a
\
O{"
l.
I
9
10
PEP no.
11
Alphanutlleric/func'tion keyboard. no. 2
7
12
PED no. 3
6
13
PED no. 1
4
14
Alphanutlleric/function keyboard no. 3
2
15
Alphanumeric/function keyboard no. 1
3
8
Note the serial interface ports to dedce aSSignments l11a.y vary for d1fferent
configurations. See section 4.4.1 fot' 11101"e it1£ot'lllati·on on port assigtlments.
I
5-28
Chanse 1
I
Irsl
ENABLE SELECTED INTERRUPTS
(H-)G8)
Command header code (octal): 044523
t· .
15
I
I
I
0
I
14
1.3
I
I
12
10
11
7
8
9
ASCI! 1 CODE
X
X
X
X
I
I
X
3
4
2
SELECTED MASK BITS
X
X
5
.ASCII S CODE
0
I
X
6
1
°
Command Header
Word 1
The IS message is a two word message used to selectively enable mask register
(MKR) associated intert'tlpts. 1£ a ma.sk bit is set to 1, then the interrupt
associated with that bit is enabled. If a mask bit is set to 0, then the interrupt
associated with that bit remains unchanged after the IS message is processed by GCl'.
,
'-
the function or interrupt associated with each bit is as follows:
1.
~_A
-BITo
,F,UNCTION OR INTERRUPT CONDITION
1
Digita.l· graphic controller halt
2
X or Y position overflow
3
Real time clock
••
•
••
_ . .
. . . .
t,
••
Not used
These bits are ignored by GCl'
<
• ~ •...l
5-29
lal
I
I
DISABLE SELECTED INTERRUPTS
(&->G8)
Command haader code (octal): 055111
15
I
I
I
I
14
T
13
aI
11
, 12
10
9
8
I
ASCII Z CODE·
I X
I_
X
X
X
"
, ..
X
7
5.
6
4
X
a
1
2
ASCII I CODE
0
i
I
X
3
f
II
I
,.
I
X
I
Comma.nd Header
.
"
SELECTED MASK BITS
I
I Viord 1,
I
The ZI message is a two word message used to selectively d,isable mask register
(MKR) associated interrupts. If a mask bit is set to I, then the interrupt
associated with that bit is disabled. If a mask bit 1s set to 0, then the interrupt
associated with thllt bit remains unchanged after the ZI message is processed by GCt'.
.·,,1
[
I
'f
{,
"j
".1
''''';1
'
·~"1
.!
I
..',,,,
(
..
.
,'';'':
'the function or interrupt associated with each bit is as follows:
-o
BIT
• FUNCTION
'."
oa
.'.
INTERRUPT CONDITION
t
.'
.' .
'"
.
Not used
1
Digital graphic controller halt
2
X or Y pOSition ovarflow
3
Real 1;:1m,e clock
4-15
It
.-
v_:
l
1
.,
,"
'these bits are ignored by GCP
NOTE
If a data tablet is operating in the auto/tracking
mode, the real time cloek shouldn't be disabled.
f
f
I
f. .
Ii
5... 30
f,
I HI I
15
HALT INTERRUPT
(G8-)H)
I I
I 0 I
I I
14
1.3 • 12
11
9
10
8
ASCII H CODE
Command header code (octal): 044111
7
I
I
I
0
4
5
6
I
I
3
2
1
o
ASCII I CODE
Command Header
I
1
I
.
CONTENTS OF GRAHPIC CONTROLLER PROGRAM
I__________________________
1
I
I
COUNTER (DPC)
.
0
1
I
Word 1
~------------~I
I
I
CONTENTS OF GRAPHIC CONTROLLER INSTRUCTION REGISTER (DIR)
Word 2
1--------------------------------------------I
,.
B
B
o
0
o
. I
0
0
I
1
0
o
I
o o o o o
010
I
.
!it
Word 3
."
When the digital graphic controller halt interrupt to the display processor is
enabled (by a host-to-GRAPHIC 8 IK or IS message), GCP sends an HI message to the
host computer each time that a RREF instruction is executed by the digital graphic
controller. Word 1 of the Ht message contains the contents of the graphic
controller program couIiter (DPC) which is the address of the instruction following
the HUF instruction. Word 2 contains the contents of the graphic controller
instruction register (DrR) which, in turn, is the contents of the address pointed to
by the program counter. Bits 14 and 15 of word 3. contain the bank number associated
with the HI interrupt.
5-31
'I
{
Igl
L
X OR Y POSItION OVERFLOW INTERRUPT
(G8->H)
Command header code (octal): 054111
15
1--1
I 0 I
! I
14
13
12
11
10
ASCII X CODE
9
8
7
I
!
I
6
4
5
3
2
1
0
ASCII I CODE
0
"'I
CONTENTS OF GRAPHIC CONTROLLER PROGRAM COUNTER (DPC)
1
0
1.-I B
I
I
I
0
I
0
0
0
CONTENTS OF X POSITION REGISTER
(Dn)
,1
B
0
0
. I
CONTENTS OF Y POSITION REGISTER (DYR)
I
I Command Header
I
I
'I
I Word 1
I
f
I
I Word 2
I
When an X or Y position overflow condition is
detected by the graphic controller, an interrupt
to the display processor is generated and the
graphic controller halts. Gel' also disables
further X, Y overflow interrupts.
5-32
1_:
I'
','
( I.···i
-I
1 Word 3
I
When the graphic controller X or Y position overflow interrupt to the display
processor is enabled (by a host-to-GRAPHIC 8 IK or IS message), Gel' sends an XI
message to the host computer whenever the graphic controller determines that an X or
Y position overflow condition has been created. An overflow condition e~dsts if the
two's complement value in either the X or the Y position register (DXR or DYR) of
the graphic controller exceeds 17778 (+1023) or 20008 (-1024). An overflow
condition is detected when bits 10 and 11 of the X positionreg:i.ster or the Y
position register are not the same. Word 1 of €m Xl message contains the contents
of the graphic controller program counter (Dpe). This is the address of the second
instruction follo~.ing the instruction that caused the interrupt. Words 2 and 3,
respectivel:y, contain the contents of the graphic controller it and Y position
registers (following execution of the instruction that c.aused the interrupt). Also
bits 14 and 15 or word 3 contains the bank number associated with the Xl message.
NOTE
f,
I
t
·1
I
f
1
I
5.3.5 KEYBOARD RELATED MESSAGES.
following messages:
The keyboard related group consists of the
HOST-to-GRAPHIC 8
ZR
Initialize scratchpad for alphanumeric keyboard no. 1
ZT
Initialize scratchpad for alphanumeric keyboard no. 2
ZS
Zero out scratchpad no. 1
ZU
Zero out scratchpad no. 2
LK
Light keys on function keyboard no. 1
LT
Light keys on function keyboa.rd no. 2
GRAPHIC a-to-HOST
ret
Alphanumeric keyboard no. 1
Kl'
Alphanumeric keyboard no. 2
XR
Scratchpad ready for alphanumeric keyboard no. 1
XT
Scratchpad ready for alphanumeric keyboard no. 2
R...'T{
Function keyboard no. 1
RL
Function keyboard no. 2
The following paragra.phs discuss these messages and give details concerning the
format and application of each.
5-33
INITIALIZE SCRATCHPAD FOR ALPHANUMERU1 KEYBOARD
(H->G8)
IZRj
no. 1
Command heJ'der code (octal): 055122
lEI
no,. 2
055124
14
15
13
II
I
I
0
I
I
12
-
11
10
ASCII Z CODE
9
8
7
6
5
4
3
2
1
o·
I
I
I
1IiII . .
I' .
I
o' I
I Command Header
ASCIIR CODE
--~----------------~~I------~----------I
II
f
II
·t
I
STARTING ADDRESS IN REFRESH FILE
o
Word!
I
NUMBER OF CEARACTERS IN LINE
Word 2
This three word Initialize Scratchpa4 message is used to establish parameters
for handling alphanumeric characters on a line basis frOllt the keyboard. It is used
in conjunction ~'ith a rehesh fU,e that contains an area reserved ,for stora.ge of
cha.racters typed in by the operator. This area, called a scratchpad, typically
consistso£ a sequence of TXt' (draw two tabular characters) irts truction$ with ASCII
codes for spaces.
When an Initialize Scratchpad message is sent by the host computer, GCP begins
collecting characters from the alphanumeric keyboard, and stores them in the refresh
file starting at the address specified in word 1. This .address must be even. Word
2 specifies the total number of characters that may be collected. This number may
be equal to or less than the ca,pacity of the scratchpad.
(
f/
f
'I -',
f
II
Characters are collected in the scratchpad until the total count spec:Uied in
word 2 is reached. At that point, .GCP sends a Scratchpad for Alphanumeric K.eyboard
Ready message to the host computer. RE"l'tmN, which may be typed at any time,
terminates collection of characters and causes GCP to send a Scratch pad for
All'hanumeric Keyboard Ready message to the host computer. The host computer can
then obtain the contents of the scratchpad by sending a GI (give image) message to
the GRAPHIC 8. Hote that typing RETURN only causes the Ready message to be
generated and has no effect on the scratchpad itself. Additional inputs from the
keyboard are simply added to the scratchpad if space is available or ignored if
space is not available.
5-34
:_1
f
\
Characters collected in the scratchpad remain there until a) they are cleared
by a Zero Scratchpad, a SU (selective update), or MU (memory update) message from
the host computer; b) they are replaced when another Initialize Scratchpad message
from the host computer causes the scratchpad to be reused; or c) RUB OUT is typed.
Typing RUB OUT deletes the last character in the scratchpad and permits it to be
replaced with'a different character. Repeated typing of RUB OUT deletes successive
characters in the reverse order of input.
NOTE
When processing on a line basiS is no longer
required, the host computer can cause keyboard
inputs to be handled on a single character basis
by sending an Initialize Scratchpad message to the
GRAPHIC 8 in which words 1 and 2 (address and
character count) are all zeros.. GCP then sends a
JC{ (alphanumeric keyboard 110. 1) bssage to the
host cOtllputereaCh time a character is typed.
ZERO SCRA'rCHPAD
(R-)G8)
t~1
no. 1
Command header code (octal): 055123
1![1
no. 2
055125
15
I I
I 0 I
I I
14
13
12
11
10
9
____________________
,
,
ASCII Z CODE
8
I
7
6
I 0
5
4
3
2
1
o
ASCII S CODE
"
I Command Header
~I--~--~--------------I
The Zero Scratchpad message is normally sent after an Initialize Scratchpad
message has been processed. The Zero Scratchpad message ~auses GCP to replace all
characters in the scratchpad with spaces. After the scratchpad is set to spaces,
the scratchpad input poitlter is positioned to the beginning of the scratchpad area.
NOTE
The Initialize Scratchpad message is used first to
define the starting address and size of the
scratchpad in the refresh memory.
5-35
(
LIGH.T l{E"1S ON FUNCTION KEYBOARD
(H->G8)
(~I
no. 1
Command header code (octal): 046113
lui
no. 2
046124
15
I
I
0
I
12
13
14
11
10
9
8
7
6
5
4
!.
I
o
ASCII L CODE
3
2
o
1
I·
ASCII K CODE
Command Header
I--~I--~,_--~----------~~-------------------
I
I
I
.... ,
I Word
MASK FOR FUNCTION KEY LIGHTS
1
1_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _- -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1
--,
I
I
f
MASK FOR UATRIX K.E"'i LIGHTS
Word 2
1-------------------The three-word Light keys message is used to light func.tion and/or matrix keys
on a keyboard. B:it 0 through 15 of word 1 are assoc.iated with function k.eys 0
through 15, respecti.vely. Similarly, bits 0 through 15 of word 2 are associated
with matrix keys 0 through 15, respec.tively. If a bit is set to 1, the corresponding key lights; if a bit is set to OJ the corresponding key does not light. The
layout of the function and matrix keys is as follows:
FUNCTION KEYS
I- I •
I
0
!
I
1
- .
I
2
3
4
5
I
I
6
I 7
I
I
8
I
1
I
9 110
!
I
I
i
I
I
III 112 113 114 115
I
I I I I
~:!ATRIX
I 7 I
I 4 I
I 1 !
I 10 .. ,
8
5
2
0
KEYS
9
6
3
11
r 15
I
I
I
14
13
12
I
5-36
(G8-)H)
15
ALPHANUMERIC KEYBOARD
no. 1
Comll1a.nd header code (octal): 045531
no. 2
045524
I
I
I
14
13
12
11
10
9
8
7
6
5
4
3
2
1
o
I'
o
ASCII K CODE
ASCII Y CODE
Command Header
I
I
'
I
ASCII CHAR CODE
Word 1
I 0 I 0 000 0 0 I 0
I
I__________~--------I~~-------------------I
I
I
010
I
I
I
I
0
I
I
I
o
0 100
'I
0
o
010
I
I
I'
0 I 0
I
0
o
0
o o
o
0
o
010
o
I
I
0
i
0
I
I
I
0
o o
Word 2
0
o
o
Word 3
{
'.
..~.
Alphanumeric ley board messages are associated with alphanumeric inputs from a
keyboard. Ea.ch time an alphanumeric key is typed, GCl' sends the message to the host
computer if the following conditions are met:
a.
The keyboa.rd is enabled (refer to host-to-GRAPHIC 8 IK messages).
b.
The keyboard is not bEling operated in the scratchpad mode (refer to
host-to-GRAPHIC 8 Initialize Scratchpad message).
If thekeyboa.rd is not enabled, typed inputs are ignored. If the keyboard is
being operated in the scratchpad mode, inputs are sent to the host computer in RI
(return image) messages. Each Alphanumeric Keyboard message sent to the host
computer contains the ASCII code for a single alphanumeric character (refer to
Appendix A for a summary of keyboard codes). This code is contained in the low
order byte (bits 0-7) of word 1. Words 2 and 3 always contain all zeros.
NOTE
Keyboards are automatically enabled by GCP when
the GRAPHIC 8 is initialized in the system mode.
I
.,J
5-37
1
(
SCRATCHPAD READY FOR ALPHA.NUMERIC KEYBOARD
(G&->H)
lXiI
no. 1
Command header code (octal): 054122
Ix'!l
no. 2
054124
IS
II
14
I
13
12
11
9
10
8
7
5
6
4
3
2
1
·t
,(
0
I
I
I 0 I
I
I
ASCII X CODE
I
I
I
ASCII R COPE
0
NUMBER OF CHARACTERS IN
II 0
I
0
0
0
0
00000
0
0
0
0
0
0
0
0
Command Header
Wor.d 1
SC~4..TCHPAD
0
o
0
0
0
0
0
0
0
0
0
0
0
0
Word 2
Word 3
I
I,
"1
t '.
I
",
Scratchpad Ready 1.1lessages at'e generated by GCP to inform. the host computer that
data in the scratchpad for the alphanumeric keyboard is ready to be transferred.
GCE sends a.Scratchpad Ready message to the host computer whenever an alphanumeric
keyboard is operated in the scratchpad mode and the RETUEN k.ey is typed. GCE also
sends this message to the host computer when the scratchpad 1s full. Word 1
contains the character count indicating theo,umber of characters entered into the
scratchpad by the operatot'. Words 2 and 3 always contain all zeros. Normally, the
host computer 1."asponds ,lith a GI (give image) message to obain the qontents of the
scratchpad.
I.
I
I:
f
I
f
r
1:
I'
5-38
{.
FUNCTION KEYBOARD
(G8->H)
·...i
I
I
I
15
0
no. 1
.. Command header code (octal): 051113
no. 2
051114
I
14
13
I
12
11
10
987
6543210
o
ASCII R. CODE
ASCI! K CODE
Command Header
1
I
I
I
FUNCTION OR MATRIX KEY CODE I WQrd 1
I 0 0 0 0 I 00 0 0
1_"'"--_ _ _...
1 _ _ _....:.-.______________ 1
1...,
....,~
I
I
I
I
'
I 0 0 O. 0 I 0 0 0 I 0 0 0 I 0 0 0 0 0 0
I__~______....
I ______~1_______._1__--------------
Word 2
I'"~
d
i
I
i
~
..
~.
-
I
I 0 I
II
t
0
o
I
0 I 0
I
0
I
010
I
'
0
o
0
0
0
0
0
0
Word 3
Function Keyboard messages are associated With the·function or matrix keys on
the keyboard. Ifa function keyboard has been enabled (refer to host-eo-GRAPHIC 8
IK message), GCP sends a Function Keyboard message to the host computer each time a
key is typed. Each message contains the code for a single function or matrix key
(refer to Appendix A\. for a swnma.ry of codes). This code is contained in the low
order byte (bits 0... 7) of word 1. Words 2 and 3 always contain all zeros.
'_.,.j
5-39
5.3.6
POSITIONAL ENTRY DEVicE RELATED MESSAGES*.
related group consist of th~ following messages:
Host-to-GRAPHIC 8
The pOsitional entry device
tM
Assign data t,ablet as E'ED no. 1
nr
Assign data tablet as PED
IP
InitialiZe PED no. 1
IT
Initialize PEDna. 2
GS
Get status
-~'
o~
"'.,"
I.
,~~
no~·
2
E'EDs .,.
r
1'2
1
f ,";
,j
j~:
G1'
Give PED no. ,.1
GT
Give PED no. 2
aT
aeturn PED status
RP
Return PEP no. 1
aw
J.etu;r'll PlU)
:f
no.
2
The fo110w11'18 paragt'aphs discuss these messages and give de taUs concerning the
format and application of each.
I
I
I ".
t ~,
t'. .
I
•.
I'.'·:.:"
I".':
{
-.
f
I. ~'
*SeeSection 5.3.7 for tllessages for device numbers greater than 2.
Ii
1:
5-40
(
.
"
...
ASSIGN DATA TABLET AS PED
(H:->G8)
I
I
15
0
no. 1
Command header code (octal): 052115
no. 2
052116
14
I-
I
13
12
11
10
ASCII T CODE
9
8
7
6
5
4
3
2
1
0
ASCII M CODE
0
I
!
Command'Header
I--~I----------------~--~-----------------I
The Assign Data Tablet message is used to .inform GCP that all messages received
on ports 4 and 8 should be interpreted as data tablet type messages. By default GCP
is initialized to interpret all messages received on ports 4 and 8 as
trackball/forcestick type messages.
NOTE
Refer to Initialize PED message for more information on the data tablet message format.
1
I·
. .J
..
.)
5-41
INITIALIZE PED
(H-)G8)
ITII
rIPI
no. 1
Command header code (octal): 044520
-
no. 2
044524
I,tl
I
0
DELAY TIMe V!LUi
I
I
I
I
.t
I
I'
0
0
I
O·
I
0
0
If'
1
•
f
I
MEMORY ADDRESS (FOR MODE 0 AND 3 OPERA'UON)
0
I
.I
f:;\;
I
f '· ',
I
MODE
I
I Word 1
i
.I
I
"
I 0 I Word 2
I
I
The Initialhe Pil) message is a three-word message used ta establish the
aperating mode for the PEl) (trackball/forcestick or data tablet). Bits 1 and 0 of
word 1 sp,.c1fy the op. rat ing mode in binary form as follows: automatic tracking
mode (mode 0) ,. 00; automatic mode (mode 1) .. 01; request mode (mode 2)
10;
track1.11g mode (mode 3) .. 11. Bits 8 through 14 of word 1 select the delaytint;e When
mode 0 isseleeted. !'or al,l other modes, bitsS through 14 of word 1 are· set to
zeroes. All retnain1t18 bits in word 1 are always set to lEeros. Wben mode 0 or .3 is
specified, word 2 eonta~nsa memory address to be used for the sto1:'age of associated
data. the address should be that of an even-numbered byte_ If an odd address 1$
specified. the low-order bit is ignored by GCP and no XX (error status) message is
generated if an addressQf 0 is speeif1ed. the symbol is "detached'· from PEn action
and. furtherP:E:D interrupts are disable4..
0;11
Mode 0, 2 and 3 are applicable to data tablet type PlDs and modes 1 ~ 2, and 3
a::e applicable to trackball/forcestick type PEDa.
.
In the autom.atic tracking mode (mode 0), absolute displacement data received
from the data tablet is used to upl'late the memory address spec.ified .in word 2 each
timl! a data tab.let mes;sage is received, tQ refll!ct the last positioll of the data
tablet pl!a.entry. This updat11l8 is done by gl!lleraeing an t.DXA (load X absolute) and
an. MVYA (move Y absolute) instr1lct1Qn to replace the ones already in the refresh
file. Wbenmode 0 operatiQn fora PED is specified, word 2 of the IP or 11' message
from the host C011lputer contains the address of the LDXA instruction to be replaced.
The new MVYA instruction then replaces the old 1::NYA instruction at the next higher
adtlress.
I
t
. . i·~
.'.~
{,
f','.'
I,
I'
I ;"-.
-.
( ,\~:
The delay time' values in word ~ associated with mode 0 are given below:
:(.:
-
BIT
8
9
10
11
12
13
14,
DELAY TIME VALOE (seconds)
1/60
2,/60
4/60
8/60
16/60
32/60
64/60
(or
(or
(or
(or
(or
(or
(or
1/50)*
2/50)
4/50)
8/50)
16/50)
32/50)
64/50)
The delay time applies to all PED's in mode
a
on the same GRAPHIC 8 controller.
When the bit is set to 1, the \associated delay factor is activated.
bit is set to 0, a zero delay factor is associated with the bit.
When the
Each time the data tablet pen switch is pressed, the data tablet sends coordinate information to GCP at the rate of approximately 100 messages per second.
As each 1l1t!ssage is received, Gel? does a data tablet-eo-display coordinate system
conversion and updates the memory address specified in word 2..
As soon as the pen switch is released, the delay time mechanism is activated.
GCP then waits for whatever time the delay is set for and then sends a Return PED
message to the host to reflect the latest position of the last data tablet entry.
If the delay time :is set for 0 seconds, then each time a data tablet message is
received, a Return PED message is sent to the host computer. With a delay time of a
seconds, the host computer could be overloaded with a series of identical Return PED
messages. (E.g., if the data tablet pen switch remains pressed for 2. seconds, then
200 Return PED message~ would have to be processed by the host computer.) The
recommended delay time should be approximately 1/4 second.
,i.
i
,
"
,
Each time the data tablet pen switch is pressed, the delay time mechanism is
restarted. If the data tablet pen switch is re-pressed before the delay time
expires, then no Return PEn message is sent to the host computer until the new delay
time expires.
When the automatic tracking mode is selected for the PED, the Give PED message
must not be sent from the host computer to the GRAPHIC 8. If a message is sent to
th~ GRAPHIC 8 when the PED is operating in the automatic tracking mode, GCP responds
'by sending an XX message back to the host computer.
In the automatic mode (mode 1), relative displacement data received from the
trackball/forcestick is sent to the host computer in a Return PED message. This
message is sent each time the display processor is interrupted by the PED. When the
automatic mode is selected for the PED, the Give PED message must not be sent from
the host computer to the GRAPHIC 8. If a GP message is sent to the GRAPHIC 8 when
the PED is operating in the automatic mode, GCP responds by sending an XX message
back to the host computer.
,!
:.J
j
*
For 50 cps power frequency
5-43
"
-.'
I
In th~ request mode (mode 2), GCPmaintains the absolute coordinates of the PED
position i~terna11y.. Then, when a GPrnessage is sent by the host computer, GCP
returns th~; latest absolute position data to the host computer in an RP message.
" ute PED posi tion data and
In the tracking mode (mode 3), GCP maintains abaol
sends it teJ the host computer in the same man.ner as for mode 2 operation. In
addition, ~p continuously updates the refr.esh file to reflect the latest positio;n
of the PEDat all twes.; Mov_ants of the PED is indicated by generating an LDXA
(load X absolute) and an MVYA (move Y absolute) instruction to replace the ones
already in the ref:resb file. When modeS operation for the PED' is specified, wid :2
of the IP or I'l' message from the host c.omputer contains the address of the LPXA 7
instruction to be replaced. The ne.w MVY.~ instruction then replac.es the old MVYA
instruction at the next higher address.
o·
Note that relative position data is returned automatically to the host computer
in mode 1 operation while absolute position data is returned in mode 0, mode 2, and
mode 3 operation, but 01:11y upon request of the host message (GP or at).
When mode 3 operation for the PED is specified, word 2 of the initializePED
message ·(IF, IT, or IV) from the host computer contains the address of an LDXA or
LDDI instruction. !he LDXA is used to define (by user) a symbol or cursor in
refresh as follows :
•
II •
•
,
LPXA :it;
MVYA Yi
.
-.' .. " .. ,
specify x
and y position of symbol
gr<:lph:!.c orderi9 defining a symbol
cursor (e.g., CHAR < *
»
A LDDI graphic order is used to define (by the user) a hardwarecrosshair cursor
control :routine as follows:
LOPI
LDDI
LDOI
..... .
< XCRn,
< YCRn,
< STAn,
0
0
>
>
1040
2 words, opcode + XCRn data
)
2 words, opcode + YCRn data
2 words to enable crosshair cursor
'
NOn:
The ct'oss hair cursor can be dis.abled (removed
from the screen) by using the graphic cIrder:
LDDI
< STAn, 1000 >
The GCP input PEP handler (in mode 3 or 0) tests for the presenc.e of LDXA. or
LDDI (pointed to by wrd 2) and updates the X and Y position in refresh correc tly
for either c.ase • If the GCP input PED handler does n.ot recognize the LDXA or LPOI,
the X and Y POsitiOt1 in refresh file ienot updated.
II
t
I..
I,
.,
f
l
f
r
"
,,
.'
J
I
·f
Ii
f
{I
f ,.
I
I,
5-44
:,'j
I
(!
,,~..J
In summary:
Trackball
Forcestick
---Mode
Data Tablet
a
\ ..
.••..1
Update internal X~ Y position
and X, Y position in refresh file.
Return X, Y when pen is released.
Automatic mode (1)
Send relative X, Y
to host
Request mode (2)
Update internal
X, Y position only
Update internal X, Y position
Tracking mode (3)
Update internal
X, Y position and
X, Y position in
user refresh file.
Update internal X, Y position
and X, Y position in user
refresh file.
lesl
15
I
(H->G8)
14
I
I 0 I
I
I
13
GET STATUS OF PEDS
12
11
10
ASCII G CODE
9
8
Command header code (octal): 043523
7
6
o
5
4
3
2
1
o
ASCII S CODE
Command Header
The GS message is used to request the 'current status of each PED. An RT
message is sent by ~l' to the host computer in response to the GS message.
NOTE
The GS and RT messages are maintenance type
messages. Normally the GCF application programmer
won't process the GS and RT messages but they can
be used to validate the modes and PED types
established by the IF, IT, TM and TN messages.
"'r
5-45
(G8-·>H)
IRTI
15
I
I
I
0
14
RETURN
12
13
I
I
I
11
PED STATUS
9
10
8.
Coml1lJ3.nd header code (octal): 051124
1
I
I
ASCII R CODE
PED
7
5
':-r-6
0
4
2
3
0
1
i
!
I
ASCII T CODE
>
Command Header
.......
PED 1
2
~
0
0
0
0
0
MODE
0
TYPE
PED 6
I ..·.,.
I 0 ! MODE
I I
I
0
0
-
I
-
I
I
MODE
TYPE
0
-
r
I
a
0
0
0
0
MODE
TYPE
-
I
~
"'I
I Word 2
I
I
a
I
I
HODE
TYPE
I
I
t"
f
PED 7
I
I
I
-I
HObE
TYPE
PED 8
0
I
1
PED 3
PED 4
.
0
MODE
TYPE
0
'l"'lPE
0
I
MODE
I
0
I
PED 5
0
TYPE
-
0
0
I
I Word
I
I ,II'.,
Word 3
f
I
-
I
The RT message is sent by Gel' to the host computer in response to a GS message.
Word 1 cO'!'ltains the software status of each PED.
Bits 0, 1, and 2 are associated with PED 1 (PED connected to port 4 on serial
multiport interface 1). Bits 8, 9 and 10 are associated With PED 2 (PED connected.
to port 8 on serial multiport int"erface 2). ,The meaning o,f the TYPE and MODE bits
are given below:
-Bits
0 or 8 word 1
0 or 8 word 2
-Value
-I
-
I
>
1,2 or 9,10 rNord 1.-1
1~2
5-46
or 9,10 word 2
-I
>
Type PED
o
Trackball/forcestick
1
Data tablet
00
Automatic tracking mode (data tablet only)
01
Automatic mode
10
Request mode
11
Tracking mode
1
GIVE PED
(Hr-)G8)
IGPI
no. 1
Command header code (octal): 043520
IGTI
no. 2
043524
15
I
I
I
0
14
.1
I
I
13
12
11
10
ASCII G CODE
9
8
7
o
6
5
4
3
2
. ASCII P CODE
1
o
Command Header
The Give PED message is a single-word message used to request the current
absolute coordinate data for the PED (trackball/forcestick or data tablet).
Requested data is returned by GCP to the host computer using a Return PED message.
A Give PED message ~an be used only when the PED is operating in mode 2 (request
mode) or mode 3 (tracking mode). If this message is sent when the PED is . operating
in mode 0 (automatic tracking mode) or in mode 1 (automatic mode), GCl? responds with
an x.'{ (error status) message •
•
j
5-47
r
RETURN PED
(G8->l:l)
-
liP!
no. 1
Command header code (octal): 051120
1!R 1
no. 2
051127
I
I ',
i"
15
I
I
I
0
I
I
14
, 12
11
8
9
10
t .
I,
' r
0
I
0
'
f'
I 0
I
0
0
I
I
I
ASCII R CODE
I
I
I
I 0 I
I J
I
I
I
13
'" T
0
,
I a
I
7
,
0
6
{.
I
5
4
I
"
"
t '
0
I
I
I
.0.
1
0
I'
'
0
0
"
' l '.
i
r
MODE
0
. f
"
'
,
f
Y POSITION DATA
I"
, t.
'I
I Command. Header
I
I
0
,.
,I
"
",
!
X POSITION DATA
.
2
ASO!.I' P CODE
I'
, t ' , , "f'
3
I'
.
,
I
I
I Word 2
I
f
f
I
I Word
I
When the Pin :is operating in mode 1, GCP sends this message to the host
computer eV'ery time the PED generates an interrupt to the display proc.essor. PED
interruptS are enabled or inhibited by host.... to...G1tAPHIC 8 IK messages. In this tIlode,
words 2 and 3 conta:i.n relatiV'e X and Y position data, respectively, for the PEl)
(direction and distance moved since last RP message WaS sent). The relatiV'e data in
each word consists of eight bits in two's complement form nth the sign b:it (bit: 7)
extended to tUl the complete 16-bit word.
When the PEDh operating in mode 2 or mode 3, Gep sends Rfiturn PED messages to
the host computer in response to a GiV'E! PED message from the host computer, I'll
these modes, words 2 and :3 contain absolute X and Y pos:ition data for the PED. The
absolute data in each word cons:ists of 12 bUs in two's complement form with the
s:i.gn bit (b:it 11) extended to fill the complete 16-bil: word. Note that PED interrupts are not used to initiate RP messages in mode 2 or mode 3.
PEl) I S are automcftically enabled 'by GCP when the
GRAPHIC 8 is initialized in the system mode.
5-48
'~.,
3
the PED is operating in the request or tracking tl10de (modin 2 and 3, respectiV'ely)>>
these messages are seat in response to Give PED messages from the host computer.
The operating mode for PEDis established. by a corresponding Initialize PEl) 'message
frolll the host computer. For all Return PEI) messages, the operating mode of the PEl)
is :i.dentified by bits 1 and 0 of word 1 (00, 01, lOt and 11 indicate t!I.Odes 0, 1, 2,
and 3, respectively). B:its 2. through 15 of word 1 are always zeros. When the PED
is operat1ngin mode 0 (data tablet otlly) GCP sendSi a Return PED message to the host
computer every time the aata tablet pensw.:itc:h i,a pressed. III this mode words 2 and
3 conta.1nabsolute X. and Y position data, respectively, for the PEl).
-
f :')
I Word 1
I
The Return PED messages areassoc.1ated with the 1?ED (trackball/forcestick. or
data tablet). When t'he PEl) is operating in the auto1l1atic trackingt!l.Ode (mode 0) or
in the automaticllOde (mO,de 1) tthese Illes sages are $.ElInt automatically by GCP. When
NOTE
I",
-";' • .1
'( ,-':
.,.1
1',
.." i
r,
1:',
{.;,.,
l~
I, "
f:
J,
5.3.7 EXTENDED DEVICE CONTROL MESSAGE. The four Extended Device Control messages
extend the functions described in Sections 5.3.5 and 5.3.6 to eight peripheral
devices of 1;he same device type. I
HOST-to-GRAPHIC 8
U: - Enter Extended Device Control (EDC) mode
IV - Initialize a peripheral device
OU
~
Output or Request to Device
GRAPHIC 8-eo-HOST
IN - Input from device
: ... i
'1
\.
Refer to table 5"'2 for the device types and the corresponding functions. Refer
to the messages that the EDe mesu.ges functional replace for a cOUlplete description
o.f the function.
.
.J,
5-49
...-...:
r
Ii
t.;
Table 5-2. Gel' E:ttended Device Control*
(Functional Replacement)
..
DEVICE 'MESSAGE
I
TYPE
1
(OCTAL)
""
...... I
:::.:z-l
I
I Initialize
I Scratch pad
I en, ZT)
I
I
I
I
I Zero·
I
I Sera tch pad
I
I (ZS, ZU)
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
•
I
I
I
fU1'1ctiolt
Light
I
I
I
I keys
I
I
·1 (IJ(, LT)
I
I
1
I
I
I
1
I
I Initialize
I iequest
I
I PSD
I Pos Uion data I
I (!P,IT)
I (Gl', GT)
I
I
I
I
I
I
I
I Ini tialize PED ' I iequest
I
I a.$ Ta.blet
I Pos1tioll data I
I (Il' t IT)+('I'M, TN) I (GP. GT)I
1
I
I
0
Alphanumeric
Keyboard
1
Fuact:icOn
Keyboard
2
Track'ball/
FOl'eestiek
:3
Tablet
15
14 13
I I
I 0 I
I
I .. /
I oI
I I
I
I
I
I
I
!
I ·OU'IPUT OR
I
I REQUEST DEVICE I
OT
I
I
I
I
INITIAlIZE
DEVICE
IV
1.2
II
10
I
.
9
8
IN (4 WORIlS)
,:,j
1
7
ASCII CODE
Q
DELAY TIME
MODE
5
6
4
3
2
. t
1
ASCII CODE
Mode .. 0,
ScratehpadReady
(Xli, XT)
Mode" .1,
Character data
(n,
lCT)
Function or
Matrix Kay Code
en;
RL)
-'I
"
1DEVICE
I
mE
DEVICE**
NUMBER
,'_..... J
I :.~
r
:~l
U
'{',.
...
,
X and. Yposition
data
(U, RW)
i
{
and Y pOSition
data
X
(RP , iW)
1
,
._'
r'
t: ~.
0
COOlma.nd Reader
.t.:'·
I
Word 1
DATA
Word 2
DATA
Word :3
"'Enter ltxtended Devies Control (EnC) mode via an IX message.
in system mode is in non EDC mode.
**Keyboard or PED is device no. n-l.
5-50
INP ur DEVI CE
...,
GCP initialization
I:
I
The format of words I, 2, and 3 for each device type and message are
below.
sho~m
IIVI -- Initialize Device Command Header (octal 44126)
•
Initialize Scratchpad
Word 1 - device type"" 0; device number"" 0-7
Word 2 - starting address of scratchpad in refresh file
Word 3 - number of characters in line in scratchpad
Initialize PED
Word 1 - delay time; mode = 1, 2, or 3; type = 2; number = 0-7
Word 2 - address of LDXA of PED symbol in refresh file if software symbol
- address of LDD! if hardware cursor
•
=
Word 1 - delay time; mode '"' 0, 2, or 3; type"" 3, number
0-7
Word 2 - address of LDXA of tablet symbol in refresh file if software
symbol
address of LDDI i f hardware curosr
r',
-
.-~
\
-
Initialize PED as data tablet
lOTI
•
Output or Request Device Command Header (octal 47524)
Zero Scratchpad
Word 1 - type
•
~
0; device number
= 0-7
tight Function Keys
Word 1 - type = 1; device number = 0-7
Word 2 - mask for function key lights
Word 3 - mask for matrix key lights
•
Request FED Position Data
Word 1 - Mode 2 or 3, type "" 2, number "" 0-7
Request Tablet Position Data
Word 1 - Mode 2 or 3, type
= 3,
number
= 0-7
IINI -- Input Device Command Header (octal 44516)
•
Scratchpad Ready
Word 1 - mode = 0; type = 0; number = 0-7
Word 2 ... number of characters in the scratchpad
Word 3 - 0
5-51
r"
Character Data
Word 1 ..., mode'" 1, type == 0; device number == 0-7
Word 2 ~ ASCII character code in bits 0-7
'(>lord 3 ... 0
Function or Matrix Key
D~ta
Word 1 - type" 1; -device number 0-7
Word 2 - Function key code in bits 0-7
Word 3
0
X and Y PEn Position Data
f
,I
I
t
L
f
-'
•.• J
Word 1 - mode'" 1, 2, <)r 3; ,type"" 2; number'" 0-7
Word 2 - X position coordinate
Word 3 - Y position coordinate
•
j{
and Y Tablet Position Data
Word 1 ... 1Jlode '"
e,
2, or 3; type .. 3; number" 0-7
Word 2 -. X position coordinate
Word 3 - Y position coordinate
{
t
.• --j
I
I
""1
r
(
I
II
I,
t:
I.·'
II
5-52
(
-
5.3.8 FORTRAN SlJPPORT (FSP) MESSAGES.
the following messages:
The Fortran support (FSP) group consists of
Hos t- t o-GRAPHI C 8
IG
Init~alize
GU
Graphic update
MI
Move image
NP
Enable box display
21'
Disable box display
NN
Enable error number
ZN
Disable error number
PV
Packed vector
GCP to support FSP
GRAPHIC 8-to-Host
RG
Return FSP table address
The following paragraphs discuss these messages and give details concerning the
format and application of each.
I
,-_J
5-53
.
~.1
I
1lE.1
(H-->G8)
INITIALIZE FSP
r
Command header code (octal): 044507
SUPPO~T
!
15
1--- I
I
I)
I
I
14
13 .. 12
"i'~-
11
10
..-9
g
ASCII I CODE
8
7
6
5
4
3
2
1
o
f
,.,
G
ASCII G CODE
Command Header
I~~~~-------------~--~--~------------------------------The IG lll,essage is used to initialize Gel" to operate in the Fortran support
program (FSP) env:i.ronment. ASSOCiated with this environment is a Sanders-developed
Fortran Graphic Support program,. This program is host resident and consists of a.
collection of Fortran callable subrou#ines. This program simplifies the task of
generating a graphic program by enabling the appl,ication programmer to write all
application programs in Fortran. The'task of fOrIllatting Gel" messages is performed
by the FSP.
The execution of the IG message results in a full screen box and an error code
being displayed on all d.isplay indicators. This gives the application programmer a
visual indicat10n that Gel' is nowopetating in an FS1' environment. In response to
the IG lUessage, Gel' sends G8)
15
I• I
I 0 I
I I
14
13
Command header code (octal) : 053120
DISABLE BOX DISPLAY
12
11
10
9
8
7
r
6
i
5
I
a I
I
ASCII Z CODE
X
X
X
i
I
X
X
X
X.
X.
2
3
I -
1
X
X
..
A
0
- I
ASCII P CODE
t
X
4
_u
Hi'DIeATOR
Command Header
t~ord
.
3 210
..............
--
1 000
Remove box from indicator 1
0 100
Remove box from indicator 2
o0
1 0
000 1
Remove box from indicator 3.
Remove box from indicat()r 4
If all bits are set to 1, then the box will be removed from all four
indicators.
r.'
,:1
I
"~""(
"
i,'
I '1
IJ
t
,
{
I
r.
(
L·
I
r
r
l.
5-60
'"",
....
1
The Z2 message is used to disable the box display on selected indicators when
operating in the FSP environment. Bits 4 through 15 in word 1 are ignored by GCP.
Bits 0 through 3 specify which indicators the box should be removed from. These
bits are defined as follows.
BITS
f
r
f
I
(
',-
,,
I
.l"
!NN!
15
I
I
I
0
-~.
13
14
I
I
I
I I
I x'i
I I
.'
ENABLE ERROR 0lUMBER
(H->G8)
12
11
10
9
8
ASCII N CODE
7
Command header code (octal): 047116
6
4
5
3
2
1
ASCII N CODE
0
0
Command Header
I
X
X
X
X
X
X
X
X
X
X
I
I
X
INDICATOR
Word 1
The ~N message is used to enable the error number display on selected
indicators when operating in the FSP environment. These error numbers are updated
by FSP to give the user a visual indication that an error has occurred.
Bits 4
through 15 are ignored by GCP. Bits 0 through 3 specify which indicators the error
number should be displayed on. These bits are defined as follows:
BITS
~·r
I
111..2.
1 000
Display error number on indicator 1
0 1 0 0
Display error number on indicator 2
0 0 1 0
Display error number on indicator 3
aa
Display error nUlilber on indicator 4
t .•
0
1
If all bits are set to it then the error number is displayed on all four
indicators.
5-61
fIZ'NI
(H-)G8)
-
15
I
I
I
0
14
I
.
Command header code (octal): 055116'
DISA.BLE ERROR NUMBER
12
--
11
9
10
8
ASCII Z CODE
7
6
X
X
X
X
4
5*4,--
I
'U'
.'\0
G8)
14
I
I
I
13
12
11
10
9
8
Command header code (octal):
7
ASCII P CODE
0
BYTE COUNT ( B)
X
6
5
4
2
1
0
ASCII V CODE
I
1
3
X
I
X
I
I
I
X
X
X
050126
Command Header
Word 1
X
MODE
-
,
STARTING ADDRESS
Word 2
i
DATA BYTE 1
DATA
BYTE B-1
DATA BYTE 2
I Word 3
I
LAST DATA BYTE B
Word N
5-63
,;
__ .l
I
'-,
Bits 8 through 14 in word 1 contain the b~e count indicating the number (B) of
data bytes contained in the PV message. Bit 0 in word 1 selects th~ mode. Iraen bit
o is set to O. add mode is selected. For add mode, an RTRN, return instruction is
added to the end of the refresh code created from the data bytes contained in the PV
message.
When bit 0 is set: to 1, edit mode is selected. For edit mode, no return
instruction is added to refresh. Bits 1 through 7 in word 1 are ignored by GCP.
Word 2 contains the starting address of where the first LDXA instruction should be
stored.
NOTE
When word 1 and word 2 are sent from the host
computer to the GRAPHIC 8, they must be sent
according to the algorithm. de~cr1bed in paragraph
5.2.1 for serial transmission of binary words
(Le.,4 I(!harac tel'S for each binary word).
Words 3 through ncontain the data bytes for the
PV message. The format of the data bytes given
below:
BITS 15 nmOUGH 8
AND 7 THROUGH 0
x 001
x0 1 n
DESClUl'TION
1 1 1 1
CrlSate move instead of dra'(¥'
n n n n
HI 5 bits of it or Y value
it IOn n n n n
LO 5 bits of X val ue
Xllnnnnn
LO 5 'bits of Y value
Table 5-3 relates the number of bytes that change
at the host computer to the nt.1Illber o.f bytes
required for transmission to ge.nerate the appropriate LD.XA., MVYA, or DRYA instructions in the
refresh file.
(I
;1
)
.,.,
I
I
I,
"
,
.,".1
"''1
, I
\
(
f:
I
'.0",-,:: •.'
{
(,
I
I
I
L
l.
(,
I
f.
('
I
"
Byte 'lXansmission Requirements
Table 5-3.
,
I
I
BYTES ImleH CHANGE
I
0",
I
BnE TRANSMISSION REQ.
I
LO Y
HI X
LO X
II
HI Y
LO Y
HI X
La X
II
II
**
1
1
1
1
1
1
1
1
1
1
0
0
0
1
0
0
1
1
0
0
1
1
1
1
0
0
1
1
1
0
0
,-~
0
0
0
0
0
1
1
0
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
0
0
1
0
0
""
II
II
II
II
II
II
II
II
II
II
II
II
II
II
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
1
0
0
1
1
0
1
0
1
1
1
0
0
1
1
0
0
0
1
0
0
1
1
0
0
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
II
.J
,
.~
1ft OF
BYTES
SENT*
I
II
I
II
HI Y
I
o '"
no transmission
1= transit the byte containing that field
"
II
II
II
II
II
"
II
II
II
II
"
II
I!
II
"
"
II
II
!I
4
4
:3
:3
:3
3
2
2
:3
:3
2
2
3
:3
1
1
* 1 extra byte
** HI Y defzned
will be sent on a MOVE to set to move mode.
as bits 5-9 of user Y on a scale from 0 - 1023
La Y de·fined as bits 0-4 of USer Y on a scale from 0 - 1023
To change a HI X, y!?U must send at least one LO Y.
NOTE
The host coordinate syste~ is from 0,0 (lower
left) to 1023, 1023 (upper right) and the display
coordinate system is from -512, -512 (lower left)
to +511, +511 (upper right). GCP maps 0,0 into
-512, -512 and 1023, 1023 into +511, +511.
,.:.. .~
5-65
I
Below is a brief description of how thePV message functions:
1.
The normal case (also initial value is):
X01AAAAA XII131313BB
xorccccc XI0DDDDD
GCP compares each byte as sent
If same, do nothing until La x
DRY! commands wi th the 10 bits
since 4 bytes Were sent, all 4
all repl,;!.ced with new values.
'OIith old value (except on initial value).
value is sent, then create LOY. and MVY! or
of X and Y data. In the case shown above,
data values changed so old X, Y values are
BEFORE
(OLD VALUES)
BY Y
OOOlOOQ"J<
OOOAA.u.A
La Y
OOOLLLLI.
0001313131313
HI X
OOOMMHMM
OOONNNNN
OOOCCCCC
OOODDDnD
La
x
As soon as La X byte is
received, create LlJXA with
AIIB data and MVYA with
c/ /n data.
2.
The concatenated data (A//a or C/lD) is in the displayable range of the
screen (with values from 0 ....1023). The data is converted to screen
coordinates -512 to +511 before creati~ LPXA, HVYA, or DRY! instructions.
3.
After commands have been created, they ar~ added to the user refresh file.
GCP checks the 1110de specified in the PV message to see whether a re:turn
must be added in addition to the MOVE and DRAH' command sequence.
4.
A LO- X byte (bits 6 and 7 ... 10) initiates creation of graphic
instruc tiona.
5.
(
I
I
(
('
I
I
f.
Review table 5-3 for further clarificaUon of meaning of bytes sent. A 0
in the byte transmission col'l.lttln impU,es byte is not sent • (E."C. If only
the lower .5 bits of Y value change • the following bytes are sent LO Y and
I
La X).
[I'
I
(
(
I
(
5-66
f
NOTE
All data bytes are valid ASCII characters (i.e.,
range is between 037 and 177 in octal). When the
data bytes are transmitted from the host computer
to the GRAPHIC 8, there is no need to code these
bytes according to the algorithm previously
described for serial transmission of binary words
(Le., words 3 through n are transznitted directly
without any conversion performed at the host computer). PVmessages can also be used on parallel
interface systems but it is strongly recommended
that PV messages not be used on parallel systems.
No ASCII code conversion is required for parallel
transmissions and the use of PV messages on such
systems will probably re~ult in a decrease of
speed. For serial users who are using applications that require the generation of large amounts
of absolute moves and draws, the PV mode feature
can be very useful. The routines needed at the
host computer for PV mode are quite involved and
as such are not included in this manual. On
request, Sanders will provide additional information on the host routines needed to perform pack
vector mode functions.
j
5.3.9 OPTION SUPPORT. So ftware options allow the GRAPHIC 8 to e.."!:pand into a more
specialized system while maintaining a common firmware program (1 .e., Gel?). Gel?
includes a method for the user to load, test, initialize, and link several options
together to enhance system requirements. There are a variety of option types that
can be supported. Some general types of options are listed below:
1.
Sanders-developed softwar~ ~ support a present or future option (e.g.,
additional GeP messages to provide sophisticated 3-D coordinate converter
support at the GRAPHIC 8 end).
2.
Customer-developed software to meet a unique requirement (e.g., additional
Gel? messages to permit local editing of text at the GRAPHIC 8 end) •
3.
Sanders-developed control program (e.g., GET-2 emulator control program to
effectively replace the Gel' program).
. ,-
5-67
(
4.
Customer-developed control program (e.g •• a special control program that
effectively replaces the Gel? program).
Noxmally, the option softw,are is stored on the expansion module.
support the downloading of options from a host computer.
GCPa.lso can
NOTE
The opUonsupport provided by GC·p is quite
extens ive a.nd as sw:;:h is not included in this
ma.nual. R.eferto Sanders Publication H-79-03S7
for a detailed description of all option support.
This publication also contains information on
writing customer-developed options.
5.3.9.1
Opt:ion Messages.
The option group consist of thefo.llowing messages:
Host-to-GRAl?aIC 8
'Of _ _
IY
Initialize 2
GO
Give option status
au
Option upda.te (host downloading - described in option manual,
H-79-Q357)
RO
Return option
The follOwing paragraphs discuss these messages' and give details c.oncerningthe
format and application of each.
(
(
(
I
I
t
(
f.
I
f:
I
(
I
(
(
5-68
I
I
l'
.',.'
IIY!
14
15
13
I
I
I 0 I
I
I
I
I
I
INITIALIZE 2
(H->G8)
11
10
9
0
7
8
6
5
I
I 0
.. I
ASCII I CODE
0
0
12
Command header code (octal) : 044531
4
3
2
1
0
ASCII Y CODE
Command Header
12 BIT OPTION FIELD
0
Word 1
The initialize 2 message is a two word message that performs one of the
following actions:
(OCTAL)
OPTION FIELD
ACTION
o
Load all system automatic load options
4000
Unload a11 options
1 to 3777
Load specified option (if unloaded),
initialize option, and update option status
4001 to 7777
I~I
14
15
I
I
I
(
.
GIVE OPTION STATUS
(tI,->G8 )
13
12
11
10
I
0
o
I
I
A:SCII G CODE
o
o
o
9
8
Command header code (octal): 043517
7
o
6
5
4
3
2
1
o
ASCII 0 CODE
Command Head er
12 BIT OPTION FIELD
Word 1
The give option status message is a two word message which allows the host to
verify an option's status. One or two messages will be returned to the host as
specified below.
OPTION FIELD
ACTION
o
Return status of all options via RO, VL
Non-zero
Return status of specified
opt~on
via RO
Two styles of RO option messages are returned to the host in response to the GO
(give option) message: the single option status message and multiple option status
message.
t
;l
5-69
,
..
(
[
I Rq, I
R..1:!:TURN OPTION
(G8->H)
Command
code (octal): 051117
I
Single option status return.
14
15
I
I
13
I
!
I
0
12
11
10
9
8
7
6
5
2
:3
1
0
I
a
ASCII R CODE
4
J
I Command Header
I
ASCII 0 CODE
------------~-----------------------------------I
I Word 1
12 BIT OPT!ON ID
OPTION
I
--------------------------------------------~-----II
STATUS
OPTION INITIALIZATION ADDRESS
(
, Word 2
!
---------------------------------------------,
I Word :3
OPTION LAST ADDRESS + 2
------------------------------------------------,
I
.
(
1!9..1
Command
RETURN OPTION
(G&-)H)
header code (oc tal): 051117
Mul tiple opt1onstatus return.
14 ,13
15
I
!
I.
I
I
I
I
I
I
I
0
12
11
10
9
8
0
0
0
0
0
0
0
0
6
7
0
ASCII R CODE
a
5
I
I
I
4
a
ASCII
0
0
0
2
:3
a
1
f
0
I
I Command
I
I
I Word 1
I
CODE'
a
0
0
Header
"
NUMBER OF WORDS TO BE TRANSFERRED
I
I
I
I a
I
15
I
,
I
,
,
0
I Word 2
I
0
0
0
0
0
0
0
0
a
0
0
a
d
0
0
14
13
12
11
10
9
8
7
6
5
4
:3
...
1
0
I
!
I
ASCI! V CODE
0
I
I
,
Word :3
I
I Command Header
I
-,
I
I
I
[
I
,
Word 1
(
r
I
I
I
I
/
Word 2
OPTION ID
I
Word n
I
I
f
(
OPTION ID
STA'l't1S
/
I
I OPTION
I STATUS
"
ASCII L CODE
NUMBER OF WORDS TO BE TRANSFERRED
I
I
I OPTION
I
/
I
(
f
._,
o.
; i- ,
The number of words to be transmitted equal the option limit. A limit of zero
prevents any VL message being returned. The option ID is returned in bits 0 through
11 of words 2 through n. Option ID values of zero shall be interpreted to mean
that no option is loaded for that reserved area. The option status code is returned
in bits 12 through 15 words of 2 through n. The meaning associated with the option
status code are given in the following table:
•
(OCTAL)
BIT
12
15 14 13 ..........
--_
;\".?
r
'
0
0
0
0
Local detected option
,unloaded
0
0
0
1
Local checksum error
,unloaded
0
0
1
0
Local hardware not present ,unloaded
0
0
1
1
Local self test • NOGO
,unloaded
0
1
0
0
Local Self Test ,. GO
,loaded
0
1
0
1
Unfound option (for single RO message only)
-
:
.,
,~
,.'1'
0;., .....
oJ
...
~
'. J
1
.--<:..
5-71
5.4
PROGRAMMING THE 3-D COORDINATE COt-."VERTER
By using the register update (RU) and the give register (GR) commands, the
programmer may read and write all registers associated with the 3-D coordinate
converter.
'Ibis allows complete host control to perform such functions as:
$
Set matrix parameters
•
Set viewbox parameters
•
Set perspective parameters:
•
Set various control parameters
Depth cueing select
Scale select
Refresh
l~its
select
Source/destination of conversion process
Homogeneous/non-homogeneous select
2D /3D salee t
Perspective/no-perspective select
•
Start 3-D coordinate converter
•
Selectively establish the desired interrupt control
When 3-D interrupts are generated, an appropriate TS message is returned to the
host computer.
NOTE
Please refer to Sanders Publication H-79-0305 for
more information on the 3-D coordinate converter.
\.,",...,-
Its I
2-D/3-D COORDINATE CONVERTER STATUS
(G8-)H)
Command header code (octal): 052123
I
15
I
13
14
I a I
12
11
10
9
8
7
6
5
o
ASCII T CODE'
4
3
2
1
a
ASCII S CODE
Command Header
I--~I--------------------~-------------------
I
I
Word 1
STATUS
,----------------------------------------------CPC
B
o
B
o
o
a
o
a
Word 2
a
a
a
,0
a
a
o
-,o I
word 3
-------------~-----------------------------------I
The 2-0/3~0 coordinate converter can generate 16 interrupt conditions. provided
that the corresponding mask bits are enabled. The TS message is returned 'to the
host computer when a 3D coordinate converter interrupt condition occurs.
Word 1 contains the contents of the 2-0/3-0 coordinate converter status
register. Each bit in this register corresponds to an interrupt condition. One or
more of these bits sets to indicate the type of interrupt condition detected.
Word 2 is the value of 2-D/3-0 coordinate converter program counter.
Word 3 contains two bits of the 2-D/3-D coordinate converter block register
corresponding to the bank in which the coordinate converter was executing at the
time of the interrupt condition. Bits 14 and 15 are defined as followed:
Bits
15 14
-'
-0 a
a 1
1 a
1
1
Bank Number
0
1
2
3
5-73/5-74
,.,
[
..
._. ...,
I :'
"
(~
:c~.'~
(
• ~:. :J
(1
( -J
I :J
~1
(
,"~J
[ :l
',_ i
,.-';
[
.
-:
I' ..
(
(
(
(
.
.
'~'
..
,
"
I
I:
--
....
r:1
{<
SECTION 6
GRAPHIC CONTROL PROGRAM USAGE
6.1
GENERAL
This section contains information concerning basic usage of the Graphic Contrdl
Program (GCP). Included are startup procedures) procedures for generating and
manipulating .a refresh file, and information for using optional GRAPHIC 8 equipment.
6.2
ST.~TUP
PROCEDURES
Startup procedures consist of initializing the GRAPHIC 8 in the system mode and
ensuring that an XX (error status) message indicating zero errors is sent by GCP to
the host cOmputer. In certain cases, these operations are performed automatically.
In other cases, action must be initiated by the host computer. The following
paragraphs describe startup procedures for typical operating conditions.
6.2.1 GRAPHIC 8 TURNED ON AFTER HOST COMPUTER. When power is applied to the
GRAPHIC 8 it is automatically initialized in the system mode and an XX message is
sent to the host computer. If the host computer application program is running at
the time and no errors are indicated by the XX message (bit 15 should be one and
bits 0 through 14 should be zeros), no further action is required and startup is
cOll1ple teo
NOTE
On systems that do not have a 3-D coordinate
converter option installed, bit 4 of the XX
message is set to 1 to indicate failure of the 3-D
self-test.
6.2.2 GRAPHIC 8 TURNED ON BEFORE HOST COMPUTER. If the GRAPHIC 8 is turned on
before the host computet, any XX message sent to the host computer is lost. In this
case, action must be initiated by the host computer to obtain another XX message
from the GRAPHIC 8. This is done by sending an 1Z (initialize) message to the
GRAPHIC 8 which causes GCP to return an initialization XX message to the host
c.omputer.
6.2.3 POWER FAILURE STARTUP. To ensure proper startup following power failure, i t
should be a~umed that the power failure affected both the GRAPHIC 8 and the host
c.omputer and that power is first restored to the GRAPHIC 8. This condition is
similar to that described in paragraph 6.2.2 in that the XX message automatica.lly
generated by the GRAPHIC 8 is lost. To ensure proper startup, therefore, the power
recovery routine in the host computer should 'cause an IZ messa.ge to be sent to the
GRAPHIC 8 causing GCP to respond by sending an initialization ~~ message to the host
computer. In this way, an initialization XX message is guaranteed to be received by
the hast computer regardless of the order in which power is restored to the various
equipments.
6-1
(:
6.2.4 STARTUP WITH GRAPHIC 8 r~ TELETYPEWRITER EMULATION MODE. A special startup
procedure is required when the de1etypewriter emulation capability of the GRAPHIC 8
is used for communications with the host computer. This capability is used when the
host computer is a time-sharin.gjsystem or when loading and running the host
application program must be accomplished from a conso1e... tY1'e device. Refer to
Section 2 for the procedure used.i to estal:!lish the teletY1'ewritar emulation Illode.
1
(
"
I
-l
[
When all proced.ures requ1ri,n.g the teletypewriter emulation capability have been
completed, the host computer shouldinit::i.ate the startup procedure by send;ing the
single ASCII character as (group, separator; octal code 035) to the GRAPHIC"S. This
character causes the aWHre 8 to exit from the teletypewriter emulation mode and
respond as if an IZ message had been sent from the host computer (an 1,Z message
would not be recognized when the\ GRAl?HIC 8 is in the teletypewriter emulation mode).
The reSUlting initiali,aiton XX;raessage to the host computer thencotltl'letesthe
startu.p p r o c e d u r e . '
E:d. t frOln the t;e1etY.peWl':I. ter ell1uladon 1]1od$,
in.iUali,ation in the system lIlo(ie J and .sending of
the XX message can also be accomplished by typing
function key 113 (this causes octal code 035 to be
geullll:'at.ed.h However, 1:1\1.8 operation would not be
synchronized w:1.th !:1.omal host cOll1pllter operations
and.lQ1ght res\;l.lt in anill1proper startup sequence.
6.3 UFRESH F!LES
.
.
The follOWing paragt'aphsdeset"ibe the gener.ation, transmission, and alteration
of refresh files to be processed by the digital graphic controller. Table 6... 1 is an
example of a simple ·t'eiresh file that is used to illustrate various parts of the
discussions. 'Figure 6-1 shoW'S the display that .t'es\;l.lts .when the refresh file in
table 6-1 is processed.
6.3.1 WUSR f'ta GlNERATION. After startup proced.ures have been completed, the
host contputer applieation program must generate a refresh file to send to the
GRAl'HIC 8 so that the desired image can be displayed. The refresh file may be
included in the appl:!.cat10n program itself or _y be generated dyna.mically by the
application progrp.
Table 6-1 is the liI!Jting for a simple refresh file that could be genet"ated for
display by the GRAPIUC 8. The. first part of the file (before the la.bel RLOOl?)
initializes param$tersas required to ensure th.e proper intetpretation of the
instructiot'l$ that follQw.
FollOwing the WA'!E instrU.ction is the seque.nce of instructions USed to displa.y
the t",oIO large sql,Ulres and the four vectors that intersect in the center of the
screen. The neltt instNctionsestabli.sh a seratchpadarea by inset-ting ten spaces
following the word "INPUT:" at the lOwer left of the screen. Note that the size and
spacing of these characters was established by th$ 1nitial.1zation instructions at
the beginning of the listing. The actual scratchpad is definQd by the memory
locations in which the spaceS are located ..
6-2
I
i
,~.o.- j
NOTE
1
.F'1.
(
(:
lNt'Vf
GA· 77·419·07
Figure 6-1.
Display Created by Sample Refresh File No. 1
6-3
(:
Table 6-1.
00100
00200
00300
00400
00500
00600
00700
00800
00900
01000
01100
01200
01300
01400
01500
01600
01700
01800
01900
02000
02100
02200
02300
02400
02500
02600
02700
02800
02900
Fil~
No.1
003000 013701
003002 014010
003004 140114
lLOOP:
003006
003006 005000
00:3010 0200.00
003012 '. 060000 .
003014 007000
[
('
SET DISPLAY PARAMETERS
LDDZ
LDDP
LDT! 14
NOOP
LDXA 0
MVYA 0
; CEN'1'ER AT 0, 0
WA'l'E
DRAW DIAGONALS
003016
003020
003022
003024
003026
003030
003032
003034
003036
003040
19030,42
003044
020777
060771
023000
043000
050777
023000
040777
050000
04.3000
020777
060000
033000
•
003046 063000
03100 003050 030777
03200 003052 040777
03300 003054 033.000
03400 003056 043000
03500
03600
03700
03800 003060 023076
03900 003062 063076
04000 003064 04S6D4
04100 003066 035604
042.00 003010 046174
04300 003072 036114
04400
04500
04700 003074 023200
04800 003076 063HO
04900 003100 147311
05000 003102 152720
05100 003104 135324
03000
Sample Refresh
tDU 177
LDXA -1000
;MOVE TO
; UPPER RIGHT
;DRAW DIAGONAL
DRYA -1000
; TO LOW! LEFT
MVY! 777
MVXA 177
LDX! "'1000
DRYA 771
MV~ 0
ORtA -1000
LJ)XA. 777
MVYA 0
DRXA ....1000
;MOVE TO LOWER RIGHT
;DUW DIAGONAL·
; 1'0 OPPERLE1T
jMOVE TO TOP CE.N'tER
;DRAW STRAIGHT DOWN
;.MOVETO FAR
; 1U011'1' CENTER
;DRAW HORIZONTAL TO LEFT-
;
; DRAW INS!D! SQUARE
.
MVYA -1000
DRU 777
. DRY! 177
DRXA
-1000
DRYA -1000
MVYA -702
DRn. 1604
DRn. 1604
DRU.-1604
DiXR ";1604
SCRATCHP!]) PROMPTER
LDXA ...600
MVYA -670
T::cr' I,N
Tn 1',0"
Tl'l' T,:
I.
( ,'"
;MOVE TO BOTTOM LEFT
jDRAW STRAIGHT UP
jDRAW TOP EDG! TO RIGHT
; DRAW RIGHT EDGE DOWN
; DMW BOTTOM EDGE TO LEFT
DRAW INNER SQUAlU!:
LDX! -702
( I'
I
( .,
jSET INSIDE !>OINT
; AT LOWER UF'!'
;DltAW STRAIGM' UP
;DRAW TOP EDGE TO RIGHT
;DRAW STRAIGHT DOWN
BOTTOM EDGE TO LEFT
;DR.~W
04600
;
jPOSITtON INSIDE INNER
; SQUARE AT LOWER LEFT
; INSERT I INPUT: I
t
I
Table 6-1..;; Sample.Refresh File ,No. 1 (Cone)
.
~~-
.,.,.'
"
-
05200
05300
05400
05500
05600
05700
05800
05900
06000
06100
'06200
06300
06400
06500
06600
06700
06800
06900
07000
,.
'~:'
; SCRATCHPAD
;
003106
003106
003110
003112
003114
003116
SCRPD:
:;
120240
120240
~.
.
120240
120240
120240
TXT
TXT
TXT
TXT
TXT
< >,<
< >,<
< >,<
< >,<
< >,<
>
>
>
>
>
; TEN
SPACES
FOR
SCRATCHPAD
AREA
FED CONTROLLED MOVING CIRCLE·
;
003120
003120
003122
003124
003126
003130
003132
020000
060000
073020
077020
001000
002006
MCR'CU:
".'
MVYAO
CONTROLLED
.,; PEDPOSITION
OF
LDKX 3,20
DRKY 3,20
.,
LDXA 0
JUMP RLOOP.
SMALL
CIRCLE
; REPEAT
.'
•
,
.-.,,.
~
,- -;
6-5
[,
[
The four !nstructions following the sc.ratchpad instructions define the small
circ.le tha t is ;ldr awn a t the center of the dis play. Thi s circle is used to
illustrate PEDIoperation. Note that, if a conic generator card is not installed in
the terminal con troller, a small squa:re is drawn in place ()f the small circle.
<
(
,,'
~he
Finally,
refresh file is te~tnated with a JUMP instruction. The JUMP
instruction causes the digieal graphic. controller to loop back to the point in the
file labeled RLOOP and reprocess the entire file except for the parameter
initialization instructions.
I
('C
-.~,
Thus table 6-1 represents a ccmplete refresh file that can be processed by the
digital graphic controller. The listing specifies that 46 words are required and
that they are to be loade~ into read/write memo:-y beginning at octal locatio~ 3000
and endi11g at octal locatl.on 3132. Figure 6-1 l.llustrates the display that :'is
created TN'hen this refresh file is processed by the digital graphic controller.
6.3.2 UFRESH FILE TRANSMISSION. After a refresh fUe has been generated, it lUust
be transmitted trom the host computer to the GRAPHIC 8 using a GCP message.
Following transmission of the fUe, another Gel? message must be sent to the host
computer to start processing of the file. For the example refresh file shown in
table 6-1, the following sequence of Gel' messages would be used (it is assumed that
an 1Z message from the host compllter has prevJ.oosly been sent to initialize the
GRAPHIC 8):
Host-to-GRAPHIC 8 MU (memory update) message:
I
046525 - MU command header
003000 - load address for first data word
000056 - number of data words to be loaded
I
(
.
1
(
(,
(:
.I
(I
013007 - first data word to be loaded
014010
second data word to be loaded
(
(
002006 - last data word to be loaded
b.
Host-to-G'R,APH1C 8 SF (start picture) message:
051520 - SF ccmmand header
002000
.~ter
starting address of refresh file
this message is sent, a display similar to that illustrated in figure 6-1
appears on 'display indica tor no. 1.
,
I
I
f,
f
(
6-6
Change 1
,
"
..
NOTE
For purposes of development or debugging, refresh
files may also be loaded into read/write memory
manually or from paper tape. These methods employ
local mode commands for the GRAPHIC 8 as ~escribed
in Section 2.
,
I
.'
'.
6.3.3 REFRESH FILE ALTERAtION. After a refresh file has been loaded into
read/write memory, i t can be altered by the application program of the host computer
using various GCP messages. Suppose for example, it is desired that the word
"READY" be displayed in the scratchpad area for a specific period of time, after
which spaces will be. reinserted into the display. This can be accomplished by using
GCP messages as follows:
a.
Host-to-GRAPRIC 8 IS (enabled selec.ted interrupts) message:
044523 - IS command header
000002 - enable halt interrupt
This message enables the digital graphic controller to interrupt the display
processor whenever the digital graphic. controller executes a HALT instruction.
b.
Host-to-GRAPHIc 8 SU (selective update) message:
051525 - SU command header
002100
load address (beginning of scratchpad)
000004 - number of da ta words to be loaded
142722 - first data word (text "RE")
142301 - second data word (text "AD").
120331 - third data word (text "Y")
000000 - fourth data word (HREF)
After the refresh file has been altered in accordance with this message,
"READY" is displayed in the scratchpad area each time the file is processed. After
displaying "READY", the digital graphic controller halts and interrupts the display
processor. This causes GCP to send a HI massage to the host computer.
c.
GRAPHIC 8-to-host HI (halt interrupt) message:
•
044111 - HI command header
002116 - contents of graphic controller program counter
120240 - contents of graphic controller instruction register
000000 - filler
6-7
•
(:
This message is sent to the host computer each time the HREF instruction is
executed by the g-.caphic con troller.
d.
l'
('
Host-to-GRAPH,IC 8 KP (continue picture) message.:
045520 - KP command header
"!
Each time an HI message isrecei''1ed from the GRAPHIC 8, the host computer must
respond with a KP message to restart the graphic controller.
e.
f
Host-to-GRAPIUC 8 MU (memory update) messages:
046525 - MU command header
(
002100 - load address (beginning of scratchpad)
000004 '''!lumber of data words to be loaded
120240 - fil'st data ftlol;'d (text"
120240 - second data word (text"
120240 ... third da'ta word (text"
120240 - fourth data word (text"
I
")
(
")
")
I:
Of)
This message. is sent after "1\E,ADY" has been diSPlayed in the scratchpad area
for the desired period of time. Altering the refr1:ash file in accordance with this
message restores the file to its original content and fotmat.
f.
I~
I
[
Host-to-GR.APHIC 8 KP (continue picture) message:
045520 - KP conmand header
Following restoration of the refresh file to its original content,
computer should send a KP message to the GRAPHIC 8.
6. 4
t~he
has t
(
OPTIONAl. EQUIP]ENT USAGE
Optional GRA!'HIC 8
equip~nt
automatically enabled. Follo\ldng initialization, these devices a.re enabled and
di sabled as :t'eq ui red by IK (interrupt control) messages from the has t computer to
the GRAPHIC 8. The hard copy unit is controlled only by pressing the start button
on the hardcopy uni t. The following paragraphs provide examples of how to control
each... type of optional equip~nt (unless otherwise stated, the examples are assumed
to refer to alphanumeric keyboard no. 1, and PE.D no. 1, in non-EDC mode).
6.4.1 'KEYBOARDS. After a keyboard has been enabed, Gep sends each character to the
host computer in a KY (alphanumeric keyboard no. 1) message. for the refresh file
listed in table 6-1, this feature might be used by the host computer to collect
characters for the scratchpad a.rea on an individual basis. The host c.omputer could
then use SU (selective update) messages to echo each c.haracter as i t is typed by the
operator.
Change 1
"
includes keyboards, PEDs, and a hard copy unit.
At the time the GRAPHIC 8 is initialized ill the system mode, keyboards and PEDs are
6-8
I
f
I
Li
f:
Ii
I,
,
"'1\
Such operations have the advantage that the host computer can maintain complete
control over what is displayed in the scratchpad area and can perform any editing or
character conversion routines that may be required (e.g., lower case to upper case).
For simple applications, however, the scratchpad feature available in GCP can be
used to relieve the host computer of many processing tasks. For example, assume
that the scratch pad feature is to be used for the scratchpad area defined in the
table 6-1 refresh file. The scratchpad mode of operation would be established by
the following host-co-GRAPHIC 8 ZR (initialize scratchpad for alphanumeric keyboard
no. 1) message:
055122 - ZR command header
002100 - starting address (first address of scratchpad)
000012 - number of characters in line (ten)
Once this message has been received by the GRAPHIC 8, GCP enables the keyboard
and enters the scratchpad 1llOde of processing keyboard inputs. The host computer is
then free to proceed to other tasks as necessary while GCP collects keyboard inputs
in the scratchpad area. GCP collects characters in the scratc.hpad area and echos
them on the display completely independent of any operations being performed by the
host computer. The RUB OUT key can also be used, if req'uired, to delete any
erroneous entries that may be made. When the operator is through typing characters
into the scratchpad, he types RETURN at which time communications are reestablished
with the host computer by means of the following GRAPHIC 8-to-host XR (scratchpad
ready for alphanumeric keyboard no. 1) message:
;1
054122 - XR command header
XXXXXX - number of characters in the scratchpad
000000 - filler
000000
filler
After receiving the XR message, the host computer responds with the following
host-to-GRAPHIC 8 message:
043511 - GI command header
002100
starting address (first address of scratchpad)
000005 - number of words requested
The GI message would, in turn, cause GCP to respond with the following two
messages to the host computer:
6-9
..
For large sc.ratchpad sizes, the number of integer
words requested for the G1 message could be
calculated as follows!
I
I
number of words = (nUIllber of characters in the
sc,-ra tchpad +1) /2
r
NOTE
.
a.
GRAPHIC 8-co-hostRI (return image) message:
051111 - RI c.ommand header
002100 - starting address (first address··of sCl;'atchpad)
I
f
000005 - number of words to be transferred
000000 - filler
b.
G.'RAPKIC 8-to-host VL (varia.ble length) message:
053114 - VI. command header
OOOOOS - number of words to be transferred
147723 - first
~ta
wo"rd (teXt "SO")
140640 - second data "lord (text " A")
120315 ... third data word (text "M ")
120311 - fourth data wQrd (text "I ")
120240 - fifth data word (tex'I:"
")
This message indicates that the operator typed "SO AM I" into the
scratchpad and then typed RETURN.
After the requested data has been returned to the host computer in a VL
message, the host computer sands the following message to theGRA.PHIC 8 to clear the
scratc.hpad area:
Host-eo-GRAPHIC 8 ZS message:
055123 - ZS command header
/I
This message Causes GCP to space £ill the whole scratc.hpad area and
reposition the sc.ratchpad pointer to the beginning of the scratchpad
area.
6.4.2 PEDs. There are four modes of operation that can be established for PEDs.
These are the automatic track (mode 0)) the automatic. mode (mode 1), the request
mode (mode 2), and the tracking mode (mode 3). The desired operating mode is
established by a host-eo-GRAPHIC 8 11.' (initialize PED no. 1) message, a detailed
discussion of r,.rhic.h is contained in paragraph 5.3.6. In the £ollowi ng paragraphs,
6-10
II
f
I
I
I
I
I
the small circle in figure 6-1 is used as an example of
element.
.j
)
PED-controlled display
Mode 0 is applicable only to data tablet type PEDs and is not discussed in this
example. Mode 1 is applicable only to trackball/forcestick type PEDs. Modes 2 and
3 are applicable to all types of PEDs. Uses of modes 1,i 2, and 3 are described in
the following paragraphs.
wnen mode 1 is used, RP (return PED no. 1) messages are sent automatically from
the GRAPHIC 8 to the host computer to indicate changes in the relative position of
the PED. The host computer then processes this data and, whenever required by the
application program, sends an SU (selective update) message to update the
instructions that define the center of the circle (these are the LDXA and MVYA
instructions at addresses 2120 and 2122 respectively).
:
,
",
When mode 2 is used, absolute PED position coordinates are maintained at all
times by GCP but the refresh file is not altered and the cia ta is not sent to the
host computer. In this mode, if the host c.omputer application desires to know the
position of the PED, a GP (give PED no. 1) message must be sent to the GRAPHIC 8.
GCP responds by returning the latest absolute PED position data to the host computer
in an RP (return PED no. 1) message. If desired, the host computer can then send
the data back to the GRAPHIC 8 in an SU message to update the instructions that
define the center of the circle.
"
When mode 3 is used, the position of the circle can be controlled by
manipulating the PED completely independently of the host computer. This mode would
be established for the circle by the follOWing hosc-to-GRAPHIC 8 IP message:
044520 - IP command header
000003
establish PED operating mode 3
002120 - address of LDXA instruction (that defines circle center)
After mode 3 operation has been established for the PED, GCP automatically
updates the instructions in the ref~esh file that qefine the center of the circle
and the circle follows PED motions without any further action on the part of the
host computer.
NOTE
Whenever an IP message is sent from the host
computer to the GRAPHIC 8, GCP automatically
enables the interrupt associated with the PED.
6.5
MULTISTATION USAGE
In the discussions in paragraphs 6.3 and 6.4, it Was assumed that identical
images were desired on any display monitor or hard copy unit that might be enabled.
It is possible, however, to send different images to eac.h display indicator if
required. The images may have elements in common or may be entirely different.
6-11
I
Table 6-2 is a listing for a refresh file that causes an image similar to that
shown in figure 6-1 to appear on each of two display monitor (no. 1 and 2 are
assumed for purposes of illustration). This re£-r:esh file causes the squares and the
intersecting vectors to be drawn simultaneously on both displays. Then, only
display monitor no. 1 is enabled while "INPUT:" is drawn, the scratchpad for
keyboard no. 1 is initial~zed, and the circle for PED no. 1" is drawn. Finally, only
display monitor no. 2 is enabled while the corresponding elements are drawn for its
display.
At this point, the images on both display monitors should appear to be
identical. The scratchpad, and circle of each display, however, can be controlled
separately by the associated peripheral devices. Ii: is only necessary for the host
c.omputer application program to rec.ognize the disc.rete inter1:Upts caused by eac.h
peripheral deVice. Messages similar to those discussed in paragraph 6.4 would be
used by GCP and the host computer but data for each display indicator would be
transmitted itl separate messages. Thus it would be po.ssible for the c.ircle to
appear in different positions on each display and for different text to appear in
each scratchpad area.
[
I
L
r
I
r
. '1
-~
:-::1
•( I
r
I
(I
f
Ii
I
(,
1'1
I
II
Ii
f
•
<-
Table 6-2.
""'1"......
rr;-'-
·
~
......
~
' .J
'"
i
J~''''
:
.,
,
~,
1f
.,J
r.~
1
I.-.. j "
J
--'
.~
.. ".
•
>
~j
I
00100
00200
00300
00400
00500
00600
00700
00800
00900
01000
01100
01200
01300
01400
01500
01600
01700
01800
01900
02000
02100
02200
02300
02400
02500
02600
02700
02800
02900
03000
03100
03200
03300
03400
03500
03600
03100
03800
03900
04000
04100
04200
04300
04400
04500
04600
04700
04800
04900
05000
05100
05200
Sample Refresh File No. 2
SET DISPLAY PARAMETERS
003000
00:j002
003004
003004
003006
003010
003012
003014
LDDP
LDTI 14
014010
140114
RLOOP:
005000
013407
020000
060000
007000
NOOP
LDDZ
;CENTER AT 0,0
LDX! 0
MVYA 0
WATE
DRAW DIAGONALS
003016
003020
003022
003024
003026
003030
003032
003034
003036
003040
003042
003044
020777
060777
023000
043000
050777
023000
040777
050000
043000
020777
060000
033000
lOX!
MVYA
LDX!
DRYA
MVXA
LOXA
DRYA
MVXA
DRYA
LDXA
MVYA
DRXA
777
177
-1000
-1000
777
-1000
717
0
-1000
777
0
-1000
.
jMOVE TO
; UPPER RIGHT
;DRAW DIAGONAL
; TO LOWER LEFT
;MOVE TO LOWER RIGHT
; DRAW DIAGONAL
; TO UPPER LEFT
;MOVE TO TOP CENTER
;DRAW STRAIGHT DOWN
;MOVE TO FAR
; RIGHT CENTER
;DRAW HORIZONTAL TO LEFT
DRAW INSIDE SQUARE
003046
0030S0
003052
003054
003056
063000
030777
040777
033000
043000
MVYA
DRXA
DRYA
DiX!
DRtA
-1000
777
777
-1000
-1000
iMOVE
;DRAW
;DRAW
; DRAW
; DRAW
To BOTT~~ LEFT
STRAIGHT UP
TpP EDGE TO RIGHT
RIGRT EDGE DOWN
B01'T(ltf lDGE TO. LEFT
DRAW INNER SQUARE
003060
003062
003064
003066
003010
003072
023076
063076
045604
035604
046174
036174
LDX!.
MVYA
DRn.
DRXR
DRYR
DRXR
-702
-702
1604
1604
-1604
-1604
;SET INSIDE POINT
; AT LOWER LEFT
jDRAW STRAIGHT UP
;DRAW TOP EDGE TO RIGHT
;DRAW STRAIGHT DOWN
;DRAW BOTTOM EDGE TO LEFT
SCRATCHPAD PROMPl'ER III
003074
003076
003100
003102
003104
003106
013007
023200
063110
147311
152720
135324
LDDZ
lOX!. -600
MVYA -670
TXT I,N
TXT P, U
TXT T.:
; SELECT DISPLAY "1
jPOSITION INSIDE INNER
; SQUARE AT LOWER LEFT
; INSERT 'INPUT: t
, '1~
...,
j
_~:l
6-13
Table 6-2.
f
Ii (
Sample Refresh File No. Z (Cant)
05300
.." 1
~
05500
05600
05700
05800
003110
003110
003112
05900
003114
06000
06100
06200
06300
06400
06500
06600
06700
06800
06900
07000
07100
07200
003116
003120
07300
003132
003134
003136
003140
003142
003144
07400
07500
07600
07700
07800
07900
08000
08100
08200
08300
08400
08500
08600
08700
08800
08900
09000
09100
09200
09300
09400
09500
09600
09700
[I ,t
SCRATCHPAD FOR DISPLAY til
05400
;
SCRPD1:
TXT < >,< >
l"XT < >,< >
TXT < >,< >
TXT < >~< >
TXT < >,< >
120240
120240
120240
120240
1:20240
..
; TEN
SPACES
FOR
SCRATCRPAD
AREA
II
-:':1
(
!
.•.. J
MOVING CIRCLE IH
003122
003122
003124
003126
003130
MCRCL1:
MVYA
0
LDl{,,'{ 3, 20
DRKY 3,20
.., SCRATOOAD
MVYA -670
TXT I,N
TXT F,U
jSELECT DISPLAY #2
;POSITION INSIDE INNER
; SQUARE AT LOWER LEFT
; INSERT I INPUT: I
TXT T,:
SCRATCHPAD FOR DISPLAY 112
SCRPD2:
120240
120240
120240
12.0240
.120240
TXT < >,<
TXl' < >,<
TXT < >,<
TX'l"< >,<
TXT < ),<
>
>
>
)
>
; TEN
SPACES
FOR
SCR.ATCHP AD
AREA
PED CONTROLLED MOVING CIRCLE 1F2
003160
003160
003162
003164
003166
003170
003172
;
aCRCL2:
020000
060000
073020
077020
001000
002004
LDU 0
MVYAO
LDKX 3,20
DRKY 3)20
JUMP RLOOP
L'
,,
,,;\
f
i
~;.J
(
PROMPTER IF2
LDDZ
LDXA -600
012407
023200
063110
147311
152720
135324
.,
003146
003146
003150
003152
003154
003156
; PED CONTROLLED
POSITION OF
SMALL
CIRCLE
LPXA 0
020000
060000
073020
077020
;PED CONTROLLED
; POSITION OF
SMALL
CIRCLE
;
; REPEAT.
,.
I
r
r
(
;-.
"
"
'I
I
II .,'
II
- ()
(
6-14
I
It is also possible for a refresh file to contain entirely different }images for
each display monitor. Normally, such a file would contain a main program:loop that
calls t~.;o subroutines, each subroutine being the instructions associated wi th a
particular display monitor. The following is an example of how such a refresh f He
might be structured:
MAIN:
WATE
; SWAP PIXEL MEMORIES
CALL RFRSl
; DRAW DfAGE' ON DISPLAY MONITOR NO. 1
CALL RFRS2
;DRAW DfAGE ON DISPLAY MONITOR NO. 2
JUMP MAIN
;LOOP BACK TO BEGINNING
.0
RFRS1:
LDDZ
LDDP
; S"ELECT DISPLAY MONITOR NO. 2
'):,
AND ESTABLISH:
DESIRED P.l\.RAMETERS
LDTI nn
;~NSTRUCTIONS
; , FOR
..
I
I
I
I
,'~"
DRAWING
I~GE
ON
DISPLAY
MONITOR NO. 2
RTRN
; RETU'Rl.'i TO HAIN LOO P
NO'rE
In the example presented, SOlUe a4dil:ion;11 software
considerations should be taken into account if it
is desired to generate hard copies of each display
presentation. The LDDZ instruction performs
several functions in addition to enabling each
display monitor. (Refer to paragraph 2.3.4 for a
description of the LDDZ :Lllstruction.) In the
example, the refresh instructions contained in the
body of code designated as instructions for
drawing image on display monitor no. 1 or no. 2
could 'contain several LDDZ instructions. To
simplify hardcopy generation, all LDDZ
instructions, contained in the body of code
mentioned previously , should be set up so that the
display change enable bit (hit 10) is set to O.
When these LDDZ instructions are e}(.ec:uted, the
displayse1ected remains unchanged (Le., the
display selected defaults to the display selected
via the first LDDZ instruction contained in the
refresh .files allocated to each display monitor).
In the example, a hardcopy of display monitor
no. 1 could be generated as follows:
1.
Send an SU message to modify the first LDDZ
in RFRS2 to select display monitor no. 2.
r
I
I
I
[
I
I
I
J
I'"
I
J
I)
,(
6-16
~.
I,
2.
Send an SU message to modify the first LDDZ
in RFRS1 to select display monitor no. 1 and
no. 4.
3.
Press the hardcopy button on the hardcopy
unit.
A hardcopy of display monitor no. 2 could be
generated as follows:
1.
Send an SU message to modify the first LDDZ
in RFRSl to select display monitor no. 1.
2.
Send an SU message to mo~ify the first LLDZ
in RFRS2 to select display monitor no. 2 and
no. 4.
3.
Press the hardcopy button on the hardcopy
unit.
.,
'.-"
6-17/6-18
r
--
"-"1
[
j
I .'
',.;
.
( ,'":'
(--,-
(;.:
(
,';
(
I
I
I;;
"
-
-~
(-
I .~
"-1-
f·
I.
I
SECTION 7
.
;
~'.
ADV&1CED GRAPHIC CONTROL
7.1
!
,. ; -
I~~
, '
~
'"
!
• ...1
USAGE
INTRODUGT!QN
For certain applications, the GRAPHIC 8 may be required to operate in a stand
alone mode or to provide processing capabilities beyond those available in the
standard graphic control program. As previously discussed~ the display processor
and the digital graph1c controller can operate independently, each executing a
separate program located in the GRAPHIC 8 memory. It is also possible for the two
microprocessors to intera.ct by using the LINK instruction to synchronize the
operations. Programs to be executed by the display processor are loaded into the
read/write memory of the GRAPHIC 8 in the same manner that refresh files to· be
processed by the digital graphic controller are loaded (refer to the descriptions of
the host .... to ..GRAPH!C 8 MU and TK messages in paragraph 5.3.3).
.
Th1.s section describes the manner in which special instructions and prograt1Ulling
techniques can be used to expand the processing capabilities of the GRAPHIC 8. The
discussions assume that the reader is thoroughly familiar with the display processor
instruction set (paragraph 3.2). It is also recommended that. before using any of
the techniques described in this section, the user study a listing of the Graphic
Control Program (Sanders publication H-81-0022) and familiarize himself with the
details of its operation.
7.2
",
PROGR&~
RAM
~I~GES
There are three different linkages by which Gel' can exit to a user-defined
progratl1 in the Glll'HIC 8 memory. Each linkage can be enabled separately by placing
an address, to which GCl' should transfer control, into a specified memory location.
These memory locations and the associated GCp exit points are as follows:
Memoq Location
Associat.ed GCp Exit Point
000710
Unknown command header sent by host computer
000712
Beginning of GCp executive loop
000714
Message ready to send to host computer
Normally, the contents of the linkage locations are zero. If, however, the
user places a non-zero value in any of the locations, its contents will be
interpreted by GCP as a subroutine address to which control of the display processor
should be transferred. That is, a non-zero value in any linkage location will cause
the following instruction to be performed by GCP:
JSR
PC,address
7-1
Ttfnen GCP does not rec.ognize a
command header sent by the host computer, it checks location 710 for a possible
linkage to a user program. If the contents of the location is non-ze 1'0, GCP loads
the command header into register RO of the display processor and performs a JSR PC
instruction to the spec.ifiedaddress.
7.2.1
UNKN'OWN Cm1MAND HEADER SENT BY HOST COMPUTER.
At this point, GCP is operating within an interrupt handling process if
communications with the host computer are being handled over a parallel interface.
If communicationlil with the host cO\llputer are beirJ.8 handled over a serial interface,
GCP operates under simulated interrupt conditions. The basic difference is that the
true interrupt process is nOTl"'interruptible, whereas the simulated interrupt process
can be interrupted.
Regardless oithe interface used, additionalprocessillg required by a user
program should be completed as quickly as possible. GeP expects the user program
either to recognize the command header and process it or to make an error return.
If the cbm.llli!tnd header is recognized and/or processed,the normal return is simply:
RIS
PC
If the command header is not recognized, the error return is:
ADD
R.TS
tn,(SP)
PC
whic.h eventually causes GCP to send an XX m.essage to the host computer with bit 14
of wO'rd 1 set to one. Bit 14 indicates that the command header was not recognized
by GCP.
During the processing of a user-defined command header sent by the hos t
com.puter, the following subroutines of GCP may be useful:
,.
REAP
- readsaddi tional de. ta from the host computer over a parallel or
serial interface (serial data is coded ,4 bytes per word, as
described in paragraph 5.2.1)
RElillH
- reads data in c·ommand header s'ent by the host computer
REQUST - tequests a send buffer for returnirtg data to the host c.ompute r
FULL
- this subroutine should be called if REQUST indicates that no send
buffer is available
Hethods of employing these subrQutines are as follows:
a.
READ
1.
Single word read:
CLR
JS R
7-2
RS
PC , @READ
;SE! as ... 0
; READ ONE \>/'0 RD
; WORD IS IN RO
I
Ii
I:
,I
H
u
NOTE
For a word read over the parallel interface,
the word is placed directly in RO. For a
word read over the serial interface, the
word is decoded and then placed in RO.
2.
DM..I\
mode:
Set RS "" word count
Set R4 = start address
JSR PC,@READ ;RE.ill RS WORDS
;INTO ADDRESS STARTING AT R4
NOTE
On return, the DMA 1s done.
b.
READH
READH is always called by:
CLB.
JSB.
R5
PC,@READH
;SET R5 "" 0
; GET COMMAND HEADER
;COMMAND HEADER IS IN RO
NOTE
For a word read over the parallel interface,
READH is the same as READ. For a word read
over the serial interface, READH places the
word, undec.oded, in RO.
c.
REQUST
The following sequence requests a send buffer:
JSB.
tST
PC,REQUST
R3
BNE GOTIT
;BUFFER ADDRESS
RETURNED IN R3
UNLESS
R3 = a (NONE AVAILABLE)
GOTlT:
~..,.J
7-3
I
I'
NOTE
The send buffer is 4 words (8 bytes) long.
The first word should consist of 2 alphanumeric (A-Z or 0 ... 9) ASCII characters .ri th
the MSB (8th hi t) of each set to one. Any
desired information may be placed in the
remaining three words. The a{!·tion of REQUST
ls to queue the selected buffe'r so that GCP
can eventually send its contents to the host
compu.tar.
d.
I,
Ii
r
I
FULL
If REQUST returns R3 "" 0, FULL should be called as follows:
Set R3 .. first word intended for send buffer
JSR PC,FULL
f
NOTE
Calling FULL c.\luses' Gep to send a buf fer XX
message to the host cOtllputer as described in
paragraph 5.3.1.
7.2.2 BEGlNNING OF GCP EnCtI'I'IW LOOP. Gel? operates constantly in an interruptible
executive loop that performs the follOWing steps as shown in figure 7-1.
Anyaddition.;tl proceSSeS that the user may wallt to include in the GCP executive
loop can be included by Wl'iting an appropriate subroutine and placing the starting
address of the subroutine in linkage location 712. GeP then performs a JSR PC to
the specified address as the first step in its e:1l;:ecutive routine. Note that the
contents of registers RO through as are meaningless at this point in the execution
of the program.
".
The Gel? subroutines listed in paragraph 7.2.1 may also be useful in userdefined programs to which GCP exists via linkage location 712. Two additional GCP
subroutitleS that tttay be useful are:
EMEIN'! - enables interrupts on interface to host computer
DISINT - disables interrupts on interface to host computer
These subroutines are called by JSR PC,@E.NlUNT and JSR PC,@DISTNT, respectively.
7.2 • .3 MESSAGE READY TO SENU TO HOST COMPUTER. As described in paragraph 7.2.2, GCP
automatically checks linkage location 714 whenever a message is ready to ,be sent
from the GRAPHIC 8 to the host comp'l.tter. If the content of location 714 is zero,
the message is sent to the host compt,lter. If the content of location 714 is
non-zero, GCPperfoI'llls a JSR PC to the user-defined program at the specified
I
Il'
J,
(.
I
I
I
I
I'
I
I
7-4
f
,~",':;'
-"
;:",
~"'l
o
LOAO all' BUFFER
MESSAGE
WITH
OR BUFFER
FULL MESSAGE
xx
JSR PC. @712
YES
ENABLE INPUT
I NTCflRUPTS
(JSR PC. @ ENBINT)
GO TO START
YES
SET PflOCSSSOR
PRIORITY TO
o TO eNABLE ALL.
INTERRUPTS
(PSW+-ill
,
LOAD all'
BUFFER WITH
NMMESSAGE
J'
NO
JSR PC.@714
NO
Figure 7-1.
GCP Executive Loop Flowchart (Sheet 1 of 2)
7-5
I
I
(I-
t
-."
YES
OIS.A!lillS AU.
INTERRUPTS
(I'SW=7)
NO
"
UPOATE a/I" BUFFeR
TO NEXT MeSSAGe
SLOT
f
f
f
I'"
,]
l~
NO
ENABl.l!ALL
INTERRtJP'tS
lP$W .. OI
l
t
GO TO START
1..._ _ _ _-t1Pi
I
I
YES
TRY TO SENt)
Ne;1(T MESSAGE
TO HOST
{
I'
.Figure 7-1.
7-6
Gel? Executive Loop Flowchart (Sheet 2 of 2)
..•
I
l
I
,
address. One purpose of this linkage is to permit standard messages to be
intercepted and, if necessary, modified before being sent to the host computer. A
second purpose is to permit the data in certain messages to be processed locally by
user-defined routines within the GR.4.PHIC 8 and thereby relieve the host computer of
many of its processing tasks.
7.3
LINK INSTRUCTION
The graphic controller LI~l{ instruction provides an efficient means of timesharing the capabilities of the digital graphic controller and the display
processor. Use of the LINK instruction permits:
..
..
<; •• , ....
,
Peripheral and optional equipment to be slaved to requirements of the
refresh file.
Parallel processing to be accomplished by the digital graphic contrOller
and the display processor without having to maintain a separate work copy
of the refresh file and without harmful interference to the displayed
image.
.j
7.3.1 BASIC INSTRUCTION OPERATION. When the digital graphic controller encounters
a LINK instruction in the refresh file, the follo~ng operations occur:
a.
The digital graphic controller fetches the address portion of the LINK
instruction and then performs a jump and mark to that address.
b.
The digital graphic controller stops fetching words from the refresh file,
halts, and interrupts the display' processor.
c.
The contents of a few graphic controller registers are made available to
the program being run by the display processor.
Several features of the display processor contribute to the efficiency of
operations using the LINK instruction:
,
a.
The display processor allows a unique trap vector to be assigned to the
LINK interrupt (the hardwired trap address is 170). Therefore, a lengthy
and time-consuming interrupt handler is not required to sort out the LINK
interrupt from all other possible types of interrupts.
b.
The display processor hardware automatically stores its program parameters
when an interrupt occurs.
c.
Almost all display processor instructions can be performed using
references to memory locations instead of registers. This means that, for
many routines, the contents of the general purpose registers need not be
stored.
d.
If the LINK interrupt routine requires the use of one or more general
purpose registers, their contents can easily be saved on the interrupt
push down stack and recalled upon completion of the interrupt routine.
,:;
7-7
I
,.-;;.
e.
Upon completion of the LINK interrupt routine, a single instruction (RTl)
returns the display processor to the task. i t was performing at the time of
the interrupt.
f.
'the interrupt nesting feature of the display processor (using the stack
pointer) allows the LINK interrupt routine to be interrupted, if
necessary, and returned to in an Emtirely transparent manner.
To restart the dtgitalgraphic contro1141:' after a LINK irlSt1'\1ct10n has been
it is only necessary to write the desired starting address into the
i graphic controller program counter (DPC).
The digital graph1c controller
: automatically starts fetching refresh file instructions from that location. It is
:~ possible for a given LINK interrupt routine to have several ~its, each specifying a
'different restart address as determined by decisions made in the interrupt routine.
t executed,
{ :~~
r -}
I
,.1
There are threebas1c methods of using the LINK instruction. They are referred
to as synchronized l1nk.age, sync .Unk, and super sync. Paragraphs 7.3.2 through
7.3.4 de$cr1.bla thEtse methods in <1etail a.nd givla a coding exampl, and a. flow chart
for each.
7.3.2 SYNCltR.ON1:ZED LINKAGE. Synchl:'onized linkage is the straigntfot'Wardra.ethod of
using the LINK instruction. Figure 7-2 is an eX4ll'1ple of program cod1ng using the'
synchl:'onued linkage method. Figure 7....3 is a flow chart for the coQing example.
The following features of the synchroni;;!:ed link.age method of using the LINt<.
instruction should. be noted:
a.
Tne intel:'tupt t'out1.ne can be used sevet'al times ina refresh file. This
is PQss1.ble because each c,alling rO\J.tine autoUl8.t1.cally writes
unique
LINK. return add:ress into memory to provide the required steering back to
the routine that called it.
b.
If two or UlOl:'e differant image problems must be solved in the same r·efresh
file, the synenronized linkage tlllathod usually requires the beginning
portion of the LINK interrupt routine to ccmtain an 1;.nterrupt handler.
This handler is used, to identify which of the image problem$ is to be
solved. Such identification can be based on the LINK return address, the
contents of the gra.phic control,.'lel:' progra.m counter,orthe contents of
other graphic controller reg1sters.
c.
a
If the refresh. file and image problem-solving sequence is well ordered, an
interrupt h.andler m.ay not be required. Instead, the routine !.lsad to solve
one image problem can load the trap addr$$s (location 170) with the
starting addr$ss of the next L!NK interrupt routine in the refresh file.
7.3.3 SYNC LINK. The sync link method illlprovesthe efficienc;.y and ease of udng
the LINK. inStruction by meanS .of a simple techn:J.que.When a sync link 0ptaration is
performed, the LUll inst');Uction causes the LINK return address to be placed in the
LINK trap address (location 170). This. in turn, causes the display proceSSor to
trap to the next instruction in the refresh file. Figure 7 ....4 is an example of
program coding using the sync link method. Figure 7-5 is a flow chart for the
coding example.
7-8
t
l
I
{
I
I
I
(
~
Trap Coding
I ~5~~~
170
172
I
Word CAT+2 ;Trap pointer
Word +0340 ;New priority assigned
Refresh Coding
·..
·..
·..
1000
1002
1004
1006
DOG
5000
1012
·..
·..
Graphic Controller
Instr~ctions
LINK CAT
4000
1000
1014
}
}
Graphic Controller Instructions
r(
Interrupt Coding
5000
CAT
·..
Normal LINK return address
5002
5004
Interrupt
Routine
5010
... .i
5012
5014
5016.
5020
13737
5022
5000
5024
165006
5026
2
MOV @i,CAT, @{JDPC
RTI
.- ..}
GA-77 -419-08
Figure 7-2.
Synchronized Linkage Program Coding Example
7-9
.
j
GRAPHIC CONTROLLER
I
l
f;
DISI'L\Y PROCESSOR
Prepare crap locations 170 and 172
'~ith
LINK interrupt ~outine location and
scatus and priority respilctively
(Le., CA,):+2, priority i)
0.801
'" [start thil graphic ctt1':Ollel.'
,
]
Fetch and process graphic controller
ins,!;'t'uctipMJ:: controller)
!ntart'Upt: dis\llay prccessot' chrougl\ crap
address 170
Detect interrupt
Push old PC and stacus onto stack
Gtl.t ne'" PC and status hom l.ocaciol;s
170 and 172
Stare performing inter1':upt at location
CAT+:;!
Do interrupt routine
S tart fetching graph,ic oon1':1:'ol1"r
inst1':ucl;1on5
.[
-
Loed the LINK
the DPC.
ratu~
,'
f
I
Return from interrupt, by Loading PC and
status regis,er from the top of the stack.
!
f
G t i n u e bacl<;ground
7-10
f
{
.f
Fetch and procilsil ,sraphic cont1':oller
instructions
Figure 7-3.
saaress 000+4 into
COntents (CAT) DPe
I
(aSkS
Syuchronized Linkage Flow Chart Example
I
I
I
,
.J
The result of using the sync link method is that display processor instructions
can be placed directl, in a refresh file. When the digital graphic controller
encounters the LINK iristruction, the interrupt routine (immediately following the
LINK instruction in the refresh file) is processed by the display processor •
Return to processing of refresh file instructions by the digital graphic
controller is accomplished by means of a relink command. The form of this command,
which is shown in figure 7-4, never changes. Thus the assembler can generate the
necessary coding with a single macro instruction.
The reI ink operation need not always be ~o the next sequential group of
instructions in the refresh file. Several relinks can be provided for each LINK
operation. Each relink can jump to any appropriate location in the refresh file as
detennined by decisions made in the interrupt routine. All that is necessary to
jump anywhere in memory is to change the second word of the reI ink command to
reflect the desired location.
Using the sync: link method enables the capabilities of the digital graphic
controller and the display processor to be time shared to solve a problem in a
manner that is practically transparent to the programmer. Note that no interrupt
handler is required if the sync link method is used for several LINK instruc tions in
a refresh file. The sync link method uses the display processor interrupt trapping
mechanism as an automatic interrupt handler to establish the required return paths.
7.3.4 SUPER SYNC. The main feature of the super sync method is that the LINK
instruction identifies to the display processor a location in the refresh file.
This permits parallel processing by the display processor and the digital graphic
controller that is synchronized with the displayed image. Figure 7-6 is an e~ample
of program coding using. the super sync method. Figure 7-7 is a flow chart for the
coding example.
An obvious advantage of using the super sync method is that the digital graphic
controller is required to be halted for a minimum amount of time. Therefore, the
m~~imum data load that can be handled by the digital graphic controller is not
reduced significantly. If data internal to the digital graphic controll'er is
required by the display processor, i t can be read before the digital graphic
controller is restarted and then processed while the digital graphic controller is
running.
The super sync method can be used to perform both simple and intricate
functions.
7-11
Trap Coding
170
Word +0340 ;new priority assignment
172
I
I
f
f
I
1
"I
::~
:"'1
f
Refresh Coding
·..
1000
·..
1002
Graphic controller instructions
1004
1006
DOG
4000
LINK +01791
110
1010
·..
1012
1024
·..
·..
·..
·..
·..
1026
12737
1030
1036
1032
1650116
1034
2
1014
1016
1020
1022
·..
·..
1036
1040
(
Display Processor Instructipns
MOV #.++010.@#DPC }
Relink
Command·
RTI
}
Graphic controller instructions
GA.. 77-419-10
Figure 7-4.
I
I
Sync Link Program Coding Example
I
I
I
I
I
I
I
f
I
7-12
(
GRAPHIC
DISPLAY PROCESSOR
CDNTROL~-a
Prepare crap location 172 with appropriate
new status and priority (i.e., priority 7)
Fetch and process graphic controller
instructions
LL~
Start ehe graphic controller
Do background casks
Fetch location DOG
Decode
...
instruction (0004XX)
Fetch LINK address froll! location 000+2
(-110)
Store LI."IlC return address DOG+4 in
link address
Seop fetching (halt graphic controller)
Interrupt display processor through ehs
trap address 170
Detect intarrupt
'• • J
Push old PC and status onto stack
Get new PC and status from locations liO
and 172
j
Start performing interrupt routine at
location DOG+4
~_n_.O___in_t_e_r_r_u_p_c__r_o_u_C_i_n_er-________________... ~
t
Start fetching graphic controller
instructions
t
Load the present PC ... lOS into the DPC
t
Fetch and process graphic controller
instructions
Return from interrupt by loaning PC and
status r~gister from the cOp of the stack
i
Continue background tasks
Figure 7-5.
Sync Link Flow Chart Example
7-13
,
'{
"
f····
170
Word t0340;new priority assignment
172
Re·£:resh Coding
·..
·..
1000
1002
}
Graphic controller i""tructions
1004
1006
DOG
4000
1010
170
1012
12737
1014
1024
1016
165006
1020
137
1022
5000
LnlK +0179.1 .
MOV 11.++012, @iiDPC
.JMP @1/CAT
·..
1024
·..
·..
1026
1030
Graphic controller instructions
Parallel Process Coding
5000
CAT
5002
•
•
o!i'
·..
5004
f,
I,~
,
J .-
I,
I
t,
L
L
I
t
{
2
ItT!
I
{
Figure 7-6.
7-14
Super Sync Program Coding Example
I
I
~tAPH!C
DISPLAY PROCESSOR
CONTROLLER
Prepare trap location 172 with appropriate
new status and priority (i.e •• priority 7)
Fetch and process graphic controller
instructions
III
Start graphic
Fetch location DOG
Do background tasks or wait
Fetch LINlC address fro\1l location DOG+2
("'170)
Store LINlC return address DOG+4 in
link acidress
Stop fetching (halt graphic controller)
b__
trap
address
r - - - - - - -..
I_n...t ...e...
rru_p.t_"
..d_i.s...p170
...l.a.y_pr_o_c
..e_s_s_o_r_t_h.r_o_U_gh_t...h_"e__....'
Start fetching graphic controller
instructions
Fetch and process graphic controller
instructions
I
b---_-____
Detect interrupt
.:·
"-1r-"_....._ _ _ _ _ _ _..J1
I Push old PC and status• onto stack
I
I
Get new PC and status from locations 170
and 172
I
I
Load the present PC + 128 into the DPC
I
I
jump to routine to be processed in parallel
I
I
Perform parallel processing with the
refresh file
I
Return. from interrupt by loading PC and
status register from the eop of che stack
I
I
Do backgroufid tasks or wait
Figure 7-7.
Super Sync Flow Chart Example
7-15
I
I
7.4 THE DIGITAL GRAPHIC CONTROLLER AS A DEVICE
"
-
Although the digital graphic controller. operates independently of the display
processor, it is under the control of the d,isplay processor at all times. The
digital graphic controller can be hal ted and restarted at any time by the display
processor and the graphic controller registers are at all times available to the
display processor for purposes of reading. writing, or testing data as required. As
far as the display processor is concerned, therefore. the digital graphic controller
can be considered as a device connected to the controller bus.
Sectiou 4 coutains complete descriptions of all graphic controller registers
and lists the address that is assigned to each. With the exception of the function
control stop register (FUNS), the sense register (SENS), and the mask register
(MKR) , data should not be read fran or written into any graphic controller registers
unless the digital graphic controller is halted. With the digital graphic
controller running, such operations normally result in an error interrupt to the
display processor through location 10.
7 .5
THE PARALLEt
INTElU'ACE AS A DEVICE
..........
.
As previously discussed, i f a parallel interface is installed in the terminal
cQntroller, Gel' assumes that communications with the host computer are to be haRdled
via this interface (parallel interface no. 1).
The parallel interface can operate in either a DMA
~ode
or a single-word
transferrnode. The DMA mode is in1 tinted when a non-zero value (two! s compleme\'l.t of
the nUtllber of wot'cls to be transferred) is written into the ~rd count register
(WeRl) and continues until the speCified number of words has been transferred. Bit
2 in the statu.s register (STR1) determines the direction of transfer and the value
in the memory address register (MARl) determines the starting memory address to be
used for the DMA oper.ation.
i~en the parallel interface is operated in the single-word transfer mode, data
sent from the host computer to the GRAPHIC 8 is read from the l)utput data register
(ODRl) while data to be sent from the GRAPHIC 8 to the host computer is written into
the input data register (IDRl). In act1.lality. the anRl and IDR1 are a single dualpurpose register and, therefore, the same address is used for both. The direction
of datat:ransfer is determined by control signals to or from the host computer as
appropriate (refer to paragraph 4.4.2).
7.5.1
PROGRAMMING EXAMPLES. Proper handling of the parallel interface requires
knowledge of the handshaking requirements of the communication-s ~yith the host
computer. The following codil'lg examples illustrate methods for handling the
parallel interface in its Various operating modes.
I
I
I
f. :
(,
f.
f
I
I,
f:
I
f
f
7-16
I
I
.".
.""
a.
To transfer a single word from the host computer (output data transfer):
WAIT:
.'
ACKNLG:
bs
MOV
BIS
TST
BMI
RO,@IFIDRI
#20000,@#STRl
@i#STRI
WAIT
;MOVE DATA WORD INTO IDRI
;SET 'INPUT WORD REQUEST' BIT IN STRI
;WAIT FOR HOST TO ACKNOWLEDGE BY
CLEARING 'INPUT NOT READY' BIT OF STRI
To set up a DMA transfer from the host computer (output data transfer):
WAIT:
-,
,-."
COMFL:
d.
1'40, @ffSTRl
ACKNLG
;TEST 'OUTPUT CONTROL' BIT OF STRl
UNTIL SET BY HOST
;MOVE DATA WORD INTO RO
;SET 'OUTPUT WORD RECEIVED' BIT IN STRI
;WAIT FOR ACKNOWLEDGE
BY HOST CLEARING THE BIT
;
To transfer a single word to the host computer (input data transfer):
WAIT:
c.
@{FSTRI
WAIT
@!!ODRl,RO
#40, @ftSTRl
TSTB
BPL
MOV
BIS
BIT
BNE
@{/STRI
WAIT
TST'S
BPt
BIC
MOV'
MOV
BIT
BEQ
InO,@iISTRl
IIDATABF , @tfoMARl
1'-IOOe ,@tFWCRl
1,20,@iFSTRI
COMPL
;TEST 'OUTPUT CONTROL' BIT OF STRl
UNTIL SET BY HOST
jENABLE DMA OUTPUT MODE
. ; SET MARL TO INTERNAL BUFFER ADDR
; START DMA TRANSFER OF 100 WORDS
;TEST 'OMA COMPLETE' BIT IN STRl
(BIT IS SET WHEN DMA COMPLETE)
To set up a DMA transfer to the host computer (input data transfer):
WAIT:
BIS
MOV
MOV
BIT
BNE
~
I/I0,@i}STRl
#OATABF,@#MARI
#-lOO.,@#WCRl
tF20,@fISTRl
IvAIT
;tNABLE OMA INPUT MODE
; SET MARL TO INTERNAL BUFFER ADDR
;START DMA TRANSFER OF 100 WORDS
;TEST 'DMA COMPLETE' BIT IN STRI
(BIT IS SET WHEN DMA IS COMPLETE)
7.5.2 INTERRUPT OPERATION. The coding examples in paragraph 7.5.1 assumed that the
interrupt capabilities provided by the parallel interface were not used. An
interrupt capability is provided for both input and output data transfers. These
interrupts can be enabled or disabled separately as required by changing the status
of bit 14 (input interrupt enable) and bit 6 (output interrupt enable) in the status
register. Setting a bit enables the associated interrupt while clearing a bit
disables it.
When the input interrupt enable bit is set, an interrupt to the display
processor occurs when the host computer acknowledges that data has been taken or
when an input DMA operation is complete. When the output interrupt enable bit is
set, an interrupt to the display processor occurs when output data is available from
the host computer or when an output DMA operation is complete.
An attention interrupt is also prOVided by the parallel interface for special
applications. This interrupt is enabled when bit 11 (attention interrupt enable) of
the status register is set and disabled when bit 11 is cleared. The attention
interrupt is associated with status register bits 9 (attention no. 1) and 10
J
7-17
,.
I
I
(attention no. 2 ) which reflect the states of the two attention signals from!: the
host c.omputer. When the attention interrupt is enabled~ an interrupt to the'display
processor occurs whenever one of the two attention signals changes from a lo'W to a
high state.
Bits 0 (spare input no. 1) and 12 (spare input no. 2) of the status register
are provided to enable. special signals to be sent from the display processor' to the
host computer via the parallel interface. These bits may be programmed as r~quired.
7.6
TEE SERIAL INTERFACE AS A DEVICE
•
:pi ..
Up to nine serial interface ports can be associa..ted with one GRAPHIC 8 system.
One port i$ contained on the ROM and status logic· card and four ports are contained
on each multipart serial interface card (up to three multiportserial interface
cards may be installed in a termini:11 controller). All serial interface port:s
operate at speeds up to 9600 baud. The following paragraphs describe the use of the
ports pro'lf:!'ded by each type of card.
ROM AND STATUS LOGIC G...<\RD PORT. The serial interface port on the ROM and
status logic card is used to interface a teletypewriter to the GRAPHIC 8 for
maintenance and diagnostiC purposes • This interface operates in a manner similar to
the standard teletypewriter interfac'e used in conjunction with minicomputers of the
PDP-ll type manufactured by Digital Equipment Corporation (DEC). Instructions for
its use are contained in the DEC PDP-ll/04/34/1+5/55/60 P:rocessor Handbook which
should be used as a supplement totMs manual. Registers associated wit:h this port
are described in paragraph 4.4.1. Note that the register formats are the same as
the formats for corresponding registers associated with the mul l;1port serial
interface porta.
7.6.1
7.6.2 MULTIFOR.T SERIAL INTERFACE PORTS. ports on the mul tipO'i~·t serial interfac.e
cards are the ports through which peripheral devices (keyboards ~and PEO f s)
communic.ate with the display processor. The host cOI!lputer also communicates with
the display processor through a multipart serial interface port ,...hen a parallel
interface is not used for the purpose. All four ports on each multipart serial
interface card can function as basic Serial interface ports. Additionally, the
first port on each card is provided with full RS-2::32C capabilities for the purpose
of cowmunicating with a host c.omputer or driving a modem. Refer to paragraph 4.4.1
for a list of the devices' assigned to each port and a description of . each type of
register associated with the ports.
Using a mul tiport serial interface port is somewhat dependent upon the device
to whic.h the port is connected. The follOwing paragraphs, therefore, discuss ea.ch
type of device separately and give examples of how the associa.ted port is used.
7.6 • .2.1
Host Computer. When commtUlications with the host computer are handled via
a serial interface. the host computer is connected to serial interface port 1.
Examples of representative coding sequences used to handle these communications are
as follows:
{:
I
j
r,
I
{, (
I'
I
f
I
I
I
l',
"
II
..
7-18
r
(
i
i
a.
To receive data from the host c.omputer:
'JAIT:
'0.
TSTH
BPL
@ffRSRl
WAIT
MOV
@RDB1, RO
;TESt 'RECEIVE DONE' BIT OF RSRI
(DONE INDICATES CHARACTER RECEIVED
FROM HOST)
;PUT CHAR IN LOW ORDER BYTE OF RO
To send data to the host computer:
WAIT:
MOV
T5TH
BPt
Rot@trrDBl
@iFTSRl
WAIT
;MOVE CHAR FROM LOW ORDER BYTE OF RO TO TDB1
;TEST 'TRANSMITTER READY' BIT OF TSR1
UNTIL SET BY SERL~ INTERFACE
;(READY INDICATES CHARACTER SENT TO HOST)
NOTE
The 'preceding examples. do not use the
interrupt capabilities provided by the
serial interface port. If desired,
interrupt processing techniques may also be
used.
7.6.2.2
Keyboards. Gel' accepts inputs from. alphanumeric/funct'ion keyboards via
serial interface ports. All inputs from port 3 are identified as inputs from
keyboard No. 1 and inputs from port 7 are identified as inputs from keyboard No.2.
'- "
An example of a c.oding sequence used to accept keyboard irtputs is as follows:
To obtain an alpha character from. a keyboard:
WAIT:
BIC
@#RSR3
WAIT
@1/ROB3,RO
fH77600,RO
JTBST 'RECEIVER DONE' BIT OF RSR3
UNTIL SET BY KEYSTROKE
;PU'! CHAR IN LOW ORDER BYTE OF RO
; CI..E.A..~ RO EXCEPT FOR 7 -BIT ASCII CHAR CODE
BIT
IflOO,RO
BEQ
1$
; SEE IF FUNCTIO N
;OR MATRIX KEY
jBRANCH FOR FUNCTION
;OR MATRIX KEY
TSTH
BPI..
t10V
;CODE TO PROCESS CHARACTER
1$:;CODE TO PROCESS FUNCTION OR MATRIX KEY
The lighting of function or matrix keys on a keyboard requires that five bytes
be sent to the keyboard via the associated interface. The first byte (2248) sets
up the keyboard to accept the data in the four bytes that follow. Bytes 2 and 3
contain data for lighting function keys 0 through 7 and 8 through 15 respectively.
Bytes 4 and 5 contain data for lighting matrix keys 0 through 7 and 8 through 15
respectively. A key is lighted when its corresponding bit is set and not lighted
when its corresponding bit is cleared. Fooction and matrix keys on a keyboard are
designated as follows:
7-19
f
I
IJ
FUNCTION KEYS
I
0
r1
2
r 4·1
3
!
5
6
17 I
8
I
9
I lo"TIil12 113 .0 4 111J
"
HATIUX KEYS
71819/ls
4 I 5\ 6 114
1 IzT3 \13
10
1'0\11
\12
An example of coding that could be used to light function keys 1, 3, and 10 and
matrix keys 5, 12, and 13 is as follows:
MOV
11224,RO
;8ET UP KEYBOARD
JSR
PC, OUT
;
MOV
JSR
MOV
JSR
MOV
JSR
MOV
i#12,RO
JUGaT FUNCTION
PC, OUT
f/4,RO
PC, om
{140,RO
KEXS 1 AND 3
;LIGHT FUNCTION
;
1160,RO
JSR
PC,OTJT
OUT:
MOV
WAIT:
TSTB
RO,@4ITDB3
@#FTSR3
WA.IT
PC
BPI.
RTS
TO ACCEPT LAMP DATA
KEY 10
jLIGHT MATRIX
KEY 5
;LIGHT MATRIX
KEYS 12 AND 13
PC,OUT
;MOVE BYTE FROM
ao
TO !DB3
;TE5T 'TRANSMITTER READY' BIT OF TSR3
; UNTIL SET BY INTERFACE (BYTE TAKEN)
; RETURN FROM SUBROUTINE
7.6.2.3 PEDIs. PED's (e.g., trackball, forcestick or 4ata tablet) are assigned to
serial interface ports 4 and 8. Inputs tram port 4 are identified by Gep as coming
from PED no. 1 while inputs from port 8 are identified as coming from PED no. 2.
Inputs from trackball/fol;'cestick t'epresent coordinate displacement data in the form
of two successive 8 ... bit bytes that are updated at a maximum rate of 37.5 Hz. No
inputs are generated unless the PED is moved. The format of each byte is as follows
(110te tha.t the coordinate data in each byte is in two I s complement form):
7
6
5
..
4
-
0
+
{
X COORD
3
2
DATA
1
0
X coordinate displacement byte
I
1
7-20
-+
Y COORD DATA
Yc.oordinate displacement byte
'.
-
t
I
I
r
f
I,
I
f
I
I
I
I
I
'('i
(
,J
'
.
~
The handling of PED data is similar to the handling of inp~~s from a keyboard.
Refer to paragraph 7.6.2.2 for examples of coding that can be u~ed.
7.7
...
'
PROGRAMMING EXAMPLES
7.7.1 PROGRAMMING THE COLOR DISPLAY MONITOR. Three primary colors are available
for the color display monitor. They are Red (R), Green (G), and Blue (B). The
displays are selected by the LDDZ instruction. The color is specified by the use of
the Load Pixel Data Register (LDPD) instruc tion ,or the LDDZ instruc tions (for
configurations with 3 bits per pixel plus blinkf.
The value in the Pixel Data Register (without the MSB i f blink on) is the index
into the lookup table (LUI). Each 8-bit entry in the lookup table has a value that
represents the actual color seen on the screen (written to pixel memory). The
format of the entry is:
\ -
7
n
.
B,O
5
G2
4
q1
3
GO
2
R2
1
ttl
0
RO
were:
r.'
,i
'I.
6
,
Rn
is the nth intensity bit of Red,
on is the nth intensity bit of Green,
Bn is the nth intensity bit of Blue.
For a 3 plus blink (*)configurations any 8 colors can be selected from a
choice of 256 colors by the use of the Lookup Table and the Modify Lookup Table
(MOLU) instruction. For example, the following LOT values will give a reasonable
set of COlors.
LUT BYTE INDEX
0,
1
2
3
4
5
6
7
LUT VALUE (OCTAL)
'0
7
70
77
300
307
COLOR
BLACK
RED
GREEN
YELLOW
BLUE
MEGENTA
370
CYAN
377
WHITE
7.7.2 USE OF BLINK AND LUT. The size (8 bit bytes) of the mapped portion of the
Lookup Table (LUT) is the number of simultaneous intensities or colors available for
a given configuration. (See Table 7-1.) The blink bit acts on the data independent
of the contents of the LUI.
:.4-
7-21
..
Table 7-1.
I
Mapped LUT Size
SIMULTANEOUS INTENSITIES
OR COLORS
BITS/
PIXEL
2 plus blink
4
8 plus blink
2
2
4
4
8
8
t
BYTE SIZE
2
4
8
16
128
'J.V
t:.
128 plus blink.
256
256
For example, a blinking blue vector on the screen with a con.figuration of 4
bits/pixel fN'ith blink as the MSB could be p'roduced by the following refresh.
REFRESH:
f
I
I '"
IN!T
LD01' ••
LDDZ ••
MDLU
LOOP:
ADR, 10,1,400 ., where ADR: BYTE 0,0,0,,0,300,0,0,0
WA'rE
LDPD
LDXA
•
blink + intensity = 14
center of screen
14
°o
YlT[A
draw vector
200
'DRYA
JUMP
LOOP
INDEX
+0"
-_... _ - -... ) Intensity = 4
P;t:tel Data Register
I
I
7
I"
I 0
I
6
I
0
!
I
5
4
3
0
0
1
2
1
0
1
o
0
I
I.
I
I
I
I
I
-->
+1
+2
+3
+4
I
I
I
,-
I
I
I
I
I
0
0
0
0
!
I
0
Screen
'\'
I
Blink
----~:-,...-......
-,....--------..-..
Figure 7-8.
)
Relationship
I
bet1i~een
( ..........
'1
I
I
I
I
!
,I
I"
I
I
I
_-_ _------....
I
PDR and LUI
To stop the vector from blinking, rem.ove the blink bit from the LDPD
instruction and execute the refresh file.
7-22
I
300·', BLUE
I_~__.....I
+7
,
LUI
I
(
APPENDIX A
SUMMARY INFORMATION
,"
!
i .
A-l
177777 r - - - - : - -........- - - - -
~
DATA AND
STATUS
fiEGISTERS
AND
DEVICE
ADDRESSES
~
GCP 'IS ALSO LOCATED
IN SECTIONS IN
160000-177777 AREA.
160000
f
I
I
f
I
'1
" i
,I
-r------------~----~
157777
r
GRAPHIC
CONTROL
ROM
PROGRAM
OCTAL
BYTE
ADDRESSES
I
I
{1
140000
~------------------~
··~J1
137777
ROM
OPTIONAl.
MEMORY
AND/OR
READ/WRITE
MEMORY
EXPANSION
f
I
f
040000
I
-r--------------------~
037777
AVAILABl.E
TO
USER
READ/WRITE
MEMORY
003000
002777-+-------------1
L
000000
RESERVED FOR USE BY GC?
H-79-0348·~1
Figure A-l.
.1-·2
~APH!C
'-""""....
8 System Memory Map
i
I
I
I
,
('
I-
Table A-I.
GRAPHIC 8 Local Mode Command Summary
KEYBOARD
ENTRY
--
RETURN
Execute local mode command or returns system to local monitor level.
nnnnnn/
Display contents of memory address nnnnnn (octal),
I
Increment memory address counter by two and displays address contents.
or
.'
L_.
OPERATION
Decrement memory address counter by two and displays address contents.
(BO 0-3ZK; BI 32-64K; HZ 64-96K; B3 96-128K;
Bn
Select memory bank.
and B4 16-32K R..A.'1).
S
Transfer GRAPHIC 8 to system mode operation.
T RETURN
Transfer to the verification test pattern.
L RE'lURN
Load memory from paper tape reader.
nnnnL
Load selected option from expansion module.
RETURN
U
RETUR."i
Unload all options.
o
RETURN
Display status of all options loaded.
Q
Decrement contents of display processor Q register by two and displays
result. Used with diagnostics to indicate address at which display
processor halted.
nnnnnnD
RETURN
Direct graphic controller to display refresh file beginning at address
nnnnnn (octal).
nnnnnnG
RETURN
Transfer control of display processor to program beginning at memory
address nnnnnn (octal).
Y RETURN
or
P RETURN
Call teletypewriter emulation program. 'After entering emulation
program, function key FO clears CRT screen. Function key Fl selects
full or half duplex operation; receipt of octal code 035 from the host
computer or pressing function key F13 transfers GRAPHIC 8 to system
operating mode. (Y ~ serial, P = parallel)
RUB OUT
Delete last octal entry from keyboard.
Change 1
A-3
I".
Table A-2.
GRAI'HIC 8 Controller Instruction Summary
NUMERICAL LIST
.',1
Legend:
f '.
°2 co<:1e word
The opcodeword contains bits in one ,of three' c$tegories:
Numeric represen.ts actual opcode bits.
necessarily adjacent.,
1.
Note. that opcod.ebits are not
A thruG representV'ariable bits tl) (either binaryuro or one) that
effect the function of the instruction.
B .. O(J)O
C .. 0(1)(1)
D .. alOa
3.
=
-
!
14C~
1.
G 00
1 I
II
I I I
I I I
I I I
I
I
.
I I
I 1 I UOI
I I
'I
GG
II
II
I
I
I
I
,- -,
I
I moo
I
0
2
1
I
I
I
I
I
I
I
I
I
aI
I
I-
I
I
I
I
I
i
I
yinc
0
,-,-
...'
(\)!I'Hf) I
Q)(\)tl)
PIlLR xinc,
2.
('"
I
I
I
-1
Q)ID(D
( ' '1
.-.J
For example:
I
j
X means any bits le.ft '(up to 3) are ignQred by the instruct:!.on.
D2A .. (Dl(J) binal.'»,
XC
XID(I) binary
I
[,
G .. d)(\)(I)
Underline ( ) means a com.bination of V'ariable and left c'\fer bits that
fit into t~ee bits as:
.
1
f.
E ... IJ)O(J)
F .. Q)d)O
A .. oOID
I
000 I 010 I 001
xc
I r
I I
-I
I
I
xxx 1 xO)(\)1
I
I
X
-,
l-rl
I
CALLE bank, adr
A-4
I,"
I ')
rI:~
I
,.
I'
I
r
I
Table A-2.
GR1<.PHIC8 Controller Instruction Summary (Cant)
MNEMONICS
adr
=16 bit address
bank
=2
bit bank 0-3 (if absent, bank 0 is assumed)
vcnum ... video controller number 1-4
ix
... initial x value
iy
... initial y value
fx
= final
fy
... final y value
D
... adr is displacement (if absent, adr is absolute address)
DR II
:oil
I
... indirect address bit
F
... final bit 15 of data word
x value
display registlr number
•• _.J
A-5
:1
f
[
"
Table A-2.
GRAPHIC
$ Controller Instruction
Summa~J
(Cont)
·1
i
1
NUMERICAL LIST
PAGE
OPCODE
MNm-10NICS
ooooxx
EREF
3-20
OOlon
Jm1P adr, I (I for mode 0 only)
3-12
JUMPE bank., adt"
3-12
OOHXX
JRMP inc
3-13
*OOllXX
JR.MPl!! inc
3-13
Jl1PZ adt', I (I for mode 0 only)
3-14
JMPZE bank, edr
3-14
-
*0010XXC
0012XX
--
*0012XXC
0013XX
*0013XX
oozon
JPRZ
JPRZE
inc
in(.~
JMPM aar,! (I for mode 0 only)
*0020n
0021XX
3-15
3-15
3-18
3-18
CALL adr
3-15
CALLE bank.,adr
3-15
CALR inc
3-16
CALRE inc
3-16
0023XX
RTlill
3-17
*0023XX
RTRNE
3-17
0030n
IZPR (G7 only)
3-27
0040XX
LINK adr, I (1 for mode 0 only)'
3-19
*0040XX
LINKE adr
3-19
0041GG
SAVD DFJI
3-24
*002lxxe
0022XX
*0022XX
*0041GG
SAVDE
DR/I
*Exte;uled instruction only.
A-6
NUMBER
3-24
I
(
~'.:
I
'
":1
,.
f
·r
.I
I
I
I
I
f
I
r
f
f'
I
"~
.-'1
,
. i
Table A-2.
GRAPHIC 8 Controller Instruc tion Summary (Cont)
NUMERICAL LIST
MNEMONICS
OPCODE
PAGE
NUMBER
0042GG
RESD nRiF
3-24
*0042GG
RESDE nR/F
3-24
0043GG
ADDI DRII,dat(See 3D instruction set in manual H-79-0350)
0066XXC
If
.
,
MOLU bank,adrl,0,bytes,vcnum,adr2
3-31
*0067XX
CL..1U1
3-28
0070XX
WATE
3-21
*0071XX
INIT
3-28
MODE mode
3-28
*0 o73X,."{
UPDT
3-21
*007SXXC
FLPG
0072GG
IABSI
bank,adr ,D,n
3-32
IRELI
*Extended instruction only.
A-7
(
Table A-2.
(
GRAPHIC 8 Controller Instruc tion Summary (Cont)
NUMERICAL LIST
OPCODE
*0076GG
MNEMONICS
PPTA ROT, TAB INC . '
I
PAGE
NUMBER
.3-7
COOR.l
(
.....,
I
,J
j
'I
,.j
.'"
["
CDORn,F
*007700
pm
ROT, TABtNC
3-8
(
INCl
....
INCn,F
-
D10CGCG
-
014CGGG
-
LDDP dparm
3-26
f
3-25
( o;:j
f
, •. _!
LPXR 'ltine
3-3
I,
030CGGG
DRIA 'lteoor (mode 0 only)
3-5
r: ..
034 COOl;
DRXR 'ltine (mode 0 only)
3-5
LDtlD data
3-28
Dan
3-6
-
024CGOO
--
*0 34XXCGG
...,.~
-
040CGGG
-
.:"1
yeoor
044CGGG
DRYR yine
3-6
050CGGG
.....,;
.
MV'U xeoor (mode 0 only)
3-4
*0 50 CGGG
-'
OS4CGGG
?PYA yeoo1'
3-7
*OS4CGGG
MVXR xine (mode 0 only),
3-4
PPY! yine
3-7
MVYA yeoot'
3-4
MVYR y1n<:
3-4
-
o64CGGG
060CGGG
*Extenced instruction only.
A...8
~,~.~ ~
3.... 3
020CGGG
"
""'1
~~;'J
~~).<~
I
.. ,
I
(
'.-
I'
I
f'
>: ,"
'.
(
r
f
-.....
Table A-2.
GRAPHIC 8 Controller Instl:'Uction Summary (Cont)
NUMERICAL LIST
}1NEMONICS
OPCODE
~~
PAGE
NUMBER
070CGGG
LDKX
q
xlen
3-11
074CGGG
DRKY
q
ylen
3-11
10CGDOGG
--
DRSR
xinc, yinc
3-6
lOCGDIGG
----
MVSR
nne, yinc
3-5
IGGD2AGG
TXT
116AD2AGG
- ............
CRA.It
B,S~chr
3-9
14CGDOGG
PPLR
xinc,yinc
3-6
14CG.ElGG
LD'1'I
l:tnc,tinc
3-27
-_.
chrl,chr2
3-10
-,... .J
.
l,.
__ ..l
,._1.1
*Extended instruction only.
A-9
'. t
r
A-2.
[i
GRAPHIC 8 Controller Instruction Surnmary(Gont)
--,
I
ALPFIAllE'l'ICAL LIST
DESCRIPTION
FORMAT
MNEMONICS
'-'OJ
PAGE NUMBER
(,
~
14
15
I
I
ADDI
I 0 I 0
I
I
I ..'"
I+
1.3
0
12
11
CAI.L
I
I 0
I
9
8
7
6
0
0
! 0
I
1
1
I
0 I 1
I
I
.)
..
I.
..,
,>'
J
0
I)
0
I
I
I
I
,
I
I
! 0
I
1
PR#
DATA
1-
0
10
l.
I
0 I 0
1 I
0
I
... .' J ..
SU!lROIlTI~1E
x
I
;or
I
I x
I
(,AXlDTO
DISPLAY
RJ1;GIsttR
l'MHEDIA'r'S
3-23
CALL
SmUlOllTINE
3~15
I
I
x xI
I
I
I
ADPU;SS
I
I
0
*C'ArJ.E
I
I
U5
CAU'!,(E)
c,'RAR
0
0
0
.
D'RKY
A-tO
i
1· 0
0
I 0
I
1
0
I
I x
I
1
I
0
0
1
I
I
I
1
1
I
B
0
I-I
I oI 1
I
I
1
0
1
I
I
I
I
I
1
I
I
I
0 I 0
I
I
!
I
!
1
I
1
I
1 I QIV
I
0
I
1
I
I
I QII
I
1
I CALL
! EmNDED
I
AO
3-15
SUlUtOIlTINE
I
I
I
I
!
I CALL
I RELATIVE
x x xIx x xI
3-16
I
I
I
1 CHARACTER ASCII CODE
I
1
I
I x
I
I
x xI x
I
SINGLE
cw.AC'rER
x
I CLEAR
x I MAPPINt'l
I MFHORY
'! S~U-UlS LENGTH
DR.I\.W
(OR cncu: RADIUS)
CONIC
y
'Ii
.".'
3-9
3-28
3-11
I
... !
,
(
Dl,AW
I
1
I
X A17 AU
.
I- I
I
I
I
I o ! 0 ·0 o t 0 1 o I 0 1 o I
I
I
I
! I
!
I SUJROIlTINE INCREMmI' (IN EVEN !!'1'ES)
I
I
I
x xI
smlROtl'Tlm: Al)DRESS
I
"ruM
I
I
I
L·
I
I
f
I
(,
I
I
I
I
Table A-2.
GRAPHIC 8 Controller Instruction Summary (Cant)
ALPHABETICAL LIST
FOBMAT
MNII:!!ONICS
15
14
I
13
I
1-
10
11
12
9
DESCRIPTION
7
8
I
I
0
1
1 I 0/+1 X-COORDINATE
I I
I 0 I 0
I
/
1
1
0
I i I
o 1 01+1
Y-COOIDINATE
I I I
o11 I + I
Y"INatHEN'l'
I
oI
1 I' 1
I
,-
oI oI
Y-INCREMEN'l'
1 1
I
, ,
I
01+
DRSR
!i
6
+
4
3
2
1
PAGE NUMBER
0
DRAW SB:ORT
RELATIVE
X-INClU:MEN'l'
3-6
.._'
--r.',
\,.
....
I
oI
DRXA
I
I
I
I
I
I
1- I
,- ,
,
/
DUll
I
I 1 1 + I X-INCUHUr
I DRAW X
I AlSOLtJTE
.I
3-5
I DRAW X
3-5
I ULATIVE
I
"f'
I
DltA
'-f
I
10 I 1
I 1
!-
I
I DRAW Y
3-6
I AlSOLtJTE
I
I
:
\.
_J_~
DIU
I
I
,
1
I
,~
*P'tPG
-,
\
I
10 I 1
*tNIT
I
o I 0
I
,- I.
I
I 0 I 0 0
I I
I
IAU
I
I
I .1
INt IUtl
I ! I
I I
I 010
I I
../
0
0
I
I
1
1
I
0
1 I
I
I
x
I
x x I
,
I
0
I
010
I
o I
I
0
1
I
1
1
I
I
I
oI x
I
J
0
0
I
1
I
I
I FILL A
AO I CONVEX
I POLYGON
3-32
I
I
I
NIlM!!R Of VEltUCES
010
3-6
X AI7 A161
ADDRESS Of LIST OF VERTICES
I
0
I DRAW Y
I RELATIVE
I
I
I
I
X
xix
I
I
x xI
JW.T REFRESH
3-20
INITIALIZE
3-28
I
I
I
I
I
x x xI x x xI
to.!
_..J
..J
A-ll
I
Table A-2.
(:
GR.,t\PHIC 8 Controller Instruction Summary (Cont)
I
ALPHABETICAL LIST
lS 14 13 12 11 10
I
IZPR
JMl'M
JMl'R
J'Ml'Z
*JMPZl
DESCRIP'!ION
FQ'&.'iA'l'
MNEMONICS
I
I 0 I 0
I I
a
I ... ",
I a I 0
I I
0
I
I
I I. I
I
I
I
I
,
I
I
I
I
I
I
1. I
I
0
I 0
6
a
a
0 I
I
I
aI
0
0
0
I
I
:;
2
1
0
x x
x
Ix.
I
x
xl IN!l'!A1. IZl!;
--.. I
E~lE~t
lx
I
i
I
I
I
1.
4
5
lC
xix.
I
I 0
I a
I
i
I
0
o I 1
I
0
a
,,
0
1 I 0
T
a
I
I
I
I
1
I
it
I
1
xix
I
I
I
0
a
I
I
0
0
1
I
I
0
1
0
I
I x:
x:
I
I
x: I x
I
I
I
0
..
0
I
a I a
I
I
0
1
I a
I
1
I
.roM!' tNCi.l.EMlNT (IF EV1!:N Bm3)
L
I x.
I
x:
I
x I x:
I
x
IF DISPLAY
REGISTER 0
CONTlurrs fa 0
AO
3-14
,
xl JUMP RELATIVE
-,
I
I
I
f
(
JT1Ml> EXTENDED
A17 .\16
I
JUMP ADDRESS
I-I
I
3-14
I
I
,
f
I
JUMP ADDUSS
! I
! a I 0
I I
I 0 I
JUMP IrDIS'"
PLA! REGISTER 0
I CONTE~rrs fa a
I
IF DISP!",,-y
REGISTER a
CONTENTS fa 0
3-15
(
I
I
(
!
I
(
(:
A-12
"i
i
"
i
3-13
I
x xl
~,
:~:, ~'1
(
Jt:1fP SHOR'!'
x;
3-18
I
I
I
mATtV!
EVEN mES)
I
0
AND tlARK
I
I
+. Jl1MP . I;NClW1!N't
1
3-2'7
-,
x xI
I JUMP
1
BYrES)
I - (UI
I
a
I
Ius A14
I
JPU
I
-
I
I
7
I
I
I
0
I
1.
JUMP ADDRESS (IN
I
0
I
a Ia
8
<}
f;
PAGE NT;'}! llER
I
-~'"
GRAPHIC 8 Controller Instruction Summary (Cont)
Table A-2.
ALPHABETICAL LIST
MNEMONICS
DESCRIPTION
FO~.AT
PAGE NlJMBER
-{ .
14
13
I
a I a
0
15
12
11
10
I
o I a
a
9
8
7
6
a
0
1 I
S
4
2
1
0
xix
x
I
x I
3
,.~.~-
I
I
JR...l>!P
I
1 I
i,
I
I
x x
I
I
I .roMP RELATIVE
JUMP INCREMENT (IN EVEN BnES)
I
I
I 0 I 0
I",
JUMP
·1
}.
I
I
I
0
I
I
I
I
I
I
I
I
I
I
0
010
I
1 1'0
I
0
3-13
I
I
I
I
a I x
x:
I
xix
I
lC
I
I
xl
I
JUMP
3-L2
1
.roMP ADDRESS
I
I
• ':...iI'
.
-'
.
*JUMP!
I 010
I I
I
IA15
I
LDD!
.
"
LDDP
LDDZ
I
0
I
010
0
I
I
I 0 I 0
I
I
JUMP
I
0
I
1
I
oIx
x
I
!
010
I
0
1 I
I
I
I
I
I
1 I 1 I
I
0
1
I
I
0
I
DR.#
I
A17 A161
.
AO
I .roMP EXTENDED
I ADDRESS
I
3-12
I
LOAD DISPLAY
REGISTER
IMMED lATE
3-22
,.
DATA
0
I
xix
ADDRESS
I
011
I
I
010
0
I
I
Al4 •
I
I
I a I a
I
I
I
I
I
1 I 0
DISPLAY PARAMETERS
DISPLAY Z PARAMETERS
LOAD DISPLAY
PARA.'1ETER
REGISTER
3-25
LOAD
DISPLAY
Z REGISTER
3-26
,- .
A-13
I
(!
GRAPHIC 8 Controller Instruction Summary (Cont)
Table A··2.
"''''1
(
ALl'RABE'l'IC.u, LIST
FORMAT
MNEMONICS
DESCRIPTION
PAGE N1JM!ER
~,
is 14
0
LDKX
I
I
13
.
1
,__ 1. _
1
...
i
oI 0
I
-
I xl
I
I
x
I
!
1
x
xl xl
I I
I 1
I
1
0
I
1
I
LDRI
01
0
I
....,
I
0
I
0
:5
4
5
3
2
I
xl
!
I
I
I
I
GlAY LEVEL
0
0
I
I DlVI
I
0
LOAD
CONIC
I X REGISTER
3-11
I LOAD PIXEt.
I DATA
! REGI.STER
3-28
-
I
0
1
"",I
X SEMI-AlIS LE.NG'l'R
I
I
1
7
""
I QIlI
I
I
0
~
I
I
1
1
oI
*LDPD
10
11
1.2
(
,--
I REGI
LOAD DEVICE
FAGE
I EXTENDED
AO I
I
3-19
•
A-15
(,
Tabla A-2.
GR..!'I.'pHIC 8 Controller Instruction Summary (Cont)
.. --MNEMONICS
15
1.4
13
l2
1-""'·"-I
I
"'MDLU
MODE
*MVPD
DESCRIl'TION
FORMA!
I 0 I 0
I 1
I
IAU
I
I I
lAM I
I
I
I I
I 0 I 0
I I
I I
I 0 !0
I I
I
I
I
I
I
10
9
1
1
0
0
I
8
i
6
5
1
0
1
,Ix
iI
!
()
I
I
I
I
4
3
1
2
I
A11 Al61
XODl"
I
:r.OOKtlP
I
.
I
I
0
0
0
0
I 0
I
0
0
I 0
0
0
I
I
1
I
I
0
0
0
I
I
0
I
I
I
I
I
I
I
1
1
I
1
I 0
I
I
1
0
I
I
l!OOE
x:
I
.
I
I
I
I
I 0 1+
I I-
Y-INCREMENT
r
I
I
I
--"I
I
,
I
0
3":29
I
I
I
I
I
FINAL Y 'l Al.UE
1
lion
I PIUt
I DATA
AO I
1
I
I
"I
I
I
1
1INAI. X VALUE
I
3-28
I
I
rnTIM Y: VALUE
I
I
I
I
I
I
I
I LOAD
I INSTRUCTION
! :-lOOE REGIS'l"ER
x Ix A1.7 A1,61
Ul!TIAL X VALUE
1--I
I
I
I
I
-"I
I
LITr ADDRESS
I
I
I I
i
I 0 I 0 0 0 I 1 1 0 I 0 1 1 I :t
I
I
I
I I
I
GaAiRIC 8 MEMORY ADDRESS
l..us
I
I I I :( I I
lAM. IRELI Y Inul
IINCl
I
I
I
I
I
AO
I
I
VIDEO CONTROLLER(S)
I 1 I
I I
3... 31
I TABLE
I
I
I
Ni1M:BEll 0' GRAPHIC 8 a-BIT Bms
.
MVSR
0
I
x x Ix
GRApH!C 8 ~liORY ,IDDRESS
I
0
tl
PAGE mlMBER
1
I +
1-
X-INCFl..EMEN'l'
MOVE
SHORl'
UW.TIVE
3-5
r
I
r
(,
A-16
(
GRAPHIC 8 Controller Instruction Summary (Cont)
Table A-2.
ALPHABETICAL LIST
FORMAT
~ONICS
14
13
011.
0
15
I
MVXA.
12
I
0
011
I
I
~A
~L,
o I 1.
I
1
I
I
I
,- ,
I
!
I
I
1- ,
I
7
8
9
5
6
4
2
3
1
1. 1 01+1 X-COORDINATE
I
MlTXlt
10
11
DESCRIPTION
1 I 1 I + I X-!NCREMENT
I
a I
i
I
01+1 Y-COORDINA'I'E
I
1-'
I
I
PAGE mlliBER
0
MOVE X A.BSOLU'l'E
3-4
MOVE X RELATIVE
3-4
MOVE Y ABSOLU'l'E
3-4
MOVE
3-4
.
I
M.VYR
a I
1.
o I 1 I + I Y-!NCREMENt
I
I I
I a , 0
I I
0
Oil
!
NOOP
PPtlt
*PPTA
I
1.
I
1
1-'
I
0
I
I
'l- !NCl.U:M1l;m:
I
I
a I
0
I
I
F I
I
x
x
I
I
I
1
I
0
010
I
I I
a I a 1+
I
I
1.
1.
1
1
1
I
x
I
0
I
I 1. \+
I I-
a ,a
!
1. \ 0
I
010
I.
0
'l
RELATIVE
!
o I NO OPERATION
I
3-13
PO IN'!'
X-!NCREMEN'!'
1-
PLOT
3-6
RELATIVE
I
I
!
\
o I ROT I TAB. INCA.
POIN'!' PLOT
tABULAR
3-7
ABSOLU'l'E
I
xl+ COORDINATE
1-
A-17
(
Table A-2.
GR.APRIC 8 Cont.roller Ins tructionSummary (Cont)
.~lRAS!tICAL
14
13
I I
I 0 I 0
I I
0
I 'I
"IX
I I
x
15
I
,
*PPnt
I I
I0 I 1
I I
I 0 I 1
I
I
I
I 0 I 0
I I
I I
I 0 I 0
I !
R'!lm
tl.
12
10
,
It
1
7
6
1 I 1
1
1 1apt I TAJ. INCR.
I
I
,-
3
2.
1
I
I
I POINt PLOT
,
, TABU1.A&
RELAtIVE ..,
.,
..
I
,-
I !?OINT
I PT.O'!
I
I
0
11 1 1+ Y"'INCUlG:NT
I
I
011
0
I
010
1
I
I
I
oI
1
I
1
I
I
, I
1 I
1.
.
.
3~7
I
POINT
~OT
YanAtm
3-7
I
I RESTOR!!
, DISPUl'
I REGISTER
Dill
I
I
010
~
, t ASSOt-un:
I-
I
010
3"'8
I,
I 0 I + l'--f..ARGIN
REGISTER
PRESENT X OR Y MARGIN POSITION
L.'1R
15
14
13
12
10
11
9
8
7
6
PDR
5
4
3
2
1
0
PIXEL
DATA
REGISTER
GRAY LEVEL BItS
15
14
13
12
10
11
9
8
.. 6
7
I
15
14
13
12
11
5
4
3
2
1
0
St.A.RT
.I
I
SXl-3
X ADDRESS
X
REGISTER
10
9
8
7
SY1-3
6
5
4
3
2
1
0
ST.A.RT
Y
REGISTER
Y ADDRESS
15
LNl-3
5
14
13
12
11
10
9
8
7
6
5
4
3
2
1
NUMBER OF LINES PER SECTOR
0
LINE
REGISTER
A-23
(
IS
Table A.,.3.
Graphic Controller Register Format Summary ( Cent)
14
11
13
12
-
I.
STAl-3 I
I_-
10
7
8
9
!
I
I
I
6
5
I
r
I
I.• I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
CHANGE ENABLE
3
1
2
1-1
I
~
4
I
I
I
I
r
0
'-I STATUS
I
I
1
1
I
I
I
MEM.
I
I
REGISTER
(
SELECT, ENABLE
I
I
SELECT AlB
CURSOR ENABLE
CURSOR BLINK ENABLE
(
-',
".~-~;
,
"
.:S
15
14
13
11
12
10
7
8
9
I
5
4
3
2.
1
I"
0
"
I
XCR
6
X
CURSOR
ADDRESS
X CURSOR ADDRESS
I.
SIGN OV1i'L
SIGN
15
yca
14
13
12
10
11
7
8
9
5
6
4
3
2
1
0
i'
,"
I
I
y
I
I
Y CURSOR ADDRESS
CURSOR
ADDRESS
SIGN OVFL
SIGN
15
1
DL1
1
I
14
13
12-
11
10
9
0
0
I
I
0"
0
I
I
8
I
I
7
6
0
0
I
0
I
I
-
5
I
I
I
4
3
2
1
0
I
LINE INCREMENT
-I LINE
I INCREMENT
I REGISTER
[
....,--
I
I
I
L
I
I
(,
('
(
A-24
(
.
Graphic Controller Register Format Summary ( Cont)
Table
15
14
11
13
10
9
8
6
7
5
4
3
2
1
,
,
I
I
I
I
I
I,
I
!
I
-
I
I
I
1
I
I.
I
I
I
I
I
I
I
,
I
I
I
I
I
1
",
-,
11
I
SCF
I
0
I
RESERVED FOR
- . HARDWARE
-
,
SYSTEM
CONFIGURATION
REGISTER
BITS PER PIXEL
MEMORY FIELD SIZE
NUMBER OF VIDEO CONTROLLERS
SCREEN RESOLUTION
RESERVED FOR HARDWARE
BLINI{ STATUS
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
.0
CHARACTER
CFR
VALUE
FONT
REGISTER
A-25
15
Table A...4.
Serial Interface Register Format Summary
13
10
14
11
12
I
I
l
I
II
I
I
I
I
I
I
I
I
I
I
I
I
!
I
I
I
I
I
I
I
I
I
I . ' *CAR,R.
, ,
I
I
I
I
I
I
I
I
I
I
,
I
I
I
I
I
I
I
-
4
5
3
I
.1,
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
,
I
I
I
I
I.
I
I
I
I
-
!
I
I
RECEIVE
STATUS
REGISTER n
'-
I
I
RDR. ENBL
, _ *DATA. TEBM ROY
,
-
I
,
-
I.
'-
,I
I
I
I
0
1
2
*REQ .TO SEND
(I
RCVRINTRP'1' ENBL
RCVa DONE
*DAtA SET ROY
*CLEAR TO SEND
1-
~
I
I
6
7
I
I
I"
I
RSRn
8
9
(
*lUNG IND
*Used on full RS...232C interface ports 1, 5 and 9
15
12
13
14
11
10
9
8
7
I
6
.
I
I
I
I
I
I
I
,15
-
0
RECEIVE
DA.TA
BUFFER n
- .....
~
(.
*p ARI TY ERRO R
(,
OVERRUN ERRO R
13
12
11
10
9
8
7
6
,
I
I
I
I
-
I
. I
3
,
2
.
I
I
-
I
4
5
I
TSRn
A-26
1
ERROR
14
,
2
RECEIVE DATA
I..
-
I
I
3
,
I
ROEn
4
5
I
I i':
XMTR IN'l'RP ENBL
XMTR lU>Y
1
I
0
I'
.
I TRANSMIT
I STATUS
I .REGIStER
(
n
(
(
,'".
I
I '.~
Table A-4.
15
14
13
12
Serial
11
10
InterfaceRegiste~
9
8
7
6
5
Format Summary (Cont)
4
TRliliSMIT DATA
TDBn
NOtE:
3
2
1
o
TRANSMIT
DATA
BUFFER n
Unidentified bits not used.
,-
'..
'
L
.
A-27
J~
Table A-5.
15
14
12
13
11
(
Parallel Interface Register Format Summary
9
10
8
7
5
6
4
3
1
2
0
TWO's COHPLEMENT OF DM..<\. WORD COUNT
WCRn
TtlORD
(
COUNT
REGISTER n
r. .
.".
~
__ • .1
15
MAB.n
13
14
12
1-'"
I
I
11
10
9
8
7
5
6
4
3
2
~
14
12
13
11
10
9
8
7
5
6
4
3
I
-
I
I
INPUT INntP
ENBL
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
......'
INPUT WORD REQ _
SP. <\R.E
.
INPU'l' NO. 2
-
I
I
I
I
I
I
I
I
I
I
ATTEN INTR?T ENBL
I
I
I
I
I
I
I
I
I
I
I
I
_I
to
ATTEN NO. Z
-
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
Al'TEN NO. I
-
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I·
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
1
2
-I
STRn
0
I
I
STARTING ADDRESS FOR DMA OPERATION
15
INPUT
NOT
READY
1
0
I MEMORY
I ADDRESS
I REGISTER n
0
I
i
I
!
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
i
I
I
I
-
I
I
I
I
I
I
I
I
I
-
,
r
I
I
STATUS
REGISTER
I
I
I
I
I
rI
-
SPARE INPUT
NO. I
I
I
I
I
I
ADRS BIT 17
DMA
I/O MODE
-
-
Ii
ADRS BIT 16
-
IDRn/
OnRn
A-28
1-
14
j
13
12
11
10
9
8
7
6
5
4
3
2
1
I
I
0
INPUT/
UlPUT OR OUTPUT DATA
I
OUTPUT DATA
I______________________~--------------------- REGISTER n
:-~
I
f
f'
WORD COUN! rf. 0
15
r
I
DMA COMPL
I
OUTPUT WORD RCVD
I
I
OUTPUT INTR?T ENBL
I
I
I_ . OUTPUT CONT
'-
(
I
I
I
f
Ii
I
I
Table A-6.
Register Designations and Address Assignments
REGISTER
DEVICE
DISPLAY PROCESSOR
Processor Sta.tus Word
MNEMONIC
ADDRESS
PSW
177776
Reserved
"'~r
ROM AND STATUS LOGIC
SERIAL INTERFACE PORT
a-bit switch register
SWT
TTY
tTY
TTY
Tn
TTYRSR
TTYRDB
T'1'YTSR
TT'iTDB
Receive Status Register
Receive Data Buffer
Transmit Status Register
Transmit Data Buffer
1177760
thru
1177772
177774
I-
177560
177562
177564
177566
Word Count RegiSter 1
Memory Address Register 1
Status Register 1
Input/Output Data Register 1
waCl
MARl
IDRl/ODRl
172410
172412
172414
172416
PARALLEL INTERFACE
C.ARD NO. 2 (OPTIONAL)
Word Count Register 2
Memory Address Register 2
Status Register 2.
Input/Output Datil. Register 2
WCR2
MAR2
STR2
IDR2/0DR2
172430
172432172434
172436
MULTIPORT SERIAL
INTERFACE CARD NO. 1
Port No. 1 (Host Computer)
Receive Status Register 1
Receive Data Buffer 1
Transmit Status Register 1
Transmit Data Buffer 1
Port No. 2 (Keyboard No. 3 or PED No.6)
Receive Status Register 2
Receive Data Buffer 2
Transmit Status Register 2
Transmit Data Buffer 2
Port No. 3 (Keyboard No~ 1 or PED No.8)
Receive Status Register 3
Receive Data Buffer 3
Transmit Status Register 3
Transmit Data Buffer 3
Port No. 4 (Keyboard No. 8 or PED No.1)
Receive Status Register 4
Receive Data Buffer 4
Transmit Status Register 4
Transmit Data Buffer 4
RSRI
RDB1
TSR1
!DBl
176500
176502
176504
176506
RSR2
RDB2
TSR2
TDBZ
176510
176512
176514
176516
RSR3
RDB3
TSR3
TOB3
176520
176522
176524
176526
RSR4
RDB4
TSR4
TDB4
176530
176532
176534
176536
RSR5
ROBS
TSR5
TDB5
176540
176542
176544
176546
PARALLEL INTERFACE
CARD NO. 1 (OPTIONAL)
MULTIPORT SERIAL
INTERFACE CARD NO. 2
(OPTIONAL)
Port No. 5 (unused)
Receive Status Register 5
Receive Data Buffer 5
Transmit Status Register 5
Transmit Data Buffer 5
STRl
A-29
I
I' -;
"1?.
Table A-6.
ReglsterDesignations and Address Assignments (Cant)
REGISTER
DEVICE
MNEMONIC
ADDRESS
I, ~J
'"",,
'J MULl'IPOR'l' S!lUAL.
" INTER.FACE CARP NO. 2
- (OPTIONAL) (Cant)
MULtIPORT SEnAL
INttRFACE CARD NO. 3
Pot't No. 6 (Keyboa.rd No. 6 or PED No.3)
Re~eive Status Register 6
R5R6
Rece:1 va Da ta Buf fa r 6 '
ROB6
Transmt Status Register 6
TSa6
l'DB6
'transm1 t Da ta :auf £a r 6
Port No. 7 (Keyboard No. 2 orPED No. 7)
Receive Status Register 7
RSR7
WB7
Receive Data Buffer 7
1'51\7
'transmit Status Register 7
'TDB7
'tran.sflit Data Buffer 7 .
Port No. a (Keyboard No~7 or PED No. 2)
Receive Status Register 8
aSR8
Receive Data. Buffer 8
ROBS
'l'ransflit Status Register 8
TSa8
Transmit Data Buffer 8
l'DB8
Port No. 9 (Keyboard No.4 or PED No.5)
Receive Status Register 9
Receive Data ,Buffer 9
Transmit: Status Register 9
Transtlli t Data Bu,f£er9
Port No. 10 (Keyboard No. 5 or PED No.4)
Reee:f,ve Status 'R.eg~ster 10
Receive Data BuffarlO,
_
Transmi tS tatusRegis ter 10
'transm1t Data Buffer 10
Port
MULTIPaRT
SERI.~
Port No. 13 (Spare)
!~TERFACE
CAaD NO. 4
Receive Status ltegister 13
Receive Data Buffer 13
'trans'Q1it Status Register 13
'transtn1t Data Buffer 13
Port No. 14 (Spare)
Receive Status Register 14
Receive Data Buffer 14
'transmit Status Register 14
Transmit Data Buffer 14
A-30
176556
176566
176570
176572
176574
176576
176600
RDa9
176602
'tSR9
176604
m89
176606
R.SR10
176610
ROBI0
176612
TSRIO
176614
176616
aSRll
176620
RD811
176622
TSR11
176624
176626
l'D811
l~,
176562
176564
RSR9
TOBIO
I 'T}
176560
No. 11 (Spare)
B.eceive Status B.egister 11
lteceive De. t NO. 1
'.
I
Tn:
PARALLEL INUU ACE
4
10
14
24
30
34
60
64
ROM AND STATUS LOGIC Co\BDt
GRAPHIC CON'.l:ROLLER
T'R.A.P ADORES S
I
I
I
I
.,
--1
f
Port 5 ... (unused)
'!nput
Output
Port 6 - Keyboard No. 6 or PED No. :3
Input
Output
Port 7 - Keyboard No. 2 or PED No. 7
Input
Output
Port 8"- Keyboard No.7 or PED No.2
Input
Output
~.
300
304
310
314
320
324
,I'
I ,~,:
I:
."
340
344
f
l
350
354
Jt
330
334
-.~
360
364
370
374
I
I:
.1\-34
I
Table A-7.
Display Processor Trap
MULTIPORT SERIAL
INTERFACE CARD NO. 3
.-......
·MULTIPORT SERIAL
INTERFACE CARD NO. 4
;
I
_
d .......
(Cont)
INTERRUPT
INTERRUPTION DEVICE
.... _'.
Addres~es
Port 9 - Keyboard No. 4 or PED No. S
Input
Output
Port 10 - Keyboard No • S or PED No. 4
Input
Output
Port 11 - Spare
Input
Output
Port 12 ... Spare
Input
Output
Port 13 Input
Output
Port 14 Input
Output
Port 15 Input
Output
Port 16 Input
Output
TR.l\.P ADDRESS
400
404
410
414
420
424
430
434
Spare
440
444
Spare
450
454
Spare
460
464
Spare
470
474
._,1
.,.J
A-35
Ii
",~
I
"1
,]
.,:.1
'~'
I.
,
I
Material formerly on pages A... 36 through A... 66 has been deleted.
"
1
j
I -'i
't,
I
•• w ••• )
t,'
f 1'1
I
{
.._)
v
~
II
I
I
I
~.
A-36
Change 1
[
.,..;...i.
A-67
Table A-lO.
Multipart Seri,al Interf
14&
006
MI4
015
005
001
IIIl2
143
003
1413
Olli
MIG
MIl
000
Mil
OtJ
1412
Ot4
Ml
01-2
M2
~ NOINTERRUPTORCODEGENERATEO
STANDARD KEY
MARKINoSHOWN
ON LEFT Of KEY
l
. . ,C,
CODES GENERATED
BYItA£Ii KEY SHOWN
~
JU
20,,3,
203 '
f~~~~~TOF
K£Y
CODE
NDRMA~
SHlfTEDCODE
CONTiIOL COOE
Non
A§l;!llll§.
MOST KEYS GENERATE TUREE CODE$
DEPENDING ON THE POSITION Of
THE SHIFT AND CONTROL KEYS.
SOME KEYS GENERATE ONE CODE
ONLY. NOT AFfECTED BY SHIfT
OR CONTROL KEYS.
CODE MARKINGS DO NOT
APPEAR ON KEY CAPS
iTANDARD KEY
MARKINUS'"OWN
ABOVE CODE
....
COOl< OEN£RAUD
BY EACH KEY SHOWN
AT BOTTOM OF KEY
tocTALI
CONTROL. SHlfnD,"
NORMAL CODES s _
:r
"'-I
.....
Figure A-2.
Model 5784 Keyboard Layout and Code Assignments
..:' .r'.'
007
M1
~ MOOIFIES ASCII KEY CODES
~?'.,:
,1.,
Table Af13.
I
I
I
CHAR.
CODE
DEC.
NUL
000
o
SOH
001
1
STX
002
ETX.
OCTAL
10=
DEC.
ocf..u:---I
SHF
I
10=
DEC.
I
li-~
7-Bit ASCII Code
OCTAL
SHF
OCTAL
I
I
I
CHAR.
CODE
DEC.
---.--~~--~----~~--~----~~--~~--~~--~~--~~.--~~---O~'
0
US
037
31
17400
7936
400
2.'56
SF
040
32
20000
8192
2
1000
512
041
33
20400
8448
003
3
1400
768
042
34
21000
8960
EO'!
004
4
2000
1024
II
043
35
21400
8960
ENQ
ACK
BEL
BS
HI
LF
005
5
2400
1280
$
044
36
22000
9216
006
6
3000
1536
%
045
37
22400
9472
007
7
3400
1792
&
046
38
23000
9728
010
8
4000
2048
047
39
23400
9984
011
9
4400
·2304
(
050
40
24000
10240
012
10
5000
2560
)
051
41
24400
10496
VT
013
11
5400
2816
if
052
42
25000
10752
FF
CR
SO
014
12
6000
3072
053
43
25400
11008
015
13
6400
3328
0.54
44
26000
11264
016
14
7000
. 3584
I +
I
I -
055
45
26400
11520
S!
017
15
7400
3840
056
46
27000
11776
OLE
020
1~-
10000
4096
I
057
'+7
27400
12032
DCl
021
17
10400
4352
o
060
48
30000
12288
OC2.
022
18
11000
4608
1
061
49
30400
12544
DC3
023
19
11400
4864
2.
062
50
31000
12800
OC4
024
12000
5120
13056
12400
5376
063
064
31400
52
32000
13312
SYN
025
026
3
4
51
NAK
20
21
22
13000
5632
5
065
53
32400
13568
ETB
027
23
13400
5888
6
066
S4
33000
13824
C..lli
030
24
14000
. 6144
7
067
55
33400
14080
EM
25
14400
6400
8
070
56
34000
14336
SUB
031
032
26
15000
6656
9
071
57
34400
14592
ESC
033
27
15400
6912
072
58
35000
14848
FS
034
28
16000
7168
073
S9
35400
15104
GS
035
29
16400
7424
014
60
36000
15360
RS
036
30
17000
7680
075
61
36400
15616
I <
I ""
f·-· '· ,'
(;
I,
I,
I
f
I
r
I
I'
I
I
I
I
I
I
Table A-13.
7-Bit ASCII Code (Cont)
I
OCTAL
10=
DEC.
>
076
62
?
017
15872
16128
@
100
101
102
63
64
65
66
67
37000
37400
40000
40400
16384
16640
I A
I
I ,
41000
16896
a
A
B
F
G
101
71
H
110
!
III
J
112
72
73
74
K
113
D
E
70
75
76
'114
M
115
116
17
117
120
121
79
80
o
p
Q
R
S
T
122
123
124
V
125
126
W
127
X
130
Y
131
Z
132
U
\
133
134
41400 17152
42000 17408
42400 17664
43000 17920
68
69
L
N
"
SHE'
103
104
105
106
C
'J
OCTAL
DEC.
CHAR.
','.i'
I
I
OCTAL
CODE
78
I
43400
44000
44400
45000
45400
46000
46400
47000
18176
18432
1868,8
18944
19200
19456
19712
19968
CHAR.
b ,',
c
d
e
f
g
I
h
i
j
I k
I 1
I m
20224 I n
20480 I 0
20736 I p
20992 I q
21248 I r
21504 I s
81
82
47400
50000
50400
51000
83
84
85
86
51400
52000
52400
53000
21760
22016
87
88
89
53400
54000
54400
22272
22528
22784
90
91
55000
55400
56000
23040
23296
23552
92
I
I
I
I
OCTAL
t
I
I
I
I
I
u
SHE'
CODE
DEC.
10=
135
136
137
140
141
93
94
56400
23808-,
57000
57400
60000
60400
24064
24320
24576
24832-
100
101
61000
61400
62000
62400
25088
25344
25600
25856
102
103
104
105
63000
63400
64000
64400
26112
106
107
108
109
65000
65400
66000
142
143
144
145
146
147
150
151
153
153
154
155
156
157
160
161
162
163
164
165
v
w
x
166
167
170
y
171
z
172
173
95
96
97
98
~9
110
111
112
113
114
115
116
117
118
119
120
121
122
123
66400
67000
67400
70000
70400
DEC.
26368
26624
26880
27136
27392
27648
27904
71000
71400
28160
28416
28672
28928
29184
29440
72000
72400
29696
29952
73000
73400
74000
74400
75000
75400
30208
30464
30720
30976
31232
31488
,
L-J
A-73
r
,~
'.
Table. A-l3.
CHAR.
7-Bit ASCII Code. (Cant)
OCTAL
SHF
OCT.AL
CODE
DEC.
10=
DEC.
174
124
31744
175
125
76000
76400
-
32000
CHAR.
DEL
OCTAL
SHF
OCT.AL
CODE
DEC.
10=
176
126
77000
177
127
77400
DEC.
32256
32512
f
f,
r
(
,
-,
I'"
f
I
I
I
I
I
I
I"
,
I
(
A-74
I
I
.-
Table A-14.
GR..L\PHlC 8 Registers
I
MEMORY
I/O
I
I/O
I
I_______________RE~G~I~ST_E~R______________~-AD~D-RE~W~S~S--~~RE~AD~~I---WR~IT~E~___ I
I
I
I
I
SENSE WORD (SENS)
177660
Yes
I
No
I
I
I
I
MASK REGISTER (MKR)
177662
Yes
I
Yes
I
I
I
I
I
I
STACK POINTER (DSP)
165000
Yes
I
'*
I
I
I
I
I
GENERAL PURFOSE REGISTER (DRO)
165002
Yes
I
*
I
I
I
I
I
GENERAL PURPOSE REGISTER (DR1)
165004
Yes
I
*
I
I
I
I
I
PROGRAM COUNTER (DPC)
165006
Yes
I
Yes
I
I
I
I
I
DISPLAY INSTRUCTION REGISTER (DlR)
165010
Yes
I
'*
I
I
I
I
I
TEXT INCREMENT REGISTER (DTt)
165012
Yes
I
I
DISPLAY PARAMETER REGISTER (D?R)
165014
Yes
I
BANK REGISTER (PGR)
165014
**
DISPLAY Z REGISTER (DZR)
165016
Yes
X REGISTER CDXR)
165020
Yes
Y REGISTER (DYR)
165022
Yes
!.
I
I
I
I
I
I
I
I
•• _.J
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
CHARACTER REGISTER (DCR)
165024
Yes·1
(Optional)
165026
Yes
Y CONIC REGISTER (KYR) (Optional)
165030
Yes
GENERAL PURPOSE REGISTER (DRZ)
165032
Yes
GENERAL PURFOSE REGISTER (DR3)
165034
Yes
X
CONI~
REGISTER
(~~)
I
I
I
I
I
I
I
I
*
'*
Yes
*
'*
*
'*
'*
*
*
'*
*These registers are written by refresh commands and read by programmed
data transfers.
**The 2 bit Bank Register is read as bits 14 and 15 of the DPR.
***These registers are written by the I/O and refresh commands.
#A write to FUNC register while the digital graphic controller is
running will cause an error trap through address 4 (error trap).
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
.I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
A-75
r
'1
:
:~.
~,;
j.
i1
Table A-14.
:,', 1 ':],!
GRAPHIC 8 Registers (Cont)
,
..'
::
,
,
MEMORY
ADDRESS
"FUNCTION CqNTROL CONTINUE (FUNe)
165036
FUNCTION COmaOL STOl?(FUNS)
165040 ..
E~ORREGISnR
165312
I
I
I
I
I
I
170
READ
No
No
I
(EiR)
I
YeS
I
I
I
I
I
I
I
I
r/o
WRITE
Yes
Yes
Yes
**-kThese registers are W't'itten by the .1/0 and refreshcom.mands. "
/FA write to.FUNe register while the digital gl'aphiccontt'olleris
rurminswill cause an en'or trap throushaddress 4 }error trap). ,
I
I
I
I
I
I
I
I
I
I
I
I
I
i
'
.'.
~'
'~'
t
...'
"',
"-'",
'I
I
";'
~~,
';i'
..:"
..
.',
"~
~l
:l
I
!
,.. J
.,;( ,":'1
'
1
~!.
'-,-j
:(
I
:
I
!
"I
~.w
,
~.~
f
I
I
1
-...7!':
i
>.
,
,
"
,
.. "
(
, ~:~'3
,..
'.;;-
A-76
I
I
I
f
f
I
"
,:~:
"
,
Table A-14.
,
I
I
I
SERIAL
INTERFACE
(SINGU
PORT)
- 1-
..
r-
SERIAL
INTERFACE
(4 PORTS)
\
'·1 ".
r
,
,
GRAPHICS~
(
+ 1.5 u.see.1 pixel
Charaeter Wdte Times (SDla.tJ, Size)
'"
A.
O"erh~
t•
2.
B.
CttAR instruc: tion
'!'It IT ins true don
"L" Character (15 pixels)
"E" Chataeeer (24 pixels)
4.5 u.see
8.4 usee
. 37.2 usee (5 2 7)
38.7 usee (5 x 7)
46.2 usee (7 x 9)
52 • 2 usee (7 x 9)
Data Move
Configuration:
1.
a bits/pixel
2.
4 bits/pixel
Point Plots
PPTA
PP'l'R
PPYA/PPYR
PPLR
3.9 usee/ptxel
S.1 usee/ pixel
512 2
-
2.4 usee/pu$!
2.7 usee/pixel
2.1 usee/pixel
3.0 usee/pixel
2.1 usee/ pixel
2.7 usee/pixel
1 • 8 useel pix el
2.7 usee/piXel
PolZ.klon Fill
FLPG
600 nseelpiJc:el average.
Range i$ 100 nsl pixel
to 1.0 us/pixel depending on the length and
position of the horizontal pixel lines
composing the fill.
I
I
I
f
I
f
(
Conics
LDU. ·}
DRKY
2.5 useel pixel
f
I
I
'.'.
.,'
."
~.
..
,
·,.,7:,
APPENDIX B
GRAPHIC 8 MACRO DESCRIPTIONS
B-I.
GENERAL
This appendix describes the GRAPHIC 8 display macros that have been developed
by Sanders for Software Engineers who use the MACRO-II assembly language for their
applications programs. Table B-I lists the macros in alphabetical order. Table B-2
describes the macros and defines the arguments accepted by each. Table B-3 shows
the program structures for two typical refresh files that use the macros.
The following conventions are used in table B-2 to define macro arguments.
1.
All numbers are octal unless otherwise specified.
2.
Lower case letters indicate variable argu~ents. With the exception of the
following, each letter represents a single octal digit (leading zeros are not
required for arguments shorter than the specified field):
,--
a.
"a" and "b" each represents a single ASCII character.
b.
"ars" represents a specific argument identified in the macro
description.
c.
"label" represents a label assigned by the aplications programmer or
an absolute or relative value.
d.
"character string" represents any string of ASCII characters as
determined by the applications programmer.
,
3.
Upper case letters indicate specific arguments as discussed in the macro
descriptions.
NOTES
1.
Standard graphic controller instructions
referenced in this appendix are described in
detail in Section 3. Coordinate converter
instructions are described in Sanders publication
79-0350.
2.
All register mnemonics listed in table A-6 are
defined in the GRAPHIC 8 macros and may be used as
arguments for MACRO-II instructions.
B-1
(
3.
The following labels are used within the GRAPHIC 8
macros and lXlust not be duplicated in any user
written program that employs these macros:
(
-
"
:
,"-'
.... ,
I
I
I IJ
I
I
: -: .:: ~ j
'.
AR.G. OK
CR.
DISLOP
D2R.
nza. ... '
TI.
'IMP $
TX!.
YlNe.
"
I
~-
I'
"I.,
..,.. ......
-1
(
',;:a.~
r
".,
~
"
I
f
I
I
I
I
..
,;".
.~.;\~
.', .
. .
',
G:"
'.
(
.{
B-2
I
I
Table B-I.
MACRO
FUNCTION
ADD!
ADR
AMV"
CALL (E)
CALR (E)
CHAR
CIRCLE
CLRM
COLOR
CR
CRLF
DISEND
DISI}/"'T
DRKY
DRSR
DRXA
DRXR
DRYA
ORYR
ELLIPSE
ENTR
FILL
HREF
IN1T
IZPR
JMPM (E)
JMPR
.D!PZ
JPRZ
(E)
(E)
Jru1P (E)
JUMP (E)
LDOI
LDDP
LDOZ
LDKX
LDPD
LORI
LDSP
LDTI
(E)
LDXA
LDXR
LF
-..
LINK
MOLU
MODE
GRAPH1C 8 Display Macros
(E)
Add to display register immediate
Absolute draw
Absolute move
Call (Extended) subroutine
Call relative
Draw single character
Draw circle
Clear pixel memory
Select c.olor
Carriage return control character
Carriage return line feed control characters
Display end
Display initialize
Draw conic Y
Draw short relative
Draw X absolute
Draw X relative
Draw Y absolute
Draw Y relative
Draw ELLIPSE
Provide subroutine entry point
Fill a convex polygon
Halt a refresh
Initialize
Initialize the ramp generator (Graphic 7 only)
Jump and mark
Jump short relative
Jump (Extended) if display register 0 contents ~ 0
Jump relative i f display register 0 contents '1 0
Jump relative
Jump (Extended)
Load d"isplay register immediate
Load display parameter register
Load display Z register
Load conic X register
Load pL~el data register
Load device register immediate (Graphic 7 only)
Load (Extended) stack pointer
Load text and line increment registers
Load X absolute
Load X relative
Line feed control character
Synchronized linkage
Modify look-up table
Load mode register
B-3
(
Table B-1.
MACRO
MVPD
MVSR
MVXA
MVXR
HV'IA
MVYR
NEWL
NEWLR
NOOP
PPLR
PPTA
PPTR
PPYA
PPYR
RDR
RESD (E)
RL!NK
RMV
RnN (E:)
SAVD (E)
SE1'LF
SET'MRG
SETT!
5TX
TEXT
TXT
UPDT
WAT'E
GRAPH.IC 8 Display Macros (Cont)
r
FUNCtION
Move pixel cia ta
Move short relative
Move x: absolute
MO'ITe X relative
Move Y absolute
Move Y relative
New line
New line relati va
No operation
Point plot relative
Point plot tabular absolute
Point plot tabular relative
Point plot Y absolute
Poiu'!: plot Y relative
Relative draw
Restore d,isplay reg,iater
Relink.
Relative move
Return (Extended)
Save (Extended) display register
Set line feed
Set left Il'Jargin
Set t~t inerem.ent
Set left lX18.rgin coutrol character
Draw tabular character string
Draw two tabular characters
Upda te 'video controller register( s)
1;"Jait
f
'I,i
Ii
"\
"
I:
"
L'
II
I
I'
I
I
I
I
I
,
_,I,;
"
(
J
:8-4
',",
"
Table B-2.
£-IACRO CALL
Detailed Macro Descriptions
DESCRIPTION
ADDI r,nnnnnn
Inserts an ADDI (add to display register immediate)
instruction into the refresh file. Argument "r", which must
be "0" through "63", specifies one of the display registers
(DRO through DR63) of the digital graphic controller.
Argument "nnnnnn" spe,cities the value (-100000 to 77777) to be
added to the register.
ADR xxxx, yyyy
Causes an absolute draw to position X, Y by inserting two
instructions into the refresh file. The first is an LDXA
(load X absolute) instruction with the X coordinate defined by
argument "xxxx". The second is a DYRA (draw Y absolute)
instruction with the Y coordinate defined by argument "Y11Y".
Both arguments can vary from -2000 to 1777.
AWl XX:lCt ,yyyy
Causes an absolute move to position X, Y by inserting two
instruction into the refresh file. The first is an tDX! (load
X absolute) instruction with the X coordinate defined by
argument "xx:ct". The second is a MVYA (move Y absolute)
instruction with the Y coordinate defined by argument "Y1YY".
Both arguments can vary from ... 2000 to 1777.
CALL label
Inserts a CALL (call subroutine) instruction into the refresh
file wi th the subroutine address - defined by argument
·'label;'. Argument "label" may define any even location in
memory bank O.
CALLE label, bank
Inserts a CALLE (call subroutine extended) instruction into
the refresh file with the subroutine address specified by the
combination of "bank" and "label". The subroutine address may
be any even address in memory.
CAtR (E) label
Inserts a CALR (E), call relative, instruction into the
refresh file with the subroutine address specified by argument
"label". Argument "label" may define any even location in
memory bank O.
CHAR a.,
Inserts a CHAR (draw single character) into the refresh file.
Argument "a" specifies· the ASCII character to be drawn. If
the character to be drawn is a space, it must be enclosed in
angle brackets: < >. If argument "BOO is absent, the
character will be displayed steadily; if argument "En is
present, the character will blink. No tabular text increment
move is made following the drawing of the character. If "0"
argument is present, the argument "a" is interpreted as an
octal equivalent number. If .. s .. argument is present, a shift
out is applied to argument
"Ia~t.
B-S
Table B-2.
MACRO CALL
Detailed Macro Descriptions (Cont)
DESCRIPTION
------------"------------------------------------------
LDDZ (con t:)
Octal
BR3
BR4
BR5
BR6
BR7
Select
Select
Select
Select
Select
intensity
intensity
intensity
intensity
intensity
level
level
level
level
level
3
4
5
6
7 (brightest)
3
4
5
6
7
Inserts an LDKX (load conic X register) instruction into the
refresh file. Argument "q" specifies unblanking of quadrants
I (upper right) and III (lower left) as follows:
s
qlJ;adrants unblanked
o
neither
1
2
I
III
I and III
Argument "nnn" (which may vary from 0 to 777) specifies the
semi-axis dimension of an ellipse in terms of coordinates
along the X axis.
MODE mode
LDPD level
II
~1
Value
Description
LDKX q, nnn
i'
[I
Inserts a MODE (load mode register) instruction into the
refresh file. ..mode" .. 0 indicates normal mode. "m.ode"::t 1
indicates extended instruc tion !!lode. If "mode" is greater
than 1, no change in mode will be made.
Inserts an LDPD (load pixel data reg.ister) instruction into
the refresh file. Arg'Ulllent "level" which varies from 0 to 377
represents the gray level or color that is to be stored in the
FDR (pixel data register) and used a.s the intensity of the
pixels written by subsequent refresh instructions.
LDRI
Inserts an LDRI instruction (no operation for GRAPH!C 8).
LDSP nnnnno
Inserts an LDSP (load stack pointer) instruction into the
refresh file. Argument "nnnnnn" specifies the stack address
that is to be loaded into the graphic controller stack
pointer.
']1
[I
r;;l
i
If
{[
If
Il,!
(
I
il
~,
(
(
I
(
I
B-12
(
Table B-2.
MACRO CALL
)
t'etailed Macro Descriptions (Cont)
DESCRIPTION
L DS PE n nnnnn •ba nk.
Inserts an LDSPE (load stack pointer extended) into the
refresh file. The combination of "bank" and "nnnnnn"
specifies the address to be loaded onto the stack in two
successive words.
1DTI nn,11
Inserts an LDTI (load tex.t and line incremen-t register)
instruction into the refresh file. Argument "nn", which may
vary from 0 to 77, specifies the text increment to be used for
tabular characters contained in the arguments of TXT (draw two
tabular characters) and TEXT (draw tabular character string)
macros. Argument "11" which may vary from 0 to 77, specifies
the line increment to be used for the CR control character.
If both argume,nts "nn" and "11" are not present and increments
have previously been established, the established increments
will be used. If argument "II" is not present and an
increment has not previously been established, a default
increment of "II" :0 22. will be used.
1DXA nnnn
Inserts an LDX.A (load X absolute) instruction into the refre-sh
file. The argument "nnnn" which may vary from -2000 to 1777
defines the value or the x coordinate to be loaded in the
current X Position Register.
LDXR nnnn
Inserts an LDXR (load X relative) instruction into the refresh
file. The relative distance, in terms of coordinates, that is
to be added to the Current X Position Register is specified by
argument "nnnn". Argument "nnnn" may vary from -2000 to 1777.
LF
Inserts CHAR 012,0 (line feed) into the refresh file.
LINK label, I
Inserts a LINK (synchronized linkage) instruction into the
refresh file. The link address is speCified by argument
"label" • If argument "!" is absent, the link will be direct
(to the link address); if argument "!" is present, the link
will be :tnd! rect (to the address contained in the link
address). Direct links cannot be made to address higher than
77776. If argument "label" is absent, the LI~ instruction
inserted into the refresh file will specify a direct link to
address 170.
LINK label
If EIM = 1, then LINKE is used.
Note"!" is not allowed.
Change 1
B-13
I
Table B-2.
MACRO
.
DESCRIPTION
-
CALL
,
'
~IDLU
adr 1, banks, bytes,
vcnum, adr2, D
I
MVPD
adr ,bank, ix tiy,
fx,fy,D,a,b,c
~lVS R
xx, yy
TI1S data stored in sequential bytes starting at the GRAPHIC 8
memory address defined in the argumen t .. adrl" is used to
replace data in sequential bytes in the video controller
look-up table starting at the address defined in "ad r2" • T'ne
combination of bank and adrl is an absolute address if
argument "D" is absent. ad'rl is a relative address from the
program. couIlter if "D" is present. The video controller
selected is defined by the value 1-4 in the argument "vcnum"
and the number of bytes to be replaced is defined in the
a rgumell t "b yee s" •
Inserts an MVPD (move pixel data) instruction into the refresh
flle. If argument >Oa" ... nABS" the vertices are expressed as
abl$Olute coordinates if "a" ... "REL" the vertices are defined
by the deltas from the current X and Y position. If argument
"0" .. "FROMFM", the traus fer ·will be from mapping memory to
G1tA1'H.IC 8 memory. If "bOO - "TOPM", the transfer will be
from GRAPHIC 8 memory· to mapping memory. If argument "c" ...
"VER'!" the scan will be bot tom to top - left to right i f .. c.. ...
"ROa" the scan will be left to right - bottom to top.
If
argument "u" is present the displacement (in even bytes) to
•• APR" will be calculated and stored in the address word. If
"0" is absent, the combination of "bank" and "ADR" will be
stored. "ix" and "1y" indicate the initial va!t;tes for X and
Y,respectively. .
<.NOaOTATE.CSO>
1%
toop
tDTI
.,l,,';
AGAIN:
o
o
WAT!
i
1-- ,
:...
IZPB.
LDXA
b!V!A
,-r
I1BEGIN,SP
@#FUNS
CUt
BIt #20, @#SENS BEQ HUT
MOV
"
30
-.
;BEGIN ASSEMBLY
; AT ADDRESS 2000
iSAVE SPACE FOR DISPLAY PROCESSOR SUCK
jct!AR PROCESSOR BUS
:LOAD DISPLAY PROCESSOR STACK POINTER
:HALT GRAPHIC CONTROLLER
;WAIT FOR !W.T
;START GRAPRIC CONTaoLLER
;DISPLAY PROCESSOR WAIT
;WAIT LOOP
iSET Z PAlW!!i:TERS
;SET P PAlW!ETERS
;SET TEXT INClI.~NT TO 12
:INITIALIZE GUlHIC CONTROLL!lI.
;MOV! caT BEAMeS)
; TO CLvrER.
iWAIT
SODY
or
USER
WIttEN
.•
..,..-
DISPLAy
PROGL\M
GOES
liEU
-'
AGAIN
BeGIN
;SHOW THE PICTURE AGAIN
j
iSAMPLi PROGR.AM NO.2. A SIMPU: DRIVER, USING THE DISINT
; AND DISENO MACaoS, WITH A PLACE FOR DISPLAY INSTltUCTIONS.
;
•TITLE
• SB1'TL
SAMFL%
SAMP!.% DRIVEl.
\""
•ASECT
,-2000
BEGIN:
BiGIN ASSEMBLY
, AT ADDUSS 2000
;SAVE SPACE FOR DISPLAY PROCESSOR STACK
;CLEAR PROCESSOR BUS
JLOAD DISPLAY PROCESSOR STACK t'OINTER
;SET PARAMETERS AND START GRAPHIC CONTROLLER
j
.BLKW-
30
RESET
MOV
i!BiGIN, SP
DIS IN!
BODY
OF
USER
IJRITTEN
DISPLAY
l?ROGRAM
GOES
liERE
o ISEND
.END
BEGIN
,SHOW THE PICTURE AGAIN
B-19/B-20
I
,
~
i
(
f
~
~
~
1
IJ
~
( -(
(
(
"
-,
A.o1
,
~',.
I
Ii
II
I
,~
,
I
.-
-
(
' .. ' .
.
I
(
-
-,
-
-
I
(
I
(
-.
"APPENDIX C
GeP PROGRAMMING CAUTIONS
C-l •. When Gep is initialized the command header error detection is disabled.
Normally, the user should send an 1M message to activate error detection.
NOTE
I.:
All previously developedGCP programs should still
tun with Gel'.
,r·
',.:
C-2.
No user refresh programs should start below address 3000 (octal).
NOT!
Any previously developed GCl' prog1;'am should still
run ~ith GCl' provided that the user refresh
program doesn't start below address 3000.
C-3. When ~riting refresh programs, the user should ensure that the 32-word depth
or limit of the graphic controller stack. is not exceeded.
C-4. When MU, SU, and GU messages are sent from the host to GCl', the user should
ensure that the words counts associated with these messages are correct •
.. .J
C-l/C-2
I ..
\
(:
,- :
« .
( '7
·,.',,1
I -:
':0'
f : -,
i
I'
I-
I ',
II.
(
I
I
I
I
(
.~
Name: __________________________________
CalCom~ Equipment
Company:~
______________________________
Address: _______- - -_ _ _ _ _ _ _ __
------------
."..
P3rt N1inber
____________
,...__
SO'ftwa~/Firmware
System _ _ _ _ _ _ _ __
Venio'l _______....;.._ _ _ _ _ _ _ __
TelePhone: ....[__.....]_ _ _ _ _ _ _ _ _ __
Host ccmputer______________
Date! _ _ _ _ _ _ _ _ _ _ _ _ _ _ __
Host OPann:in9 system _ _ _ _ _ Venion _ _ __
Host-Vistagraphtc interface _______......_ __
My problem is: hardware:J so'ftware
Oescription of prociem (0; suggestion for improvement)':
,,
f"
.•
]-.
Related tech manual number ___________
, .J
L...;3
firmwa·re Cl manual
CJ
a
(-"
I
~~:
'THE INTENT AND PURPOSE OFTHIS PUBllCAT10N ISTO PROVID!$ACCURATE
AND M£:;ANINGFUL INFORMATION TO SUPPOR"r EQUIPMENT"MANUFACTUREO BY CALCOMP/SANDERS. YOUR COMMENTS AND SUGGEST1.ONS
ARE REQUESTED.
PLEASE USE THE FORM ON THE REVERSE saoe TO REPORT ANY PROBLEMS
YOU HAVE HAD WITH THIS PUBLICATiON ORTHS EQUIPMENT IT DESCRIBes.
---- -- - - -- - ------------- FOI..O
(
f
f
f
. . . --,--------- ---.. . . ---.. . ------ - --- I
I
IIIII1
I
FOI..O
"""'!"----~-----
FIRST CLASS
PERMIT NO. 568
NASHUA, N.H.
BUSINESS REPLY MAIL
NO POSTAGE STAMP NECeSSARY IF MAiLSD IN THE UNITED STATES
.....-
:w [ .........
_I
'
..
.1
. . . $n
fl.
1llllE1_
I iB
_ .e.
_
'11M J
CalComp
Display Products Division
Daniel Webster Highway, South
P.O. Sox 868
Nashua, NH 03061
mtt.
III
111111_
'1IIIUUlJIIIIIII
r
•
n.. u_.
iII_
•••••• U.... . .
_1I •• lf. .. . .
'J
£
1.11111. . . . . .
_IIIII_IIU_
-III.
,
bill'"
TWa
_I,. _1 __
. . . . . dt.U. . . .
1m ..., , _
(
I
I
I
--- FOCD--------'----------------- - -_. - -'----------------------"FoCO--- - (
I
I
CALCOMP
(
S NDEAS'
(
A Sanders Graphics Company
(
·-1
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.4 Linearized : No XMP Toolkit : Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:56:37 Create Date : 2012:05:31 19:55:03-06:00 Creator Tool : pdftk 1.41 - www.pdftk.com Modify Date : 2012:06:02 19:32:08-07:00 Metadata Date : 2012:06:02 19:32:08-07:00 Producer : Adobe Acrobat 9.51 Paper Capture Plug-in Format : application/pdf Document ID : uuid:0ce04a6d-dc9c-469f-acce-c372601cbdbe Instance ID : uuid:ba8e3144-871c-4ddc-906a-ee4cda2065ef Page Count : 297 Creator : pdftk 1.41 - www.pdftk.comEXIF Metadata provided by EXIF.tools