PRELIMINARY PROM (and PNEW) MANUAL (February 13, 1980 7:19 PM)
There are two programs available to fuse proms’, one called PROM which drives the Alto Prom Blower (Blue Box), and the other called PNEW which derives PROLOG-92. PROM (as well as PNEW--- only PROM is mentioned thereafter, unless otherwise noted) combines the features of APROM, PROMDIAG, and LOGICPROM. . PROM runs in three modes, "MB File" mode which corresponds fairly closely to APROM, "MB File" mode which corresponds fairly closely to PROMDIAG, and "MB File" mode which corresponds fairly closely to LOGICPROM. Another promgram BINLIST is available for listing MB-files.
PROM COMMAND LINE
GLOBAL SWITCHES
noneSelect "MB File" mode.
/ESelect "Prom Editor" mode
/DSelect "Prom Blower Diagnostic" mode
/SCall Swat (debug use only)
LOCAL SWITCHES (valid in "MB File" mode only)
string/PPermute memory address (Default ...,2,1,0)(use comma between pin numbers)
string/QPermute memory data (Default ...,2,1,0)(use comma between pin numbers)
string/RReverse prom’s address and/or output data (string: A and/or D)
name/FRead micro binary from file "name"
name/DWrite differences on file "name"
name/MUse memory "name"
number/T*prom ID number (see Table 2 for ID’s, "0" for WHATEVER)
[addressA,]value/W**value written into addressed locations, and checksum updated
0/IInvert the output data
number/N"number" exclusive or with the address
number/CChip starting address equals "number"
number/BSet chip starting bit equal to "number"
number/ASet memory starting address to "number"
number/SSet memory starting bit to "number" blow the prom.
* needed only in PNEW to identify prom type, if the prom is not in the list use "0". However, be awared that Command line using non-zero ID may be different from that of using zero ID due to differences in prom’s pin-assignments between the manufactures and ours (see Tables 3 and 4). For instance, the two slightly different command lines to fuse Intel 2708 are:
PNEW file/F memory/M 4/T proma/C promb/B mema/A memb/S
PNEW file/F memory/M 0/T D/R proma/C promb/B mema/A memb/S
** available only in PNEW, very special application. Address is a 16-bits address, value is a 32-bits numbers (address must followed by A and separated by a common from the value, octals are indicated by "R8" following the number or numbers, only one "R8" is needed). PNEW first slices value into four bytes (add leading zeroes if necessary) and write into four consective locations, from (address-5) to (address-2), of the memory, then modifies the checksum at the location address of the memory by adding four 8-bits numbers of the value onto it. Default address is #3777 if addressA is not supplied.
PROM EDITOR COMMANDS
COMMANDACTION
QQuit
ZZero prom
IInvert prom
SSet prom to all ones
CChange prom (alters bits pointed to by mouse; red sets bit,
yellow resets bit, blue returns control to keyboard input)
RReverse bit (data bits are numbered with bit
zero starting from the left)
EEquation ("or" the equation into the bit selected.
Address bits are numbered with bit zero on the right.
"+" means "or". An "N" before a number negates the it.)
GGet a file
PPut a file
BBlow prom
MMemorize prom
VVerify prom
LList prom
NNew prom (test prom for virginity)
FFormat selection (only format 4 which selects 4x256 format and
format 8 which selects 8x32 format are currently implemented)
DDiagnostic (call Prom Blower Diagnostic)
AAddress permutation (Default permutation is
9,8,7,6,5,4,3,2,1,0. All input is right justified. An "N"
before a number negates the bit.)
H or ?Help (list all commands)
PROM DIAGNOSTIC COMMANDS
COMMANDACTION
QQuit
SSweep registers
CCopy (write memorized data into a prom)
WWrite test
RRead loop test
TType prom (display prom type)
MMemorize (read a prom into a core buffer for use later)
VVerify (check that the memorized data agree with the prom)
LList (generate a listing of the memorized data)
IIs prom virgin (test prom for virginity)
EEdit (call Prom Editor)
?Help (list all commands)
A command line of PROM is looking like this:
PROM file/F memory/M diffile/D promaddr/C prombit/B memaddr/A membit/S
where file is a file in micro-binary format (see appendix A of D0ASSEM, D0 Microprogram Assembler, by E. Fiala, for details on this format), memory is the name of a memory in that file, promaddr is the lowest address of this prom to be programmed (normally 0), prombit is the high-order bit of this prom to be programmed (normally 0), memaddr if the lowest address in memory to be programmed in this prom (frequently 0), and memibt is the highest-order bit of memory to be programmed in this prom (frequently 0). The idea is that bit membit of word memword of memory will be programmed into bit prombit of word promword of the prom, and so on, increasing in word number until running out of memory length or prom length. Words unspecified by the file are left unchanged.
If fifile is specified, then instead of being programmed, the prom will be checked against the appropriate part of memory. All differences will be written on diffile. PNEW requires prom-type to be supplied so that the prom’s characteristics will be varified with that of the Personal-card, the switch is "IDnumber/T". If the prom to be programming is not in the list (see Table 2), use "0/T", in which case the varification is bypassed. For other switches, please see Local Switches List above.
PROM reads its command line from left to right. All other switches but S simply set internal variables in PROM; whenever PROM encounters the S switch it attemp←ts to program a prom according to the most recent settings of its internal variables. For historical reasons PROM expects numbers to be decimal; octal numbers must be followed by "R8". The compare swich is (set by /D) retained once set, (so are I, N, R switches) hence no prom-programming after a prom-checking in the same command line. To compare a sequence of proms against a sequence of segments of a memory and concatenate all results onto one differences file, the name of the difference file should be specified with the first /D and omitted from each succeeding /D.
For example, if we had a file X13.MB with a memory called MicroCode declared to be 16 bits wide, and we wanted to put the low-order 4 bits of the second 256 words into a 256x4 prom, we might say
PROM X13.MB/F MicroCode/M 0/C 0/B 400R8/A 12/S
To program a set of 8 proms to hold the first 512 words of MicroCode, we might execute the following command:
PROM X13.MB/F MicroCode/M 0/C 0/B 0/A 0/S 4/S 8/S 12/S
256/A 0/S 4/S 8/S 12/S
The first prom generated by the above command would contain the high-order four bits (0-3) of locations 0-255 of MicroCode, the next would contain bits 4-7 of locations 0-255, and so on.
Talbes 3 and 4 show the pins assignments for the address and data-output lines. Please check them throughly. In case they do not match yours there are two ways to confirm your need, switch /R for reversing pin assignments, and switches /P (or /Q) for permuting address (data) pin assignments.
BINLIST is for listing MB-files:
BINLIST file/F memory/M identification/H Listfile/L
where Listfile is the name of listing output file. Other switches are Q, P, I, N (works same as in PROM), and Anumber/R (only for reversing address, number is the number of address lines to be reversed).
Table 1 Current Prom-types available on Blue Box
Type#wds#bits/wdFeatures
Intel 36012564TTL (Open collector)
Intel 270810248NMOS (eraseable)
MMI6300 or MIL 63002564TTL (Open collector)
Motorola 101492564ECL
Signetics 10139328ECL
Signetics 8223328TTL (Open collector)
Table 2 List of Prom-types in PNEW
Type#wds#bits/wdIDFeatures
F9342725649TTL (Tri-states)
F934531024413TTL (Tri-states)
HM760325647TTL (Tri-states)
HM7610256416TTL (Open collector)
HM7620512417TTL (Open collector)
Intel 1702A256814NMOS (eraseable)
Intel 2708102484NMOS (eraseable)
Intel 27162048815NMOS (eraseable)
Intel 27581024818NMOS (eraseable)
Intel 360125643TTL (Open collector)
Intel 87481024820NMOS (eraseable)
MMI6300 or MIL 6300256410TTL (Open collector)
MIL 6305512411TTL (Open collector)
Motorola 1014925645ECL
Signetics 101393286ECL
Signetics 82S233282TTL (Open collector)
Signetics 82S2725648TTL (Open collector)
Signetics 82S126256821TTL (Open collector)
Signetics 82S1361024812TTL (Open collector)
Signetics 82S147512822TTL (Tri-states)
TMS25324096819NMOS (eraseable)
Table 3 Proms’ pin assignments for Address lines
(A0 refers to the high-order address bit)
A0A1A2A3A4A5A6A7A8A9A10A11
F93427567432115----
F934535674321171615--
HM7603*1413121110-------
HM7610567432115----
HM762056743211514---
I1702A1718192021123----
I2708222312345678--
I271619222312345678-
I2758222312345678--
I3601567432115----
I87482322211918171615141312-
MMI6300567432115----
MIL 630556743211514---
M10149423910657----
S101391413121110-------
S82S231413121110-------
S82S27567432115----
S82S126567432115----
S82S1365674321171615--
S82S1471234516171819---
TMS25321819222312345678
* Please be aware that these assignments are different (reversed) from those indicated in TTLDataSheets.dm, hence add switch "A/R" in program/check command line.
Table 4 Proms’ pin assignments for Data Output lines
(D0 refers to the high-order Data bit)
D0D1D2D3D4D5D6D7
F934271211109----
F9345314131211----
HM760312345679
HM76101211109----
HM76201211109----
I1702A1110987654
I2708910111314151617
I2716910111314151617
I2758910111314151617
I36011211109----
I87481918171615141312
MMI63001211109----
MIL 63051211109----
M1014915141312----
S1013912345679
S82S2312345679
S82S271211109----
S82S1261211109----
S82S13614131211----
S82S147678911121314
TMS2532910111314151617