Cromemco BYTESAVER User manual

,--
FIVE
DOLLARS
...
--
- -
--
_.
--
- -
..
--
Ii
-
--
--
- -
--
- -
..
- -
-~
~
-
.-.~_-..
..
~_.~
..
.
_-
._...-
....
-
••
"
~
• n u
'"
• •
v."
i
i-
.-
I
II
,
,I,
I-
i
,.
r
",
_
..
- - .
...... __.
•
w.
,..
.•
"
U,..
..
[3
Cromemeo
lncorporal."
Speclallsls
In
compulil'.
and
pel"lpherals
2400
CH~RlESTON
AD~
MOUNTAIN
View,
C.o._

···v
BYTESAYER
INSTRUCTION
MANUAL.
eBytesaver
Assembly
eBytesaver
Parts
List
eBytemover
Software
e2708-2704
PROM
Data
eBytemover
Assembly
Listing
©Copyright 1977.
All
rights reserved.
C3
C
romemeo
incorporated
Specialists
in
computers
and
peripherals
.2400 CHARLESTON RD., MOUNTAIN VIEW, CA 94043

BYTESAVER
ASSEMBLY
-
~
:--=-
-:--~:-:_~
-
---------------------------------_
......
= - - - - -
~
-
...
-
~
~
Introduction
6. Install
the
p.c. board switch (SW1) in
the
upper
left
corner
of
the
p.c. board.
The
Cromemco
Bytesaver
is
a
read/write,
non-volatile
memory
board, plug
compatible
with
the
Standard-l
00
(S-100)
microcomputer
bus.
The
Bytesaver has
the
capacity
for eight
2708
U.V. erasable PROMs for afull
8K
bytes
of
memory.
The
Bytesaver
contains
an integral PROM
programmer
along with aDC-to-DC
supply
for generating
the
programming
voltage. Programming
is
accomplished by aseries
of
memory
write
operations
to
the
PROM being programmed.
Cromemco
provides
the
necessary programming software.
Our Bytemover
software,
described later
in
this
manual, allows
convenient
PROM programming using
your
computer's
front
panel sense switches
to
control
the
operation
(e.g.
to
select
one
of
the
eight PROMS
to
be programmed). Programming can also
be carried
out
using
the
l-80
Monitor
supplied with
our
l-80
CPU card and
our
l-80
microcomputer
system.
Assembl~
Instructions
The
Cromemco
Bytesaver™
kit
can be assembled
in
about
one
evening. All
components
are
mounted
on
the
component
side
of
the
p.c. board (the side
with
the
printed
legend) and
soldered on
the
opposite
side.
Be
sure
to
use high-quality, rosin
core
solder for
the
assembly and afine-tipped, low-wattage
soldering iron.
1.
Solder
the
10
14-pin
IC
sockets,
the
616-pin
IC
sockets
and
the
824-pin sockets in position.
7. Install
the
Cromemco
high-speed pulse
transformer
(Model
XT8K)
in
position
Tl.
Note
that
the
leads are asymmetrically
arranged so
there
is
only
one
possible
orientation.
8. Install IC14,
the
positive 12V regulator
IC.
Use a6-32
by
1/4"
screw and nut.
9. Initially install
the
heatsink
in
the
upper
right
corner
of
the
p.c.
board
by just starting
the
nuts
on
the
6-32 by
3/8"
screws.
Install IC12 and IC13
but
be sure
to
place
the
insulating washer
between IC13 and
the
heatsink_
The
nylon
screw
must
be used
to
secure IC13. It
is
important
that
the
screw be inserted from
the
p.c. board side so
the
screw head
is
against
the
foil side.
Be
aware
that
the
insulating washer may have
to
be
trimmed
with
a
pair
of
scissors
to
clear
the
protrusions
in
the
heatsink. Tighten
the
nuts on
the
screws
in
the
heatsink assembly
only
after
all
the
screws have been inserted.
Take
care
that
the
leads
of
the
voltage regulators
do
not
come
in
contact
with
the
sides
of
the
openings
in
the
heatsink. Although voltage regulators IC12,
IC13
and
IC14 may
look
similar,
they
are
not
interchangeable.
10. Install
three
jumper
wires
to
select
where
the
Bytesaver
is
to
reside in
memory.
Each
of
the
three
high-order address lines
(A15,
A14
and A13) may be tied
to
either
the
corresponding
"H"
or
"L"
terminal.
For
example,
in
order
for
the
Bytesaver
to
reside
in
the
top
8K
of
memory,
the
three
jumpers
should be in-
stalled
as
shown below:
3. Next, install
the
lN914
diodes.
We
recommend
that
no
diode
be installed in
the
diode
position
just
below
transistor
00.
Since we
recommend
that
the
PROM
containing
the
Bytemover
software
be inserted in PROM position zero, installing this
diode
may allow accidental programming
of
this PROM.
When installing
the
diodes, be careful
to
orient
them
pro-
perly, by noting
the
position
of
the
cathode
(banded) end. Due
to
the
close spacing
of
the
holes in
the
p.c.
board,
all diodes
should be
mounted
on
end.
Notes
This adjustment causes the Bytesaver to reside in the top 8K
of
the memory map.
HIO
LO
0
)A14
o
o
A15<OHI
OLO
OHI
A13<O
LO
o
Interrupts:
If
you
plan
to
have
your
computer
respond
to
interrupts
while
executing
aprogram
stored
in
the
Bytesaver
memory,
asmall modification
is
required
to
the
Bytesaver
circuit.
This
modification
is
shown in Note 1
on
the
Bytesaver
schematic.
Your
Bytesaver
is
now
fully assembled. Detailed
operating
in-
structions
are given
in
the
Bytemover
software
section
of
this
manual.
11. Install
the
ICs
in
their
sockets, being careful
to
orient
pin 1
of
each
IC
as
shown by
the
small
white
dot
on
the
p.c.
board
at
each
IC
position. Install aPROM
containing
the
Bytemover
software
in
PROM position zero.
R1
47K
yellow-violet-orange
R2 10K
brown-black-orange
R3
180
brown-gray-brown
R4
1K
brown-black-red
R5
9.1K
white-brown-red
R6
1.5K
brown-green-red
R7
1.2K
brown-red-red
R8 47
yellow-violet-black
R9
1K
brown-black-red
R10 10
brown-black-black
R11
5.6K green-blue-red
R12 5.6K green-blue-red
R13 10K
brown-black-orange
R14 5.6K green-blue-red
R15 180
brown-gray-brown
R16-R31 18K
brown-gray-orange
R32-R39 4.7K
yellow-violet-red
Solder
the
following %Watt resistors
in
position:
l~2.
5.
Solder
the
transistors
in
place taking care
to
orient
them
properly. Note
that
08
and
09
are
2N3906
transistors and
010
is
a
type
MPS6560. All
other
transistors are
type
2N3904.
4. Install
the
23
capacitors
as
shown on
the
p.c.
board.
Be
careful
to
orient
the
electrolytic capacitors with
the
positive
i'-'
(+)
end
as shown
on
the
board.
I
Wait
State:
Should
you
wish
to
use low speed
2704s
or
2708s
(access times greater
than
450
ns)
in
your
Bytesaver, be aware
there
is
aprovision
for
a
wait
state. Simply insert
the
jumper
wire between IC10
and
ICll.
No
jumper
need be inserted
when
using full speed PROMs.
Jumper
is
also required
for
4MHz
operation.
1
..

BYTESAVER
PARTS
LIST
-
::=
-...:.:.~
~
.....
--
--
-
....=.~
=-=-==-====="='='=='===
--
-------
----
---
----------------------------------...::::;::::
=
---
=='="=-
::=-~~
Programming
PROMs
PROM programming with
the
Bytesaver
is
carried
out
by a
sequence
of
memory write operations
to
the
Bytesaver card. A
sequence of approximately
100
memory write operations
is
required
to
write the data into each location
of
every PROM
that
you wish
to
program. This sequence
of
memory write oper-
ations
is
carried
out
automatically when using
the
special
instructions
of
Cromemco software. The Cromemco Z-80
Monitor,
the
Resident Operating System, and
the
3K Control
Basic Interpreter
all
have provision for PROM programming with
the
Bytesaver card.
If
your
computer
is
equipped with
front
panel sense switches,
our
Bytemover software can be used for
PROM programming. Operation
of
the
Bytemover software
is
described
in
the
next
section.
B~tesaver
Parts
List
Transistors
Integrated Circuits
IC1
74123
IC2 7474
IC3 7402
1C4
7406
IC5 7406
IC6 7402
IC7 '
..
7406
IC8 7442
IC9
74L04
IC10
7410
IC11 74LS04
IC12*
340T-5.0
or
7805
IC13*
320T-5.0
or
7905
IC14*
340T-12
or
7812
IC15 7432
or
74LS32
IC16 74367
IC17 74367
IC18 74367
IC19 74367
Miscellaneous
SW1. ............
...
p.c. board switch
T1
XT8K
pulse transformer
Hardware
36-32
by
3/8"
screws
1 ; 6-32
by
1/4"
screw
1* * 6-32
by
3/8"
nylon
screw
56-32 nuts
1Heatsink
1Insulating washer
Sockets
10 14-pin
616-pin
824-pin
·
2N3904
·
2N3906
................MPS6560
·
2N3904
Diodes
01-D19
1
N914
or
1N4531
Resistors
R1
47K
R2
10K
R3
180
R4
1K
R5 9.1 K
R6
1.5K
R7
1.2K
R8 47
R9
1K
R10
10
R11
5.6K
R12 '
5.6K
R13
10K
R14
5.6K
R15
180
R16-R31
18K
R32-39
A.7K
Capacitors
C1-C8
0.1
uF
C9-C15 10
uF,
50V
C16
005
C17
680
pF
C18
01
uF
C19
680
pF
C20
150
pF
C21-e23 0.1 uF
QO-Q7
.
aa,Q9
..
Q10
....
Q11,Q12
Notes
•
*The
three voltage regulator
ICs
OC12, IC13 &
IC14) may
look
physically similar, however
they
are
not
interchangeable. Each must
be
in
the
proper
IC
location.
*
*The
nylon
screw
is
used
to
secure IC13.
It
is
important
that
the
screw
be
inserted
from
the
p.c. board side
of
the
assembly
so
the
head
of
the screw
is
agai
nst the
foil
side
of
the board.
2

BYTEMOVER
SOFTWARE
--
--
...
..-..
...-.
.....
- -
---
- -
-
--
-
--
-
-----------
-::"":5
====~==5.e..:==
--------------------------------...;::::;:::'
-
~
--
~
~
...........
~
.----.
Introduetion
Step
B~
Step
Instruetions
1.
Before using
the
Bytesaver,
you
must
install
three
jumper
wires
to
set
the
location
of
Bytesaver
in
memory.
This adjust-
ment
is
shown
in
Figure
1.
The assembled Bytesaver comes with
A13, A14 and A15 each tied
to
the
corresponding
HI
pad
to
position
the
board
at
the
very
top
of
memory.
In
the
following
instructions it
is
assumed this
is
the
jumper
connection
used.
Cromemco
Bytemover software
is
designed
to
be used with
the
Cromemco
8K Bytesaver described. When you purchase
aBytesaver with
one
2708
PROM,
the
Bytemover software
is
preprogrammed
in
that
PROM.
The
PROM containing
the
Bytemover software
is
normally
inserted
into
PROM location zero
on
the
Bytesaver board.
The
Bytemover software can be used
to
program aPROM
in
any
of
the
PROM locations
on
the
Bytesaver board. The
By
ternover software can also be used
to
transfer programs from
PROM
to
RAM.
The
operation
of
the
Bytemover software
is
controlled by
setting
front
panel sense switches
on
any S-100 bus-compatible
computer.
However,
to
use
the
Bytemover software
there
must
be
at
least
one
RAM
board
in
the
computer
beginning
at
loca-
tion
zero
in
the
memory
map.
Furthermore,
this
RAM
board
must
be
unprotected
for
proper
execution
of
the
By
ternover
software.
A150
HIO
LOO
HIO
LOO
A130
EJ
HIO
D
A~~g
0
Programming
Partiall~
Filled
PROMs
Software
can
be loaded
into
a
2704
or
2708
in
as
small
in-
crements
as
you desire provided it
is
added
to
previously unused
areas
in
that
PROM.
This
is
done
by first using Bytemover
to
move
the
current
contents
of
the
PROM
down
to
RAM, adding
the
new software
to
an area
of
RAM
which corresponds
to
the
unused
portion
of
the
PROM and finally using
By
ternover again
to
re-program
the
PROM with
the
new software.
Although
the
entire
PROM
must
always be programmed, it
never hurts
to
re-write
the
same
information
over again. And,
of
course, an erased PROM in which
all
bits are
"1"
may be pro-
grammed
at
any
time.
In
general, it
is
OK
to
write a
"1"
over a
"1",
a
"0"
over a
"0",
or
a
"0"
over a
"1".
But
in
order
to
write a
"1"
over a
"0",
the
PROM
must
first be
completely
erased.
If
the
PROM
to
which you
want
to
add software
is
PROM
zero
on
the
Bytesaver
board,
turn
off
the
A.C.
power
to
the
computer
and install a 1N914
diode
just
below
00
(see step 3
of
the
Bytesaver assembly instructions).
Turn
the
power
back
on
and move Bytemover
down
to
RAM
zero by following Example 1.
Addthe
new software
to
an
area
of
RAM
which corresponds
to
an unused
portion
of
PROM
zero.Re-program PROM zero by following Example 4
of
this
manual. Note
that
you need
not
erase
the
PROM
to
do
this.
Turn
the
computer
power
off
and remove
the
1N914 diode
below
00.
PROM
Programming
Time
The
Bytesaver software supplied here
is
designed
to
pro-
gram aPROM
in
approximately
30
seconds.
We
have
found
that
this
is
generally asufficiently long period
of
programming time.
However-to
be
completely
within
the
manufacturer's
specifica-
tions-the
PROM should be programmed for 2
to
3minutes.
If you wish
to
program
your
PROMs for longer
than
30
sec-
~
onds,
the
Bytemover software may be easily modified. Simply
change
the
contents
of
location 77H from 40H
to
Oaf-,!.
Now
you
must
manually
time
the
programming
operation
and de-
press
the
stop
switch
at
the
end
of
the
operation.
3
FIGURE
1.
This
diagram
illustrates the positioning
of
the Byte-
saver address
in
memory. The preassembled Bytesaver comes
with A15, A
14
and A
13
connected to the corresponding HI
ter-
minals
so
memory address occurs when these lines
are
HI.
Any
or all
of
these address lines may be connected to the correspon-
ding LO terminal to move the memory board lower in memory.
Consequently, there
are
eight positions in which this board may
~d.
2.
Turn
off
all
power
to
the
computer
and plug
in
the
Byte-
saver board.
3.
Be
sure
the
program
power
on
the
Bytesaver
is
turned
off
(program
power
switch in
the
down
position).
4.
Turn
on
the
computer.
Raise
the
reset switch,
the
stop
switch and
then
raise
the
reset switch
once
again
to
initialize
the
computer.
5. Raise address switches A15, A14 and A13.
All
other
ad-
dress switches should be
in
the
down
position.
6. Raise
the
examine switch. You are now examining
the
con-
tents
of
the
first
byte
of
PROM
in
PROM location zero
of
the
Bytesaver
memory
board (memory location
340
000).
If
the
PROM supplied with
your
Bytesaver
is
in
this PROM location,
the
data
lights will read
"061,"the
first
byte
of
the
Bytemover
program.
Example 1: Transfer
the
Bytemover program from PROM
to
RAM
beginning
at
location zero
in
RAM.
1. Raise
the
reset switch.
2. Depress
the
unprotect
switch (on
the
Altair
front
panel).
3.
Raise A
15,
A14 and A13. Raise
the
examine switch.
The
data
lights shou
Id
read
"061"
octal.
4. Now set
the
sense switches for
the
task
to
be
done,
refering
to
Figure 2.
A15
Down
to
transfer from Prom
to
Ram.
A14 Down for
the
transfer
of
1K bytes.
A13 Down
All
down
since we are transferring from
the
A12
Down
A
11
Down PROM
that
contains
By
ternover (PROM 0).
A10
Down
A9 Down All
down
for storage
to
begin
at
location
A8 Down zero
in
RAM.

BYTEMOVER
SOFTWARE
-
==
:;-=--
-=~-~;:;-~
-
--------------------------------...;=
-
-.-..-
- -
~
~
~
~
-
~
~
A15
A14 A13 A12
A11
A10
A9
A8
0 0 000000
UP UP
LSB MSB
To
program aMSB LSB
For
a
7K
transfer.
PROM. PROM address
location
in incre- Selection
of
RAM
address
in
1K
DOWN DOWN
ments
of
1K
from
the PROM
in
increments.
To
movelfrom
which
Bytemover
is
stored.
PROM
to
RAM.
For
a 1K transfer.
FIGURE 2: Function
of
the sense switches in Bytemover.
5. Push
the
run switch.
In
less
than
one
second,
the
contents
of
PROM will be transfered
to
RAM. The
contents
of PROM are
unaffected by this operation.
6. Raise
the
stop
switch.
7. Raise
the
reset switch. Note
that
the
data
Iights read
"061".
Example 2: Program a
2708
PROM inserted
in
PROM location
one. This PROM
is
to
be programmed with
the
contents
of
the
first 1K bytes
of
RAM
beginning
at
location zero in memory.
The Bytesaver software
is
still
in
the
PROM installed
at
PROM
location zero
on
the
Bytesaver board.
1. Raise
the
reset switch.
2. Depress
the
unprotect
switch (on
the
Altair
front
panel).
3. Raise A15, A14 and A13. Raise
the
examine switch. The
data li.g\ts should read
'~061"
octal. .
4.
RaisE!
the
protel:t sWitch on
the
Bytsaver board (I.e. program
power switch
to
the
on position).
The
protect
light on
the
front
panel should go
off
when this switch
is
raised.
5. Now set
the
sense switches for
the
task
to
be done:
A15 Up
to
program aPROM.
A14 Down (always down
for
PROM programming).
A13 Down
To
select
the
PROM 1K higher
in
memory
A12 Down
-=i
All
Up
than
the
PROM
that
contains Bytemover.
Al0
Down
All
down
for transfer
to
begin
at
location
A9 Down
A8 Down zero
in
RAM.
6. Push
the
run switch. Note
that
panel light A9
is
blinking
at
a
rate
of
about
twice per second. When this light stops blinking,
the
PROM programming
is
complete.
7. Raise
the
stop
switch.
8. Now note
the
INTE light
on
the
front
panel. If this light
is
on,
the
Bytemover Verifier has verifed
that
the
contents
of
the
programmed PROM are indeed identical
to
the
contents
of
the
selected 1K bytes
of
RAM. If this light
is
off,
the
PROM has
not
programmed correctly. This could be due
to
adefective PROM.
4
Example 3: Altair 8K BASIC can be stored in seven
2708
PROMs. Given
that
these seven PROMs are
in
PROM locations
one through seven
of
the
Bytesaver board,
8K
BASIC can easily
be transferred into
RAM
using
the
following procedure:
1. Raise
the
reset switch.
2. Depress
the
unprotect
switch (on
the
Altair
front
panel).
3. Raise A15, A14 and A13. Raise
the
examine switch. The
"'-
~
data
lights should read
"061"
octal.
~
4. Now set
the
sense switches for
the
task
to
be
done:
A15 Down
to
transfer from PROM
to
RAM.
A14 Up for a7K transfer.
A13 Down
To
begin transfer from
the
PROM 1K higher
A12 Down
A11 Up in memory
than
the
Bytemover program.
A10 Down
All
down for storage
to
begin
at
location
A9 Down
A8 Down zero in RAM.
5. Push
the
run switch.
In
less
than
one second BASIC will be
loaded into
RAM
(it sure beats paper tape!). Now raise
the
stop
switch.
Example 4: If you
do
not
have Bytemover
in
PROM, you can
program aPROM with Bytemover
that
is
stored
in
RAM. The
Bytemover software (see listing) must first be loaded into
RAM
beginning
at
location zero
in
memory. The Bytemover software
can
then
be burned into aPROM using
the
following procedure:
1.
Raise
the
reset switch.
2. Depress
the
unprotect
switch (on
the
Altair
front
panel).
3. Insert an erased PROM
into
PROM location
zero.
4. Examine location
000
240
in
memory.
5. Raise
the
program power switch
on
the
Bytesaver board.
6.
Set
the
sense switches with A15. A14 and A13 up. .
7. Push
the
run switch. When light A9 stops blinking,
the
pro-
~
gramming
is
complete. The INTE light will be
on.
8.
Turn
off
PROM program power by depressing
the
switch on
the
Bytesaver.
•
'.

I I
Unprotect
position
(PROM can be
programmed).
Protect
Switch
Protect
position
(PROM
cannot
be
programmed).
I
¢:J
Increasing
memory
address.
FIGURE
3:
Bytesaver phsicallayout.
I
BYTEMOVER
SOFTWARE
-
-
-~
...
~
~---
.......
---
--
-
--
--
-
---------~----
-
--
------
-------
-----
-------
----
._-
-------------------------..-..;=
='
~
=:~
===-~~
Erasing PROMS: The 2704
and
2708 PROMs
are
erased
by
shining intense U.V. light through their quartz windows. One
such
U.V. source
is
available
for
$125
from
Prometrics, 5345
North
Kedzie Av., Chicago,
IL
60625.
B~temover
3.~
Oetal
Listing
061
000
000
301
321
0:56
311
363
34:5 34:5
000
000 000
061
004
000
31:5
000
000
061
002
000
341
061
004
000
325
30:5
371
016
000
131
1:51
_:?33
377
127
346
007 007
007
107
172
346
070
017
000
147
071
056
000
172
353 346
200
017
017
306
055
041
000 000
157
071
351
371
041
013
000
071
353
371
353
021
000 000
073
361
002
003 023
172
346
004
007 007
000
205
157
351
000
000
076
126
205
157
351
000
151
174
140
371
147
056
153
001
000 000 073
361
022
023 003
170
376
374
077
037
037
346
100
056
175
205
157
351
056
153
170
346
004
007
007
007
205
157
351
000 000 000
174
041
000
374
071
371
041
000'
374
031
353
147
056
153 170
346
370
306-010
107
351
333
377
107
346 340
036
000
113
127 170
346
037
107
147
056
140
35i~66
032
157
::p3
377 346
100
017 017
205
157
351
174
041
000
374
071
371
056
315
147
351
000 000
000
000
373
351
174
041
000
374
031
353
056
361
147
001
000 000
351
000
326
220
157
172
306
004
127
376
070
077 076 000
037
205
157
351
000 000
373
351
351
''-'
351
073
361
353
276
353
027
346
001
057 074
205
157
073
073
361
057
353
206
353
306
007
077
027
346
001
057
074
205
157
003 023
170
346
004
057 074
205
157
351
000 000
000
000 000 000 000 000
..
5

~-=.~---
-
---..=.~
...:B::..;y=--T::..:E::.M=O:....:V:....:E::.:R::....:.;A:.:S:..::S:::E:.:.M:=:B::.L=y....:L::.:I:.:S:...:T:...:I~N:...:G::..-:=;=
-==- __:
"=
n _
-d
..::...
0000
0000
*
BYTEMOVER
<T.
M.
)
SOFTWARE
FOR
,
0000
0001
*
CROMEMCO
BK
BYTESAVER
(T.
M.
)
"J
0000
0002
*VERSION
3.
I
0000
0003
*SELF-RELOCATING
SOFTWARE
LOCATABLE
AT
ANY
0000
0004
*
1024
BYTE
( I
K)
B~UNDARY
IN
MEMORY
0000 0009
*ROUTINE
TO
FIND ONESELF IN
MEMORY
0000 0010
SP
EGU
6
0000
0019
*DEFINE
FIRST
4BYTES IN
MEMORY
AS
STACII,
0000
31
00 00
0020
LXI
SP,
0
0003
0029
*
SAVE
FIRST
FOUR
BYTES IN REGISTERS
0003
CI
0030
POP
B
0004
DI
0040
POP D
0005
0049
*
REPLACE
BYTE
o
WITH
A'RETURN' ,
0005
2E C9
0050
MVI
L,
OC9H
J
0007
F3
0051
01
0008
E5
0060
PUSH
H
0009
E5
0070
PUSH H
OOOA
00
0080
NOP
OOOB
00
0081
NOP
OOOC
00
0082
NOP
0000
31
04 00
0090
LXI
SP.
4
0010
CD
00 00
0100
CALL
0
0013
0101
*
ROM
LOCATION
NOW
IN
BYTE
3
0013
31
02 00
0110
LXI
SP,
2
0016
EI
0120
POP
H
0017 0129
*
RETURN
BYTES
0-3
0017
31
04
00
0130
LXI
SP.4
~
OOIA
05
0140
PUSH 0
OOIB C5
0150
PUSH
B
OOIC
0159
*
STORE
ROM
LOCATION IN SP
OOIC
F9
0160
SPHL
0010
OE
00
0170
MVI
C, 0
OOIF
59
0180
MOV
E,C
0020
69
0190
MOV
L.
C
0021
0199
*INPUT SENSE
SW
COMMANDS
0021
DB
FF
0200
IN
255
0023
57
0210
MQV
D,A
0024
0219
*
STRIP
RAM
ADDRESS
0024
E6
07
0220
ANI
7
0026
07
0230
RLC
0027
07
0240
RLC
0028
0249
*STORE
RAM
ADDRESS
IN
BC
0028
47
0250
MOV
B.A
0029
7A
0260
MOV
A.D
002A
0269
*
STfHP
ROM
ADDRESS
002A
E6
38
0270
ANI
56
J
002C
OF
0280
RRC
0020
00
0290
NOP
,
002E
67
0300
MOV
H.A
002F
39
0310
DAD
SP
0030
2E
00
0320
MVI
L, 0
0032
7A
0330
MOV
A,D
0033
EB
0340
XCHG
0034
0341
*
ADDRESS
OF
ROM
BEING PROCESSED IN
DE
0034 0349
*
BRANCH
TO
TRANSFER
DR
PROGRAM
ROUTINE
6

-=B:..:Y:...:T:..:E::.:M=O~V-=E::R::..A:.=::::S.::S=E::.:M::B:::L::.:Y=-=L:=.'=.S.=.T::.:'N:..:..::G--.:=~-
:
=-
~
::::
=
.:
::
==
..:
-=-
ANI
128
RRC
RRC
ADI
45
LXI
H.
0
MOV
L.A
DAD
SP
PCHL
*
ROUTINE
TO
TRANSFER
ROM
TO
RAM
SPHL
LX
I
H.
11
DAD
SP
XCHG
SPHL
STACK
CONTAINS
ROM
LOCATION
XCHG
H&L
CONTAIN
LOOP
ADDRESS
LXI
D.
0
*START
OF
TRANSFER
LOOP
*
INCREMENT
ROM
ADDRESS
DCX
SP
*
MOVE
DATA
FROM
ROM
TO
RAM
POP
6
STAX
B
*
INCREMENT
RAM
ADDRESS
INX
B
*
INCREMENT
BYTE
COUNT
INX
D
MOV
A.D
ANI
4
RLC
RLC
NoP
ADD
L
MoV
L.A
PCHL
NoP
NoP
JUMP
TO
OOBI
FROM
TRANSFER
ROUTINE
MVI
A.
56H
ADD
L
MOV
L.
A
PCHL
*
ROUTINE
TO
PROGRAM
ROM
NDP
*
MOVE
RAM
ADDRESS
INTO
HL
MOV
L,e
MDV
A.H
MDV
H.
B
*MOVE
RAM
ADDRESS
INTO
SP
SPHL
MDV
H.A
MVI
L.
107
*
INCREMENT
RAM
ADDRESS
LXI
B.
0
*
INCREMENT
RAM
ADDRESS
DCX
SP
*
USE
STAX
AND
POP
6(PSW)
0350
0360
0370
0380
0390
0400
0410
0420
0500
0510
0520
0530
0550
0560
0570
0580
0588
0589
0590
0599
0600
0610
0619
0620
0629
0630
0640
0650
0660
0670
0680
0690
0700
0710
0716
0717
0719
*
0720
0725
0730
0740
1000
1010
1019
1020
1030
1040
1049
1050
1060
1070
1079
1080
1089
1090
1098
0034
E6
80
0036
OF
0037
OF
0038
C6
2D
003A
21
00 00
003D
6F
003E
39
003F
E9
0040
0040
F9
0041
21
OB
00
0044
39
0045
EB
0046
F9
0047
EB
0048
11
00 00
004B
004B
004B
3B
004C
004C
Fl
004D
02
004E
004E
03
004F
004F
13
0050
7A
0051
E6
04
0053
07
0054
07
0055
00
0056
85
0057
6F
0058
E9
0059
00
005A
00
005B
005B
3E
56
005D
85
005E
6F
005F
E9
0060
0060
00
0061
0061
69
0062
7C
0063
60
0064
0064
F9
0065
67
0066
2E 6B
0068
0068
01
00 00
006B
006B
3B
006C
7

I
-
.:._-
-
---
-
---
--
..:B:..:Y:...:T:..:E::.:M=O~V..:E::B::....::A:.:S:..::S:..::E:::M.:.:B::.:L=.Y=---=L::':..::S:...:T:..::'.:.:N:...:G=----a-~-
:-
--==;
=-
===
~=-
•
•
•
VERSION
OVERFLOW
ROM
ADDRESS
I
BYTE
COUNT
TO
1090
UNLESS
TO
1380
FOR
SUBTRACTION
FOR
QUITS
*
TO
MOVE
DATA
FROM
ROM
TO
RAM
POP
6
STAX
D
*INCREMENT
INX
D
*
INCREMENT
INX
B
*BSTORES
TWO
CONSTANTS
*#
COMPLETE
PASSES &IN
ROM
CNT
MOV
A.B
*#PASSES =
32
?
CPI
252
CMC
RAR
RAR
*SET
64
TO
0
FOR
TWO
MINUTE
TIMER
ANI
64
*A=64
IF
COMPLETED
32
PASSES
MVI
L.
7DH
ADD
L
MOV
L.A
PCHL
MVI
L.
6BH
MOV
A.B
ANI
4
*A=4
IF
END
OF
1024
BYTE
PASS
RLC
RLC
RLC
ADD
L
MOV
L.
A
*
GO
BACK
*
THEN
GO
*
ADDRESS
*
DR
2135
PCHL
NOP
NOP
NOP
*
ANOTHER
PROGRAM
PASS
TO
BE
DONE
*ADJUST
ROM
AND
RAM
ADDRESSES
MOV
A.H
LXI H;
64512
*
SUBTRACT
1024
FROM
ROM
ADDRESS
DAD
SP
SPHL
LXI
H.
64512
*
SUBTRACT
1024
FROM
RAM
ADDRESS
DAD
D
XCHG
MOV
H.A
MVI
L.
107
MOV
A,B
ANI
248
*
INCREMENT
PASS
CONTER
BY
ONE
ADI
8
1099
1100
1110
1119
1120
1129
1130
1138
1139
1140
1149
!l50
1160
1170
1180
1198
1200
1201
1205
1210
1220
1225
1226
1230
1240
1241
1250
1260
1270
1280
1290
1291
1292
1293
1294
1300
1350
1360
1370
1378
1379
1380
1390
1399
1400
1410
1420
1429
1430
1440
1450
1460
1470
1480
1489
1490
006C
006C
Fl
006D
12
006E
DObE
13
006F
006F
03
0070
0070
0070
78
0071
0071
FE
FC
0073
3F
0074
IF
0075
IF
0076
0076
E6
40
0078
0078
2E
7D
007A
85
007B
6F
007C
E9
007D
2E 6B
007F
78
0080
E6
04
0082
0082
07
0083
07
0084
07
0085
85
0086
6F
0087
0087
0087
0087
0087
E9
0088
00
0089
00
008A
00
008B
008B
008B
7C
008C
21
00
FC
008F
008F
39
0090
F9
0091
21
00
FC
0094
0094
19
0095
EB
0096
67
0097
2E
6B
0099
78
009A
E6
F8
009C
009C
C6
08
8

--'-
BYTEMOVER
ASSEMBLY
LISTING
=-;=-:-
===~:::.:
009E
47
1495
MOV
B,A
009F
1499
*
GO
BACK
TO
1090
.'V
009F
E9
1500
PCHL
OOAO
2000
*ROUTINE
TO
LOAD
BYEMOVER
INTO
ROM
OOAO
DB
FF
2010
IN
255
00A2
47
2020
MOV
B.A
00A3
E6
EO
2030
ANI
224
00A5
IE
00
2040
MVI
E. 0
00A7
4B
2050
MOV
C.E
00A8
57
2060
MOV
D.A
00A9
78
2070
MOV
A.B
IOOAA E6
IF
2080
ANI
31
OOAC
47
2090
MOV
B.A
I
OOAD
67
2100
MOV
H.A
OOAE
2E
60
2110
MVI
L.
96
OOBO
E9
2120
PCHL
OOBI
2121
*
CHECK
FOR
7K
TRANSFER
OF
ROM
TO
RAM
OOBI
C6 lA
2122
ADI
lAH
00B3
6F
2123
MOV
L.A
00B4
DB
FF
2124
IN
255
00B6
E6
40
2125
ANI
64
00B8
OF
2126
RRC
00B9
OF
2127
RRC
OOBA
85
2128
ADD
L
OOBe
6F
2129
MOV
L.
A
ooec
E9
2130
PCHL
OOeD
2133
*
PROGRAMMER
VERIFICATION
ROUTINE
OOeD
2134
*
PART
1
OOeD
7C
2135
MOV
A.H
OOeE 21
00
FC
2145
LXI
H.
64512
OOCI
39
2155
DAD
SP
00C2
F9
2165
SPHL
00C3
2E
CD
2175
MVI
L.
OCDH
00C5
67
2185
MOV
H.A
00C6
E9
2195
PCHL
00C7
00
2205
NOP
00C8
00
2210
NOP
00C9
00
2215
NOP
OOCA
00
2220
NOP
OOCB
2229
*ROM
TO
RAM
TRANSFER
STOP
ROUTINE
ooce
Fe
2230
EI
OOCC
E9
2240
PCHL
OOCD
2248
*
PROGRAMMER
VERIFICATION ROUTINE
OOCD
2249
*
PART
2
OOCD
7C
2250
MOV
A.H
OOCE
21
00
FC
2260
LXI
H.64512
0001
19
2270
DAD
0
0002
Ee
2280
XCHG
0003
2E
Fl
2290
MVI
L. OFIH
0005
67
2300
MOV
H.A
0006
01
00
00
2310
LXI
e.
0
0009
E9
2320
PCHL
OODA
00
2625
NOP
OODe
2629
*
7K
TRANSFER
COMPLETI
ON
CHECK
OODe
06
90
2630
SUI 90H
0000
6F
2640
MOV
L.A
9

--'-
BYTEMOVER
ASSEMBLY
LISTING
--------
----
--
5-=
===
-:--
~--
-
----------
OODE
7A
2650
MOV
A,D
OODF
C6
04
2660
ADI
4
00E1
57
2670
MOV
D,A
00E2
FE
38
2680
CPI
56
00E4
3F
2685
CMC
00E5
3E
00
2690
MVI
A,
0
00E7
IF
2700
RAR
00E8
85
2710
ADD
L
00E9
6F
2720
MOV
L,A
OOEA
E9
2730
PCHL
OOEB
2879
*
ROM
PROGRAMMER
STOP
ROUTINE
OOEB
00
2880
NOP
OOEC
00
2881
NOP
•
OOED
FB
2885
EI
OOEE
E9
2890
PCHL
OOEF
E9
2900
PCHL
OOFO
E9
2906
PCHL
OOFl
2918
*
PROGRAMMER
VERIFICATION ROUTINE
00F1
2919
*PART 3
00F1
3B
2920
DCX
SP
00F2
F1
2930
PDP
6
00F3
EB
2940
XCHG
00F4
2949
*
COMPARE
FOR
GREATER
00F4
BE
2950
CMP
M
00F5
EB
2960
XCHG
00F6
17
2970
RAL
00F7
E6
01
3000
ANI
1
00F9
2F
3010
CMA
OOFA
3C
3011
INR
A
OOFB
85
3015
ADD
L
OOFC
6F
3020
MOV
LA
OOFD
3B
3030
DCX
SP
OOFE
3B
3040
DCX
SP •
OOFF
3050
*
COMPARE
FOR
LESSER
OOFF
F1
3055
PDP
6
0100
2F
3056
CMA
0101
EB
3058
XCHG
0102
86
3059
ADD
M
0103
EB
3060
XCHG
0104
C6
07
3061
ADI
A.
1
0106
3F
3065
CMC
0107
17
3070
RAL
0108
E6
01
3090
ANI
1
010A
2F
3100
CMA
010B
3C
3101
INR
A
010C
85
3105
AOD
L
010D
6F
3110
MOV
LA
010E
03
3130
INX
B
010F
13
3140
INX
D
0110
78
3150
MOV
A,
B
0111
E6
04
3180
ANI
4
0113
2F
3190
CMA
0114
3C
3191
INR
A
~
0115
85
3195
ADD
L
0116
6F
3200
MDV
L.
A
0117
E9
3210
PCHL
10

2708-2704
PROM
DATA
-
=:
-.:.:.-=..
~--
-
--
-
-=-~
=--=====.=====.:=-
--------------------------------
.....
;;;;::: -
~
---
~
~
~
......
~
~
BLOCK
DIAGRAM
DATA
OUTPUT
0,
.Os
I
-
-
CsIWE-
AO·Ag
ADDRESS
INPUTS
CHIP SELECT
LOGIC OUTPUT BUFFERS
Y
DECODER YGATING
.
X
64
X128
DECODER
ROM
ARRAY
IPIN NAMES
ADDRESS INPUTS
DATA
OUTPUTS
CHIP SELECTIWRITE ENABLE INPUT
READ
OPERATION
DC
€:I
Operating
Charaeteristies
TA
=
o°c
to
70°C, Vee =
+5V
±5%,
Voo
=
+12V
±5%,
VBB
=
-5V
±5%, Vss =
OV,
Unless Otherwise Noted.
Symbol Parameter Min. Typ.l1] Max.
Unit
Conditions
III
Address
and
Chip Select
Input
Load Current 10
fJA
VIN
=5.25V
ILO
Output
Leakage Current 10
fJA
V
OUT
=5.25V, CS/WE =5V
100
Voo
Supply Current 50
65
rnA Worst
Case
Supply Currents:
lee Vee Supply Current 610 rnA
All
Inputs High
IB
BV
BB
Supply Current 30 45 rnA
CS/WE
=5V;
TA
=
O°C
V
1L
Input
Low
Voltage Vss 0.65 V
V1H
Input
High Voltage 3.0 Vee+1 V
VOL
Output
Low
Voltage 0.45 V
IOL
=1.6rnA
VOH1
Output
High Voltage 3.7 V
IOH
=-100fJA
VOH2
Output
High Voltage 2.4 V
·IOH
=
-lrnA
Po Power Dissipation 800
rnW
TA
=70°C
NOTES:
1.
Typical
values are
for
TA =250eand
nominal
supply
voltages.
2.
The
program
input
(Pin 18)
may
be
tied
to
VSS
or
Vee
during
the
read
mode.
11

2708-2704
PROM
DATA
I
II
'I
Ii
I
!
i
---
...
~~--
--
-
--
-
--
--
--
-
------~----
=--==
======
===.5.:::=
--------------------------------....;::;:;:::'
---- -
~
---
~
~
Waveforms
(Logic
levels
and
timing
reference
levels
same
as
in
the
Read
Mode
unless
noted
otherwise.)
Program
Mode
CS/WE =
+12V
ADDRESS 0
I----------------ONE
PROGRAM
LOOP
------------
---
1
x
'-------_w-
.
~DDRESS
1023
A.....-
26V
ADDRESS
PROGRAM
PULSE
OV------...II
"""
'
Read/Program/Read
Transitions
ADDRESS
CSIWE
o
26V
PROGRAM
PULSE
0--+---------'1
DATA
o,-Os
DATA
OUT
VALID
I--
ilOS
DATA
IN
VALID
DATA
IN
VALID
DATA
OUT
VALID
12

2708-2704
PROM
DATA
-
----....-..._--
----
--
-
--
--
--
=-===-==-====~=
--------------------------------
.........
;::::-
-----
~
---
~
~
AC
Charaeteristies
TA
=
O°C
to
70°C, V
CC
=
+5V
±5%,
VO
O=
+12V
±5%.
VBB
=
-5V
±5%,
VSS
=OV. Unless Otherwise Noted.
Symbol Parameter
Min.
Typ.
Max.
Unit
tACC Address
to
Output
Delay 280 450
ns
tco
Chip Select
to
Output
Delay 120
ns
tOF Chip De-Select
to
Output
Float
0120
ns
tOH Address
to
Output
Hold
0
ns
Capacitance!1] TA=25°C. f= 1
MHz
Symbol Parameter
Typ.
Max.
Unit
Conditions
CIN
I
nput
Capacitance 46pF VIN=OV
COUT
Output
Capacitance 812 pF VOUT=OV
Waveforms
Note
1. This
parameter
is
periodically sampled
and
not
100% tested.
ADDRESS
-----X-----------------X----------
(Nominal supply voltages unless otherwise
noted):
100
ALL
POSSIBLE OPERATING
CONDITIONS:
Vee =5.25V
VOO =12.6V
V
BB
'
-5.25V
RANGE
OF
SUPPLY
CURRENTS
VS.
TEMPERATURE
Or:::::::::·:····
~~~
o20 40 60 80
80
,----,-----,----,------,-----,
C
E
~
2
w
a::
a::
::l
CJ
>
..J
...
...
::l
CIl
500
400300200
ACCESS
TIME
VS.
LOAD CAPACITANCE
100
TA•
2~OC
---
-
~
~
-
oo
400
100
300
~
-:,
200
u
.....
1.0.8
.6
--SPEC
Typieal
Charaeteristies
I I
1
1--'oH-1
i \ ) :
I
\,;,.
-J.
I 1
I
~
teo
------I
II
,_t
OF _
1-010>-----
tACC
..
I I
1l1!i~~~Jii:i.;~
JEal
.4
DATA
OUT
C.S.fWE
OUTPUT
SINK CURRENT
VS.
OUTPUT
VOLTAGE
.2
10
V
CC
=4.75V
8
TA=O°c
TA'25°C
6TA=70°C
C
E
1>
4
VOL
(VQLTS) CL
(pF)
13

Z708-Z704
PROM
DATA
ACCESS
TIME
VS.
TEMPERATURE
MAXIMUM
JUNCTION
TEMPERATURE
VS.
AMBIENT
TEMPERATURE
1TTL
LOAD
+
1JPF
.---
---
.----
-
--
500
400
300
200
100
o
-20 o
20
40 60 80
150,-----r----r----r----,
100
1----cJ....-'=----j-----j-----1
501----j-----j-----j-----1
O'--
L-
-'--
L-----J
o20 40 60 70
PROGRAMMING
OPERATION
Deseription
Initially, and
after
each erasure,
all
bits
of
the
2708/2704
are
in
the
"1"
state
(Output
High). Information
is
introduced
by select-
ively programming
"0"
into
the
desired
bit
locations.
The
circuit
is
set
up
for programming
operation
by raising
the
CS/WE
input
(Pin 20)
to
+12V.
The
word address
is
selected
in
the
same
manner
as in
the
read mode. Data
to
be programmed are presented, 8-bits
in
parallel,
to
the
data
output
lines
(0
1
-08).
Logic levels for address and
data
lines
and
the
supply voltages are
the
same as for
the
read mode.
After
address and
data
set
up
one
program pulse (Vp) per address
is
applied
to
the
program
input
(Pin 18). One pass
through
all
addresses
to
be programmed
is
defined as aprogram loop.
The
number
of
loops (N) required
is
a
function
of
the
program pulse
width
{tpw) according
to
N x tpw ~
100
ms.
For
program verification, program loops may be alternated
as
shown on page 12.
Program
Charaeteristies
TA
=25°C, Vcc =+5V ±5%, Voo =+12V ±5%, V
ss
=
-5V
±5%, Vss =
OV,
CS/WE =+12V, Unless Otherwise Noted.
Symbol
Parameter Min. Typ. Max. Units
tAS Address
Setup
Time
10
IJ.s
tcss
CS/WE
Setup
Time 10
IJ.s
tos
Data
Setup
Time 10
IJ.s
tAH
Address Hold
Time
1
IJ.s
tCH
CS/WE Hold Time .5
IJ.s
tOH
Data Hold
Time
1
IJ.s
tOF Chip Deselect
to
Output
Float
Delay 0
120
ns
tOPR
Program
To
Read Delay
10
IJ.s
tpw Program Pulse Width
.1
1.0
ms
tPR Program Pulse Rise
Time
.5
2.0
IJ.s
tpF Program Pulse Fall Time .5
2.0
IJ.s
Ip
Programming
Current
10
20
mA
Vp
Program Pulse
Amplitude
25
27 V
14
This manual produced
by
Laurel Publications (408) 353-3609.

•
-
,
--./
,
Warrant31
Your factory-built Bytesaver
is
warranted against defects
in
materials
and workmanship for aperiod
of
90
days from
the
date
of
delivery.
We
will repair
or
replace
products
that
prove
to
be defective during
the
warranty period provided
that
they
are
returned
to
Cromemco.
No
other
warranty
is
expressed
or
implied.
We
are
not
liable for
consequential damages.
Should
your
factory-built
Bytesaver fail after the warranty period it
will
be
repaired, provided
that
it
is
returned
to
Cromemco, for a
fixed service fee.
We
reserve
the
right
to
refuse
to
repair any product
that
in our opinion
has
been
subject
to
abnormal electrical or
mechanical abuse. The service fee
is
currently
$35
and
is
subject
to
change.
Your assembled Bytesaver kit will be repaired, provided
that
it
is
re-
turned
to
Cromemco, for afixed service fee.
We
reserve the right
to
refuse repair
of
any kit
that
in
our
opinion has
not
been assembled
in
aworkmanlike manner
or
has been subject
to
abnormal electrical
or
mechanical abuse. Payment
of
the service fee must accompany
the
returned merchandise. The service fee
is
currently
$35
and
is
subject
to
change.

....
It.
lit
Its
',11l
~-i~
__
-'---+----+---'--+--~(+JOV
MGUlATEO)
t------.----------I
......
--~O
+IIV
C.
1-'0.I~F
":'
It?
III
[!J
II
1
re.
rell
":'
lO~f
':'
tO~f
.,
...-
~
"8
-
AO -
AI
-
AI
81
~
AS
SI
A4
'iO
~
AS
II
..
t:-
Al
~
....
nl
!~
.•
,
~~~?;~
"
II
S
~
18.
II
5 4
J.-!DI~---ilAlt.
.---,1
root
~18.
~
+5
........
I
........
........
I
"""J
VI
VI
~
~
~
H
4.
Q.
I4
Q.
5'
0...
.....
211II04
ZII.cM
~
=..
IC
18.
181l
=-
'=
':"
~
8
IA
I
~'"
A
~.
AI
.......
r-ot
root
~I.
~
181C
18k
~
••
+5
+5 +5
n
AIO»
I,
~2=---
____
All
T " 9
J-g.
1
_
2__
• I
I!...-
':" Z
e-
0,1,,'
".
10.
+5
.-l-~II~_-
.....
_I
...
~:IC
4o!...
J
74:U
74~4
-.
.!..-7poo--
~
+5
'.1--
~
..
I 4 Q
~,
I
74.23
It.
"'-II
14rl
leo
MWltlTE
"I--~''''A.r--l''''''-I~!--
C
..
=-r
0,oos",
Cll'
51O
P
'1
':'
':'
~"I
411C
II
10
II
~
AI'
.,
5 9 II
~
"HooZ
1
11545171
~
7442
1
II
II
..
15
II
,
4
.J:
l-
+5
-
I.

Table of contents
Other Cromemco Computer Hardware manuals

Cromemco
Cromemco BIART User manual

Cromemco
Cromemco ZPU User manual

Cromemco
Cromemco 64KZ User manual

Cromemco
Cromemco 32K Bytesaver User manual

Cromemco
Cromemco Dazzler User manual

Cromemco
Cromemco 299B User manual

Cromemco
Cromemco D+7A I/O User manual

Cromemco
Cromemco Multi-User BASIC User manual

Cromemco
Cromemco Z80 User manual