RCA 1800 Operator's Manual

RETURN
IU
I
ARK
L.
LEW
I
Operator COSMAC
CDP18S005
MPM-216 Suggested Price $10.00
Manual
for
the
RCA
System
II
' .
.
:.~.
Operator for
the
RCA
Manual
COSMAC
Development
CDP18S005
System
II
nell
Solid I Buenos
Stat
Montreal'
e Sunbury·on·
Aires'
Paris'
Hamburg·
Sao
Thames'
Liege'
Paulo'
Taipei'
Madrid'
Somerville NJ •
Tehran'
Mexico
Tokyo
City·
Stockholm
Milan
"
Information furnished by RCA is believed accurate and reliable. However, no responsibility
by
of
is
granted
in
USA/I0-77
RCA for its use;
patents or
by
implication or otherwise
by
RCA Corporation
is assumed fringements parties which may result from its use. license under any patent or patent rights
Trademark(s) Registered Marca(s) Registrada(s)
Copyright 1977
(All rights reserved under Pan-American Copyright Convention)
Printed
®
other
nor
rights
of
to
for any in-
of
third
No
RCA.
be
1
________
__________
The prototyping based Development in which microprocessor volume applications it for dedicated microcomputers.
This Development System user. each of the available explanation of plied with
The nest with self-contained power supply, panel, promote easy interfacing with external devices. These interfaces may be custom-designed
peripheral devices, are available from
tional modules,
The the
CDS coding features are compatible with those of
Development
development aids. Additional software
are available from hardware
__
______
____________________________________
Foreword
COSMAC
aid
on
the
hardware/software
Manual
the
COSMAC
and
a basic set of plug-in modules.
COSMAC
in a stand-alone
and
debugging of
and
Development System CDP18S005 is a
for
the
design of
RCA
CDP1802
System is specially
may
be designed, built,
can
is designed as a guide for the COS
hardware
the
functions available from
system.
Development System (CDS) consists of a
by
and
include a floppy disk interface.
Resident
Package
RCA
multiple precision arithmetic .
hardware
microprocessor.
prototypes of systems containing a
be
used as the
It
includes a detailed description of
the
user or, in
Software
manner)
COSMAC
(CSDP)
including packages for floppy disk
and
software systems
The
COSMAC
structured
modules as well as a complete
provides a means for
to provide a testbed
and
tested.
major
the
an
easy-to-use control
It
the
case of common
RCA
as
Package
programs. the
COSMAC
timesharing program-
and
firmware packages
In
small-
building block
MAC
software sup-
card
is packaged to
standard
(which
Many
op-
runs
rapid
of its
Software
on
3
4
_____________
,
,
___
_ Operator Manual for the
RCA
CDS
11
CDP18S005
I
__________________________________________________________________
5
Table of Contents
Foreword . . . . . . . . .
Operating and Programming the CDS
System Overview
Initial Operation . . . . . .
CDS Hookups
Checkout
CDS Loading and
Paper Tape Systems . . . .
Magnetic Tape Systems
Introduction
Utility Commands
?M
Commands
!M
Commands
$U Commands $P Commands $L
Commands
?R
Commands
Summary
Terminal
ASCII Coding . . . . . . . . .
UT20 Read and Type Examples
Additional Utility Routines
ASCII Initialization Routines Routine
Additional Notes
Programming Methods
Machine Language Programming Programming Interface
of
Interfacing.
of
to
Hex Conversion Routine .
to
.....
Program
Outputting
to
the Monitor Software UT20
UT20 Ope]ating Instructions
UT20 Read and Type Usage
Restart UT20 .
on
Programs
. . . . . . .
Routines.
UT20 .
to
CSDP
.
. . .
Page
3
9
9,
10 10 10
11
11 11 12 12 12 12 13 13 13 13 14 15 15 15 18 19 19
19 20 20 20 20 22
Hardware
System Block Diagram Module Description and Signal Mnemonics
Card Nest and Backplane . . . . .
CPU Module CDP18S102 . . . . .
Control Module CDP18S103 . . . .
Address I/O ROM/RAM Module 4-Kilobyte RAM Module CDP18S205 . Terminal Interface Module CDP18S507
Display Board . . . . . . . . .
Disk Interface Module Microterminal
Power Supply Module . . . . . . .
Structure
Latch
Decode Module
of
and Bank Select Module CDP18S206
Option
the CDS .
CDP18S509. CDP18S401.
Option
CDP18S021
CDP18S813
. . . .
27
27 29 29 30 31 32
33
34 34 35 36 37 37 38
6
--'----
--
- -
___
_____
Operator Manual for the RCA CDS
II
CDP18S005
Page
Development System Signals Memory Addressing
Memory Organization
RCA Modules . . . .
Custom Memory Modules
Input/Output
. Module Enable Philosophy
Two-Level
~
.. Interfacing Signals
DMA DMA Byte Interrupt Bit Serial Interface- The Terminal Interface Module
Interfacing Techniques and Precautions
Use External Flags EF 1 Adding I/O Devices Adding Development System Dynamic Characteristics
Troubleshooting .
Hardware Specifications .
CDS Resident Software Development Aids
CDS Memory Space Requirements .
Informal
Flow Chart Addressing . Assembly Language Equivalent
COSMAC Resident Assembler
Assembler Operation The Location The Symbol Table Expression Evaluation COSMAC Level I Assembly Language
Lines and Symbol Definitions
Explicit Constants . Address Constants . Operation Instructions Data Lists CRA Directives . Additional Notes Code Examples
Error Messages . . . .
CRA Operating Instructions
Summary RAM Considerations Output
Prompt
I/O
Input
Output.
I/O
. . . . . .
. .
of
External Clock .
Remote
I/O
Terminals .
Introduction
to
Comments
Mnemonics
of
Options .
Messages
and
Expansion
Interfacing
........
and
Custom
. . . . .
to
EF4
Control .
...
to
the COSMAC Resident Assembler
Operation Mnemonics
Counter
and
Operands
and
Review
CRA
Operating Steps
I/O
. . . .
Modules
. . .
38 40 40 40 41 41 42
.
42 43 45 45 46 46 47 47 47 48 48 48 48 48 49
51 51 51 52 52
53 54 54 54 55 55 55 55 55 56 56 57 57 57 58 58 58 59 59 63 63 64 64 64
Table
of
Contents
Informal COSMAC
CRE
Memory
Input Record Buffer
CRE
Command Command Punch Correcting
Interrupting Filled Work Space Warning
CRE
Single
Composite Horizontal Tabs Additional
Using
Loading File
Some
Appendices
A. B.
C. Adding
D. Module Logic E.
Introduction
Resident
Operating
Space
and
Output
Formats
Pointer
Command
Strings Formats.
Procedure
Command
Command
Commands
Pointer
Reading Deletion Text Output
Summary
Creating a File . . Adding Deleting a Section in a File . Moving a Modifying a
CDS Instructions Half-to-Full-Duplex
Instruction
Control
the
Commands
Insertion
Commands
of
Commands
Note
CRE
Development
.
and
to
Section
Command
18S005
Teletype
F ASCII - Hex Table
G.
UT20
H.
System
I. Conversion
J.
Connection
Listing
Checkout
____________________________
to
the
COSMAC
Editor
Considerations
Requirements
Files
. . .
Operation
Typing
CRE
Execution
s .
.
Commands
Input
Tape .
.
and Data Manipulation
CRE
Commands
and
Operating
and
Manipulation
a File
in a File .
Section
Backplane Wiring
for Converting a Model
and
Summary
to
Different
List for
in
Examples
Operation
Remote
Circuit Diagrams
for RCA
Game -DEDUCE.
Terminal
Errors
Nesting
CRE
.
a File
Reader
Operating
Interface
Resident
and
Control
Schedule
33
and
from
Control
and
CDP1802
Voltages
Teletype
60-mA
Layout
COSMAC
Cables
Editor
Characters
Terminal
to
20-mA
.
Diagrams.
Microprocessor.
from Operation
.
7
Page
65
66 66 66 66 66 68
69 69 69
70 70 70 70
70
71 71 71 71
71
72
72
72
74
74
75
75
75
75
75
76
76
76
77
79
79
81
82
83
95
99
100
121
123
123
8
_________________
,
.
Operator Manual
for
the RCA
CDS
II
CDP18S005
+
--
--------
----------------------------------------
____
__________
__
9
The
CDP18S005 (CDSl a set of connectors for the module types. A common are a small connections. for
module, module, module decode control module. modules logic functions are at
Depressing Depressing program, the memory user allows stepping one depression of the digit display shows switch selection, ditional
WAIT, sixth This running switch is used which
consists of a power
25 available positions
signal lines
The
user
expansion of
Supplied
modules
an
address
a 4-kilobyte
containing
module,
are
given in
+ 5 V.
The
control
the
the
identified
Dther
hand,
location 0,
program.
front
panel
LED
CLEAR,
LED
indicates when
RUN
indicator
and
the
DMA
COSMAC
printed
to
number
unassigned
memory
the
terminal
The
Table
implemented
panel
provides a simple
RESET
RUNU
as
will
the
A
STEP/CONTINUOUS
RUNU
shows
the
the
indicators
and
will be
not
in
to
place
channel
Operating
Programming
System
Development
supply,
printed
are
circuit
all
connector
of
additional
include
latch
and
RAM
Utility
interface module,
position assignments of these
III
switch initializes
switch
UT20.
start
normal
machine
or
RUNP.
the
current
value of
last
I/O
monitor
Q lines of
the
IDLE
the
CPU
can
control panel,
circuit
boards.
occupied
backplane
positions.
connectors are available
and
I/O
function.
the
CDP1802
memory
module, a ROM/RAM
program,
in the
next
in
CMOS
user
starts
Depressing
program
the ON
be
execution from
starting
cycle
A 4-digit display
address
the
data
data
byte. Five
the
the
machine
whenever
mode.
in
the
'load
used
to
System
Many
by
specific
distributes
There
wire-wrapped
CPU
bank
select
an
and
Section. All
operating
interface.
the
system.
the
utility
RUNP,
location of a
switch
with
each
and
.bus
or,
State
Code,
CPU
while a
is
running.
the
CPU
The
LOAD
mode'
load
RAM.
Overview
See
and
of
I/O
a
on
on
a 2-
by
ad-
is
in
Microprocessor, discussion of this plied system interfaces operations. the
following terminals:
variety of either
program structions for these subsection. Editor Disk Disk and
, Registered Trademark, Teletype Corporation. ... Registered Trademark, Texas Instruments Corporation.
and
the
The
User
as
a convenience for
Monitor
The
CDS·
Il
An electrical remote to
control
2l A ASR
with Control" program-controlled storage seconds. 3l Any RS232C rate
of 110, 300,
The
CDS
data
full-
or
Included
for software development.
are system is used Manual
other
programs.
CDS
Manual
The
supplied
program
is designed
ASR
equivalentl
reader
the
TI
"Silent
tape
option.
medium
terminal
standard
is designed
terminal
half-duplex operation.
with
the
Details given
for
operation
for
the
MPM-201,
mode.
and
paper
later
The
the
is
not
programs
as discussed in
to
work
33
Teletype'
which
control circuit
tape
reader.
700"
cassettes
This magnetic
and
prints
conforming
interface
or
1200.
to
automatically
speeds
CDS
are
an
programs
on
operation of
in this
with
the
CDS,
of
CDPl802
for a detailed
LOAD
user
used
terminal"',
and
terminal
and
are
manual.
the
switch is sup-
designing his own
in
normal
are
loaded using
the
next
with
anyone
terminal
should
to
permit
Model
"Remote
tape
cartridges as
at
30
characters
to
and
having a baud
will
accommodate
assembler
Loading
given
in
the
Assembler
If
refer
to
Assembler,
COSMAC
CDS
section.
of
the
(or its
include a
the
CDS
733
Device
uses
dual
per
the
EIA
adjust
to
and
editor
in-
the
next
and
a
Floppy
the
Floppy
Editor,
a
10
_________________
Operator Manual
for
the RCA CDS II CDP18S005
,
L 111
I \ (
Initial
CDS Hookups
Two
I/O
data
terminal Development mA
loop interface, terminal. nection is labeled. selei':'t
the
"fl"
into
on
the
accessible
in
Fig.
their functions, refer
MOUNTED
TYPEWRITER CONNECTORS
TERMINAL MODULE
Fig. 1 - Cable connection
The labeled of
the
cable plugs terminal, connector position 2 (J2) in Molex an
EIA
into
the
Fig. 1 shows these connections.
When
supplied
CDS
via
Put
("
the
pr-;;pa
~
before
attempting
Appendix B gives instructions for converting a
TTY
from half­terface changes operation. program, installed in accordance with Appendix in the
MANUAL
System -
Each
cable
proper
1.
I/O
PLUG
(SLOT"
two connectors on appropriately.
connectors
terminal,
receptacle on
the
with
the
te
is
per Appendix B to convert a
cable
the
appropriate
end
For
a list of
END
RECEPTACLE
-IN
14)
remove its cover
located
plug
Silent 700
that
EIA
cable.
terminal
baud
rate
to
to
a 20-mA
If a TTY
the
remote
C.
Once installed, its switch should
position before continuing.
cables
are
supplied with
one
for
terminals
the
other
for
an
EIA
RS232C
with its
To
connect the
and
of
the
terminal
to
Appendix
CAB
LE
CABLE
WHITE PLASTIC MOLEX
The
into
the
the the
device
in
the
and
set for full-duplex operation
use any
full-duplex operation. current
is to
reader
terminal
data
plug
its receptacle labeled
connector
terminal
mounted
board,
interface cables
J.
25-PIN
DELTA
CONNECTOR
LABELED
"
EIA
"
END
CONNE
CTOR
LABELED
tl
TTy
ll
CONNECTOR
for
the
connector
terminal.
and
the
array
in
the
EIA
connector
back
of
terminal
should
Line
terminal.
loop.
be
used
control circuit should
TELETYPE
92CS-28210 RI
I/O
data terminals.
terminal
on
For a Teletype
plug
the
of white plastic
back
of
the
data
is used,
be
connected
mode,
Make
TTY
with
the
instructions
select
the assembler
using a 20-
board
terminal,
as shown
-0
-9
WHITE
MOLEX JACK INSIDE
IN POSITION "2"
board
the
other
cable into
the
unit.
on
the
terminal.
the
necessary to 20-mA
Operation
RESET
the
data
con-
directly
and
MATING EIA CONNECTOR
PLASTIC
TERMINAL
(J2)
are
end
For
cable
cable
to
the
the
ap-
The
in-
be
in
be
set
cause operating
input character information terminal should begin by pressing the keyboard.
press responds with the "knows" terminal. hardware
command proper minal, simple time-out loop light goes off initiation of execution.
depression of the The by
The c
an
(after the memory location case) time-out
or case, the
proximately 2.6 seconds. the
• In this Manual, (CR) input input
nal
tio
Install
This
the
followed
the
RUN
with
program
character
rate
is
operating
For
the
LINE
the Reaching
is
operating
power cable
light
UT20
begins by
to defin e for itself
and
to
the
the
FEED
essential characteristics of
and
switch power on.
by R UNU.
to
go
in
control.
whether
data
in
the full-duplex mode,
half-duplex
key instead.
prompt
this stage verifies
properly.
This
ON
and
reading
it
should
terminal
RETURN
mode,
character
the
the
printer.
The
that
sequence will
system is.now
first keyboard
the
"echo"
key on
the
user should
system
(*).
the
most
CDS Checkout Program
Even
with
little
or
no
repertoire, the user
system
an
Each
line of user
test time-out
typing
!
MO
system will reply with
verify
?MOL'l
The
system will
and
$PO(CR)
by depressing
read-write
denotes line will
emphasis,
operation
elementary
after
a specific elapsed time from
keyboard
RETURN
program
in
L'lF8FFB1219191913A0300(CR)
proper
will
program
loading by
A(CR)
print
return
can
RESET
RUN
indicator should
memory
at the e
the
terminating carriage
be
denoted
by
the symbol
knowledge of
by loading, from
test
program.
can
be
run
input
key
can
be
the
prompt
entering
the
characters
addressed,
the
prompt
then
be
run
followed
This
(RAM)
nd
by blanks in the
is
of an example
RETURN.
6.
the
COS
can
further
For
example, a •
in which
is
on
loaded
character
either by entering
by
go off after ap-
step
operational.
example
the
terminated
the
keyboard
into memory
character.
just
"0000"
again.
RUN.
establishes
of
a user
Spaces
or, for add, -
Press
terminal
typed
If the
the
user
the
then
It
now
I/ O
data
of the
MAC verify
the
ter-
RUN
the
by
One
entered
in this
The
In
either
that
keyb
o ~rd
man
~
a
i
I
Operating and Programming
Loading and
Outputting Programs
Programs
! M
command,
Monitor
~ection.
paper' tape via a via the Floppy ill.
:the {»18S805 supplied fllB-duplex mode.
Following
and
magnetic cartridges:
Paper Tape Systems
To
may
commands
Ordinarily,
TI
terminal,
Disk
system.
RCA
COSMAC
Instruction
CDS
programs
are
load a
paper
be
enter
ed
manually
just
described.
are
covered in detail in
programs
TTY,
from
magnetic
or
from a floppy diskette via
The
latter is covered separately
Floppy
Manual
are designed to
the
methods
tape:
the
CDS _
This
will be loaded from
Disk
MPM-217.
used with
______
by
use of
and
tape
cassettes
System
work
paper
the
other
next
CD­RCA­in
tape
the
the
the
_
______
21
Type ! Maaaa address of where the (normally location 00001.
31
Turn
the
LINE
41
Initialize
followed by a
51
Next, type address read hex bytes to
61 tape
added
The automatically the Section titled CDS Development
is
from
Turn
the
is
punched,
to its
assembler
punch
Aids.
the
punch
mode.
the
RETURN
the
starting
memory,
be
punched.
punch
end.
reloadable
__________
6 where
OFF
CDS
?Maaaa
and
ON
some
and
data
and
with a
(CRI.
6count,
address of
count
and
press
more
editor
tape
Resident
11
aaaa
is
the hex
is to be reloaded
put
the
TTY
in
RESET,
is
nulls should
RUNU,
where the data
the
number
CR.
After
programs
as
described in
Software
to be
of
the
be
1
paper-tape loading by pressing the in re-initialize the system
HESET,
the loaded
issue a
det
ning.
U Press
21 Make installed switch is in the
31 is
41 the tape recorder.
51
another 61
If
preferred , typing
stead of
UT20
ected, stop
To
11 position ON,
Pl.
RESET,
Press
the
RETURN
sure it is in
UT20
will
ready
to
accept
Position the tape in
When loading
*.
Start
the
program
CR
at
step 2.
RUN
U,
and
program.
monitors
'!
if a
punch reloadable tape:
With
the
format
and
the
tape
and
make a header
followed
return
commands.
is
can
In
after
CR
program
error
reload
TTY
in
the
by
RUN
U.
key
(C-R)
on the
TTY.
the
LINE
MANUAL
the symbol * indicating it
the
complete,
by typing$UO(CR).
be
this case, the user should
before
is detected.
the
in punch,
Mode
and
the
position.
header
loading by pressing
being loaded
tape
the
of nulls (control-shift-
and
tum
UT20
will issue
suppressed
LINE
FEED
attempting
and
If
an
from the begin-
LOCAL tum
the
during
key
to
start
will
error
mode, punch
.
on
is
Magnetic Tape Systems
To
load a
1) Press
2)
3) LOAD/FF Make PLAYBACK
41 another $UO(CR).
Typing
the
printer
e
rror
has
reloaded.
To
11 RECORD
2) address of where
(normally location 00001 .
3) Switch
mode RUN
magnetic
RESET,
UT20
will
Mount
sure
When loading is completed,
* .
during
OFF.
been detected
record reload able tape:
With
the
Type
and
U,
and
return
the
cassette.
to
advance
the
mode.
Start
load
If
a ?
terminal in
mode,
!Maaaa
to
the
initialize
CR.
tape:
RUN
U,
then
the
symbol
Rewind
to
drive
is
in
the
program
can be
suppressed
is
typed
during
and
the
mount a blank
6 where
data
is to
LINE
the
and
CDS
CR.
*.
it
and
the
first record.
the
LINE
UT20
by typing
by
loading,
tape should
the
LOCAL
cartridge.
aaaa
is
be
PLAYBACK
with a
press
and
will issue
turning
an be
and
the
hex
reloaded
RESET,
12
_____________
4)
Type
the
starting
memory
to
be
recorded.
?Maaaa
address
and
count
6count,
of
the
is
the
where the data
to be
number
____
address read
of hex bytes
is
from
Operator Manual
5)
Tum
press
CR.
UT20
will issue
For'
another
supplied
"Deduce"
for
the RCA CDS II CDP18S005
the
Record
After
system
game,
Control
the
another
checkout
refer
data
*.
to
switch
has
been
program
Appendix
ON
output,
using
H.
,
and
the
Utility
The
CDP18S005 includes a performs
terminal
generating memory program detail plus
In user of
his U begins execution of RUN or a CR installation. A operation, establishing calculate terminal. wide
Monitor
commonly
interface,
reload
locations,
at
a given location.
the
?M
others
not yet discussed.
general,
has
two choices: pressing
program
U,
the
(carriage
an
the
the
Thus,
variations
program,
providing a means
able
and! M commands
after
the
at
location 0000, while pressing
user
next
return)
CR
LF,
need
timing
a single
in clock
Introduction
Monitor
Commands
COSMAC
required
tape,
and
system
UT20
presses
initiates
HALF
to
echo,
parameters
speed
Development
known
functions
allows
The
(at
key,
UT20
program
or
as
of
giving _ access
the
following
already
has
been
RUN
begins execution
8000). After pressing
either a LF
depending
FULL
DUPLEX.
uses
necessary
can
terminal
System
UT20,
of
running
reading
user
to
explains
mentioned,
RESET,
(line feed)
upon
DUPLEX
Besides
this
input
to
run
operate
speed.
UT20
which
the
and
to
all
start
in
the
RUN
his
to
the
with
to
the
Software
every 16 semicolons. to
specify implied, entered, bytes than
used.
simply by
~ypedffse~uelnce
IS,
typed
example:
would
02F5.
paper previously
bytes,
the
if
only
to
be
four
This
e ectlVe y, . t e
is
not
?M2F5(CR)
result
When
tape,
with
the
The
user
may
enter
beginning
necessary).
the
last
typed
out
digits
are feature allows continuing
OWoi2th4)theIfcorhrect
specified, one byte is
in the
the
user
he
described.
location (leading zeroes
If
more
four should entered,
the
the
typeout
wants
requests a memory
previous lines
are
be
only
correction of a
type
num
of
the
to
any
number
than
used.
in
hex.
the
and
,terminating
4-dbigit
er
one
punch
ending
of digits
four
digits
The
number
Again, if
last
four
mistake
vfalbues
(2300b24
0 ytes
assumed.
byte
at
location
a reloadable
type-out
in
are are
of
more
are
the
to
For
as
..,
~
e
1
When
UT20
out
an
asterisk (*)
?M
Commands
To
interrogate
as
?M2F53(CR)
UT20
responds
memory
printed
begins
(4-digit) blocks.
beginning
out
as
with
the
is
ready
as a prompt
at
two
hex
address,
When
to
accept a command,
character.
memory,
by
location
digits
necessary,
type a command
printing
02F5:
each.
and
data
out
Each is new
the
contents
three
line of
grouped
lines
it
bytes
output
in
are
types
such
of
are
2-byte
begun
!M
Commands
In
general,
means
of a
!MI2F
This
each)
into
memory again, four each number error necessary
the
digits
two
hex
of digits,
message
to
data
is
command
command
starting
entered.
digits
re-enter
such
434F534D4143(CR)
enters
beginning
location is
Data
is
are
typed.
the
last
('?')
is
typed
the
last
entered
as
entered
digit is ignored,
out.
byte.
into
six
bytes
at
location
determined
into
If
the
user
It
is therefore only
(two hex digits
memory
memory,
012F. Once
by
the
last
after
types
an
odd
and
by
., .,
the
Operating and Programming the CDS
The
! M
command facilitate memory loading. be extended from line to line just
before
the
normal
LF
(carriage return-line feed) keys before beginning a
new line.)
: enters
Between successive hex pairs while
entered,
land arrangement readability), nulls (generated by or
by a time-share system to give
return), etc.
string of land a CR). data beginning address. an option provides the mechanism tape previously command. puts discussed above.)
characters to be inserted in command. contiguous memory
$U
execution.
For
example,
!M23
56789ABC,(CR) (LF)
DEFOI23456,(CR)
3047(CR)
11
successive bytes beginning
any
non-hex
semicolon, as will
permits
As
a second optional form of
input
data
can
The
utility
to follow
! M
The
on
command,
punched
(Recall
utility
following !
the
The
the next line,
The
but
the
semicolon
areas
Commands
The
$U
command
For
example,
$U6C(CR)
provides two options
First,
by
CR.
(In this case press
(LF)
character be
discussed) is ignored.
arbitrary
be
terminated
program
but
line
must
with
the
f~r
out
as a result of
format
program
M,
tape
of multiline
ignores all non-hex
allowing
without
feature
to
be
loaded.
is used to
_________
a string of
typing in a
at
location 0023. data
except the
LF's,
the
utility
the
carriage time to
data
by a semicolon
then
expects
preceded by a new
have
the
! M omitted.
reading
CR,
LF,
disturbing
allows non-
start
that
data
can
comma
the
CR-
is being
comma
This
spaces (for
program
entry,
more
format
in a
and
of
This
paper
the
?M
?M
out-
nulls
the
! M
program
__
$P
Commands
The
$P
~or
example:
$P6C(CR)
would also with
P=X=O floppy disk interfaces a convenience for
I/O
commands
peri pherals.
If
no starts from location 0000. to
pushing control panel. digits' address rule.
For
a
"Two-Level in the
$L
floppy disk.
causes
asking for the file to be loaded. program, System
217. command after the
further
next
Section.
Commands
The
$L
$L
UT20
READ?
refer to the
II
If
a floppy disk system is
is
READ?
_____________
command
start
except,
address
the
RESET
This
I/O"
command
Typing
to type
unit
CDP18S805
accidentally activated, simply do a
is similar to the $U
program
the
normally associated with these
details of this
under
For
interrogation.
execution
in
this case,
may
be disabled.
user so
is specified,
command
and
that
his
program
The
function
then
RUN P buttons
also obeys
command,
Input/Output
is used in systems having a
track
number
a discussion of the disk loader
RCA
COSMAC
Instruction
not
UT20
command.
at
location 006C
the
temiinal
This
program
is
equivalent
the
Interfacing
of
the
Floppy
Manual
installed
will type
13
and
feature is
can use
execution
on
the
'last-4-
refer to
diskette
Disk
MPM-
and
this CR
1
1
starts P = X interface tive. Consequently, the user I/O further floppy disk interface, see the material Description Section. to "Two-Level
facing
specified, execution will more will
program
=0.
This
and
floppy disk interface (if installed) ac-
commands
discussion of
For
in the
If
only
than 4 address
be
used.
associated with these interfaces.
and
further
next
$U
execution command
the
Signal
details on
110"
under
Section.
(CR) is
digits
at
location 006C with
will leave
program
terminal
Mnemonics
the
Input/Output
typed
start
are
should
interface
$U
command,
with
at
location 0000.
typed,
only the
the
on in the
no
terminal
not
use
For
a
and
the
Module
next
refer
Inter-
address
If
last
and
?R
one of
'R'
address
R4.1 are altered, registers activated.
4
examining most
poses.
DRIVE
issue an
NOT
*,
waiting for
Commands
When
UT20
is activated (via
the
first things
registers of
the
8COO
for 32 bytes. Registers
are
preserved
This
feature provides a means of
CPU
ON
another
it
Qoes
CPU
in its
but
the at
the
registers for debugging
command.
RESET,
is save 13-112 of
RAM
stack
states of the remaining
time
when
RO,
RUN
the
located
RI,
UT20
U),
16
at
and
was
pur-
14
_________________
The
?R
command
of
the
stored register states with
RI,
and
R4.I preserved. ?R
gives this format:
XXXX XXXX
t t
RO
5518
For
0717 34AA
provides for
to
indicate
example,
18D4 3821, XX33 B760 8A15 0017
RESET,
8197,
automatic
X's
for registers
that
they
have
RUN
U,
A401 6789 A825 01B9
t c':
1\8
NOTE: UT20 itself overwrite command
after
when
the
?R
must
be
the
first
command
it
is
started,
other
commands
the
preserved registers when executing any
other
than
because
?R.
are
UT20
issued.
uses
Thus,
Summary of UT20 Operating Instructions
In
summary,
character
'*'
the
?M(addressl
!M(addressl
(where
the
data
each hex pair)
$P
(optional $U (optional address) $L
'?R(CR)
UT20
ignores initial
$,
Then
inputs which are
above formats cause
after
user
may
f.,(datal
may
address I (CRI
characters
an
receiving
the
type
f.,
(optional count) (CRI
(Optional,
have
non-hex digits between
or;)
(CRI
until
it
detects?,
not
compatible with
error
message (?
I.
readback
RO,
not
been
CR
then
R7
RF
given to
the
stack
it
may
prompt
(CR)
!,
t
or
the
0perator
Manual
4. Following character. than
four hex digits
used.
Next,
space:
a.
For
the
only command entered, b.
For number pair
arbitrary semicolon. command, comma semicolon.
i.
In
an
LF This ii.
In characters Then, UT20 filler, and
then
iii.
The many between terminated comma
5.
Commands starting than
address.
4 are
assumed. location with command interfaces whereas
6.
Command
program
which will issue the
for
the RCA CDS II CDP18S005
'~M
or
!M,
UT20
It
then
assembles
are
'!M
a space
addr
last
is
is
f., four digits
terminated
one byte will
!M
addr
f.,
of hex digits is
required.
a hex
data
an
typed, only the
Note:
count
may
are
by
CR.
be
typed.
must
required,
filler, except for a
is
unless
allowed.
it
is
CR
immediately preceded by a
or, as is generally
case of
for
comma
UT20
CR
to
continue
the
procedure is a form of line
case of a
are
the
user
continues as if it
then a starting
semicolon
ignored
must
again provide
until
had
address, then a space,
data.
!M
command
continuation
the
two types
with a
or
semicolon.
$P
The
typed
in.
Program
RO
as
disables
$U
$L
or
execution begins
the
the
starts
can
lines as needed, mixed
if
desired,
CR
not
$U
may
be
last 4 digits are used
If
no
address
program
counter· . The
terminal
does
not.
the
floppy disk loader
prompt
READ?
waits for a hex
address.
If
last
four
f.,
denotes a
more
are
follow (aga\n,
kept),
If
no
and
count
the
is
follow. An even
Before each hex
CR.
comma,
terminates
the
case, by a
user
must
to
accept
or
the
insert
data.
continuation.
all following
the
CR
is
typed.
an
LF,
and
received optional
be followed by as
and
is
finally
preceded
followed
is
at
the
by
by
if
more
given, 0
specified
is
$P
and
floppy disk
a
a
A
further
operating
instructions is given below,
information
1.
After pressing
CR
(for full-duplex
sets
up
not.
2.
UT20
3. Following one of '!,
detailed
just
given in a more concise form.
"RUN
summary
U",
the
operation
the bit-serial
will
return
*,
$,
or
! is
* as a
UT20
typed
timing
and
prompt.
ignores all characters
in.
of these
basic
repeating
user should press
I,
This
instruction
specifies echo
the
or
until
A
proper requesting CR.
If
an
operation, a diagnostic message is
7.
Command
registers saved when
written
• $P arrangement is consistent after for
for those registers
and
$U
always begin with
the CPU is RESET. Refer to the CDP1802 data sheet
other
actions
response is a 4-digit
unit
and
track
number,
error
is detected
?R causes a
UT20
not
RO
as program
with
the fact that
of
RESET.
during
printed.
readout is initialized.
preserved.
number
followed
the
of the 16 R
X's
counter.
P=O
and
This
X=O
by read
are
a
Operating and Programming
H.
When
a
!M,
·!M
or
!'R
and
completed,
9. When and
returns
data
is
entered
digitsl, all
last hex digit.
tnl
'e in
the
address
mand.
:corrected by
fectively, 0235. A
typing in any illegal
·-
'!M the
example, a period.
For
or
between
user
error
UT20
types
UT20
detects
the
carriage.
data
will
Note
address
without
example, a mistaken
continuing.
input
should
bad
(by
typing have
that
the
field allows
retyping
bad
command
character
hex
type any
If
data
Terminal Interfacing
ASCII Coding
The
CDS
is designed terminal current interface. the information
to
minals as a serial originating Fig. 2.
two stop bits used for although various different shown. only
via a serial
loop
or
an
When
its
ASCII
LOGIC
.... = ONE
B = START F =
STOP
Fig.
if
the 7 data
code
at
the
The
character
I
BFI
BIT TIME P = PARITY BIT
BIT
BIT
2 -
Data
character
FF.
data
transmission
1, I
liz,
For
even
ASCII
EIA
a key is
denoting
and
data-bit
TTY
DI
DI
ACTUAL
-
DATA
INTELLIGENCE BITS
DATA
7
PLUS I PARITY BIT COMPLETE CHARACTER
"M"
D'
---
terminal
By convention two stop bits
or 2 are
terminals. A parity
parity,
bits
code
RS232C
struck
that
appears
stream.
for the letter
is
framed
DI
~I
DI
BITS
BITS
(4DI6)
DATA
BIT
=ASYNCHRONOUS TIME
BETWEEN CHARACTERS
bit
"M"
.
at
10
also acceptable
the
parity
contain
the
CDS
________________________
command another * prompt.
syntax, it types
a
mistake
in
been
"only-Iast-four-digits"
the
Thus,
pairs.
digit
to
interface to a
using
on a
character
On
by a start
D~
serial
characters
an
odd
is accepted
is
made
an
odd
number
entered
can
except after
standard
output
bit
except
user to
correct
the
whole com-
234
2340235 is, ef-
be
aborted
In
these cases,
and
then,
either a 20-mA
electrical
TTY
terminal,
is
converted
the
output
The
serial
'M'
is shown in
bit
---I
FI
F
92CS
-28100
for the
per
outputs
bit P is
would
number
out
when
can
!M
Band
B 1
second
from
be a 'I'
of '1
a ?
of
the
an
be
by
or
for
data
ter-
data
are
also
'so
Hence, bits may be set UT?O ignores the rarity
format;
two
parity - the parity data should ignore
the total
is
always
is acceptable.
Data
i.e., a start
stop
bits. Therefore, terminals interfacing to the
up
from
bits.
number
an
to
the
Note
the
even
number.
generate
parity
CDS
bit, 7 data
that
bit
is always a
parity
bit.
of 1
's
in the eight intelligence
Some
either
even
bit, so
is
the
either
generated
bits, a parity bit,
CDS
does
'I'
UT20 Read and Type Routines
The
UT20
read
and
type
routines basic software tween
the
routines
110
data
These various not
characters
back
immediately subroutine' provides
'
and
type routines.
c
ounter, 80EF. started. routine before calling a half of register stant. denotes echo, 1 operation, automatically LF
parameter
where For at for
clock,
-The form is sampled over comes from the fact
tion
must
The
characters
The
TP=2
the
example, because a
10
characters
the
factor
times, with each instruction taking 16 clock periods.
are available to facilitate different types of
transfers.
terminal
the
UT20
Any user
CDS
of
mechanism
CDS
and
data
routines
which
then,
remainder
(TPI.
x
fraction is
2 comes from the fact
are
speeds
read
in
I.
For
called
necessary
not
least significant
set when
received.
DELA
DELAY
must
does this
program
alter
read
or
RE
(RE.I)
denotes
this
of
TP
is calculated
.nterval
320 x
~
rounded
per
second
running
two
successive bit times. The factor
that
the time between samples
for
terminal.
designed
and
to
should
be set-up to
RC,
between two serial
be
these
Y is included which
bit
timing delays to
uses
automatically
using a read
or
must
type
routine. contains
no
echol.
bit
is a zero. Again, this is
UT20
is
RE.l
(CPU
clock period)
Teletype
and
from
the
that
communication
Several different
to
allow adoption to
determine
"echoed"
purposes,
RC
point
restore it to
bit
specifies echo (0
started
constitutes a timing
as
follows:
to
the
Model
II
bits
supplied
the
data
terminals
or
odd
parity.
even or
with
the
not
generate
regardless of
provide
whether
(ie., typed
a 'sub-
the
as its
program
to location
when it is
or
80EF
Also,
the
upper
a control con-
For
full-duplex
and
the
CR
bit~
nearest
input
integer.
33 operates
per
character,
2.0-MHz
serial wave-
is
20 instruc-
of
15
odd
same
and
the
CDS
the be-
or
read
type
or
320
16
_________________
0perator
Manual
for
the
RCA CDS II CDP18S005
1 s 1 char
--
TP
=2
10
x
320 x
= 2 x 56.8 (rounded to
114
=
Because for
tha.o:
255,
there s}:\pported slower clocks roundoff example, second,
TP
and On
the
1200, the round-off
"TIMALC" using the first routine times calculate or
not TIMALC an loaded loads The calling to
the the user,
justed
may user.
as
their
with program they Return Manual Microprocessor, Programming Techniques". most
at
any
can
errors
at
2.0
J 1 J
= 2 x = 2(20.8) = 4210 = 2A16
the
The
LF
the
user
be used unless
All
SEP
may
general
3o
320/2.0
~
round-off
other
hand,
utility
to
generate
character
the
TP
and
to echo. Specifically, if a
is
running,
suppresses echoes.
with
the
subroutine
of
TYPE
TIMALC
DELAY
UT20
while
performing a $P
read
and
program
R5.
that
can
be
called
Technique
for
This
and
=
10
proper
is a
bound
given clock
be
supported
do
not
MHz
x
lo
x 10
error
is small (2100
at
2.0
error
program
intervals
reads
then
appropriate
pointer
and
or
setting
routine
leaves
they
type
routines
counter,
They
can
use
R5
through
(SCRTI
the
MPM-201
Techniques
programming
is
recommended.
x---
char
11
bits
1 s
the
6
57)
TP
speed Faster to
the
bad
characters
2.0 x 10
72
16
operation
on
rate.
cause
and
30 lO-bit
6
instead
MHz
with
baud
would be too high.
UT20
the
typed
one
READ
himself. As a convenience
RE.l
have been altered
be
as
uses a
operating
between
bit
to
echoes will be provided;
In
constant. for
up
RE.l
and
or
and
and
called directly its the described
CDP1802
time
in
by
incoming bits to
determine
CR
is entered while
either
TIMALC
the
DELAY
has
and
RC
$U
TIMALC
return
program
Standard
in
under
technique
must
be
of
terminals
terminals
extent
timing.
of 20.81.
rates
above
subroutine
constant,
a user.
whether
case,
RE.l
routine.
the
option of
the
pointer
properly ad-
operation
by
use
to
the
caller
from
counter,
Call
in
the
COS
MAC
the
Section
"Subroutine
is
less
or
that
For
per
This
is
also
to
and
the
R3
or
and
User
the
RE.l
(control
'1'P
I discussed above.
One byte of routines. RAM
and
user
can
a
byte
in its
R
F.I
being
read these subroutines. the
input location 81A4, RF.l.
All rontines alter
D.
DF,
byte
in 0
destroyed if is
used.
When (READl meaningless. When
at
entry R3
is
ready
When
DELAY
D E LAY. When
Technique
The
READ
and
READAH. and
has
as
READ
the
character
then
the the left. character exiting. RD
is
not
CAUTION: A READ by
another
The
caller should
can
do by entering
DELAY,
a
The
program
immediate
where m is discussion parameter
is
reserved for
constant 0 or 1 added
RAM
is
needed
These
routines assume
M(R(211
set
R2
dedicated
is
or
byte in
and
as
the
TIMALC
=
READAH
is used,
no
other
does,
I6-bit
and
is entered
If
the
affected,
READ,
with a parameter
DELAY
counter
byte
(20 + m (2n +
I.
and
is
altered
to
any
free
RAM
used
in
certain
typed between
When
RF
.1. When
the
byte
RE.O
X.
The
READ
well
as
in
RF.l.
Standard
exits,
A.I
(TYPEI
READ
(see
Table
for
entry
at
exits,
RC
the
Standard
R3
is
routine
but
read
contents
the
input
at
time
It
then
returns
has two
The
former acts as described above
side-effects.
with
in is a hex
of
4-bit
at the right.
character
but
DF
may
but
not
wait
TYPE
subroutine
is
R3.
M(R31 to
constant
increments
via a
RAM
READ
to
and
Call
TYPE5
is
automatically
the
RD
hex
is
immediately
1.5 at of 7
It
611
the
operating
to
the
timing
by
that
R2
by
them.
location.
for
this
purpose.
cases
to
the
calling routine
is exited,
TYPE
be
typed
RF.O.
routine
but
R3.1
leaves
the
byte
and
Return
is left holding
= 81,
exits,
R3
III.
When
(see same tablel. a
ready
for
Call
entry
The
latter
following side-effect.
character
are shifted four bits to
equivalent
DF
is
is
not
a hex
set
to
0 on exiting.
immediately
bit
times
TYPE5D
or
greater.
assumes
uses
the
value,
generate
instruction
in RE:I (see previous
SEP
R3
R3.
a delay
past
constant
parameter
read
and
points
to
In
general~
UT20
pass the byte
it
leaves
is
entered
is
taken
from
They
also
alter
the
input
in
D will be
Technique
but
R3.0
is
ready
TYPE
another
and
set
points -
operates
then
first, which he
or
that
times
exits,
call
Return
up.
READ
(0-9, A-FI
of
the
input
set to 1 on
character,
be followed
by a TYPE.
by calling
the calling
n,
of
equal
the
calling
type
free
the
uses
and
at
A.I
is
for
to
just
If
the
to
~
1
Operating and Programming the
The
TYPE points. to fetch the TYPE5 TYPE6 TYPE5D before going to
to
process to completion before typing. eritry which results in form as two hex digits. a,
Three
types from M(R51
types from M(R61
is
let"
an
ASCII
hex digit (0-9, A-Fl
routine
of
them
character
an
entry which provides a lo5-bit delay
TYPE5.
immediately preceding echoed
has
simply specify different places
from:
TYPE and
The
RF.l
Each
CDS
five different
increments
and
purpose
being typed
4-bit half
and
. out.
Notice facilitate TYPE TYPE5. characters
restriction
TYPE5D
that
repeated
routines
In
order
following a mentioned first.
the
READ
calls on
are
designed for repeated calls
to
output
using
routines
READAH,
a string of variable
READ,
earlier.
an
immediate
it
is
given the
most
________________________
types from
R5,
increments
of this delay is
TYPE2
out
is
converted to
separately
are
designed to
while
logical to call
"punctuation"
entry
RF.l,
and R6.
READ
is
an
in hex
typed
the
to
data
timing
byte (i.e., required initial delay repeated data
characters picked calls on This
procedure
rate.
Another routine, output character character encoded in the
program user via a typed includes a delay called
Tables I and
calling sequences
non-data
calls on
TYPE5
a string of characters.
string
for zero.
ASCII.
SEP
out
to
at
any
such as space, null, etc. I to
and
TYPE
up
using
immediate
permits a maximum
OSTRNG,
pointed
The
characters
If
a zero is found
terminates
R5.
the
on
time - even following a
just
and
If
the
character
terminal.
the
front
II
summarize
described.
to follow either with
(with
the
output
from
OSTRNG
to
by
returns
The
end
RF.Il
R6
or
data
characters.
output
can
be
picks
and
tests each
should
OSTRNG
so
the
(ASCII
control to
is
not
that
read.
functions
be
a zero,
repeated
character
it
17
get
the
variable
used
to
up
the
already
'null'l,
the
it
is
routine
may
be
and
Register Name
PTER CL ST SUB
PC
DELAY ASL AUX
CHAR
Register Number
RO R1 R2 R3
R5
RC
RD RE
RF
J
Alt.ered Pointer
Program
Program Program Assembled
RE.1 holds
RE,O
R F.1 holds
RF.O
TABLE
Entry
Absolute
Name Address
READ READAH TYPE5D TYPE5 81AO TYPES TYPE TYPE2 TIMALC
DELAY1
OSTRNG
813E 813B 819C
81A2 81A4 a1AE 80FE
80EF 83FO
TABLE 1-UT20 REGISTER
Function
b-y
UT20 while storing registers. R4.1
to
RAM
"work"
is
is
used
used
counter counter
counter
for for
for
into
by
time
constant
by
all READ
input/output
by
all READ
II - UT20 READ
Input Same
1.5-bit delay. Then TYP Output Output Output Output
Read
Initialize RC
Delay,
Output
byte.
UT20
all
routines
UT20 the
DELAY
READAH
ASCII ~
as
READ.
ASCII ASCII ASCII hex digit pair in R F .1.
input
as
function
ASCII string
except
which calls
routine.
(input
and
echo
bit.
and
TYPE routines and
ASCII
character.
and
TYPE routines and
AND
TYPE
RF.1,
0 (if non-standard linkage)
If
hex
character
character
character
character
to
point
of
and set
to
M(R3) (see
at
hex
character,
M(RS). Data
UTILIZATION
and
Comments
is
similarly
uses R2 =
DE
the
8COO.
LA
Y.
routines above.
Points
to
digits).
by
by
CALLING
DIGIT ~ RD (see
E5
function.
at
M(R5). Then
at
M(RS). Then
at
RF .1.
up
control
DELAY1.
text).
byte
altered.
DELAY1 in
TIMALC,
TIMALC,
OSTRNG,
OSTRNG,
SEQUENCE
increment increment
byte
in
RE.1.
Then R3 + 1.
00
ends
typeout
memory.
text)
R5. RS.
.
and CKHEX.
and
CKHEX.
Notes (1) All routines,
counter,
OF, RE, RF
(2) DELAY
exit
routine
except and
DE LA
Y,
with
SEP5, and
location M(R2).
uses RC as program
use R3
alter
as
program
registers
counter,
X,D,
exits with alters registers
(3) READ and READAH
back
(4) All five TYPE
at
TYPE5.
SEP3
at
READAH.
after
X,D,
routines
incrementing
OF,
and
RE.
exit
with R3 pointing
exit
with
R3, and
R3 pointing
18
__________________
Operator Manual
for
the
RCA
CDS II CDP18S005
Examples of UT20
Read and Type Usage
The
following examples should help clarify how
to use the
examples use
require's
: Read Routines
.This sample
characters
~SCII
-<
when a carriage digit to
an sample return
READAH=#813B
LOOP:
The similarly to enters over the previous entry.
incoming return only be found in used) if the programs R5 as the main type routines program routines use following example illustrates this technique.
Type Routines
c
haracter
program
UT20
read
the
standard
that
R2
point
program
into register
to hex in the process.
return
other
than
a carriage
error
program
program
linkage.
SEP
BDF
GHI
XRI
BNZ
READ
enter
them
one
data
program
are
used. An alternative technique is to use
terminate
with a
EXAMPLE
using the
counter.
which will type
uses
the
R4,A(READAH)
LOOP
RF
HOD
ERROR
routine
characters;
at
a time into
is
entered
alters
RF.I
standard
program
SEP
R3
as their
1:
This
TYPES
and
type subroutines.
subroutine
at
a free
RAM
will
read
RD
translating
Reading
is entered.
return
standard
..
As
long as .. digits are entered ..
Read .. Fall ..
character .. See
what
.. entered ..
Was
it
..
If
not,
..
Characters
.. in
RD
(at 813E) could be used
however,
RF.I
Note
into
D.
Therefore,
(and
RD
subroutine call
counter
with a
R3 (since
SEP
program
program
routine.
linkage which
location.
four
will
Entry
will cause a
out
subroutine call
.. Call the hex
read
..
ASCII
and
shift in
through
character
carriage
BR
to error
entered
(and
that,
D,
the subroutine
valid
when
(since all
RS)
all
read
counter).
outputs
It
uses RS as
Most
ASCII
them
of a non-hex
a
program
if
return
READ
even
READAH
and
and
hex
from
terminate
branch
"?".
This
and
hex
not
hex
was last
are
now
only
D)
writing though
data
will
return
read
and
call
the
and
type
The
a single
the
is
LDI PHIR3 LDI PLOR3 LDI
PLOR2 LDI PHIR2 SEPR3 ,T'R' yy
The
EXAMPLE using the program
character
the because because always be called using for typing RS as the main memory location This
example uses
EXAMPLE
up
pick outputs the
RF.I
before typing.
'DS',
and
Note expect the coded in
EXAMPLE by using pointed detected, example will
The
standard
.. Set R3 to
#81
#AO
#FF
#3F
TYPESD
TYPE6 counter for
TYPE6
TYPE6
an
SEP
,#8IA2 .. Address of ,
T'?'
yy .. Next instruction
the
a hex digit
uses
LDI PHIRF SEP4 ,
#8IAE
yy
that
character
ASCII.
the
to
by R6 will
OSTRNG
RCACOSMAC MICROPROCESSOR
R2
.. Set
.. Call type
.. An
"R"
..
Next
instruction
routine is used in the
2:
This
routine.
to
be
must
exits with
immediate
program
containing
standard
R4
..
Branch
.. Byte to be typed
3:
The
byte in
character,
#DS
output
call
RF.I
pair
This
example types
standard
..
Load
..
IntoRF.1
.. Call
..
Next
all type routines, except
4: An entire message
OSTRNG
the
and
TYPES
to free
will be
program
the
typed is
always be from
standard
byte. An alternative is to use
TYPE
which
subroutine
TYPE2
they
be returns
string
return
routine
RAM
location
typed
same
outputs a chara
Note
that
R6
should be the
program
counter
subroutine
to the call routine
for typing.
whereas
hex digits DS
instruction
pick
routine.
typed.
calling
an
immediate byte
M(R6).
SEP
S,
TYPE6
subroutine linkage
but
point
the byte to be typed.
linkage .
TYPE6
out
and
TYPE2
TYPE
TYPE2
it
encodes in
out
the hex digits
linkage.
up
to be already en-
can
The
ASCII
When
a '00 ' byte
to the caller.
linkage
is
assumed.
TYPE6
R6
routines
considers
TYPE2,
be
#:~FFF
way,
cter
if
But,
must
at
the
simply
ASCII
typed
bytes
is
This
I
I
r
Operating and Programming
the
CDS
______
_
________________
19
.
,:'
"
OSTRNG
SEP DC
,#ODOA ,T'MICROPROCESSOR' ,#00
= #83FO
R4,A(OSTRNG
T'RCA
COSMAC'
Additional
Utility Routines
ASCII to Hex
Conversion Routine
The
ASCII examines the chanl(;ter is IIser Ivia
IIPx.
CKHEX
I
and bits of dt's('rihed above most ft'adily lI'Chniques.
not
SEP
with the
~egister
handled
CKHEX
to hex conversion,
ASCII
a hex digit,
R:)I with
returns
digit
character
OF = O.
with RE.O = hex digit,
shifted into
RD.
CKHEX
and.
as with via the is located
I .. Call
.. 1st Line .. (CRI (LFI ..
2nd
..
End
in
RF.l.
CKHEX
the
the
standard
at
returns
If
the
least significant 4
uses the registers
other
call
83FC.
OSTRNG
Line
of
Text
CKHEX,
If
this
to
the
character
OF
routines, is
and
return
is
=
The
only difference between
is
the lo(;ation to which they
location 000:) with P
rptllTns by sf'tting P
has already set point.
These
programs
to !'n't' the IIser from
n'<Jllin'd by the
llW)
also be used as support ,;olllte addresses
B:W(I. Hefer to Appendix
absollltt' addresses of
loaded into R4
prol-(rams:
EXAMPLE
Address
0000 0001 0002 0003 0004 00U5
programs
Following
1:
Code
71 00 CO 83
F:~
=
R:1
pointing to the correct
generating
standard
running
are
INITl
CALL
and
R:) respectively.
are
examples
Using
INITl
INITl
Mnemonics
DIS,#OO
LBR
USRPGM:--
= #83F3
INITI
INITI
return.
=
:1,
while
:1
and
assumes
are
intended
the overhead code
subroutine
an
integral
on
the
=
83F3
G,
the
UT20
and
RET,
of
the
Comment
..
Disable
.. Initialize registers
.. User
program
.. P = 3
and
INIT2
INITI
as a convenience
technique.
CDS.
returns
INIT2
part
and
listing, for
use of these
interrupts
simply
that
the user
return
of custom
Their
-INIT2
which will
starts
They
ab-
~
the
be
here;
to
Initialization Routines
\\ hil'h initialize and fPturn
as follows:
(below address 80001 nWlllory available as supplied (with one 4-kilobyte
Two
R2
R3
R4
R')
The
routines
technique.
=
R(X
INIT
is
present.
RAM
are
provided,
CPU
registers for the
These
routines set
I - POIntIng to
available user (below 8000),
- will become on
return
-
pointing UT20
-
pointing UT20
programs
address,
to the call routine
to
examine
and
They
set
which
INITI
the
last (highest)
RAM
the
program
the
return
user
determine
R2
to the highest
is
03FF
RAM
cardl.
and
INIT2,
standard
up
registers
location
counter
routine
memory
how
much
for the
call
in
in
area
CDS
EXAMPLE
Address
0000 0001
000:2
Code
oom
0004 000:)
OOO()
0007 OOOS OOOfJ OOOA
OOSU
2:
Using INIT2 = #83F6
1\1fl('moni('s
71
])IS.#OO 00 FH
LDI
A.I
(STARTI
00
PHI
B:3 FS
LDI
(STARTI
.')0 A3
PLOR:1 CO
LBR
~n
Fe)
START:--
INIT2
R:3 A.O
INIT2
Comment
..
Disable
.. Set
R:3
..
point
.. Call
INIT2
.. User
..P
program
=3
interrupts
to
return
starts
here
20
_________________
Operator Manual
for
the
RCA
CDS
II
CDP18S005
Routine to Restart UT20
A means
('ontrol back to
point routine. WIH'n
pntered via this routine. UT20 will relStart
iSSIW
a
(;()L'r~O
LT2()
depends on the following conditions
('n
tr~
:
I)
2)
:\.
.
In order to assure the second condition,
program GOUT20 having R3 as its
Additional Notes
LT20
is
provided to automatically transfpr
UT20 from a user program.
GOLT'20.
*'
prompt at
location #lBF9 will cause this transfer.
HE.I = tNminal
Two-Ipvel 110 is enabled
must
be initiated via the $U command.
routine can
program
to the
is
providpd for thi s purpmw.
terminal.
timing constant
be
called only
counter.
A long
on
automatically enables group 1
Programming
Machine Language
Programming
With an
olH'ratio/l
rur.
Lh
I)I'
V lopment S stem
C'xamrle.
th
e lime-out
Manual.
langlta g )
IYI e
writt·r.
til· t
-IN
To
read a
the llser program should
nn UT20). D3
instruction,
free
RAM
th
e utility routine will re
ec
uting the in
ex
nt
venie
re
we
c
hara
cter (with a 0
and
in D. The memory location pointed
regis
ters RE, RF, X,
in value (not
- A list
of
ab
sulute
understanding
of
tlw
P
and
e re
Hdf'1'
i
!i
rrerart~
hf'
'an
now
lind rs
le~1
pr
ogram
How
f'
r. a lmo 't an. hexad ·
t t program '
Th
mos t basi ' wa to commllnic
pewril r. lherf'for . will be covered next.
character
That
is. load
making
location. After
truct
ion
if
the prog
t begin with
key
UT20
IllCIl111ry
ram
I.
The
parity
and
pr
eserved over the call).
sYlllblllic locutiolls
addresses
of the structure and
the material rrovid d thll
d
to b ,ill using '
in
an
el m
tand
and
pr
S Ilt d a'rli r in thi s
wi
II
re
CJllir
from the
transfer
R3
sure
the
turn
D-
count
OF
is
!(iv
I/O
control to
with
HUE
that
R2
typed
character
by setling P to 5, i.e., by
(making it mo st con-
er of the calling routine
ASCII
bit) will b in both
en
will
and
in
Table II.
have
code for th e
their
which indudf's the terminal t('ffan·s. when
An
entry
branch
upon
and
to
re-
win·d
enabled. to "Two-Level
facing
Structure
Intt'fmpts
is
running.
SU
the
user The
by
a program
UT20
1/0
devices.
tilt>
nlar
wa
y.
For
po
. ihly
mod
if
imallma
u e (
teletypewriter.
and
is
pointing to a
to
been changed
cllrrespolldill~
chine
If
the
110
al
READ-
execute a
is
read,
input RF.)
by
R2
and
by
bv
u"T20 prohibits s
Intt·rrupt i
TEHRUPT
vpnience to the intprrupts have not been externally disabled. custom t('rmpts startt'd via the
Because the counter, it is most convenient to a
03
R3.0 another formed. Because
,'
registers initialize,
using these registers unless their values are saved
_
later restored by his
To typewriter, the user program should transfer control to instruction, again a free P value should be 5 for the
(i.e., the byte after the
the character,
argument
M(R(2)), as well as registers
R3.0 preserved. For should again refrain from using registers
functions the user can now code elementary te t , program to Development System. the compares them,
and
floppy disk in-
it
is
started.
to tlw samp group-splpct signal are also
For
more information on this subject, refer
I/O"
in
the
next Section, titled
of
the
CDS.
arf' automatically disabled when UT20
They
are
command.
a
wwr
Because R I and R2
program before iIllerrtll t. are allowed .
tart-up
:-;
pt~nC!ing.
and
i
ss
ue an *.
WH'r
to prevent
hardware
at
start-up.
RUN
is
P switch.
tJ
under
re-t
nabled
via
In
:t 'ad. it will
installed
the
user
s('r-addpd TlO devices
Input/Output
Hardware
by either the $P or
must
be initialized
lh
e~e
c
Cll1l1nands if
lype
Thi
s f{'atllr(' i: a con-
start-up
that
program
problems
may cause in-
should be
Methods
READ
instruction. When
will contain a modified value, necessitating
initialization if a repeated
RC
and
it
is
cause a
TYPE5D
RAM
output
return altered. All
Given
routine shown in Fig. 3
character
at
location. As discussed above, the calling
character
READ
byte
the
a'bility to execute simple I/ O terminal
routine uses
READ
the
READ
RE
which
essential
location 819C, by means of a D3
and
the
further
and
that
program
to be
making
and,
reasons previously cited, the user
sure
for this case, the
should
03
instruction). After typing
will have
again
return
other
exercise the
As
a simple
outputs
R3
branch
returns
I/O
routine
..
RE,
uses the values in
UT20
the
user refrain from
typed
out
that
R2
be
an
immediate byte
advance
by a 05
RF,
X,
register values
examp
that
reads two bytes,
the
"larger"
as its program
to
READ
to the caller,
is
to
will normally
by
is
pointing to
ASCII
R5
execution.
D,
RC
COSMAC
le, consider
of
Intt'r-
be per-
the
past
OF,
and
the
an
IN-
If
by
and
I/O
code
the
and
are
RE.
two.
if
...
~
.
T
Operating and Programming the
CDS
_______________________
21
MEMORY LOCATION
00 01 04
07
OA OD 10 13 16
17 19 1A 18 1E E6 1F 20 22 24 26 27 28
HEX CODE
STORED
00
.....
D.
90 828586
F8
FF A2
F881
83
F8
3E A7
F8 9C
87 F8 27 A6 R6 now points F8
17 A5
D5
87
A3
D3
56
87
A3 D3
F7
3824 9F
56
97 A3
D3
00 3017
Fig.
3--
Example
Clear upper half M(OOFF) Initialize upper half of I/O call program
Lower half
Lower half
R5 Change P
R3 now points Call Save first character READ second character. X now points D - M(R(X)) Print
Second character moved
R3 now points Call Immediate
Loop for
(Assumes
is
the
of of
initialized
from 0 to
READ.
the
first character
TYPE.
byte
another
of
elementary hexadecimal program .
COMMENTS
RO.1
= 0).
of
pointers.
free
RAM
location.
READ address saved
TYPE address saved in R7.1.
to
0027
(the immediate TYPE
to
0017
is
ready
5.
to
READ routine (813E).
Input
character
in
immediate
to
first character.
.....
D.
Subtract
if
it
to
immediate
to
TYPE5D (at
Output
byte
at
the
storage for TYPE routine.
pass.
in
to
be
the
to
D and RF.1.
byte
first character from second.
is
the
largest.
819C).
next
location (0027).
counter.
R7.0.
program
location.
byte
location.
byte).
counter.
The
routine given exhibits register usage compatible
with the
Further,
appropriate
dashed location 17.
READ's
after first initializing
in which the two lower half address constants (9C
3E) are stored.
initialization value of 81. a subtraction
TYPE
traction.
TYPE
with P =
program loop is entered initialized to location (0027). Notice instruction since
m a ns of th key boa el " und
underlined commentary.
UT20
the 110 instructions consist of calls to
teletypewriter interface routines.
The
initialization
line.
The
Each
and
one
is
byte is conditional
The
free
is
OOFF
The
initialization
O.
R5
point
at
location
READ
An exampl of
mentary
erlined text
changes the value of X.
program just discussed.
represents
READ
in this case since
is
and
part
of
main
call to
TYPE)
R3.0
R3.1
Two
executed.
RAM
location used by
part
of
the
program
to
the
immediate
that X is
IE)
loading and
rd
i a
represents
user
TYPE
the
program
the
is
made
with
continues to hold its
The
on
the
at
after
CDS
UT20
input;
calling sequences.
program
utility program (two
the
characters
resulting immediate
the
R2=00FF.
program
counter
location 17.
set to the value 6 (see
the
running
"session"
is above
loop begins
by
a D3 execution
proper half of R 7
are
read
results of the sub-
READ
is executed
once
the
R6
TYPE
In
printout; text
bracketed
argument
READ
routine
a program by
using
what
follows,
text is
the
the
at
and
and
and
main
is
the
not
Begin by
followed by
(CR) [Carriage
$U(CR)[Begin
Each
the
main I rogram loop con isting
character
The this point to verify his knowledge of the struction set
turning
RUNU.
c
[UT20
*
!MO 90 B2
81 F8 A3 3B 24 3017 (CR)
[The
..!. [UT20
AB!!BA!!12~21!MN~
chara
and
reader may wish to code his own
and
power
ON
The.RUN
Return
onstant
B3
cter tripl et represe
and
echo)
prompt
B5 F8
27 A6 F817 A5
D3
5687
9F
program
ready
program
11
the
B6
3E
A7
A3
56 97
ntput
read
character)
F8
FF F8
D3
A3
has
for
hara
and
the
execution)
type routines.
and
pressing
light will go on.
to
establish timing
A2
F8,
9C
B7,
D5
87,
(CR)(LF)
E6
F7,
D3
00, (CRI (LFI
now
been
next
command)
[ ..
etc
.. )
nts
one pass
of
cter.
(CR) (LF)
(CR) (LFI
(CR) (LF)
loaded)
two user
program
RESET,
Then
through
input
CPU
in-
at
22
_________________
Operator Manual
for
the RCA CDS II CDP18S005
Programming Interface
to CSDP
Machine
program,
that
to advam available. are
already
assembly
~re
"
available
system of
ief~rred
itself.
is
the COSMAC latter
non-trivial reader software CSDP,
As
discussed in RCA 202,
much accomplished Typically, a source file is edited (if reassembled,oo.,etc. program, isolated reassembly of the source file. code is ready for hardware further concern here.
Already discussed utility keyboard CSDP
compatible with command)
to the to write this file onto a CDS
using this
the
automatic compatible object file coming over is
loaded into
There paths. already discussed. Second Timesharing which simulation. CDS the
automatic,
language coding, even of a trivial
should convince
do
any serious
.age of
to as
The
Timesharing
set of
be
he
CDP1802
testing.
program
system is
CDS
First is
is
link (again via a
the
set
Veterans
aware
and
user
Microprocessor,
programs
programming,
familiar
support
should
of
the
during
and
(the
or
from
to
system. Clearly,
are
System link, via
implied in
And
in
of simulation either
RCA-developed CSDP,
manual
with systems. skip
the
COSMAC
program
without
assembler
The
which
removed
loading
COSMAC
It
is this
to
load the
tape.
to
the
transmit
medium.
mechanism
the
CDS
three
the
the
third
direct-load
the
novice
programming,
of
software
the
programming
the
fundamental facilities.
by
timesharing,
or
by
this
for
the
Manual
it
is
this
it is essential
the
facilities provided
If
the
this section.
Timesharing
Microprocessor,
developmenl
direct
constructed,
objects
simulator
time
by
and
Development
part
of
has
been the use of
One
ultimate
generate
required
this file over the telephone
it
tape
and
Of
concern
RAM
directly.
different
I/O
teletypewriter-CDS
is
the an
use of
CSDP
is
the
modem)
process.
one
Support
programs
Development
former set of
for
MPM-202.
manual.
reader
Manual
CDS
to
the source code),
is used to
program
further
Eventually,
running
the
process
CDS
RAM
an object code file,
! M
format,
is
possible for
subsequently load
here, however, is
by
which the
the
data
I/O
appropriate
for assembly
Timesharing
which
programmer
should
support
necessity for
i.e.,
the
is
by
involvement.
editing
System) for
purpose of
telephone line
communication
teletypewriter-
is
take
aids
community
services using a
hereafter
System
programs
CDP1802
For
the
To
do
any
that
the
by
these
not
using
for
the
MPM-
CSDP
assembled,
bugs
the
in
that
the
from
essential to
is
run
the are
and
object
the
real
is of
'!
M' the the
and
(on
link
the
user
the
!M-
path,
modem,
and
System-
Some switching
Development
can
come either from
from
the
modem
A teletypewriter external set),
mechanize modem-CDS wired three-position switch. position CDS. acts as "TIMESHARING-LOAD"
established to allow
to
CSDP previously assembled by smission, the steps load of the
object necessary to properly initialize the utility program so that done tivate RESET, keyboard Initialization will be followed by a prompt will
$
is be RETURN, mand characters UT20. mand TIMESHARING initialization occurs, as discussed above. terminal LOAD sequent receives object file transmission;
when it DBG. transmission, commands
modem
and
the
the
In
the
normal
be
automatically loaded into
If
it
is
asslUned
control
CDS
Because
file on
it
is
ready
by temporarily switching
the
followed by
character
then
ignore all
detected.
done
at
to
CSDP,
in this
Thus,
to
is
and
characters are ignored
the
CSDP
1. $X
indicates
outputs
Assuming
will effect the transmission:
6.
End
name
mechanism
System serial
the
carrying
unit,
(e.g.,
an
an
added
various
paths.
terminal
"TTY-TIMESHARING"
program
CSDP
TTY
echo-timing control
It
is essential
a time
which
the
CSDP
switched
the
loading ! M
the
FiLe
RAM
of
TTY-CDS.
It
acts as
timesharing
data
that
required
RAM
follow.
will
command
for this
-CDS
indicating
subsequent
terminates
yet
command
final
is
mod
command
that
to the
terminal
that
the
following two alternative
Name
Location where
the
file
is implied by which
"Terminal"
keyboard/tape
data
generated
for instance, requires an
acoustic coupler
external "switchbox"
should
In
the
position, the link
from the
the
the
user
and
that
CSDP,
to effect
transmit
from
input.
path RUNU,
that
inputs
that
this local initialization
before
the
after
the
string
"transmit
begun
e. At the
back
to
is
indicating
it is ready for a user
the
assembled
6.
Start
or
the
the
input
signal
reader
by
CSDP.
TTY-modem,
be
an appropriately
the
"TTY
I/O
device for the
position. it
terminal.
timesharing
CDS
memory.
has
been using the
an
object code file,
is
ready
an
automatic
an ! M-compatible
the
terminal, it is
This
initialization is
the
terminal to ac-
only,
completed. All sub-
and
followed by the
character
return
UT20
is
until a ! or
the
final carriage
"transmit" com-
occurrence of any
recognizable by
object file" com-
in
the
proper
point, UT20
Then,
TIMESHARING
by
UT20
the
beginning of
command
prompt
RAM
FiLe
device
file
is
Location
Name
which will
characters
or
or a'data
and
CDS"
In
the
system
for tran-
pressing
LF.
of the
ready.
'!
or
TTY-
the
until it
ready for
CSDP
6.
is the
to
is
It
Operating
and
Programming the CDS
_______________________
23
fPceive simulator mally just-completed specified as transmitted tprminal.
will continuation
loading
CDS must
final
"relocatable"
$Y
RAM
apply to File
will continuation rpadable, dress
for
memory
the
memory.
object-code
For
$X
TTY
result
the
RAM.
be
properly
CR.~
/':"
File
Name
Loc
$YTTY
result
in
since
value~.
"scatter
patches.
in
The
where
the
specified
generated
assembly.
TTY,
over
the
example,
#0
#lFF
the
transmission
form of
lowest
lRecall
initialized
!M
form
.
/':"
the
Name.
#20#150
transmission
form of
each
This
form
loading"
contents
These
the
object
telephone
(CRJ
the
part
that
Start
same
For
example,
(CR~
the
line
is
of
of
contents
as
the
result of a
If
File
code will
line to
of
the
! M object file,
(20016
is
subroutines
bytes~
the
utility
just
prior
more
compact
RAM
LOC
comments
of
the
-! M file
begins
with
particularly
semicolon-
CSDP's
are
nor-
Name
the
comma-
of
the
program
to
the
and
/':"
End
above
(more
an
ad-
useful
or
other
is
be
terminal. ;)
•.
The
code listed program the listing,
earlier. appropriate automatic The
generated
CSDP
CSDP
At
this point,
that
sequence
1.
Begin
typing X
or
RETURN
2.
Switch
3.
Press
half answer
4. Switch the position
5.
Press
minating this
The
output
there
earlier ~ has
simulator's
again
returns
the
user
is,
input
of
UT20
load of
case, 3016
the
of steps
the
$ a
Y~,
the
RE
duplex~,
from
back
selector
the
transmit
TTY
but
without
yet.
terminal
SE
T, R UNU,
and
the
to
switch
at
this
final
the
is
point.
CSDP
bytes
received is
(the
same
now
memory.
follows the
initialization,
object
as
#0 #30
receive
utility
TTY-MODEM
with
the
$X
or
file
follows:
command
(where"
typing
to
the
TTY
CR
program.
to
the
carriage
transmit
will
be
After
the
into
the * prompt
transmitted.
indicated
as
been loaded into
generating
DBG
instructions
$Y
command to effect an
the
the
-CDS
or
LF
"CSDP
RETURN,
command.
that
prompt.
CDS
to
CSDP
a"
final
(for full
mode.
in Fig.
in
the
given
RAM.
is
either
carriage
mode.
as
Switch
LOAD"
hex
the
with
by
or
an
ter­For
I
t
the
CDS
has
been initialized properly, befon' loaded into proeeed to minal faeilitips. i.e
S~
v('rsion of SOl/ree
OO()
('omments in the listing
ddailed
CSDP
SAMPLE, of this file with
the
transmission
RAM
run
in
TTY
program
the
the
program tinwsharing this
mand. mpssage. By
or a RESET,
An
example
stem
session
the
program
program
I to
illustrate
rpader
hex code in Fig. 3.
is
entry
is
program.
it
prompts
TTY
automatically.
the
program
-CDS
..
$P
or
follows of a
using a Level-l
sample
is listed in
is
written
use
to
establish
entered
system,
made,
as
the
When
the
entering
(CR),
listing
begins,
mode,
$U
RUN P sequence.
program
to
of
should
from
a file user
the
and
the
object
The
with
the
using
standard
by
means
CSDP-Development
assembly
given in Fig. 3.
Fig.
4.
For
begin
at
memory
the
ORG
statement.
be
sufficient
correspondence
Assume the named
calls for activation of
CSDP
terminal
the
CSDP user calls for diagnostics
that
keyboard
SAMPLE.
is
ready
with
file will
user
can
110
data
of
the
utility
language
this
example,
location
to
permit
with
this source
into
for a com-
the
command
an
assembly
printed
just
be
then
ter-
CDS
The
The
the
the
Once
the
DBG
$A
to
the
While Development terminal. mand
$X
the
For
TTY
object
file is
System,
the
example
#0 #30 will
it
is also
being
given,
result
transmitted
printed
the
in
on
the
CSDP
!MOOOO
FFl)()B2B5B()FHFF A2FUSIB3FS3EA 7FS9CB7FU2SA6,
FH
WA5I?5H7 A3D356S7
FF301S
DBG
printed On command
• Refer to the Timesharing Manual for COSMAC Microprocessor, MPM-202, for detailed CSDP
listing formaL Note code to
FFFFFFFFFFFF
on
the
terminal
the
other
hand,
$Y
TTY
user instructions and an explanation
displayed in the listing
the
contents
of
A3D3E6F73B2-~9F5697
during
for
the
#0 #30 will
that
for
forward
the simulated
does
the
same
example,
result
the
of
the
references, the
not
correspond
memory.
loading
in
RCA CDP1802
assembly
A3D3,
of
the
exactly
to
the
data
com-
RAM. CSDP
24
_________________
Operator Manual
for
the RCA CDS II CDP18S005
!M
printed Notice
(JOOO
FF<)O
B2B:1
BM·'B
FF
A2
FBBl
B:WB
3EA7 FB9C;
oow
0020 00:30
B7FB2BM F7:m FF
2:19F
FBIB :1697
A:105
A:m:3
B7A:3
0:3:16
0030 lBFF
B7A3
FFFF
03E(); FFFF;
DBG
RDPTR =
WRPTR = #9C
' .
.-
10 PC
ARG 10PTR ORG
........
GHI
PHI R2
PLO
PHI
PHI
LDI
PHilO
LDI RDPTR
PLO 10PTR
LDI WRPTR
PHI 10PTR
LDI PLO ARG LDI PLO SEP
..........
LOOP: PLO 10 SEPIO STR GLO PLO 10 SEPIO SEX SM BM
GHI STR TYPE: GHI 10PTR PLO 10 SEPIO
ARG1 : ORG*+-#01 BR LOOP
END
#3E
= R3
= R5
= R6
=
R7
-#01 ..
RO
R2
PC
ARG
#81
A. 0
(ARG1)
A. 0 (LOOP)
PC
PC
GLO
ARG
10PTR
ARG
TYPE
RF
ARG
INITIALIZATION
MAIN
10PTR
· . LOWER
· . LOWER
· .
UT3
· .
CALLING POINTER
· .
· .
HOLDS
· _ PROGRAM
..
CLEAR
R2
· .
..
CLEAR
· .
INITIALIZE
· . LOWER
· .
POINTER
· .
LOCAL
..
SWITCH
PROGRAM LOOP BEGINS HERE
POINT
· .
· .
CALL
. .
SAVE
· .
REPOINT
..
CALL
· . RESTORE
· . SECOND
..
EXIT
· . SECOND
· . POINT
· .
CALL
IMMEDIATE
· .
· . LOOP FOR
Fig. 4 - Source code
timesharing assembler.
HALF HALF
READ-TYPE
WRPTR
PHASE BEGINS HERE
0, SINCE
POINTS
UPPER
H.A.LVES
PROGRAM
PROGRAM
TO READ IT
READ.
CHAR
IF
FIRST
CHAR
TO TYPE .
comes
prompt.
system data
loading. via
program.
READ TYPE5D
PROGRAM
PROGRAM
TO
IMMEDIATE
AND
STARTS
RO.1
AT
FREE LOC (ZERO)
HALVES
UPPER
OF
TO TYPE
READ
. FI RST
TO
READ
SECOND
ARG
POINTER
MINUS
CHAR
TO
TYPE5D
BYTE
ANOTHER
of
sample program
on that. back
The
user
after
terminal
ENTRY
ENTRY
COUNTER
TYPE
RDPTR
AT
LOC 1
...............
IS ZERO
OF
HALF
UT3
UT3
ENTRIES
SAVE
BYTE
COUNTER
COUNTERS
.......
CHAR
TO 0
CHAR
FIRST
IS
LARGER
OUTPUT
ARG
AND
PASS
the te
rminal
after
completion
in its
command
may
now log off from
a
"$Q"
to the
the
?M command.
COUNTER
BYTE
VALUES
LOCAL
ARG
for
PC
READY
...
TO
0,
LOC
SAVE
CSDP
PTRS
. . .
RF . 1
LOC
during
to
CSOP
TTY-CnS
. . . , .
......
the loading process.
of
transmi~si()n
mode
with
the
and
then
mode
and
.....
.
.......
.
CSOP
the
OBG
time~harin!-(
~witch
to vrrify
to .
run
- .
.
the
the
Operating and Programming the CDS
DBG
$A
SAMPLE,
TTY
25
I
..
I
I
I
1
FL
-.
F
F
F
NO
NO
LOC 0000 0000 OPOO 0000
'0000
0000 0001
0001
0001
0002 B2
0003
0004 B5
0005 B6 0006 F881 0008 0009 F83E OOOB OOOC OOOE
OOOF 0011 0012 F800
0014
0015
0016
0016
0017
0018
0019 56 001A 001B 001C D3 001 D E6 001E 001F 0021 9F 0022 56 0023
0024
0025
0027 0027 3016 0029
UNDEFINED UNDEFINED
COSMAC CODE
90
A2
B3
A7
F89C B7 F800
A6
A5
05
87 A3 03
87
A3
F7 3BOO
97 A3 03
DBG
LABELS SYMBOLICS
LNNO
Fig. 5 - CSDP assembly listing
SOURCE
RDPTR
WRPTR =
2
10
3
PC
4
ARG
5
10PTR
6
ORG #01
7
...
8
GHI
9
PHI
10
PLO R2
11
PHI
12
PHI ARG
13
LDI
14
PHilO
15
LDI
16
PLO 10PTR
17
LDI WRPTR
18
PHI 10PTR
19
LDI
20
PLO ARG
21
LDI
22
PLO
23
SEP
24
..........
25
LOOPGLOIOPTR
26
PLO
27
SEPIO
28
STR ARG
29
GLOIOPTR
30
PLO 10
31
SEPIO
32
SEX ARG
33
SM
34
8M
35
GHIRF
36
STR
37
TYPE: GHI 10PTR
38
PLOIO
39
SEPIO
40
ARG1:
41
BR
42
END
43
= R3 = R5
= R6
.....
RO
R2
PC
#Bl
RDPTR
A.O
A.O
PC
PC
10
TYPE
ARG
LOOP
LINE
= #3E
#9C
=
R7
..
INITIALIZATION
(ARG1)
(LOOP)
MAIN
ORG*+#Ol
HALF
READ
.'. LOWER
· . LOWER
· .
UT3
· .
CALLING
· . POINTER TO
· .
HOLDS
· . PROGRAM
· .
CLEAR
· . R2 POINTS
· .
CLEAR
· .
INITIALIZE
· . LOWER
· . POINTER TO TYPE
· .
LOCAL
· . SWITCH PROGRAM COUNTERS
PROGRAM LOOP BEGINS HERE
· . POINT TO
· .
CALL
.
SAVE
. REPOINT TO
· .
CALL
..
RESTORE ARG POINTER
· . SECOND ..
EXIT
· . SECOND CHAR TO
· . POINT TO ..
CALL
· .
IMMEDIATE
· . LOOP FOR
for
sample program.
HALF
READ·TYPE
PROGRAM COUNTER
IMMEDIATE
WRPTR
STARTS PHASE BEGINS HERE D.
SINCE RO.l IS ZERO
AT
UPPER
UPPER
HALVES
PROGRAM
READ
READ
IT
READ. SECOND
IF
TYPE.
FI
.
READ
CHAR
FIRST
TYPE5D
BYTE
ANOTHER
ENTRY
TYPE5D
AND
FREE LOC (ZERO)
HALVES
RST CHAR TO 0
MINUS
CHAR
ENTRY
PROGRAM
TYPE
RDPTR
AT
LOC 1
OF
HALF
UT3
OF
UT3
ENTRI
SAVE
BYTE
COUNTER
CHAR
FIRST
IS
LARGER
OUTPUT
ARG
AND
PASS
COUNTER
BYTE
VALUES
...
. .
.....
LOCAL
PTRS
PC
ES
READY
..
...
ARG LOC
... ... .
TO
D. RF.l
SAVE LOC
'
26
___________
,
____
Operator Manual for the RCA CDS
II
CDP18S005
f
.....................................
....
I
i
I
.......
'
_________________________________________________________________
27
Hardware
of
This
section of
"top
a of over-all system block sufficient detail to explain of the modules and order" This of each of
to provide sufficient detail (signal mnemonics, timing
down"
the
control
signals
overall
COSMAC
explanation
and
paths
are
diagram
the
modules.
the
manual
Development
to
indicate all of
in the system. -A few "second-
omitted
is followed by a block
is organized to a present
of the
hardware
System.
diagram
These
is given containing
the
basic functions of each
the
essential
at
this stage for simplicity.
diagrams
structure
First,
diagram
are
designed
the
an
data
Structure
CDS
information, etc.
individual module logic D)
should be unnecessary.
nector pins to signals
detail
is
found in
AppendixA.
A
fundamental structure COSMAC described in the
Pl802
of the
COSMAC
I so
that
the
prerequisite to
CDS
CPU
interface
User
Microprocessor,
diagrams
is backplane
is a detailed familiarity with
Manual
further
The
omitted
and
user analysis of
(given in Appendix
assignment
at
this point.
wiring schedule
understanding
instruction set, as
for
the
RCA
MPM-201.
the
of con-
This
in
the the
CD-
I
!
The
broad System is indicated in Fig. 6. terfaces with and
with a memory system to its left.
and
indicators on
diagraml
CLOCK eontains the system clock.
Most
of the signal with signal mnemonics in parentheses. I i:j I
is
used to denote a parallel labeled with a for example,
parallel signals A14, A13
organization of
an
I/O
system to its right in the
the
Control
communicate
and
CONTROL
paths
unique
A(l4:
121
the
The
Panel
with the system
Module,
in
the
diagram
set
index in
represents
and
the
A12.
range
the
CPU
(at the
of signals,
Note
System
Block
Development
module in-
diagram
The
switches
top
of through which also
are
labeled
The
notation
each
ito
j.
Thus,
bundle of
further
three
that
Diagram
where additional from the letter zero.
the the
The diagram number assigned.
Physically,
card
nest with 25 sockets for logic cards in­terconnected by a power supply, a chassis which will rack
or
mounted
emphasis
"0",
superscript after
denotes the plug-in connector position
in
the
CDS
the
Development
means
a cabinet,
control switches
and a hinged
is
a
"~"
each
next to
of a
printed
and
required
is
used
for the
module
which
System
circuit
mount
panel
indicators.
to distinguish it
name
the module is
consists of a
backplane,
on which
numeral
in
the
or
slot
via a
19"
are
28
___________
•.
r ---- l
I
I
I MEMORY
I EXPANSION
I I
I
L _
ADDRESS LATCH
AND
BANK
SELECT
CDPI8S206
~-:::-=
4-
KILOB'fT
RAM
CDPI8S205
~-;-;:-l
_ _ _
10
'---
ROMI
CDPI8S401
___
---,
RAM
Operator Manual
ST.l,TE C
ODE. FLA
TERM INAL
I
C DP
for
the
~
N~=~0
~~--
GS. D MA.TP
NTEP~ACE
185507
RCA
~T~H~R~0~U7
--
A.
TPB. IN
14
CDS
G~H
~N~=~7
----~1
~~~
OPTIONAL
DISK
INTERFACE
CDPI85813
II
CDP18S005
"'----1
-'r
l
EXPANSION I
24
IIO
__ J
I
I
I
1
I
I
I
I
I
I
The
control
which are
and
Display
mounted
Fig. 6 - Block diagram
Panel
System
has a PC
the switches, displays,
/I
board
CDP18S005.
on
and associated electronics. Via a cable, it communicates with
the
control
card
nest.
The bounce perfonn
the
some logic control module communicates with the wires
printed
The
CPU crystal for the on-chip oscillator for
the
Data central to the system, and
Memory
in the
diagram.
On
the
memory side, Select module. order
Memory
unique
Bank memory system. On module accepts
module
Control
which is inserted into
module contains circuits to de-
switches, interface
and
on the
backplane.
module consists
and
Address Buses.
communicating
systems to
as
Address
its
the
right
the
Address Latch
name
implies. latches the high-
Byte
Select lines, for use
the
110 side , the 110
the
N lines from the
then
of
and
to
the
CPU,
timing.
the
and
The
The
CPU
module via
CDP1802
electrical buffers
CPU
with the 110
and
left respectively
decodes
by
the entire
CPU,
the
and
Control
with a
module is
and
Bank
it
into 16
Decode
and
92CL
of
COSMAC Development
decodes them into 7
unique
= 7 for use by all 110 controllers.
latches th e
Data
Bus
on
lines. N = 1 through N
a (61116 instruction,
- 2
In
addition. it
provides eight Select lines for use hy all 1/0 con­trollers as two-level
Two
memory modules
ROM/RAM
ROM/RAM
program
for use by
ROM
that
provides 4 kilobytes of static
Additional 4-kilobyte
added
pre-wired expansion slots.
A
Terminal may be used to either the
All
EIA
memory
the common Therefore, these modules disconnecting from
such as tri-state buffers
110
addressing.
are
provided.
and
the
4-kilohyte
module holds
the
RAM.
system's Utility
(uT201 plus a small (32-bytel
Utility .
The
4-kilobyte
RAM
RAM
RAM
Interface
communicate
or
20-mA current-loop interface.
and
110 controller modules
DATA
BUS,
the
modifications may
Module
is provided, which
with
tenninals
which is hi-directional.
must
provide a means for
bus.
when
not
using the
or
transmission gates.
962
5
RAM
module
storage.
having
attach
and
the
The
be
to
~
bus.
Hardware Structure
The
various
the
110
hackplane.
and
Module
control,
memory
of
the CDS
flags, etc.
expansion
select lines,
____________
are
distributed
locations
BANK
SELECT
on
to
the
for
_____
memory backplane connections as figurations.
and
PC
SELECT
board,
but
determined
_ _
for
_______
110,
are
available
by
are
not
user
wired
on
for
wire-wrap
system con-
29
the
~
•.
and
-
Each
standard
~implified
diagrams
Signal
either is
asserted (true I suffix P wire signal conductor, of the asserted
notation in the signal over signals (in
Inputs indicated with resistor symbols
If
such assume!"! upl
down" from "(1'1" in ("wire-OR
~mission
from a transmission
low with a resistor
logic
may
naming
The
signal
the letter N
means
is
at
the
name
A
btmdle
the
range
which
an
the
resistor.
CMOS
the
'ed "I
gate is
module
or
be
found
conventions
name
or when
the
signal is
highest
gives
and
the
suffix defines the electrical
(truel
of
parallel
i to j
parentheses I labeling
are
pulled
input
is
highllow
Output
transmission
diagrams.
together -assuming
enabled
on
will
Block
P.
the
state.
diagram.
in
Appendix
are
is
followed
The
suffix N
that
asserted
logic level
meaning
signals
name
denoting a nmning
and
by
high
or
not
used
level defined by its
signals which
gates
Such
at a time.
gate
may
the
board.
Module
Signal
be
described
D.
as follows:
by a hyphen
means
wire
is
at
(true I when
(+5
assigned
is
indicated
the
number
the
Iowan
the
to
VDD
(not
are
labeled with a
outputs
also be pulled high
may only one
An
output
using
Detailed logic
the signal
grOlmd.
VI.
Thus
to
by
of
parallel
signal
module
or
to
connectedl, it
are
derived
be
derived
Description
Mnemonics
a
and
The
that
the
that
value
a (i:jl
index
path.
are
GND.
"pull
bussed
tran-
or
TABLE
Connector Position Number
1 2 3 4 5
6 7 8 9
10
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
26 -
32
III -MODULE
POSITION
ASSIGNMENTS IN NEST
Module
Memory Memory Memory Memory Memory Memory Memory 4-Kilobyte
ROM/RAM
Address Latch
Memory Bank Select
Blank
CPU
I/O
Terminal Interface
I/O I/O I/O I/O I/O I/O I/O I/O I/O
(Floppy Disk Interface) Control Power Supply
Bus Bus Bus Bus Bus Bus Bus
RAM
and
Decode
Bus Bus Bus Bus Bus Bus Bus Bus Bus
Part Number
CDP18S205 CDP18S401
CDP18S206
CDP18S102 CDP18S509 CDP18S507
CDP18S813 CDP18S103
Card Nest and Backplane
The
backplane
PC
board
mounted terconnects the pins of connector occupied with Table
III.
The are
numbered
of the
positions.
supplied
card
from
left
Card
Nest
is a double-sided
on
the
back
of the
CDS.
the
first 25 of
Some
of these positions
modules,
positions, viewed from
to
right.
the
33 available
as
indicated
the
It
in-
are
in
back,
The
backplane indicates pins, pins interconnected nected defined by an are
the following
interconnected
on
the
the
lillused pin,
interconnected.
WIrIng schedule in Appendix A
types
of connection: lillused
by
by a wire-wrap,
backplane
plugged-in
In
all cases, identically
The
but
module. A dash
backplane
printed
which
and
is
have
laid
wiring, pins
pins
named
out
not
con­meaning indicates
signals so
that
Loading...
+ 94 hidden pages