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 SWITCHESz19685y738e12jk58(635)\f2 12b4B6b4B99b4B68b4B26b4B13b4B9b4B109b4B none Select "MB File" mode. /E Select "Prom Editor" mode /D Select "Prom Blower Diagnostic" mode /S Call Swat (debug use only)z19685e12jk58\f2 LOCAL SWITCHES (valid in "MB File" mode only)z19685e12jk58\f2 string/P Permute memory address (Default ...,2,1,0)(use comma between pin numbers) string/Q Permute memory data (Default ...,2,1,0)(use comma between pin numbers) string/R Reverse prom's address and/or output data (string: A and/or D) name/F Read micro binary from file "name" name/D Write differences on file "name" name/M Use 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/I Invert the output data number/N "number" exclusive or with the address number/C Chip starting address equals "number" number/B Set chip starting bit equal to "number" number/A Set memory starting address to "number" number/S Set 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 COMMANDSz19685e12jk58\f2 363o4b1o0B76o4b2o0B359f0b1B1i43I323i54b3BI1i24b5B29I3b2B1i49I1i8I20i7I23i7I1b4B19b9B22i5I108i5I98i11I4i11I9i6I45i7I8i6I38i5I38i7I19f2 COMMAND ACTION Q Quit Z Zero prom I Invert prom S Set prom to all ones C Change prom (alters bits pointed to by mouse; red sets bit, yellow resets bit, blue returns control to keyboard input) R Reverse bit (data bits are numbered with bit zero starting from the left) E Equation ("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.) G Get a file P Put a file B Blow prom M Memorize prom V Verify prom L List prom N New prom (test prom for virginity) F Format selection (only format 4 which selects 4x256 format and format 8 which selects 8x32 format are currently implemented) D Diagnostic (call Prom Blower Diagnostic) A Address 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) z19685e12jk58\f2 PROM DIAGNOSTIC COMMANDSz19685e12jk58\f2 COMMAND ACTION Q Quit S Sweep registers C Copy (write memorized data into a prom) W Write test R Read loop test T Type prom (display prom type) M Memorize (read a prom into a core buffer for use later) V Verify (check that the memorized data agree with the prom) L List (generate a listing of the memorized data) I Is prom virgin (test prom for virginity) E Edit (call Prom Editor) ? Help (list all commands)z19685e12jk58\f2 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). z19685jk58\f2 55i4I3i6I3i7I3i8I3i7I3i7I3i6I10i4I62i25I44i6I39i8I67i7I67i7I83i6I103i6I9i7I4i6I29i7I9i8I72i6I78i6I106i6I37i7I895i6I194i6I22i9I135i6I3i9I3i1I3i1I3i5I3i2I63i9I49i6I3i9I173i9I403i4I3i6I3i14I2f0 1f2i8I10i8I56i1I2i1I2i1I2i1I19b4B8i7I31i6I Table 1 Current Prom-types available on Blue Boxz19685l5664jk58\f2b49B Type #wds #bits/wd Features Intel 3601 256 4 TTL (Open collector) Intel 2708 1024 8 NMOS (eraseable) MMI6300 or MIL 6300 256 4 TTL (Open collector) Motorola 10149 256 4 ECL Signetics 10139 32 8 ECL Signetics 8223 32 8 TTL (Open collector) z19685jk58\f2 3i8I1i27I47f0 2f2 43f0 2f2 51f0 2f2 31f0 2f2 32f0 2f2 Table 2 List of Prom-types in PNEWz19685l5664jk58\f2b35B Type #wds #bits/wd ID Features F93427 256 4 9 TTL (Tri-states) F93453 1024 4 13 TTL (Tri-states) HM7603 256 4 7 TTL (Tri-states) HM7610 256 4 16 TTL (Open collector) HM7620 512 4 17 TTL (Open collector) Intel 1702A 256 8 14 NMOS (eraseable) Intel 2708 1024 8 4 NMOS (eraseable) Intel 2716 2048 8 15 NMOS (eraseable) Intel 2758 1024 8 18 NMOS (eraseable) Intel 3601 256 4 3 TTL (Open collector) Intel 8748 1024 8 20 NMOS (eraseable) MMI6300 or MIL 6300 256 4 10 TTL (Open collector) MIL 6305 512 4 11 TTL (Open collector) Motorola 10149 256 4 5 ECL Signetics 10139 32 8 6 ECL Signetics 82S23 32 8 2 TTL (Open collector) Signetics 82S27 256 4 8 TTL (Open collector) Signetics 82S126 256 8 21 TTL (Open collector) Signetics 82S136 1024 8 12 TTL (Open collector) Signetics 82S147 512 8 22 TTL (Tri-states) TMS2532 4096 8 19 NMOS (eraseable) z19685jk58\f2 3i8I1i31I42f0 2f2 43f0 2f2 41f0 2f2 46f0 2f2 46f0 2f2 46f0 2f2 46f0 2f2 47f0 2f2 47f0 2f2 49f0 2f2 47f0 2f2 55f0 2f2 48f0 2f2 34f0 2f2 35f0 2f2 52f0 2f2 52f0 2f2 54f0 2f2 55f0 2f2 50f0 2f2 Table 3 Proms' pin assignments for Address lines z19685l5824jk58\f2b49B (A0 refers to the high-order address bit)z19685l6880jk58\f2i A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 F93427 5 6 7 4 3 2 1 15 - - - - F93453 5 6 7 4 3 2 1 17 16 15 - - HM7603* 14 13 12 11 10 - - - - - - - HM7610 5 6 7 4 3 2 1 15 - - - - HM7620 5 6 7 4 3 2 1 15 14 - - - I1702A 17 18 19 20 21 1 2 3 - - - - I2708 22 23 1 2 3 4 5 6 7 8 - - I2716 19 22 23 1 2 3 4 5 6 7 8 - I2758 22 23 1 2 3 4 5 6 7 8 - - I3601 5 6 7 4 3 2 1 15 - - - - I8748 23 22 21 19 18 17 16 15 14 13 12 - MMI6300 5 6 7 4 3 2 1 15 - - - - MIL 6305 5 6 7 4 3 2 1 15 14 - - - M10149 4 2 3 9 10 6 5 7 - - - - S10139 14 13 12 11 10 - - - - - - - S82S23 14 13 12 11 10 - - - - - - - S82S27 5 6 7 4 3 2 1 15 - - - - S82S126 5 6 7 4 3 2 1 15 - - - - S82S136 5 6 7 4 3 2 1 17 16 15 - - S82S147 1 2 3 4 5 16 17 18 19 - - - TMS2532 18 19 22 23 1 2 3 4 5 6 7 8 * 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. z19685l3008jk58\f2 1f0 151o4b1o0B886f2 3b1B Table 4 Proms' pin assignments for Data Output lines z19685l5536jk58\f2b53B (D0 refers to the high-order Data bit)z19685l7008jk58\f2i D0 D1 D2 D3 D4 D5 D6 D7 F93427 12 11 10 9 - - - - F93453 14 13 12 11 - - - - HM7603 1 2 3 4 5 6 7 9 HM7610 12 11 10 9 - - - - HM7620 12 11 10 9 - - - - I1702A 11 10 9 8 7 6 5 4 I2708 9 10 11 13 14 15 16 17 I2716 9 10 11 13 14 15 16 17 I2758 9 10 11 13 14 15 16 17 I3601 12 11 10 9 - - - - I8748 19 18 17 16 15 14 13 12 MMI6300 12 11 10 9 - - - - MIL 6305 12 11 10 9 - - - - M10149 15 14 13 12 - - - - S10139 1 2 3 4 5 6 7 9 S82S23 1 2 3 4 5 6 7 9 S82S27 12 11 10 9 - - - - S82S126 12 11 10 9 - - - - S82S136 14 13 12 11 - - - - S82S147 6 7 8 9 11 12 13 14 TMS2532 9 10 11 13 14 15 16 17 z19685jk58\f2 1f0 784f2