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 halfterface
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
CDRCAin
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
terFor
I
t
•
1£
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