************************************************
* *
* PROMENADE C1 PROFESSIONAL EPROM PROGRAMMER *
* *
* For the COMMODORE 64 and 128 *
* *
* With PROMOS 2.0 Operating System Software *
* *
************************************************
Notes: This document is a copy of the manual
that came with a product once made by the
Jason-Ranheim company of Auburn, California,
USA. Ward Shrake spoke to the head of said
company on January 23, 1999 via telephone.
Ward asked for permission to put the manual
into electronically-readable form, and to be
allowed to make it freely available on the
Internet. Ward was given permission to do
these things. The Jason-Ranheim company no
longer sells or supports Commodore products.
As such, they saw no harm in allowing their
copyrighted materials be used in this way by
people who still have access to the PROMENADE.
(Their main concern was that I release the
most recent software version; "PROMOS 2.0".)
For the most part, this is a verbatim copy of
the "PROMENADE C1 with PROMOS 2.0" user manual.
The only significant changes (beyond simple
reformatting of the text as appropriate) are
noted here or in the body of the document. (For
instance, the address of the Jason-Ranheim
Company shown within is the one current as of
23 January 1999, and Ward added "Appendix C"
to duplicate pinouts found in the original.)
I kept my commentary to an absolute minimum,
and when I did comment, marked it [like this].
Other than these minor alterations, Ward made
every reasonable effort to closely reproduce
the original manual in every way. Although he
worked diligently to insure an accuracy copy
was made, Ward disclaims any responsibility for
anything that might happen as a result of the
use of the information found in this document.
(I transcribed this text for free simply as an
act of kindness and to preserve some history,
so PLEASE don't give me any hassle over it!?)
Note that the Jason-Ranheim Company no longer
supports this product in any way, other than
to allow non-profit distribution of this text.
Please do not pester them about this product
or any other Commodore 8-bit product! (However,
I bet they'd love to hear from folks who are
interested in their current product line?)
-- Ward Shrake
February 4, 1999
[End of commentary, start of original document's text.]
This manual and the PROMOS 2.0 software program are COPYRIGHT (C)
1988 by J. W. Ranheim. All rights are reserved. Neither this
manual nor the PROMOS 2.0 program may be copied, reproduced,
transferred, transmitted, disclosed or reduced to machine-
readable form including magnetic or other storage media, without
the prior written consent of the copyright owner, except that a
reasonable number of archival copies of the PROMOS 2.0 software
program may be made by the purchaser for his own exclusive
personal use.
PROMENADE, PROMENADE C1, PROMOS, and PROMOS 2.0 are trademarks of
Jason-Ranheim Company.
LIMITED WARRANTY
JASON-RANHEIM COMPANY warrants to the ORIGINAL PURCHASER of these
products that they are free from defects in materials and
workmanship for a period of ninety (90) days from the date of
purchase. These Jason-Ranheim Company products are sold 'AS IS'
without express or implied warranty of any kind, and Jason-
Ranheim Company is not liable for any losses or damages of any
kind resulting from the use of these products. Jason-Ranheim
Company agrees for a period of ninety (90) days to repair or
replace, at its option, free of charge, any Jason-Ranheim Company
product, postage paid, with proof of the date of purchase at its
Factory Service Center. This warranty is not applicable to normal
wear and tear. This warranty shall not be applicable and shall be
void if the defect in the Jason-Ranheim Company product has
arisen through abuse, unreasonable use, mistreatment or neglect.
This warranty is in lieu of all other express warranties and no
other representation or claims of any nature shall be binding on
or obligate Jason-Ranheim Company. Any implied warranties
applicable to these products including Warranties of
merchantability and fitness for a particular purpose are limited
to the ninety (90) day period described above. In no event will
Jason-Ranheim Company, its officers, employees, agents,
successors or assigns be liable for any special, incidental, or
consequential damage resulting from the possession, use or
malfunction of these Jason-Ranheim Company products.
JASON-RANHEIM COMPANY
3105 Gayle Lane
Auburn, Calif. 95602
(530) 878-0785
[Current info as of Jan 1999]
TABLE OF CONTENTS
INTRODUCTION
GETTING STARTED
HANDLING EPROM's
HEXADECIMAL NOTATION
EPROM'S
ENTERING PROMOS 2.0 COMMANDS
MULTIPLE COMMANDS
ERRORS
PROMOS 2.0 COMMANDS
G COMMAND
R COMMAND
CHECKSUMS AND HASHTOTALS
WHERE TO PUT THE DATA
B COMMAND
HON BIG A RANGE?
M COMMAND
CHANGING RAM DATA
I COMMAND
F COMMAND
T COMMAND
C COMMAND
H COMMAND
D COMMAND
A COMMAND
E COMMAND
P COMMAND
PROGRAMMING ERRORS
V COMMAND
COPYING EPROMS
S COMMAND
L COMMAND
Q COMMAND
Z COMMAND
SPECIAL EPROM'S
USING PROMOS COMMANDS IN A BASIC PROGRAM
SIMPLE SAMPLE PROGRAM
USING BASIC VARIABLES
SETTING UP A RAM BUFFER
ONE FURTHER POINT
WHERE'S PROMOS?
TROUBLESHOOTING
APPENDIX A -- The Control Word
APPENDIX B -- The Program Method Word
APPENDIX C -- Pinout Diagrams for various EPROM chips
APPENDIX D -- Table of Control and Program Method Words
INTRODUCTION
The acronym EPROM stands for Eraseable, Programmable,
Read Only Memory. It refers to another of those electronic
marvels that came out of INTEL Corp. in the mid seventies. A
memory chip that the user can program to contain any sort of
digital information whatsoever. And even better, a chip that can
be erased by simple exposure to ultra-violet light and reused
many times. With these abilities, it is no wonder that EPROM's
are produced in such tremendous quantities. The dollar volume is
exceeded only by that of dynamic RAM's.
With the tremendous proliferation of types and sizes,
programming an EPROM became a very complicated undertaking. Many
EPROM programming devices were designed to handle just a single
EPROM type; and those that could do more required setting a
multitude of switches or plugging in a 'personality module'. Some
even required a voltmeter to set up. Programming an EPROM could
easlIy take an entire afternoon. That unhappy situation suddenly
changed with the introduction of the PROMENADE C1.
By combining some sophisticated hardware with the power
of an inexpensive personal computer, the PROMENADE makes the job
almost trivial. And with new programming techniques the PROMENADE
cuts the time required to duplicate an EPROM from many minutes to
just seconds. With all of its features and capabilities, the
PROMENADE has set the standard for EPROM programmers all around
the world. It has been widely imitated, even copied exactly; but
its most important attribute has never been duplicated -- VALUE.
But even the best products can be improved, and with the
introduction of PROMOS 2.0 the PROMENADE is made even better.
Simple, yet powerful commands for the manipulation of data in the
computer and for moving that data to and from EPROM's, disk
drives and the like give performance and ease of use that have
never before been achieved. Even better, these commands can be
incorporated into BASIC programs that let the user customize his
system to any EPROM programming application.
The user is strongly urged to read this manual carefully
and to thoroughly familiarize himself with the material. An hour
or two spent this way will be repaid many times over.
JASON-RANHEIM COMPANY
Auburn, California
November, 1988
GETTING STARTED
With the power OFF, plug your PROMENADE into the user
port at the left rear of your COMMODORE 64 or 128. Install the
PROMOS 2.0 diskette in your 1541, 1571 or 1581 disk drive. Turn
ON your computer. If you are in 128 mode, the software will load
automatically. If in 64 mode, type:
LOAD "P*",8,1 (CR)
The (CR) above means 'type a carriage return'.
You will shortly see a brief sign-on message and
copyright notice. At this point, your system is ready.
HANDLING EPROMS
EPROM's need to be handled with reasonable care if one is
to avoid irretrievable damage to them. They are very susceptible
to static electricity. This can be a problem in a cold, dry
climate in the wintertime. Always discharge yourself by touching
a grounded object before handling them. The aluminum case of the
PROMENADE itself is convenient for this purpose.
To install an EPROM in the PROMENADE socket, RAISE the
operating lever, drop the EPROM into place and then close the
socket by moving the lever down to the case as far as it will go.
NOTE -- EPROM's having 24 pins (e.g. 2716, 2732) use the RIGHTMOST
24 socket positions. Twenty eight pin EPROM's occupy the entire
socket. MAKE SURE the orientation notch points to the LEFT as the
figure on the top of the cover indicates.
NOW TO INSURE PROPER ELECTRICAL CONNECTION to all pins of
the EPROM, move the EPROM from side to side slightly by forcing
it with the thumbs. This may take quite a bit of force. Doing
this becomes habitual after a while. The objective here is to
have the contacts in the socket cut through any tarnish films
which might otherwise prevent proper operation.
HEXADECIMAL NOTATION
If you are already familiar with HEX notation, skip this
section. If not, you will need to spend a little effort at this
point to aquaint yourself with a very useful idea.
In the world of EPROM's and computers, information is
conveyed in little units known as 'BITS'. A bit can have one of
two values. The meaning we associate with these values can be
anything capable of expression as a 'binary' or two-valued entity.
For example, a statement can be either TRUE or FALSE. A light is
either ON or OFF. In your computer, a bit is represented by the
voltage on a wire: it is either HIGH (near 5 volts) or LOW (near
0 volts). The high value we associate with the symbol '1'. The
low value we associate with the symbol '0'. In order to represent
members of larger collections of objects -- letters of the alpha-
bet, for example, or large numbers, binary digits must be grouped
together.
Four binary digits taken together can represent 16
different objects. (Two to the 4th power.) Eight binary digits
taken together form a unit called a 'BYTE' in computerese. A byte
can stand for any one of two to the 8th power (or 256) different
objects. Your computer deals In 'BYTE' sized information units.
Data flows from one part of your machine to another along eight
wires called the data bus -- in bytes.
In order to specify exactly what information is being
accessed at a given instant, your computer sends out an 'ADDRESS'.
This address is a 16 bit binary quantity that flows along 16
wires called the address bus. Since there are 16 address lines,
two to the 16th power, or 65536 unique addresses can be specified
by your machine.
Now, instead of using binary numbers directly like your
computer does, it is customary to consider binary digits in
groups of four. Each possible value of this group is denoted by a
symbol: the numbers from 0 to 9 plus the letters A through F.
These are called 'HEXADECIMAL' numbers.
Accordingly, we have the following:
BINARY HEXADECIMAL DECIMAL
-----------------------------------
0000 0 0
0001 1 1
0010 2 2
0011 3 3
0100 4 4
0101 5 5
0110 6 6
0111 7 7
1000 8 8
1001 9 9
1010 A 10
1011 B 11
1100 C 12
1101 D 13
1110 E 14
1111 F 15
10000 10 16
And we can represent numbers of any size:
11110000 F0 240
11111111 FF 255
100000000 100 256
1111111111111 1FFF 8191
11101000101011010 1DI5A 119130
And so on. It is common to see a '$' sign affixed to a
hexadecimal number so that the reader will not take it to be an
ordinary decimal quantity. Or sometimes a following 'h' does the
same thing. So $1234 or 2345h are to be considered hexadecimal
numbers. In this manual, all numbers are in 'HEX' unless
specifically stated otherwise.
EPROM's
Now, consider for a moment the diagrams in Appendix C.
They show the "pinout" of several commonly used EPROM's. In use,
the pins marked D0 through D7 are connected to the data bus. The
EPROM, when enabled to do so, outputs data on these pins. Since
there are eight output pins, the EPROM can output an entire byte
at a time. An EPROM is a 'byte-wide' device.
The pins marked A0 through A15 are address pins. The
computer imposes a binary address on these pins to specify which
location in the EPROM the data is to come from. The lowest
address is, of course, $0000 -- all address lines low. The highest
EPROM address depends on how many address pins there are. The
capacity of an EPROM is usually specified as a certain number of
'KILOBYTES'. A kilobyte is two to the 10th power or $400 bytes.
(1024 decimal). A "1k" EPROM like the 2758 must therefore have 10
address pins. The following table gives the maximum EPROM address
for several common types.
TYPE CAPACITY HIGHEST ADDRESS
-----------------------------------
2758 1k 3FF
2716 2k 7FF
2732 4k FFF
2764 8k 1FFF
27128 16k 3FFF
27256 32k 7FFF
27512 64k FFFF
When the PROMENADE programs an EPROM, the desired EPROM
address is applied to the address pins, the data to be programmed
into the EPROM at that address is applied to the data pins, and
various signals and voltages are applied to other pins as
required.
The user has to be concerned with only one of these other
voltages. This is a relatively high value called the PROGRAMMING
VOLTAGE. There are three standard programming voltages in general
use: 12.5v., 21v, and 25 volts. As we shall see a little later,
the user must specify this voltage for the particular EPROM he is
dealing with.
ENTERING PROMOS 2.0 COMMANDS
All of the various tasks you will want to accomplish
using the PROMENADE will be done by means of one or more PROMOS
2.0 commands. These commands consist of a key letter followed by
up to nine hexadecimal numbers called parameters. To execute a
PROMOS 2.0 command, simply type it on the screen. Edit it as
required and then type a carriage return.
Multiple parameters in your command may be separated by
one or more spaces or by (at most) one comma. You do not need to
supply a '$' sign nor are you required to supply leading zero's.
The following examples of the PROMOS 'M' command will serve to
illustrate. This command is used to display the contents of
computer memory on the screens and it will be described in detail
later.
M0000 03FF
M0000,03FF
M0 3FF
M0,3FF
M 0 3FF
M 00 , 03FF
All of these forms are equivalent. PROMOS does not
perversely require that you type in an exact form as long as your
meaning is unambiguous.
MULTIPLE COMMANDS
You may enter two or more PROMOS commands separated by
colons on the same command line. The commands will be executed
sequentially in the order you typed them. For example:
M 2000, 2040 : I 2000, 2040
results in a hex display of computer ram data from 2000 through
2040, followed by an ASCII display of the same data.
MIXING BASIC AND PROMOS COMMANDS
You may mix PROMOS and BASIC commands together on the
same command line. They will executed in the order in which you
typed them. For example:
Print'ZERO PAGE RAM' : M 0, FF : Print"END OF ZERO PAGE'
REMEMBER: ALL PROMOS 2.0 COMMAND PARAMETERS ARE ENTERED
AS HEXADECIMAL NUMBERS.
ERRORS
If you make a mistake typing in a PROMOS command, chances
are you'll be advised by the SYNTAX error message. If you fail to
supply all the parameters required by a command, an UNDEFINED
FUNCTION error will result. If you input incorrect hexadecimal
numbers, an ILLEGAL QUANTITY error will be reported. Some PROMOS
commands report other errors as may be necessary.
PROMOS 2.0 COMMANDS
THE G COMMAND -- Print command Glossary.
This isn't really a command at all. Type a G and a
carriage return and a list of the PROMOS commands and an example
of each is printed on the screen. If you commit only one command
to memory, make it this one.
THE R COMMAND -- Read EPROM data into computer memory.
By reading an EPROM, we mean transferring some or all of
the information it contains into the computer's memory. The key
letter can either be R or the English monetary symbol.
Example:
R 2000, 3FFF, 0, 6
The meaning of this command is: Fill computer ram from
2000 to 3FFF with data from this EPROM, beginning at EPROM
address 0000. The '6' is a parameter called the CONTROL WORD. It
is a number that tells the PROMENADE everything it needs to know
about the particular EPROM you are dealing with. In the example,
6 is appropriate for the 2764A. A list of control words appears
inside the back cover of this manual. A detailed discussion of
control words and what they mean is presented in APPENDIX A.
Another example:
R 5000 BFFF 1000 E6
In this example, we are telling the PROMENADE to read a
27256 into computer ram from 5000 through BFFF, beginning at
EPROM address 1000. E6 is the control word for a 27256
programming at 12.5 volts. [Editor's note: in the original
manual, the english monetary symbol was used instead of "R".
The READ and PROGRAM commands have alternate commands that are
entirely optional. To reduce potential confusion, I am only
showing the main form of these two commands in this document.]
CHECKSUMS and HASHTOTALS
When you execute the READ command as in the examples
above, you will notice that a 'CHECKSUM' and a 'HASHTOTAL' is
printed on the screen as soon as the operation is completed. The
CHECKSUM is the low-order byte of the arithmetic sum of all the
data bytes read from the EPROM. The HASHTOTAL is the result of
exclusive-or'ing all bytes read with each other. These numbers
can serve as a quick means of identification of an EPROM# or as a
means of checking the validity of the data itself.
WHERE TO PUT THE DATA
Notice that the READ command gives you complete freedom:
you can read as many bytes from the EPROM as you want, starting
anywhere on the chip, and in principle you can put them anywhere
in computer memory. As a practical matter, certain areas of
computer ram are off-limits because your computer must use them
for its own purposes. If your read command overwrites these areas,
the computer will crash.
Consider first the COMMODORE 64 or the 128 in 64 MODE: If
you are not running a BASIC program, then you are free to use
computer ram from 0800 through DFFF. A BASIC program ordinarily
resides in ram starting at 0801. In a later section we discuss
the matter of using PROMOS commands in a BASIC application
program.
In the case of the COMMODORE 128 in 128 MODE, we need to
consider a special PROMOS command which pertains only to the 128,
the bank select command.
The B COMMAND -- Select PROMOS ram bank. (128 mode command.)
This command selects the computer ram bank, O olL 1,
which will be used for subsequent PROMOS operations. Example:
B1
Execution of this command causes PROMOS to use bank 1 ram,
PROVIDED the ram involved lies in the range 2000 through DFFF.
Outside this range, bank 0 ram will be used.
Using this command does not in any way affect the BASIC
7.0 'BANK' command. PROMOS bank 1 will remain in use until you
switch back to PROMOS bank 0. To do this, execute either
B0 or just B
Example:
B1 : R 2000, 5FFF, 0 , 6 : B0
Here, we combine the bank select commands and the read command.
First we switch to bank 1 ram; then we read a 27128A into the
range 2000 through 5FFF in bank 1; then we switch back to bank 0
ram.
In 128 mode, BASIC starts at 1C01 in bank 0. If no BASIC
program is being used, useable ram in bank 0 starts at 1300.
HOW BIG A RANGE?
The question arises: How large must the memory range in
the read command be to insure that each and every byte on the
EPROM is included? Earlier, we presented a table showing the
largest EPROM address for EPROM's of various capacities. If we
start at address 0 on the EPROM and read each address to and
including the highest address, then we know we have read them all.
A little reflection will show that all one has to do is add this
highest EPROM address to the chosen computer ram start address to
obtain the necessary computer ram end address. Some examples:
We want to read all of a 2732 (4k) EPROM into ram
starting at C000. Since the EPROM address runs from 0 to FFF, the
required read command is:
R C000, CFFF, 0, E0
A 27256 (32k) is to be read into ram starting at 4000:
R 4000, BFFF, 0, E6
does the job. (4000 + 7FFF = BFFF)
A 27128 (16k) is to be read into ram starting at 3840:
R 3840, 783F, 0, 5 is what is needed.
THE M COMMAND -- Display computer memory.
This is the command to use to view and alter computer ram
data. To illustrate its use we execute the following:
M A000
And there appears:
>A000 3E 41 00 A9 20 FE 84 D0
Execution of this M command causes the computer to
display the specified address followed by eight hexadecimal byte
values -- the data from locations A000 through A007. To display a
memory range, from 2000 through DFFF, say, type:
M 2000, DFFF
The screen fills and then scrolls rapidly as the data is
printed. To stop the display at any point, press the RUN/STOP key.
To begin the display again at the point where you stopped, type M
alone and a carriage return.
Notice the 'M' command displays RAM data, not ROM or IO
devices which may overlay a particular address.
CHANGING RAM DATA
Suppose you want to change the data in memory somewhere.
Just use the M command to display that area, move the cursor into
the display to the desired location, type in the new hex value(s)
and press RETURN on each altered line. RAM data is changed
accordingly. You can also change the address field. In this way
you can quickly copy data from one area of ram to another.
THE I COMMAND -- Display ASCII data.
This command works the same way as the M command except
that the display shows printable ASCII characters rather than hex
data. Thirty two characters appear on each line.
For example:
I 6000, 7FFF
Displays ASCII characters in the range 6000 through 7FFF. You
canNOT alter an ASCII string by over-typing and pressing RETURN.
THE F COMMAND -- Fill computer ram.
This command fills a specified range of memory with a
specified data byte. For example:
F 2000, DFFF, FF
This command fills memory from 2000 through DFFF with FF
characters.
THE T COMMAND -- Transfer ram data.
This command copies data in a specified range from one
area of computer ram to another. By way of example:
T 2000, 2FFF, C000
This command transfers data from ram in the range 2000
through 2FFF to C000 through CFFF. Another example:
T 4000, 40FF, 4001
This command moves data from 4000 through 40FF up one
address location.
THE C COMMAND -- Compare computer ram data.
This command causes the computer to compare the data in
one range of memory locations with that of another. The address
of all locations where the data differs is printed out. For
example:
C 100, 1FF, 4000
This command compares ram data in the range 0100 through
01FF to data in the range 4000 through 40FF. The addresses of all
discrepant locations appear on the screen.
THE H COMMAND -- Hunt for byte data.
This command causes the computer to hunt for occurrences
of a group of specified data bytes. The address of each
occurrence is printed on the screen. The sought for group may be
up to seven bytes long. For example:
H 2000, BFFF, 20, D2, FF
This command examines ram from 2000 through BFFF for the
byte sequence 20,D2,FF: 6502 code for JSR FFD2. Another example:
H 1000, 7FFF, 52, 41, 4E, 47, 45, 49, 4D
This command hunts for a group of seven ASCII characters.
[In case you wondered, the seven bytes spell "RANGEIM".]
THE D COMMAND -- Scan EPROM data.
The D command reads data from an EPROM and prints it on
the screen as hex data Just as the M command does. Computer ram
is not affected. Example:
D 0, 1FFF, 5
This command produces a screen display of all the data on
a 2764. The first two parameters are the starting and ending
EPROM ADDRESSES of the range to be displayed. The third parameter
is the CONTROL WORD for the particular EPROM. Another example:
D 6000, 7FFF, E6
This command scans the top 8k of a 27256.
THE A COMMAND -- ASCII scan of EPROM data.
The A command works just like the D command except that
the display is of printable ASCII characters. For example:
A 0, 7FF, 28
In this example, we do an ASCII scan on all bytes of a
2716.
THE E COMMAND -- Check EPROM for erased condition.
The data at all erased locations on an EPROM is FF; that
is, all data bits are one's. To check for this condition, use the
E command. An example:
E 0, 3FFF, 6
This command checks for FF at all locations on a 27128A.
The EPROM addresses of all un-erased locations are printed on the
screen. Their total number is also printed. The first and last
addresses on the 27128A are 0 and 3FFF. The control word is 6.
Another example:
E 800, FFF, E0
This command checks for the erased condition of the top
half of a 2732.
THE P COMMAND -- Program EPROM from computer memory.
The key letter for this command can be either P or (the
math symbol for Pi). The command works the same either way.
There are five parameters needed for this command: the
STARTING and ENDING computer MEMORY ADDRESSES defining where the
information is to come from, the STARTING ADDRESS on the EPROM
specifying where we want the data to go, the CONTROL WORD; and
the last parameter is the PROGRAM METHOD WORD (PMW for short).
The PMW is discussed at length in Appendix B. It tells PROMOS how
you want the programming to be done. Some examples:
P 2000, 3FFF, 0, 6, 7
This command fills a 2764A completely with data from
computer ram in the range 2000 through 3FFF. The EPROM is
programmed from beginning to end. The CONTROL WORD is 6; and we
have used Intelligent programming method #1 as defined by the PMW
of 7.
Notice that the P command gives you complete freedom. You
can take information from anywhere in computer ram and put it
anywhere on the EPROM. Suppose you wanted to program just one
byte on an EPROM:
P 213A, 213A, 3456, 5, A
In this case, the starting and ending ram addresses are
the same, 213A. The EPROM address is 3456. The control word, 5 is
for the 27128 and we have chosen A for the PMW. This command
takes a single byte of data at 213A and programs it into EPROM
location 3456 in the 27128.
The considerations of RANGE size are exactly the same as
with the R command. To be sure you are programming ALL of an
EPROM, add the maximum EPROM address to the computer ram starting
address to obtain the computer ram ending address. Some more
examples:
Suppose you wanted to take the data from two 2764's and
put it on a single 27128A. Here's one way to do it. First let's
choose to use computer ram from 2000 through 5FFF to contain the
data. Read the first 2764:
R 2000, 3FFF, 0, 5
Now read the second:
R 4000, 5FFF, 0, 5
Now program the 27128A:
P 2000, 5FFF, 0, 6, 6
That's all there is to it.
Suppose you wanted to read a COMMODORE kernal ROM, make
some changes, then put the altered data on a 2764A. Here's how to
do it: The kernal ROM in the C64 is compatible with the 68764
(8k) EPROM. The control word is 30. Read it in:
R 8000, 9FFF, 0, 30
Use the M command to change the data in ram as you wish
it to be. [Editor's note: here are some interesting locations in
the Commodore 64's Kernal ROM, for you to experiment with... if
you used the commands shown here, the byte that controls the
border color will be found at $8CD9. The byte that controls the
background color will be found at $8CDA. The byte at $8535 sets
the default color of the onscreen characters. To see the start-up
message's text, see the range of addresses from $8440 to $84BF.
Note that the default device number is also a one-byte change;
if you change $81DA from a $01 to a $08 it will default to disk
instead of to tape, which will be more convenient for most of
the C64's users. The VIC-20 can also be modified in all these
ways. You will have to adjust the memory addresses accordingly.]
[Other modifications could include a change to the auto-start
code sequence. Changing this code will allow a custom C64 or
VIC-20 Kernal ROM to bank in an inserted cartridge without
starting it. The VIC-20's auto-start sequence code is "A0CBM"
while the auto-start code for the C64 is "CBM80". Use the HUNT
command to find either code sequence. Even a one-byte change
to these codes will stop ROM cartridges from auto-starting.]
Now program the revised data into the 2764A:
P 8000, 9FFF, 0, 6, 7
[Also not mentioned in the original text, is the unfortunate fact
that the 2764A you just programmed, will not physically fit into
the Commodore 64 you just removed the Kernal ROM from! You can
program the information, sure, but problems quickly develop. This
is because the original ROM has only 24 pins, while a 2764 EPROM
has 28 pins per chip. If you have advanced electronics knowledge
and skills, you may want to build an adapter, to plug the 28 pin
chip into the 24 pin socket. A much easier method would be to
simply use Motorola's MCM 68764 chip, which is fully compatible
with the ROMs used in the VIC-20, C64, C128 and probably others.
See Appendix C for pinout diagrams on these and other chips.]
PROGRAMMING ERRORS
While programming an EPROM, PROMOS checks to see that the
job is being done correctly. If an error is detected, programming
Is stopped and you are advised what happened by messages on the
screen. For suggestions on determining the source of the trouble,
see the section on troubleshooting.
THE V COMMAND -- Verify EPROM data.
The V command compares the data on an EPROM with data In
computer memory. It has two forms: the long form, with parameters
exactly the same as in the R command; and the short form which is
just V alone with no parameters at all. The short form uses the
parameters from the most recent R or P command. The EPROM
addresses of all discrepant locations, the checksum and the
hashtotal are printed on the screen. Some examples:
V 2000, 3FFF, 0, 6
Here, we compare data from 2000 through 3FFF with the
data on a 2764A.
P 4000, BFFF, 0, E6, 6 : V
Here, we have programmed a 27256 with data from 4000
through BFFF and have followed with the short form of the V
command.
COPYING EPROMS
The PROMENADE is a very efficient piece of production
equipment. One can quite easily program 250 2764's in an hour.
The usual procedure is to read an EPROM MASTER into ram using the
R command, then program the duplicates using the P command. It
isn't necessary to type a new P command for each copy. Just move
the cursor up to the P command line and press RETURN.
Here's a simple example of a command that programs
2764A's, verifies the data, keeps track of the number of copies
that have been made and prints it on the screen:
R 2000, 3FFF, 0, 6 : N = 0
This reads the master and initializes the count. Now:
P 2000, 3FFF, 0, 6 , 6 : V :
N = N + 1 : PRINT : PRINT "TOTAL COPIES:" N
THE S COMMAND -- Save computer' ram.
This situation continually arises: You've read a ROM or
an EPROM. Now you want to save the data on disk so that you can
make a copy later. The S command is what you need. It causes a
defined section of ram to be saved to disk as a PGM file. All
example:
S "EPROM DATA", 8, 4000, BFFF
This command takes data from 4000 through BFFF and stores
it on disk as the program file called EPROM DATA. Experienced
users will recognize this as the same S command their monitor
programs have provided them for years. But NOTE one important
difference. Monitor S commands require that you specify a range
one byte longer than what you really want to save. This is the
case with the C128's built-in monitor. With the PROMOS S command,
you specify the range exactly.
There is one important restriction on the use of the S
command in 64 mode: You cannot save from the address range D000
through DFFF. This restriction does not apply in 128 mode.
One further note for 128 user's: If you want to save from
bank 1, just use a prior B command to set bank 1 ram first.
Another example:
R 2000, 2FFF, 0, 18 : S "2532 DATA", 9, 2000, 2FFF
Here, we read a 2532 and save the data to disk on drive 9 as a
PGM file called "2532 DATA".
THE L COMMAND -- Load program from disk.
Now, you have the data on disk. How do you get that data
back into the computer so an EPROM can be burned from it? The
answer is the L command. An example:
L "2532 DATA", 9
This command loads the program file "2532 DATA" back into
the same locations in memory from where it was saved, namely 2000
through 2FFF, from device 9. On completicn of the load, PROMOS
reports the load start address and the load end address so you
know where in ram the data Is. Oftentimes, it's a good idea to
jot these addresses down. As with the S command, you cannot load
into the range D000 through DFFF from 64 mode. In 128 mode, if
you want to load the file into bank one ram, first set bank 1
with the B command.
There is one other important feature of the L command:
you can specify your own load-start address. This is mandatory if
you want to load a PGM file whose load-start address is unknown
or if you want to load it someplace else. To specify your own
load-start address, just add it to your L command:
L "2532 DATA", 9, 6000
The load-start address of this file we know to be 2000.
But we have forced the data to be loaded at 6000 by means of this
command.
This feature makes it very easy to merge separate PGM
files into one.
THE Q COMMAND -- Quit PROMOS.
Should you wish to disengage PROMOS, use the Q command.
Just execute:
Q
and PROMOS is gone. You can re-enable PROMOS by executing the
following SYS:
SYS 320
COMMODORE 128 user's can switch to 64 mode using the GO64
command, then re-enable PROMOS using SY5320 from 64 mode. After a
RESET, you can use SYS320 to re-enable PROMOS in 128 mode without
having to to reload the program.
THE Z COMMAND -- Zero the PROMENADE programming socket.
This command sets the voltage at all pins of the C1
socket to (nearly) 0 volts so EPROM's can be safely installed and
removed. This is done automatically for the most part. C128 users
will notice that after a 128 mode LOAD or SAVE, the red light is
left on, indicating an energized condition. Here is where the Z
command comes in. Execute this coBmand to reset the C1 socket.
SPECIAL EPROM'S
There are EPROM's the PROMENADE can read and program but
which require special methods. Among these are the 27512, the
27513 and the 27011. We now consider each of these in turn.
The 27512 is the standard 64k byte EPROM. It has 16
address pins as can be seen in Appendix C. The 16th address bit
is applied to pin 1. The PROMENADE cannot use pin 1 as an
ordinary address pin. Rather, it is normally pulled high by a
pull-up resistor. Some other means must be used to bring this
pin low for reading and programming the lower 32k of the 27512.
A crude, but simple and effective way to do this is to
take a short length of 22 gauge stranded hook-up wire and ground
one end by securing it under one of the PROMENADE cover mounting
screws. To access the low 32k addresses on the 27512, insert the
free end of your grounding wire into the programming socket along
with pin 1 of the 27512. (Pin 1 is the one closest to the
operating lever.) To read or program the upper 32k, simply remove
the grounding wire.
Jason-Ranheim Company can install a switch to handle this
more conveniently for a nominal charge. Contact our sales
department. [Note that this service is no longer available.]
The 27513 and the 27011 are 'page-addressed' EPROM's.
They have an internal bank switching register which selects one
16k 'page' of the EPROM at a time. The 27513 looks to the outside
world like four 27128A EPROM's; the 27011 looks like eight.
To read or program the 27513, use the control word 4XE2
where you substitute for X the number from 0 to 3 of the page you
wish to read or program. For example:
R 2000, 5FFF, 0, 40E2
will read the lowest 16k page of the 27513 into ram.
Another example:
P 4000, 7FFF, 0, 43E2, 6
will program page 3 of the 27513.
The 27011 works the same way. Use the control word 4X06,
where X is the number from 0 to 7 of the page you wish to read or
program. For example:
P 8000, BFFF, 0, 4506, 6
This command programs page 5 of a 27011 with data from
computer ram from 8000 through BFFF. Again:
R A000, DFFF, 0, 4706
reads page 7 into the specified range.
USING PROMOS COMMANDS IN A BASIC PROGRAN
PROMOS commands can be used in a BASIC program just like
any regular BASIC command. Of course, PROMOS must be loaded first
and active or your BASIC program will not run.
Some of the commands work a little differently from a
running program as compared with direct mode:
First, control messages such as 'SEARCHING FOR',
'PROGRAMMING', etc. are not printed unless you enable them by
setting bit 7 at address 9D high. See the PROGRAMMERS REFERENCE
GUIDE for details.
Those commands which from direct mode report results on
the screen, such as R, P, L, S, V, C, H and E, do not do so when
executed from a running program. Rather, certain results are made
available in low ram locations as detailed below. Your BASIC
program can 'PEEK' these locations to make use of this
information.
In general, address A5 (165 decimal) reports errors. If
an error is detected, A5 will contain FF, otherwise it will be 0.
A6 and A7 will report an address in low-high order, with the
significance described below. A8 and A9 report the appropriate
checksum and hashtotal respectively of the data in the address
range involved in the command.
L command
A5 -- 00 = Load ok. FF = load failed.
A6,A7 -- Address of highest byte loaded.
A8 -- Checksum for data loaded.
A9 -- Nashtotal for data loaded.
S command
AS -- 00 = Save ok. FF = Save failed.
A6,A7 -- Address of highest byte saved.
A8 -- Checksum for data saved.
A9 -- Hashtotal for data saved.
R (or english monetary symbol)
A6,A7 -- Address of highest EPROM byte read.
A8 -- Checksum for data read.
A9 -- Hashtotal for data read.
P (or Pi mathematical symbol)
A5 -- 00 = PGMing ok. FF = PGMing failed.
A6,A7 -- EPROM address at failure.
A8 -- Checksum for data programmed.
A9 -- Hashtotal for data programmed.
V command
A5 -- 00 = verify ok. FF = verify failed.
A6,A7 -- EPROM address at failure.
C command
A5 -- 00 = COMP ok. FF = COMP failed.
A6,A7 -- Ram address at lowest failure.
A8 -- Checksum of compared data.
A9 -- Hashtotal of compared data.
H command
A5 -- 00 = No occurrence. FF = Bytes found.
A6,A7 -- Ram address of first occurrence.
E command
A5 -- 00 = EPROM erased. FF = Not erased.
A6,A7 -- EPROM address of lowest unerased byte.
Note that the C command generates a checksum and a
hashtotal. You can use a 'dummy' C command to generate these
quantities for any range of ram data. For example:
C 2000, DFFF, 2000
compares ram from 2000 through DFFF with itself. In the process,
the checksum and hashtotal over that range are generated and
reported.
SIMPLE SAMPLE PROGRAM
10 PRINT "INSTALL 27256 IN PROMENADE SOCKET."
20 PRINT : PRINT "TYPE A CARRIAGE RETURN WHEN READY."
30 GET A$ : IF A$ <> CHR$(13) THEN 30
40 R 4000, BFFF, 0, E6
50 S "27256 DATA", 8, 4000, BFFF
60 REM ETC.
USING BASIC VARIABLES
PROMOS commands would be of little utility in a BASIC
program if they could not make use of variable data. The PROMOS L
and S commands accept a string variable for the file name. Any
numeric parameters that you want to express as a variable --
addresses, control words, device numbers, etc. MUST USE the
INTEGER variable form. These are numeric variables with a "%" sign
suffix. Regular floating point variables will not work. REMEMBER,
numeric BASIC variables are always DECIMAL quantties. Here's a
simple example of the use of variable quantities in a program:
10 NM$ = "MY FILE" : REM FILE NAME
14 DN% = 8 : REM DEVICE NUMBER
16 LS% = 8192 : REM LOAD START ADDRESS
20 L NM$, DN%, LS% : REM LOAD 'MY FILE' STARTING
AT $2000 FROM DEVICE 8.
30 ES% = 0 : CW% = 5 : PM% = 7 : REM DEFINE
PARAMETERS FOR PROGRAMMING.
35 LE% = PEEK(166) + 256 * PEEK(167) : REM CALCULATE
LOAD END ADDRESS.
40 P LS%, LE%, ES%, CW%, PM% : REM PROGRAM 2764 EPROM.
50 IF PEEK(165) = 255 THEN 4000 : REM GO TO SECTION
WHICH HANDLES REPORTING PROGRAMMING ERRORS.
60 PRINT "PROGRAMMING OK."
70 V : REM VERIFY ONCE AGAIN.
80 IF PEEK(165) = 255 THEN 4020 : REM GO TO SECTION
WHICH HANDLES REPORTING VERIFY ERRORS.
90 PRINT "VERIFY OK."
95 REM ETC, ETC ....
SETTING UP A RAM BUFFER
Let's say you're using a 64 mode BASIC application
program and you want to set aside a large ram buffer for moving
data to and from EPROM's and disk that you're sure BASIC will not
intrude upon. Here's a suggestion. Early in your program, execute
the following BASIC statement:
10 POKE 55, 0 : POKE 56, 64 : CLR
This confines your BASIC program to the 14k from 0801 through
3FFF. Now, you have 32k from 4000 through BFFF for your ram
buffer; and 8k from C000 through DFFF to use as a utility area
for ML programs, etc.
ONE FURTHER IMPORTANT POINT
A decimal address of 32768 must become a negative number
when expressed as a numeric variable. This number will decrease
to -1 at 65535. This is of concern only for addresses above 7FFF.
Examination of the following table will give you an idea of how
to handle this.
DESIRED DECIMAL VALUE NUMERIC
HEX VALUE VARIABLE
ADDRESS EQUIVALENT EQUILAVENT
---------------------------------------
1000 4096 4096
2000 8192 8192
4000 16384 16384
7FFF 32767 32767
8000 32768 -32768
8FFF 36863 -32673
9000 36864 -32672
9FFF 40959 -24577
A000 40960 -24576
AFFF 45055 -20481
B000 45056 -20480
BFFF 49151 -16385
C000 49152 -16384
CFFF 53247 -12289
D000 57248 -12288
DFFF 57343 -8193
Here's a BASIC statement that converts a DECIMAL address
(DA) fron 0 to 65535 into the nesessary NUMERIC VARIABLE
equivalent (NV%):
100 NV% = DA + 65536 * (DA > 32767)
WHERE'S PROMOS?
As you use the M command to browse through memory, you
come across nothing resembling a sizeable machine language
program. So where's PROMOS? It's tucked away in ram under the
kernal at E000. Operating from there, it leaves everything else
available to you. There are a few bytes of code well down on the
stack which take care of switching things in and out. In 64 mode,
PROMOS hooks in through IGONE. In 128 mode, ICRNCH is taken over
as well.
TROUBLESHOOTING
The frustrations that can arise programming balky EPROM's
can often be avoided by making sure of a few things:
Make sure your EPROM is erased. Use the D, A or E
commands for a quick check.
Make sure your EPROM is seated properly in the socket and
is making contact at all pins.
Make sure your programming command is correct. Especially
check the CONTROL WORD. If you use an incorrect one you can
destroy your EPROM.
Make sure your PROMENADE is making good contact with the
user port connector. The board-edge surfaces may need cleaning.
An easy way to do this is to go over them lightly with a pencil
eraser.
Make sure your power supply is in good shape. Commodore
64 power supplies have a tendency to get tired after a while.
You may wish to try a modified programming method that
turns off Vpp during read-back as discussed in Appendix B.
APPENDIX A -- THE CONTROL WORD
The control word determines the way the PROMENADE works in
dealing with a particular EPROM. The PROMOS 2.0 CW is actually a
16 bit quantity. The low byte is particularly important. The low
eight bits control things as follows:
BITS 1, 0
00 -- Set Vpp to 25 volts.
01 -- Set Vpp to 21 volts.
10 -- Set Vpp to 12.5 volts.
11 -- Set Vpp to 5 volts.
BITS 3, 2
00 -- Apply Vpp to pin 22.
01 -- Apply Vpp to pin 1.
10 -- Apply Vpp to pin 23.
11 -- Set pin 1 low when Vpp is on.
BITS 5, 4
00 -- PGM pulse at pin 27.
01 -- PGM pulse at pin 22.
10 -- PGM pulse at pin 20.
11 -- No PGM pulse required.
BIT 6
0 -- No action at pin 20 on read.
1 -- Invert pin 20 level on read.
[Editor's note: the original manual does not
mention this, but pin 20 is frequently the
"chip enable". Most memory chips want to see
a low state, to enable the chip; they are
"active low". However, the memory used for
video game cartridges for the Atari 2600 VCS
system uses an "active high" system. Having
this feature saves you from having to build
a custom circuit to read these memory chips,
or at least the smaller, earlier ones. While
they all want to see this line inverted from
"normal" electrically speaking, you will end
up having other problems when the memory size
goes over the 2k or 4k of the earliest games.
Just one example of what this is useful for.]
BIT 7
0 -- Set standby level on pin 20 low.
1 -- Set standby level on pin 20 high.
The upper byte works as follows:
BITS 5, 4, 3, 2, 1, 0
Select particular page of page mode
EPROM. Up to sixty four 16k pages.
BIT 6
0 -- Page mode indicator off.
1 -- Page mode indicator on.
BIT 7
Not used.
APPENDIX B -- THE PROGRAM METHOD WORD
The program method word tells PROMOS how you want the
programming done. You have some latitude. If you check the TABLE
of RECOMMENDED CONTROL and PROGRAM METHOD WORDS inside the back
cover, you'll see a 'standard method' and three "intelligent'
methods. We examine these in greater detail here.
STANDARD PROGRAMMING
In standard programming, the programming pulse applied to
the EPROM is of constant duration, usually about 50 mi]liseconds.
This is always a time-consuming method. A 2764 takes about 7
minutes to program this way. For PMW's from 0 to 3, PROMOS uses
Pulse durations as follows:
PMW PULSE DURATION
-------------------------
0 6 ms.
1 12 ms.
2 24 ms.
3 48 ms.
INTELLIGENT METHODS FOR PROGRAMMING
Intelligent methods for programming EPROM's have been
developed which can greatly reduce the time required. These
methods in effect 'test' the EPROM as the process goes on. It
works like this: the address and data are set up and a short
duration pulse is applied. The EPROM is then read back and the
data is compared. If the data doesn't 'verify', then another
pulse is applied and so on. Programming time is accumulated. At
some point the data 'sticks' and a positive verification is
obtained.
At this point, another longer 'margin' pulse is applied
which is proportional in duration to the sum of the preceeding
pulses. The data is verified once again, and the programmer then
moves on to the next location.
Intelligent #1 -- Developed by Jason-Ranheim, this method
has been widely copied. It is the fastest way to program an EPROM.
Programming starts with a short .1 ms pulse which doubles in
duration with each failure to verify. The margin pulse is equal
in length to the sum of all preceding pulses.
Intelligent #2 -- In this method, short pulses of equal
duration are applied. The margin pulse is 3 times the total
accumulated pulse time. If after 25 ms of short pulses, a
location still does not verify, programming stops and the failure
is reported.
Intelligent #3 -- In this method, the margin pulse is 4
times the preceding total accumulation. If after 15 ms of pulses
verification has not been achieved, a 60 ms pulse is tried. If
the location now verifies, programming moves on. If not the EPROM
has failed.
For any of the intelligent programming methods, the EPROM
supply (Vcc) is set to 6 volts.
PMW's from 4 to F have the meanings given in the
following table:
PMW INT TEST TOTAL
METHOD PULSE ACCUMULATION *
-----------------------------------------------
4 1 variable 12 ms.
5 1 variable 25 ms.
6 1 variable 50 ms.
7 1 variable 100 ms.
8 2 0.25 ms. 75 ms.
9 2 0.50 ms. 75 ms.
A 2 1.00 ms. 75 ms.
B 2 2.00 ms. 75 ms.
C 3 0.25 ms. 100 ms.
D 3 0.50 ms. 100 ms.
E 3 1.00 ms. 100 ms.
F 3 2.00 ms. 100 ms.
* = the maximum time that can be accumulated at a
location before an error is reported.
If you add $40 to the PMW, that is set bit 6 high, the
programming is altered in this respect: The PROHENADE turns off
Vpp before attempting to read back the EPROM. This slows down
programming; but it is advisable in few cases. For example:
P C000, C7FF, 0, 28, 47
This command programs a 27C16 with data from C000 through
C7FF. Another example:
P 4000, BFFF, 0, E6, 46
This programs an OKI 27256 with the specified data.
APPENDIX C -- Pinout diagrams for various EPROM chips
Notes from the person who typed this manual in.... this
section of the manual did not exist, per se, in the original
manual. What did exist was a diagram on page 5, which showed a
single 28-pin chip; a 27513 to be precise. This diagram was
combined with two charts; one on either side of the diagram.
The charts listed pinout information for five other chips.
(They were the 2732A, 2764A, 27128A, 27256, and 27512. I added
a few; the 2716 and a non-standard 8K chip Commodore used.)
The information in this Appendix is basically that same
information, just reformatted. Trying to reproduce that diagram
the way the original was drawn, would be less than optimal
with plain ASCII (text) "art". Instead, I have reproduced single
chip diagrams here, hoping they'd be somewhat less confusing?
Please also be advised that there are places on the World
Wide Web where one can look up the pinout diagrams of all sort
of electronic devices. Besides places that act strictly as
archives of pinout information, you may find that a company that
once sold a particular chip may have pinouts online. Companies
that sell blank EPROMs also frequently have diagrams. Using a
"Search Engine," you may want to initially try key words such as
"chip" and "pinout" and "electronics" to begin such a search of
the resources on the Internet.
Here are the diagrams of various EPROM memory chips...
Pinout diagram: 2716
(2 kilobyte x 8 bit EPROM memory chip)
.------. .------.
| |__| |
A7 | 1 24 | Vcc
A6 | 2 23 | A8
A5 | 3 22 | A9
A4 | 4 21 | Vpp
A3 | 5 20 | /OE
A2 | 6 2716 19 | A10
A1 | 7 18 | /CE
A0 | 8 17 | D7
D0 | 9 16 | D6
D1 | 10 15 | D5
D2 | 11 14 | D4
GND | 12 13 | D3
|________________|
Pinout diagram: 2732
(4 kilobyte x 8 bit EPROM memory chip)
.------. .------.
| |__| |
A7 | 1 24 | Vcc
A6 | 2 23 | A8
A5 | 3 22 | A9
A4 | 4 21 | A11
A3 | 5 20 | /OE Vpp
A2 | 6 2732 19 | A10
A1 | 7 18 | /CE
A0 | 8 17 | D7
D0 | 9 16 | D6
D1 | 10 15 | D5
D2 | 11 14 | D4
GND | 12 13 | D3
|________________|
Pinout diagram: 2764A
(8 kilobyte x 8 bit EPROM memory chip)
.------. .------.
| |__| |
Vpp | 1 28 | Vcc +5 Volts
A12 | 2 27 | /PGM (Active low)
A7 | 3 26 | N.C. No connection
A6 | 4 25 | A8
A5 | 5 24 | A9
A4 | 6 23 | A11
A3 | 7 2764A 22 | /OE Output Enable
A2 | 8 21 | A10
A1 | 9 20 | /CE Chip Enable
A0 | 10 19 | D7
D0 | 11 18 | D6
D1 | 12 17 | D5
D2 | 13 16 | D4
GND | 14 15 | D3
|________________|
Pinout diagram: MPS 2364
(8 kilobyte x 8 bit ROM chip.)
Note that while most 8k x 8 bit EPROM chips have 28 pins,
this ROM chip of the same memory size uses only 24 pins.
This ROM chip is often used in Commodore 8-bit products,
such as the C64 and VIC-20 computers, as well as in game
cartridges for various home systems including the Bally
Astrovision / Astrocade. Note that Motorola once made a
pin-for-pin compatible EPROM replacement; the MCM 68764.
.------. .------.
| |__| |
A7 | 1 24 | Vcc
A6 | 2 23 | A8
A5 | 3 22 | A9
A4 | 4 21 | A12
A3 | 5 20 | /CS
A2 | 6 2364 19 | A10
A1 | 7 18 | A11
A0 | 8 17 | D7
D0 | 9 16 | D6
D1 | 10 15 | D5
D2 | 11 14 | D4
GND | 12 13 | D3
|________________|
Pinout diagram: 27128
(16 kilobyte x 8 bit EPROM memory chip)
.------. .------.
| |__| |
Vpp | 1 28 | Vcc
A12 | 2 27 | /PGM
A7 | 3 26 | A13
A6 | 4 25 | A8
A5 | 5 24 | A9
A4 | 6 23 | A11
A3 | 7 27128 22 | /OE
A2 | 8 21 | A10
A1 | 9 20 | /CE
A0 | 10 19 | D7
D0 | 11 18 | D6
D1 | 12 17 | D5
D2 | 13 16 | D4
GND | 14 15 | D3
|________________|
Pinout diagram: 27256
(32 kilobyte x 8 bit EPROM memory chip)
.------. .------.
| |__| |
Vpp | 1 28 | Vcc
A12 | 2 27 | A14
A7 | 3 26 | A13
A6 | 4 25 | A8
A5 | 5 24 | A9
A4 | 6 23 | A11
A3 | 7 27256 22 | /OE
A2 | 8 21 | A10
A1 | 9 20 | /CE /PGM
A0 | 10 19 | D7
D0 | 11 18 | D6
D1 | 12 17 | D5
D2 | 13 16 | D4
GND | 14 15 | D3
|________________|
Pinout diagram: 27512
(64 kilobyte x 8 bit EPROM memory chip)
.------. .------.
| |__| |
A15 | 1 28 | Vcc
A12 | 2 27 | A14
A7 | 3 26 | A13
A6 | 4 25 | A8
A5 | 5 24 | A9
A4 | 6 23 | A11
A3 | 7 27512 22 | /OE Vpp
A2 | 8 21 | A10
A1 | 9 20 | /CE
A0 | 10 19 | D7
D0 | 11 18 | D6
D1 | 12 17 | D5
D2 | 13 16 | D4
GND | 14 15 | D3
|________________|
Pinout diagram: 27513
(4 pages x 16 kilobytes each x 8 bits wide)
.------. .------.
| |__| |
DU | 1 28 | Vcc
A12 | 2 27 | /WE
A7 | 3 26 | A13
A6 | 4 25 | A8
A5 | 5 24 | A9
A4 | 6 23 | A11
A3 | 7 27513 22 | /OE Vpp
A2 | 8 21 | A10
A1 | 9 20 | /CE
A0 | 10 19 | D7
P0 D0 | 11 18 | D6
P1 D1 | 12 17 | D5
D2 | 13 16 | D4
GND | 14 15 | D3
|________________|
APPENDIX D -- TABLE of CONTROL and PROGRAM METHOD WORDS
(Altered from the original only by sorting
the list alphabetically by "EPROM type".)
PROMENADE C1 with PROMOS 2.0 Operating System Software
Programming Method Words (PMW)
EPROM Program Control Standard Intelligent Methods
Type Voltage Words Method #1 #2 #3
===============================================================
2516 25 28 3 7 A E
2532 25 18 3 7 A E
2564 25 14 3 7 A E
27011 12.5 4X06 ** NR 6 NR NR
27128 21 5 3 7 A E
27128A 12.5 6 NR 6 A E
2716 25 28 3 7 A E
2716B 12.5 2A NR 46 4A 4E
27256 12.5, 21 E6, E5 * NR 6 A NR
2732 25 E0 3 7 A E
2732A 21 E1 3 7 A E
2732B 12.5 E2 NR 46 4A 4E
27512 12.5 E2 ** NR 6 NR NR
27513 12.5 4XE2 ** NR 6 NR NR
2758 25 28 3 7 A E
2764 21 5 3 7 A E
2764A 12.5 6 NR 6 A E
27C16 25 28 43 47 4A 4E
27C256 12.5, 21 E6, E5 * NR 6 A NR
27C512 12.5 E2 ** NR 6 NR NR
27C64 21 5 3 7 A E
2815 21 39 3 6 B F
2816 21 39 1 7 NR NR
48016 25 28 2 5 9 D
5133 21 5 3 NR NR NR
5143 21 5 3 NR NR NR
5213 21 39 2 4 9 D
52B13 5 7 NR 4 NR NR
52B23 5 7 NR 7 NR NR
68764 25 30 NR 46 4B 4F
68766 25 30 NR 46 4B 4F
68769 25 30 NR 46 4B 4F
X2804A 21 39 1 NR NR NR
X2816A 21 39 1 NR NR NR
X2864A 21 7 1 NR NR NR
NR = NOT RECOMMENDED.
* = Be SURE to use the CORRECT Control Word
corresponding to the programming voltage required
by your particular EPROM.
** = Requires special programming. See manual for
details.
(End of document)