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 PromBlower (Blue Box), and the other called PNEW which derives PROLOG-92. PROM (as well asPNEW--- only PROM is mentioned thereafter, unless otherwise noted) combines the features ofAPROM, PROMDIAG, and LOGICPROM. . PROM runs in three modes, "MB File" mode whichcorresponds fairly closely to APROM, "MB File" mode which corresponds fairly closely toPROMDIAG, and "MB File" mode which corresponds fairly closely to LOGICPROM. Anotherpromgram BINLIST is available for listing MB-files.PROM COMMAND LINEGLOBAL SWITCHESnoneSelect "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 updated0/IInvert the output datanumber/N"number" exclusive or with the addressnumber/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 thatCommand 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 commandlines to fuse Intel 2708 are:PNEW file/F memory/M 4/T proma/C promb/B mema/A memb/SPNEW 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 (addressmust followed by A and separated by a common from the value, octals are indicated by "R8" following the number ornumbers, only one "R8" is needed). PNEW first slices value into four bytes (add leading zeroes if necessary) and writeinto four consective locations, from (address-5) to (address-2), of the memory, then modifies the checksum at thelocation address of the memory by adding four 8-bits numbers of the value onto it. Default address is #3777 ifaddressA is not supplied. dp qpqp% a4qp ` (qpqp ^qpqpG ]"qp% [{9 Y5 Xq3 P M2J2I2G$2F B-2?*2>6F2<>2;,"2928"2646q64p724F4q4Fp<2221<&2/%2.2'2,'2+(2 &rst*s? %R $CC1 # t6tut [rst1ststst rsrsts6 5ts$ %t st sts# gtsts&ts *ts R B-S1G2PROM EDITOR COMMANDSCOMMANDACTIONQQuitZZero promIInvert promSSet prom to all onesCChange 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 bitzero 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 filePPut a fileBBlow promMMemorize promVVerify promLList promNNew prom (test prom for virginity)FFormat selection (only format 4 which selects 4x256 format andformat 8 which selects 8x32 format are currently implemented)DDiagnostic (call Prom Blower Diagnostic)AAddress permutation (Default permutation is9,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 COMMANDSCOMMANDACTIONQQuitSSweep registersCCopy (write memorized data into a prom)WWrite testRRead loop testTType 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)Nfs bp ^2]m2[2Zc 2X2WY;U:2TO,R2QE2O5N;72L 2K1 2I2H' 2F 2E2C"2B>@=2? (2=+;9:z!28 2 /2.2,2+'2) 2' 2&u2$72#k:2!/2 a(22W :L3A command line of PROM is looking like this:PROM file/F memory/M diffile/D promaddr/C prombit/B memaddr/A membit/Swhere file is a file in micro-binary format (see appendix A of D0ASSEM, D0 MicroprogramAssembler, 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 memoryto be programmed in this prom (frequently 0), and memibt is the highest-order bit of memory tobe programmed in this prom (frequently 0). The idea is that bit membit of word memword ofmemory will be programmed into bit prombit of word promword of the prom, and so on, increasingin word number until running out of memory length or prom length. Words unspecified by the fileare left unchanged.If fifile is specified, then instead of being programmed, the prom will be checked against theappropriate part of memory. All differences will be written on diffile. PNEW requires prom-typeto be supplied so that the prom's characteristics will be varified with that of the Personal-card, theswitch 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 internalvariables in PROM; whenever PROM encounters the S switch it attemp_ts to program a promaccording to the most recent settings of its internal variables. For historical reasons PROM expectsnumbers 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 inthe same command line. To compare a sequence of proms against a sequence of segments of amemory and concatenate all results onto one differences file, the name of the difference file shouldbe 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 bitswide, and we wanted to put the low-order 4 bits of the second 256 words into a 256x4 prom, wemight sayPROM X13.MB/F MicroCode/M 0/C 0/B 400R8/A 12/STo program a set of 8 proms to hold the first 512 words of MicroCode, we might execute thefollowing command:PROM X13.MB/F MicroCode/M 0/C 0/B 0/A 0/S 4/S 8/S 12/S256/A 0/S 4/S 8/S 12/SThe first prom generated by the above command would contain the high-order four bits (0-3) oflocations 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 themthroughly. In case they do not match yours there are two ways to confirm your need, switch /R forreversing 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/Lwhere Listfile is the name of listing output file. Other switches are Q, P, I, N (works same as inPROM), and Anumber/R (only for reversing address, number is the number of address lines to bereversed).Nfs `p,2]vpvpvpvpvpvpvp Zvp>v Yp vp& W{vp ){052|){052){052){0526){052t){052 ){05 2 ){05 9.]a5Table 3 Proms' pin assignments for Address lines(A0 refers to the high-order address bit)A0A1A2A3A4A5A6A7A8A9A10A11F93427567432115----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 inTTLDataSheets.dm, hence add switch "A/R" in program/check command line.Nfsbq1_v)(\.s" '+05:?DI Y(" '+05:?DI W:(" '+05:?DI TVTr(TVs" '+05:?DI Q(" '+05:?DI Ob(" '+05:?DI L(" '+05:?DI Jn(" '+05:?DI G(" '+05:?DI Ez(" '+05:?DI C(" '+05:?DI @(" '+05:?DI > (" '+05:?DI ;(" '+05:?DI 9(" '+05:?DI 6(" '+05:?DI 4$(" '+05:?DI 1(" '+05:?DI /0(" '+05:?DI ,(" '+05:?DI *<(" '+05:?DI '(" '+05:?DI !qpX MG B$I6Table 4 Proms' pin assignments for Data Output lines(D0 refers to the high-order Data bit)D0D1D2D3D4D5D6D7F934271211109----F9345314131211----HM760312345679HM76101211109----HM76201211109----I1702A1110987654I2708910111314151617I2716910111314151617I2758910111314151617I36011211109----I87481918171615141312MMI63001211109----MIL 63051211109----M1014915141312----S1013912345679S82S2312345679S82S271211109----S82S1261211109----S82S13614131211----S82S147678911121314TMS2532910111314151617Nfs_q5`\ v&(Y$s" '+05 V(" '+05 T0(" '+05 Q(" '+05 O<(" '+05 L(" '+05 JH(" '+05 G(" '+05 ET(" '+05 B(" '+05 @`(" '+05 =(" '+05 ;l(" '+05 8(" '+05 6x(" '+05 3(" '+05 1(" '+05 / (" '+05 ,(" '+05 *(" '+05 '(" '+05 %"(" '+05 p,G TIMESROMAN  TIMESROMAN  TIMESROMAN TIMESROMAN TIMESROMAN TIMESROMAN TIMESROMAN  hw8"j/%#!prommanual.bravo Bldg--33 ChangFebruary 13, 1980 7:20 PM