Google
 

Trailing-Edge - PDP-10 Archives - ks10_8080_microcode - romgen.doc
There are no other files named romgen.doc in the archive.

















                           R O M / P R O M

                      D O C U M E N T A T I O N

                            P A C K A G E







TABLE OF CONTENTS:


     1.  RELEASE OF ROMGEN 2J(1)                             23-NOV-77

     2.  RELEASE OF ROMGEN.V08                               21-SEP-77

     3.  PROCESSING ROM/PROM PATTERNS FOR RELEASE             2-SEP-77

     4.  HOW TO MOVE A BLASTER TAPE FROM -8 TO -10 DECTAPE    2-SEP-77

     5.  ROMGEN MANUAL                                       23-NOV-77
RELEASE OF ROMGEN 2J(1)                                         Page 2


+-----------------+
!  d i g i t a l  !     I N T E R O F F I C E  M E M O R A N D U M
+-----------------+


TO:  ROM/PROM dist.                        DATE:  23 November 1977

                                           FROM:  Randy Weiss

                                           DEPT:  CAD

                                           EXT:   6422

                                           LOC/MAILSTOP:  ML1/E24



SUBJ:  RELEASE OF ROMGEN 2J(1)


This memo describes in detail the new features in the  latest  version

of  ROMGEN.   The  main  purpose  of ROMGEN 2J(1) was to output vendor

format data bases so that ROM patterns could be sent to  the  MOTOROLA

mask  shop  for  2048X8  ROM's.  The other change was to adopt the new

convention for specifying program versions.  As you know, the previous

version of ROMGEN was V08.  This new version is being called 2J(1).


VENDOR OUTPUTS


The old ROM pattern card deck output  has  been  removed  from  ROMGEN

because it was not being used.  In its place, there is a new question:

   VENDOR OUTPUTS (Y OR N)?


If the user answers NO, that is the end of the matter.  If he  answers

YES, then the program asks the user for file names to give the desired

outputs.  This release of ROMGEN implements only one vendor format,  a

MOTOROLA  paper  tape.   If  that  is  desired,  just  answer the next

question:

   MOTOROLA PAPER TAPE FILE NAME (CR= NO PTP):  <part no>.PP(cr)
RELEASE OF ROMGEN 2J(1)                                         Page 3


After this file is created, punch it out using the command:

   .PUNCH/TAPE:ASCII <part no>.PP(cr)


Note:  This is a different kind of paper tape  output  than  the  mfg.

standard  blaster  tape.   This tape is only created when one wants to

send the pattern to the MOTOROLA mask shop in Texas.  It is  different

also  in  that it is punched in ASCII mode rather than IMAGE mode.  Be

sure to use the right /TAPE:  switch when creating it.


Note:  This output may only be obtained for 8 bit  wide  devices.   At

the  moment,  this  output  is  only  to  be  used  for  2048 X 8 mask

programmed ROM's.


In general, the only people who should ask  for  vendor  outputs  from

ROMGEN  are  those  in  the  REORDER  department  (upon the request of

Purchase Specs).  All other users of ROMGEN should answer  NO  to  the

VENDOR OUTPUTS?  question.



VERSION LABELLING


ROMGEN is now using the standard  version  labelling  convention.   It

used to use its own scheme, e.g.  V08.  ROMGEN's version is now 2J(1).


The first number is the major version number (in this case 2) and goes

up  only  when  an  enhancement  results  in  a  major  change  in the

functionality of a program.  The next letter (in this case J)  is  the

minor version letter and goes up for each minor enhancement in program

functionality.  And the second number, in  parentheses,  is  the  edit

number  (in  this  case  1) which goes up each time a bug is fixed and

there was no change to the program functionality.
RELEASE OF ROMGEN 2J(1)                                         Page 4


There is one advantage to this convention,;  this  version  number  is

visible in the device directory when you do a DIR.  That is to say, it

takes advantage  of  the  hooks  in  the  system  software.   A  minor

advantage  is  that  you can tell at a glance whether a new version is

merely a bug fix or an enhancement.
RELEASE OF ROMGEN.V08                                           Page 5


+-----------------+
!  d i g i t a l  !     I N T E R O F F I C E  M E M O R A N D U M
+-----------------+


TO:  ROM/PROM dist.                        DATE:  21 September 1977

                                           FROM:  Randy Weiss

                                           DEPT:  CAD

                                           EXT:   6422

                                           LOC/MAILSTOP:  ML1/E24



SUBJ:  RELEASE OF ROMGEN.V08


ROMGEN.V08 is now available for use on CADNet/1,2,3 and Sytems D  &  E

on  CS2.  This memo describes in detail the changes made to ROMGEN for

this  version.   Attached  you  will  find  a  copy  of  all  ROM/PROM

documentation,   suitably  updated.   For  additional  copies  of  the

ROM/PROM documentation, log onto one of the machines listed above  and

type:

     .PRINT PUB:ROMGEN.DOC


ROMGEN.V08 incorporates three enhancements.   First,  ROMGEN  can  now

process  wide ROM's (having a width greater than 8 bits).  This allows

all device sizes (except 64 X 8 X 5) approved by Purchase Specs to  be

processed  in  the same fashion;  having the same format data base and

pattern listing.  Second, ROMGEN now includes a NOTES  section  to  be

held  in  the  data  base  and to appear on the pattern listing.  This

allows additional ROM/PROM parameters to be stored  with  the  pattern

(for  example,  programmable  chip  select  data).   Third, ROMGEN now

automatically fills in the document number for  the  pattern  listing;

this number being calculated from the part number given.  This removes
RELEASE OF ROMGEN.V08                                           Page 6


the need for anyone to fill out a document  number  on  each  page  by

hand.


The following is a complete description of each enhancement.



1.  WIDE ROM's


Devices with a width greater than 8 bits may now  be  processed  using

ROMGEN.   Any  device  size  approved  by  Purchase  Specs may be used

(except 64X8X5, a three dimensional  array).   The  pattern  for  wide

ROM's may be entered from the terminal in the usual way.  In addition,

the ROMGEN data base for a wide ROM may be used  as  input.   However,

paper  tape  may  not  be  used  for input for wide ROM's.  Similarly,

ROMGEN will output a data base or a pattern listing file for any  wide

ROM.   But, a paper tape output is not possible.  (There is no blaster

at DEC that accepts anything wider than 8 bits.)


There is one change to the way the user  inputs  a  pattern  from  the

terminal.   To stop inputting data the user now must type D (for DONE)

instead of 777.



2.  NOTES FEATURE


A NOTES section has been added to the pattern control information held

for  each  ROM  or  PROM.  This allows additional specifications to be

stored in the data base and mfg.  blaster tape and to  appear  on  the

pattern  listing.   For  example, programmable chip select data may be

stored as notes, and thus will appear on the listing and in  the  data

base.
RELEASE OF ROMGEN.V08                                           Page 7


The notes may be entered and edited from the terminal in the same  way

as  other  pattern control info.  They are referred to at the terminal

by note number;  e.g.  NOTE 1.  The notes appear on the listing in the

title block on the first page.  Up to 13 lines of notes may be stored,

with up to 45 characters on a line.  If the user exceeds  this  limit,

an  error  message  will  be given and he will be asked to reenter the

line.


To enter the notes, the protocol at the terminal is:

     NOTE (CR= NONE)? <type the note here;  45 characters max>(cr)
     NOTE (CR= NONE)? <type next line of notes here>(cr)

     <when finished, type:>
     NOTE (CR= NONE)? (cr)


To change notes stored in the data base, the protocol at the  terminal
is:

     CHANGE NOTES(Y OR N)? Y(cr)
     NOTE NUMBER (CR= DONE)? <type number of the note to change>(cr)
     NEW NOTE: <type the new revised note here>(cr)
     NOTE NUMBER (CR= DONE)? <type number of next note to change>(cr)
     NEW NOTE: <type new revised note here>(cr)

     <when finished, type:>
     NOTE NUMBER (CR= DONE)? (cr)


3.  AUTOMATIC DOCUMENT NUMBER


The document number that appears in the title block of every  page  of

the  pattern  listing  is  now automatically filled in by the program.

The document  number  is  calculated  from  the  part  number  in  the

following way:

     K-PS-<part number here; no variation>-0-0

The user does not have the option whether or not to use  the  document

number;  it is automatically filled in.
PROCESSING ROM/PROM PATTERNS FOR RELEASE                        Page 8


+-----------------+
!  d i g i t a l  !     I N T E R O F F I C E  M E M O R A N D U M
+-----------------+


TO:  ROM/PROM dist.                        DATE:  2 September 1977

                                           FROM:  Randy Weiss

                                           DEPT:  CAD

                                           EXT:   6422

                                           MAILSTOP:  ML1/E24


SUBJ:  PROCESSING ROM/PROM PATTERNS FOR RELEASE


Attached is a memo describing in detail how  to  process  non-standard

blaster tapes into ROMGEN data bases.  This memo should be read by all

engineers who use their own software to develop their  PROM  patterns.

Selected operators in eng.services will provide the service and should

read this memo for reference.


For further information, see the ROMGEN manual, which is attached.  To

get  an  extra  copy  of  this  memo,  log  onto  one of the following

machines:  CADNet/1,2,3 or CS2 Systems D  &  E.   Type  the  following

command:

   .PRINT PUB:ROMGEN.DOC/COPIES:2(cr)

Give the extra copy to a friend.
PROCESSING ROM/PROM PATTERNS FOR RELEASE                        Page 9











                PROCESSING NON-STANDARD BLASTER TAPES










Table of Contents

1.  Introduction

2.  Overview of the process

3.  Inputs

4.  Outputs

5.  Procedure for the engineer

6.  Procedure for the operator

7.  Limitations

8.  ROMGEN Processing Form






                                Rev.0  Randy Weiss  17 August 1977

                                Rev.1  Randy Weiss  2 September 1977
PROCESSING ROM/PROM PATTERNS FOR RELEASE                       Page 10


1.  Introduction


To release a ROM or PROM it is necessary to create a ROMGEN data  base

of   the   pattern.   This  data  base  is  used  to  generate  formal

documentation and soft tooling.


Many engineering groups have their own software tools  for  developing

firmware.   Often these programs are able to create a blaster tape for

prototype purposes.  But they are in a  non-standard  format.   It  is

necessary to process these blaster tapes into ROMGEN type data bases.


ROMGEN is the program in eng.  services that creates  data  bases  for

ROM or PROM patterns and post-processes them into formal documentation

and soft tooling (mfg.  standard blaster tape).  The program runs on a

DEC  System-10  (CADNet/1,/2,/3 and CS2 Systems D & E).  Unfortuately,

this makes it awkward for use within the engineering groups for  their

development   purposes   (because   of   the   turn-around   time  and

availability).


ROMGEN can read non-standard blaster tapes, if instructed properly  by

the operator.  So ROMGEN will be used to do this type of processing.


All blaster tapes for  DATA-IO  blasters  have  the  PROM  pattern  in

binary,  organized  sequentially  starting  with location 0.  However,

many different start marks are used throughout DEC.  Manufacturing has

a  standard  format  for their blaster tapes.  In this memo, all other

formats will be referred to as non-standard.


This memo  describes  for  the  engineer  and  the  operator  in  eng.

services  how  to  process  a  non-standard blaster tape into a ROMGEN
PROCESSING ROM/PROM PATTERNS FOR RELEASE                       Page 11


format data base.  Engineers should read this memo to understand  what

they  must  submit  to  eng.   services  to have this processing done.

Operators should read this memo for reference in doing that job.



2.  Overview of the process


The engineer reads this memo when he takes out the part number(s)  for

the  PROM(s)  he  is going to use.  After developing the PROM patterns

and testing the prototypes using  his  own  resources,  he  sends  the

blaster  tapes  to  eng.   services to be processed into ROMGEN format

data bases.  To do this, the engineer follows the  instructions  given

in the section PROCEDURE FOR THE ENGINEER.


When the eng.  services operator gets  the  job,  he/she  follows  the

instructions  given  in  section PROCEDURE FOR THE OPERATOR.  It takes

the operator about 45 minutes to process each pattern  (most  of  this

time  is  spent  waiting  for  I/O  and double checking results).  The

operator returns a DECtape (new certified tape with machine  generated

directory)  with  the  data  bases  on  it.  The engineer submits this

DECtape to Purchase Specs to release his PROM(s).



3.  Inputs (what the engineer submits to eng.  services)


3.1  The primary input to the process is a DECtape holding the blaster

tapes  as  files in image mode.  This DECtape is given to eng.services

to process into ROMGEN format data bases.


Be sure that all blaster tape files are copied onto DECtape  in  image

mode.
PROCESSING ROM/PROM PATTERNS FOR RELEASE                       Page 12


PDP-11 DECtapes with contiguous file structure (RT11) cannot be  used,

since the -10 is unable to read them.


PDP-8 DECtapes may not be  used  for  the  same  reason.   Except  the

engineer  can  copy his files from an -8 onto a -10 type DECtape using

the program PIP10.


A directory of the files on the DECtape must be scotch-taped on.


The ROMGEN Processing Form must indicate what type of DECtape this is.



3.2  The ROMGEN Processing Form must be filled out  to  indicate  what

type of processing is to be done.  Fill out as follows:


     1.  Identification section:  engineer's name, phone number, etc.


     2.  DECtape section

           a)  Type (PDP-11,PDP-15,DEC System-10)

           b)  Files on it, with the part numbers for each pattern in

               each file.


     3.  File format section:

           Indicate if mfg.   standard  format  or  non-standard.   If

         non-standard,  describe the start mark used, both pictorially

         and in  octal.   If  known,  may  indicate  here  the  ROMGEN

         commands to use to find the start of data.


     4.  Listing format section:

         For the pattern listings the engineer has submitted with  the

         job, indicate what radix was used for the addresses and data.
PROCESSING ROM/PROM PATTERNS FOR RELEASE                       Page 13


     5.  Outputs desired:  data base, listing, blaster tape, or vendor

         output





3.3  The  engineer  must  provide  listings  of  the  patterns  to  be

processed  so  that  the  operator can double-check the output.  These

listings may be in any form that is on hand.  If the data  is  not  in

octal,  write  on  the  listing,  for  each  pattern,  the first three

locations of data in octal.  Also, be sure that the listing is  marked

with a part number and device size for each pattern.



4.  Outputs



4.1  The output of this process is returned by eng.  services  to  the

engineer.   He  must  specify  the  outputs  desired.   The  following

describes what he may ask for.



4.2  The ROMGEN data base must be obtained in  order  to  release  the

PROM.   As  many  data bases as will fit may be stored on a single -10

type DECtape.  This DECtape must have a  file  directory  scotch-taped

on.    This  DECtape  is  ultimately  stored  in  the  Design  Library

(archive).



4.3  The listing file output  from  ROMGEN  may  be  run  off  a  line

printer.   It  may  serve  as  the  formal  documentation for the PROM

pattern.  It displays the pattern in all formats that may be useful to

engineering,  manufacturing,  and field service (decimal, hexadecimal,
PROCESSING ROM/PROM PATTERNS FOR RELEASE                       Page 14


octal, binary).



4.4  The paper tape file output may be punched on a PTP in image mode.

This  tape  is in the mfg.  standard format.  The pattern control info

is held at the beginning of the tape,  enclosed  within  triangles  of

punched  holes.   Mount  the  tape on a blaster in the 10 inch area of

blank tape that follows the pattern  control  info.   Use  the  search

feature of the blaster to find the data start mark of 377 (octal;  all

eight holes punched).



5.  Procedure for the engineer



5.1  Develop the  PROM  thru  the  prototype  stage  using  one's  own

software.


5.2  If using a -10 for the development work, read the next section on

PROCEDURE FOR THE OPERATOR and do the processing yourself.


5.3  If using an -11 or -15, copy the blaster tape files onto  DECtape

in  image  mode.   If  using  an  -8, copy these files onto a -10 type

DECtape in binary mode using the program PIP10 (and  the  /B  switch).

For  further  details,  see the attached memo on HOW TO COPY A BLASTER

TAPE FROM AN -8 TO -10 TYPE DECTAPE.


5.4  Type out a file directory of the DECtape and scotch-tape it on.


5.5  Fill out the ROMGEN Processing Form.  Be  sure  to  describe  the

data start mark on your tape completly and clearly.  Get a copy of the

ROMGEN Users Manual for a better understanding  of  how  the  operator
PROCESSING ROM/PROM PATTERNS FOR RELEASE                       Page 15


uses this information.


5.6  Submit the job (DECtape and form) to one  of  the  two  operators

trained to do this type of processing:

      a)  Pat Blodgett (X3491) in Tom Surette's group at ML4-5.

      b)  One more person in the  Mill  will  be  trained.   Have  not

          determined who, yet.

      c)  Jack Mason (X6760) in Roger Pothier's group at MR1-2.


Note:  The people above should  be  contacted  primarily  to  do  this

non-standard  processing  step.  If non-standard blaster tapes are not

involved in your job, give it to your local design satellite.


5.7  Get back a -10 type DECtape with the data  base  files,  and  the

formal pattern documentation (listings).


5.8  Check for errors.


5.9  Submit the DECtape to Purchase Specs  in  order  to  release  the

PROM.



6.  Procedure for the operator


6.1  Check  that  everything  needed  is   there:    DECtape,   ROMGEN

Processing  Form  with  all  necessary  information,  and  the pattern

listings.  If the tape files are in standard format,  process  in  the

usual way.  Otherwise, read on.


6.2  Send the DECtape to the CADNet Operations Window.  (If necessary,

attach a label with TAPEID and the project-programmer number (PPN) for

your disk area.)
PROCESSING ROM/PROM PATTERNS FOR RELEASE                       Page 16


6.3  Load the files onto your disk area:


     a)  If -10 type DECtape, type:

     .FILE R, <TAPEID>, <FILE.EXT>, <FILE.EXT>, ...  (cr)

     where TAPEID is the label on the tape, and the file names are for

     the desired files.


     b)  If -11 type DECtape, type:

     .MOUNT DTA:<TAPEID>/WLOCK/VID:'<MESSAGE TO THE OPERATOR>'(cr)

     <see which drive was assigned.  In the example below DTA0:   will

     be used.>

     .R FILEX(cr)

     *DSK:=DTA0:*.*/V/I(cr)

     *^C (CTRL C)

     <The files are now on disk with the same file names used  on  the

     DECtape.>


     c)  If -15 type DECtape, do the same  typing  as  in  (b)  above,

     except that when running FILEX, use the switch /F instead of /V.


6.4  Run ROMGEN  specifying:   paper  tape  input;   give  file  name;

specify non-standard format;  fill out pattern control information for

the pattern to be processed.  As follows:

     .R PUB:ROMGEN(cr)
     DATABASE FORMAT INPUT (Y OR N)?  N(cr)
     PAPER TAPE FILE INPUT (Y OR N)?  Y(cr)
     TYPE PAPER TAPE INPUT FILE NAME?  <give file name from Form>(cr)
     STANDARD FORMAT PAPER TAPE (Y OR N)?  N(cr)
     DEC PART NUMBER:  <give part number found on the Form>(cr)
     DEVICE LENGTH:  <give length size found on the listing>(cr)
     DEVICE WIDTH:  <give width size found on the listing>(cr)
     ORIGINATOR:  <give engineer's name found on the Form>(cr)
     DATE OF ORIGIN:  <today's date>(cr)
     NOTES (CR= NONE):  <type in any notes here>(cr)
     <program introduces the virtual paper tape reader, here>
PROCESSING ROM/PROM PATTERNS FOR RELEASE                       Page 17


6.5  Look at the ROMGEN Proceesing Form to see  what  the  data  start

mark looks like.


At this point, show ROMGEN where the start of data  is  by  using  the

virtual  paper  tape reader to move the cursor over the start of data.

Use the Search and Move commands to do this.


If this tape to be read follows another tape in the same file, use the

Jump command to jump over the preceding pattern.  Calculate the amount

to jump by adding the length of that PROM to the frame number for  the

start of the previous pattern.


6.6  When the virtual PTP read head (cursor) is over the  first  frame

of  data,  double  check the first three locations of data against the

pattern listing.  If it is not the same, go back to step 6.5.   If  it

is the same, use the Grab command to input the pattern.


6.7  Now create the outputs specified on the ROMGEN  Processing  Form.

Refer to the ROMGEN User Manual, if more details are needed.


The first part of the file name should be the five characters  of  the

part  number that follows the class code 23.  For example, part number

23-123A2 would use the file name 123A2.  The second part of  the  file

name (the extension) indicates what type of file it is.  It should be:

   .DAT= data base file

   .LST= listing file

   .PTP= paper tape file (mfg.  standard blaster tape)

   .CDP= card deck file


6.8  Run off the listing file (.LST) on the line printer.
PROCESSING ROM/PROM PATTERNS FOR RELEASE                       Page 18


If selected, punch  the  paper  tape  file  (.PTP)  using  the  switch

/TAPE:IM.


6.9  Repeat steps 6.4 thru 6.8 for  the  rest  of  the  PROM  patterns

submitted.


6.10  Give a new certified -10 type DECtape to the  CADNet  Operations

Window  and  save the data bases (.DAT), using the FILE command.  Type

out the file directory for the DECtape and scotch-tape it on.


6.11  Send the  DECtape  with  the  data  bases,  the  original  input

DECtape,  paper  tape, and the listings (and other outputs created) to

the engineer.



7.  Limitations



7.1  The engineer may not submit an -11 type DECtape  with  contiguous

file  structure  (RT11).   The  regular file structure DECtape must be

used (RSX,RSTS,DOS).  PDP-8 type DECtapes  may  not  be  used  either;

however, PIP10 may be used to write a -10 type DECtape on a PDP-8.


7.2  If the blaster tape file format or structure is complicated,  the

engineer may have to work with the operator to process it.


7.3  ROMGEN cannot read ASCII format blaster tapes.


7.4  This non-standard  service  is  available  only  in  Maynard  and

Marlboro.   Engineers in other locations must either send their job in

to Maynard or allow enough lead time to schedule a CAD engineer to  go

out to their location and train an operator there.  The training takes
PROCESSING ROM/PROM PATTERNS FOR RELEASE                       Page 19


one afternoon (3 hours) and a live job may be  used  as  the  training

example.
PROCESSING ROM/PROM PATTERNS FOR RELEASE                       Page 20


8.  ROMGEN Processing Form


IDENTIFICATION:  ENGINEER -----------------  EXT: ------  LOC: ------



DECTAPE:  TYPE (circle one)     -11     -15     -10

FILE NAME AND PART NUMBER FOR EACH PATTERN IN THAT FILE:

 ---------------------   ---------------------   ---------------------

 ---------------------   ---------------------   ---------------------

 ---------------------   ---------------------   ---------------------

 ---------------------   ---------------------   ---------------------

 ---------------------   ---------------------   ---------------------


FILE FORMAT:   BLASTER TAPE (circle one)   STANDARD     NON-STANDARD

OTHER   ----------------------------


IF NON-STANDARD BLASTER TAPE, DESCRIBE START MARK:

(PICTORIALLY) TAPE        CHARACTER (IN OCTAL)

         !            !  -
         !            !  -
         !            !  -
         !            !  -
         !            !  -
         !            !  -
         !            !  -
         !            !  -

(MAY DESCRIBE ROMGEN COMMANDS TO USE, IF KNOWN)





LISTING FORMAT: ADDRESSES (circle one)   OCTAL   HEXADECIMAL   DECIMAL

                DATA      (circle one)   OCTAL   HEXADECIMAL   BINARY



OUTPUTS (X):  DATA BASE (REQUIRED)-----        LISTING (REQUIRED)-----

                                     MFG. BLASTER TAPE (OPTIONAL)-----
HOW TO MOVE A BLASTER TAPE FROM AN -8 TO -10 TYPE DECTAPE      Page 21


+-----------------+
!  d i g i t a l  !     I N T E R O F F I C E  M E M O R A N D U M
+-----------------+


TO:  ROM/PROM dist.                        DATE:  2 September 1977

                                           FROM:  Randy Weiss

                                           DEPT:  CAD

                                           EXT:   6422

                                           LOC/MAILSTOP:  ML1/E24



SUBJ:  HOW TO MOVE A BLASTER TAPE FILE FROM AN -8 TO -10 TYPE DECTAPE


This memo describes how to a blaster tape file from disk or DECtape on
a  PDP-8  to a -10 type DECtape.  This is a useful step to move a prom
pattern developed from software on an -8 to a  DEC  System-10  to  run
ROMGEN and obtain a standard ROM pattern data base for release.

First, to do this operation at all, you must have a  PDP-8  with  OS/8
operating system.  Second, you must have a copy of the utility program
PIP10 on your machine.  If you do not have it, get a copy from a  GEMS
station in Design Services.

Third, you must understand what format your file is in.  If to punch a
blaster  tape  from this file you use the /B switch, then its a binary
file.  If to punch the blaster tape you use the /I switch, then it  is
an image mode file.

Now you are ready to transfer your file.  Run PIP10  and  specify  the
output  file  using  the same switch you used for PUNCH , then specify
the input file.  For example, if your file is on  SYS,  is  in  binary
format, and the -10 type DECtape is on drive 0, type:
     .R PIP10
     *DTA0:FILE.EX<FILE.EX/B

     (If the file was in image mode, use the switch /I instead of /B.)
ROMGEN MANUAL                                                  Page 22

















                             USERS GUIDE

                    ROM & PROM GENERATION PROGRAM

                               (ROMGEN)










                              VP:143:75














                    Rev. 0 Val Patel -- Octover 21, 1975
                    Rev. 1 Val Patel -- October 31, 1975
                    Rev. 2 Val Patel -- November 18, 1975
                    Rev. 3 Randy Weiss -- May 3, 1976
                    Rev. 4 Randy Weiss -- April 25, 1977
                    Rev. 5 Randy Weiss -- September 19, 1977
                    Rev. 6 Randy Weiss -- 23 November 1977
ROMGEN MANUAL                                                  Page 23


                             USERS GUIDE

                                ROMGEN



INTRODUCTION

The ROMGEN is a PDP-10 program designed to generate ROM & PROM pattern
data  based  from  either teletype or paper tape input.  Once the data
base is complete, it also allows the user to edit the data base and to
create  finished  outputs  viz.   user formatted line printer listing,
paper tape file for punching paper tape, and vendor format outputs.

REVISION HISTORY

        V05  New standard blaster tape  format  and  improved  listing
             acceptable as a formal document.
        V06  Modified blaster tape format for easy mounting and  added
             hexadecimal fields to listing.
        V07  Old format PTP input replaced with a virtual  paper  tape
             reader controlled from the user's TTY.  Any binary format
             blaster tape can now be read.
        V08  Expanded to handle wide ROM's (up  to  22  bits).   NOTES
             block   added   to   the   pattern  control  information.
             Automatic document numbering installed.
        2J(1)  Old card deck output removed.   Motorola  format  paper
             tape output added.



HARDWARE/SOFTWARE REQUIREMENT

A standard PDP-10 time-sharing system running  under  TOPS-10  monitor
and  having  FOROTS  (FORTRAN  Operating  System) is required.  Also Q
monitor is essential for handling various devices (printer, paper tape
reader/punch, card punch, etc.).



INPUT

There are three types of inputs to the ROMGEN program.

     1.  Paper Tape Input

         This input is created by ROM simulators running on  a  PDP-11
         or PDP-8.  There are two ways to input paper tape.  A tape in
         the current DEC standard format may be read directly with  no
         fuss.  Any other format binary blaster tape may be read using
         the virtual PTP reader facility within ROMGEN.

         The new standard format paper tape contains a header  holding
         the  part  number,  device  length,  device  width,  name  or
         originator, and date originated, followed by the binary  data
ROMGEN MANUAL                                                  Page 24


         and a checksum at the end.  This tape, produced by ROMGEN, is
         used by mfg.  to blast PROM's.  See Appendix B  for  complete
         description.

         The program will ask the user if standard format  paper  tape
         is  being  used  as input.  So the user must know how to tell
         what tape format he has got.   In  general,  standard  format
         tape is recognized by triangles enclosing the pattern control
         information and a 10" blank area before the data starts.  Any
         other  format  paper tape (binary blaster tape) must be input
         thru the virtual PTP reader option,  which  is  automatically
         invoked  when  one  answers  NO  to  the STANDARD FORMAT PTP?
         question.

         Here the operator is shown on the TTY a window of  his  paper
         tape  centered on the virtual PTP read head.  He may move the
         tape  over  this  read  head  (cursor)  using  any  of  three
         commands:   to  search  forward  for  a  character,  to  move
         forwards or backwards a number of frames, or  to  jump  to  a
         particular  frame.   When the user has positioned the tape at
         the start of data, he tells  ROMGEN  to  grab  the  data  and
         proceed.

     2.  Teletype Input

         This  input  is  derived  from  hand  generated  (or  machine
         generated  if  paper  tape is not available) listing of a ROM
         pattern.  The listing contains the address location  and  its
         contents side-by-side.

         The  program  also  asks  from  teletype  for  the  following
         information:

         DEC Part Number?  --
             A legal DEC part # for the ROM pattern must be given.

         Device Length?  --
             Length of ROM memory in terms of # of address locations.

         Device Width?  --
             Width of ROM memory location in terms of number of bits.

         Originator?  --
             The name of an engineer originating the ROM pattern data.

         Date or Origin?  --
             The date (day-month(in letters)-year) on which  the  data
             is originated.

         NOTES?  --
             User may type in up  to  13  lines  of  notes  (max.   45
             characters on a line).

         Random or Seq.  Data Entry?  --
             RAND may be given while editing an already  created  data
ROMGEN MANUAL                                                  Page 25


             base  since only a few random locations require the edit.
             SEQ may be used when entering brand new data from TTY.

     3.  Data Base Input

         This input is derived after running  the  program  once  with
         either  of  the  above  mentioned  input.   It  provides  the
         simplest way to input an existing pattern  to  be  edited  or
         post-processed.



OUTPUT

There are four possible outputs of the program:

     1.  Data Base

         The data base file is created in user's disk  area  with  the
         user  specified  name  and is in binary format.  This file is
         saved for future edits (intermediate changes and formal  ECO)
         and also for deriving tools -- listing, paper tape and cards.
         This file is to be saved by the Product Library after release
         of the pattern.

     2.  ROM Listing

         The listing file is created on user's  disk  area  with  user
         specified  file  name  and  is  in  7-bit  ASCII  format.  It
         contains page-by-page  user  formatted  listing  of  the  ROM
         pattern.   The  file can be printed on line printer by typing
         ".Q filename".  See Appendix A for sample.  The pattern  data
         is   shown   in  many  different  formats  for  easy  use  by
         engineering, manufacturing, and field service.  Addresses are
         shown  in  decimal,  hexadecimal and octal.  Data is shown in
         octal, hexadecimal, and binary.  The most  significant  digit
         is always on the left.

     3.  PROM Blaster Paper Tape

         The paper tape file is created on user's disk area with  user
         specified  name  and  is in image binary format.  It contains
         binary data  to  be  resided  in  PROM  starting  at  address
         location   0.    The   tape   can   be   punched  by  typing:
         ".Q PTP:=filename/TAPES:IM".  See Appendix B for sample.

         To mount tape on a blaster, look for the ten inch blank  area
         that   follows  the  pattern  control  information  which  is
         enclosed between triangles.  Mount tape under reader in  that
         blank area.  Use auto-search by the blaster for the all eight
         holes punched (377 octal) data start mark.

         Note:  No paper tape output is possible for ROM's wider  than
         8 bits (the width of a paper tape).
ROMGEN MANUAL                                                  Page 26


     4.  Vendor format outputs

         If a ROM is to be manufactured by an outside vendor, generate
         one  of  these vendor outputs.  At this time, only a Motorola
         format paper tape is available.  If the old card deck  format
         is desired, see appendix C (this format is obsolete).



PROCESSING

Upon start, the program identifies itself and asks user for the  input
type.   If  the input is a previously generated data base, it asks for
the data base file name and whether the data base is  required  to  be
changed.   If  no  changes  are required, it goes directly to the tool
generation phase and asks for file name for each type of output.  If a
blank  file  name  is  given,  no output is generated for that type of
output.  If changes are required to the data base, then it  goes  into
teletype  mode  for  accepting  changes  and  then  goes into the tool
generation mode.

If input is not a previously generated data base, it asks whether it's
a  paper  tape  or teletype input and accepts the data accordingly and
then goes into the tool generation mode.

After the end of the last output type (card output) it terminates  the
execution and returns to the monitor.



ERROR MESSAGES

     1.  If the Device Length and  Device  Width  combination  is  not
         found  in the following table, it types out appropriate error
         messages and re-asks the question.  Thus, if you want to find
         out the legal device sizes, type 0 for the device length.
         
                   Device Length          Device Width
                   -------------          ------------
         
                        32                     8
                       256                     4
                       256                     8
                       360                    10
                       512                     4
                       512                     8
                       512                    12
                       512                    22
                      1024                     4
                      1024                     8
                      1024                    16
                      1024                    22
                      2048                     8
ROMGEN MANUAL                                                  Page 27


     2.  For any I/O errors viz:

         2.1  Input file not found
         2.2  Not enough disk area to open an output file
         2.3  Read/Write error
         2.4  Input/Output device not available
              etc.

         It  types  out  appropriate  error  message  and  stops   the
         execution.   The  user  will have to resolve the conflict and
         restart the program.

     3.  If input paper tape file does not  contain  enough  data  for
         device  length  supplied  by  the  user,  the  program  types
         out:  "Inmature end of data on input file".   The  user  must
         resolve the conflict and restart the program.

     4.  If location and/or content typed is not  octal  value(s),  it
         will  type  back  "??BAD DATA, TRY AGAIN!!"  and  accept  new
         value(s).

         Also, if the location and/or content data types is not within
         the range of the device length and device width specified, it
         will   type   back    "??ADDRESS TOO LONG, TRY AGAIN!!"    or
         "??DATA TOO WIDE, TRY AGAIN!!" and accept new value(s).
ROMGEN MANUAL                                                  Page 28


                         OPERATIONS PROCEDURE



1.      To Generate ROM Data Base and Various Outputs From Paper  Tape
        Input

1.1     Label the paper tape with your project  number  and  DEC  part
        number  of  the ROM pattern and send it to the PDP-10 computer
        installation.

1.2     Label a DECtape with your PPN and DEC part number for the  ROM
        pattern and send it to the PDP-10 computer installation.

1.3     LOGIN to the system using standard LOGIN procedures.

1.4     Assign paper tape reader by typing:

             .AS PTR0<cr>

1.5     Ask operator to load your paper tape into the  reader  keeping
        man-readable leader skipped from the reader by typing:

        .PLEASE LOAD PAPER TAPE:[#####] INTO READER, SKIP THE MAN-READABLE LEADER
                                   !
                                   V
                               the label

        Wait for operator's OK response.

1.6     Run PIP program to read the paper tape into  a  disk  file  by
        typing:

             .R PIP<cr>
             *DSK:part#.PR/I_PTR0:<cr>
                     !
                     V
                  recommended filename
             
             *^C


                                 NOTE

               When using the part   for a  file  name,
               use  only  the  first six characters;  a
               file name may not be longer  than  that.
               Also,  make sure they form a unique file
               name  so  that  you  do  not   overwrite
               another file accidentally.



1.7     Now run the ROMGEN  program  to  generate  the  data  base  as
        follows (depending on the paper tape format):
ROMGEN MANUAL                                                  Page 29
Operations Procedure


1.7.1   Standard format paper tape

             .R PUB:ROMGEN
             DATA BASE FORMAT INPUT (Y OR N)?  N<cr>
             PAPER TAPE FILE INPUT (Y OR N)?  Y<cr>
             TYPE PAPER TAPE INPUT FILE NAME?  part #.PR<cr>
             STANDARD FORMAT PAPER TAPE (Y OR N)?  Y<cr>
             PROCESSING PART NUMBER:  part #
             DO YOU WANT OUTPUTS (Y OR N)?  Y<cr>
             TYPE DATA BASE  FILE NAME FOR OUTPUT:  part #.DAT<cr>
             FROM PATTERN PRODUCED OUTPUT FILES:  part #.DAT,part #.PP,
             part #.LP,part#.CP<cr>
             STOP


                                 NOTE

               Version 6 paper  tape  has  an  improved
               start   mark   over   version  5.   Both
               versions  show   the   pattern   control
               information  enclosed between triangles.
               These are both considered to be standard
               format  tapes  as  far as the program is
               concerned.  The program can  distinguish
               by  itself  whether  the  tape  is  from
               version 5 or version 6 and will read  it
               correctly.



1.7.2   New format paper tape holding more than one pattern

        Follow the same procedure as in 1.7.1 except that you  may  or
        may  not  want  outputs for each pattern, and for each pattern
        you must use a different part # for the data base output  file
        name.   The  program  will type PROCESSING PART #:  part   for
        each pattern it finds on the tape.

1.7.3 Any Binary Format Blaster Tape
        (Using virtual PTP reader)

        By answering NO to the STANDARD FORMAT PAPER TAPE?   question,
        the  operator  is  given  the  virtual  PTP reader to tell the
        program where the start of data is.  The operator is  shown  a
        window  over the paper tape in the vicinity of the virtual PTP
        read head (cursor).  At the TTY one may use  the  commands  to
        search  forward  for  a  particular  tape  character,  to move
        forwards or backwards a given number of frames, to jump  to  a
        particular  frame,  and  to  tell the program to grab the data
        beginning with the frame  under  the  virtual  PTP  read  head
        (cursor).

        The following example shows how one would read  a  tape  which
        used  nine  frames  of  all  eight  holes  punched  (377 octal
ROMGEN MANUAL                                                  Page 30
Operations Procedure


        character) as a start mark.  (In the example the  data  equals
        the address;  e.g.  loc 2 holds a 2.)

             .R PUB:ROMGEN<cr>
             
             DATA BASE FORMAT INPUT (Y OR N)?  N<cr>
             PAPER TAPE FILE INPUT (Y OR N)?  Y<cr>
             TYPE PAPER TAPE INPUT FILENAME?  part #.PR<cr>
             STANDARD FORMAT PAPER TAPE (Y OR N)?  N<cr>
             DEC PART NUMBER:_______<cr>
             DEVICE LENGTH:______<cr>
             DEVICE WIDTH:_______<cr>
             ORIGINATOR:_________<cr>
             DATE OF ORGIN:______<cr>
             NOTES (CR= NONE):______<cr>
             NOTES (CR= NONE):<cr>
             
             <VIRTUAL PTP READER>
             POSITION VIRTUAL READ HEAD OVER FIRST FRAME OF BINARY DATA BY USING
             THE COMMANDS: (NOTE: MAY ABBREVIATE WITH FIRST LETTER)
                 SEARCH (FOR DESIGNATED FRAME CHARACTER)
                  #     (GIVE OCTAL NUMBER TO SEARCH FOR)
                 MOVE   (HEAD FORWARD OR BACKWARDS GIVEN NUMBER OF FRAMES)
                  #     (FORWARD= POSITIVE #, BACKWARD= NEGATIVE #)
                 JUMP   (TO SPECIFIED FRAME)
                  #     (NUMBER OF FRAME TO JUMP TO, IN DECIMAL)
                 GRAB   (DATA BEGINNING WITH FRAME POINTED TO BY THE CURSOR)
             
             
             POSITIONING COMMAND: S
             OCTAL NUMBER TO SEARCH FOR: 377
             
                    TAPE     CHARACTER
                 !        !  000
                 !        !  000
                 !********!  377
             >>> !********!  377 <<< FRAME #  141
                 !********!  377
                 !********!  377
             
             POSITIONING COMMAND: M
             NUMBER OF FRAMES TO MOVE (-NO.= BACKWARDS):  8
             
                    TAPE     CHARACTER
                 !********!  377
                 !********!  377
                 !********!  377
             >>> !        !  000 <<< FRAME #  149
                 !       *!  001
                 !      * !  002
             
             POSITIONING COMMAND: G
             
             <CHOOSE OUTPUTS>
ROMGEN MANUAL                                                  Page 31
Operations Procedure


             TYPE DATA BASE OUTPUT FILE NAME?  part #.DAT<cr>
             TYPE PAPER TAPE OUTPUT FILE NAME (CR=NO PTP)?  part #.PP<cr>
             TYPE LISTING OUTPUT FILE NAME (CR=NO LST)?  part #.LP<cr>
             VENDOR OUTPUTS (Y OR N)? NO<cr>


                                       NOTE

                 This facility only allows  one  to  position  the
                 tape  at  the start of data.  The data must be in
                 binary and sequential from address 0  down.   The
                 engineer  should  mark  on the tape with a pencil
                 where the start of data  is.   And  even  better,
                 show  him the commands for the virtual PTP reader
                 and get him to right down the proper sequence  of
                 commands  to  use  in  positioning  his tape.  To
                 learn how to read the data on a  paper  tape  see
                 appendix D.



     1.8 Delete the part#.PR file by typing .DEL part#.PR<cr>

     1.9 Save away all other files on the properly labelled DECtape by
             typing:

             .FILE F,tape ID,part#.*<cr>
                   !
                   V
                   use Z if you are using a scratch DECtape.

        Upon completion of the FILE command, make the directory of the
        tape by typing:

             .TY tape ID.DIR<cr>

        and make sure all files you intend to same are  found  on  the
        directory listing.  If not, repeat the 1.8 step.

1.9     To generate final outputs do the following:

1.9.1   For listing output type:

             .Q part#.LP/FILE:ASCII<cr>

1.9.2   For paper tape output type:

             .Q PTP:=part#.PP/TAPE:IM<cr>

1.9.3   For card output type:

             .Q CDP:=part#.CP/CARDS:<cr>

1.10    Leave all files (part#.*) on your disk area until the  job  is
ROMGEN MANUAL                                                  Page 32
Operations Procedure


        completely done, then delete it by typing .DEL part#.*<cr>

1.11    Now logout from the system using standard procedure.

2.      To Generate ROM Data Base and Various  Outputs  From  Teletype
        (Manual) Input

2.1     Label a DECtape with your PPN  and  DEC  part  #  of  the  ROM
        pattern and send to the PDP-10 computer installation.

2.2     LOGIN to the PDP-10 system using the standard procedure.

2.3     Run the ROMGEN program as follows:

             .R PUB:ROMGEN<cr>
             DATA BASE FORMAT INPUT (Y OR N)?  N<cr>
             PAPER TAPE FILE INPUT (Y OR N)?  N<cr>
             DECPART NUMBER:____________<cr> (maximum of 6 characters)
             DEVICE LENGTH:_______<cr>
             DEVICE WIDTH:________<cr>
             ORIGINATOR:__________________<cr>
             DATE OF ORIGIN:______________<cr>
             NOTES (CR= NONE):______<cr>
             NOTES (CR= NONE):<cr>
             RAND OR SEQ MODE?  SEQ<cr>
             STARTING ADDRESS LOCATION?  0<cr>
             0000=__________<cr> (start typing actual octal content for
             0001=__________<cr>  each ROM location)
             0002=__________<cr>
               .
               .
               .
             n=_____________<cr>  (n=Device Length)
             ARE YOU DONE (Y OR N)?  Y<cr>


                                 NOTE

               You may exit intermitently by typing the
               letter  D  at  any  address and re-enter
               back with  the  address  as  a  starting
               point.    On  this  type  of  exit,  the
               address at which the D is typed and  all
               following   addresses   thereafter  will
               retain their original contents (in  case
               of  a  new file input they all will have
               zeros).  This feature will also help you
               in  correcting  errors  as you progress.
               Just type D and  re-enter  back  at  the
               location where the error was made.

               You may also  decide  to  underline  all
               typing  errors and correct them by using
               the EDIT mode  which  starts  from  Step
ROMGEN MANUAL                                                  Page 33
Operations Procedure


                3.1.


        TYPE DATA BASE OUTPUT FILE NAME?  part#.DAT<cr>
        TYPE PAPER TAPE OUTPUT FILE NAME (CR=NO PTP)?  part#.PP<cr>
        TYPE LISTING OUTPUT FILE NAME (CR=NO LST)?  part#.LP<cr>
        VENDOR OUTPUTS (Y OR N)? NO<cr>

2.4     If errors were introduced or  changes  are  necessary  to  the
        part#.DB data base, go to Step 3.1 and continue.

2.5     If no errors were introduced or no changes are  necessary,  go
        to Step 1.9 and continue.

3.      To EDIT and Derive Various Outputs From an Existing  ROM  Data
        Base

3.1     Run the ROMGEN program as follows:

             .R PUB:ROMGEN
             DATA BASE FORMAT INPUT (Y OR N)?  Y<cr>
             DATA BASE FILE NAME?  part#.DAT<cr>
             ANY CHANGES TO THE DATA BASE (Y OR N)?  Y<cr>
             RAND OR SEQ MODE?  RAND<cr>
             ______ ______<cr>
                !  !   !
                !  !   --->content of the location octal value
                !  ------->space
                ---------->ROM location octal value
             .
             .
             .
             D  <to exit from data input mode>


                                 NOTE

               Only the location specified  during  the
               process  will  be modified with new data
               given, all  other  location  will  still
               contain their original values.


             DATA BASE OUTPUT FILE NAME?  part#.DAT<cr>
             PAPER TAPE OUTPUT FILE NAME (CR=NO PTP)?  part#.PP<cr>
             LISTING OUTPUT FILE NAME (CR=NO LST)? part#.LP<cr>
             VENDOR OUTPUTS (Y OR N)? NO<cr>

3.2     If more changes are required, continue again from Step 3.1.

3.3     If no changes are necessary, go to Step 1.9 and continue.

4.      To Derive Various Outputs From Existing ROM Data Base
ROMGEN MANUAL                                                  Page 34
Operations Procedure


4.1     Run the ROMGEN program as follows:

             .R PUB:ROMGEN<cr>
             DATA BASE FORMAT INPUT (Y OR N)?  Y<cr>
             DATA BASE FILE NAME?  part#.DAT<cr>
             ANY CHANGES TO THE DATA BASE (Y OR N)?  N<cr>
             PAPER TAPE OUTPUT FILE NAME (CR=NO PTP)?  part#.PP<cr>
             LISTING OUTPUT FILE NAME (CR=NO LST)?  part#.LP<cr>
             VENDOR OUTPUTS (Y OR N)? YES<cr>    (Note: only for ROM's)
             MOTOROLA PAPER TAPE FILE NAME (CR= NO PTP): part#.PP<cr>
4.2     Now go to Step 1.9 and continue.











                             APPENDIX A

                      ROM/PROM PATTERN DOCUMENT



The listing output of ROMGEN has been accepted as a  formal  document,
suitable  for  inclusion  in a drawing set.  The listing should be run
off of a standard  width  line  printer  (132  characters).   Any  DEC
System-10 where ROMGEN is run meets that requirement.  The title block
must be signed off by hand, just like  any  drawing.   For  each  data
location  listed, the document conveniently shows the address and data
in  several  numeric  formats.   Adresses  are   shown   in   decimal,
hexadecimal,  and  octal.   Data  are shown in octal, hexadecimal, and
binary.  All formats show the most significant digit in  the  leftmost
position.

The following is an example of what the drawing looks like.  For  this
example the pattern data was all zeroes.
 DEC PART NUMBER: 23XXXA2                  ORIGINATOR: ME                             BINARY DATA "1" = HIGH       SHEET  1 OF  2
 LEFT COLUMN OF BIN DATA IS MSB            DATE ORIGINATED: TODAY                     BINARY DATA "0" = LOW

    DEC HEX OCT   OCT HEX BIN        DEC HEX OCT   OCT HEX BIN        DEC HEX OCT   OCT HEX BIN        DEC HEX OCT   OCT HEX BIN    
    LOC LOC LOC   DAT DAT DAT        LOC LOC LOC   DAT DAT DAT        LOC LOC LOC   DAT DAT DAT        LOC LOC LOC   DAT DAT DAT    

      0 00  000   00  0  0000         32 20  040   00  0  0000         64 40  100   00  0  0000         96 60  140   00  0  0000
      1 01  001   00  0  0000         33 21  041   00  0  0000         65 41  101   00  0  0000         97 61  141   00  0  0000
      2 02  002   00  0  0000         34 22  042   00  0  0000         66 42  102   00  0  0000         98 62  142   00  0  0000
      3 03  003   00  0  0000         35 23  043   00  0  0000         67 43  103   00  0  0000         99 63  143   00  0  0000
      4 04  004   00  0  0000         36 24  044   00  0  0000         68 44  104   00  0  0000        100 64  144   00  0  0000
      5 05  005   00  0  0000         37 25  045   00  0  0000         69 45  105   00  0  0000        101 65  145   00  0  0000
      6 06  006   00  0  0000         38 26  046   00  0  0000         70 46  106   00  0  0000        102 66  146   00  0  0000
      7 07  007   00  0  0000         39 27  047   00  0  0000         71 47  107   00  0  0000        103 67  147   00  0  0000
      8 08  010   00  0  0000         40 28  050   00  0  0000         72 48  110   00  0  0000        104 68  150   00  0  0000
      9 09  011   00  0  0000         41 29  051   00  0  0000         73 49  111   00  0  0000        105 69  151   00  0  0000
     10 0A  012   00  0  0000         42 2A  052   00  0  0000         74 4A  112   00  0  0000        106 6A  152   00  0  0000
     11 0B  013   00  0  0000         43 2B  053   00  0  0000         75 4B  113   00  0  0000        107 6B  153   00  0  0000
     12 0C  014   00  0  0000         44 2C  054   00  0  0000         76 4C  114   00  0  0000        108 6C  154   00  0  0000
     13 0D  015   00  0  0000         45 2D  055   00  0  0000         77 4D  115   00  0  0000        109 6D  155   00  0  0000
     14 0E  016   00  0  0000         46 2E  056   00  0  0000         78 4E  116   00  0  0000        110 6E  156   00  0  0000
     15 0F  017   00  0  0000         47 2F  057   00  0  0000         79 4F  117   00  0  0000        111 6F  157   00  0  0000
     16 10  020   00  0  0000         48 30  060   00  0  0000         80 50  120   00  0  0000        112 70  160   00  0  0000
     17 11  021   00  0  0000         49 31  061   00  0  0000         81 51  121   00  0  0000        113 71  161   00  0  0000
     18 12  022   00  0  0000         50 32  062   00  0  0000         82 52  122   00  0  0000        114 72  162   00  0  0000
     19 13  023   00  0  0000         51 33  063   00  0  0000         83 53  123   00  0  0000        115 73  163   00  0  0000
     20 14  024   00  0  0000         52 34  064   00  0  0000         84 54  124   00  0  0000        116 74  164   00  0  0000
     21 15  025   00  0  0000         53 35  065   00  0  0000         85 55  125   00  0  0000        117 75  165   00  0  0000
     22 16  026   00  0  0000         54 36  066   00  0  0000         86 56  126   00  0  0000        118 76  166   00  0  0000
     23 17  027   00  0  0000         55 37  067   00  0  0000         87 57  127   00  0  0000        119 77  167   00  0  0000
     24 18  030   00  0  0000         56 38  070   00  0  0000         88 58  130   00  0  0000        120 78  170   00  0  0000
     25 19  031   00  0  0000         57 39  071   00  0  0000         89 59  131   00  0  0000        121 79  171   00  0  0000
     26 1A  032   00  0  0000         58 3A  072   00  0  0000         90 5A  132   00  0  0000        122 7A  172   00  0  0000
     27 1B  033   00  0  0000         59 3B  073   00  0  0000         91 5B  133   00  0  0000        123 7B  173   00  0  0000
     28 1C  034   00  0  0000         60 3C  074   00  0  0000         92 5C  134   00  0  0000        124 7C  174   00  0  0000
     29 1D  035   00  0  0000         61 3D  075   00  0  0000         93 5D  135   00  0  0000        125 7D  175   00  0  0000
     30 1E  036   00  0  0000         62 3E  076   00  0  0000         94 5E  136   00  0  0000        126 7E  176   00  0  0000
     31 1F  037   00  0  0000         63 3F  077   00  0  0000         95 5F  137   00  0  0000        127 7F  177   00  0  0000

 ___________________________________________________________________________________________________________________________________
 ! !   !            N O T E S                               !FIRST USED ON OPTION MODEL      !                                     !
 ! !REV!                                                    !                                !    DIGITAL EQUIPMENT CORPORATION    !
 ! !___!__  1. Notes are displayed here, up to 13 lines.    !________________________________!       MAYNARD, MASSACHUSETTS        !
 ! !   !                                                    !DRN.                !DATE       !_____________________________________!
 !R! C !                                                    !____________________!___________!TITLE                                !
 !E! H !                                                    !CHK'D.              !DATE       !             256 X 4                 !
 !V! A !                                                    !____________________!___________!                                     !
 !I! N !                                                    !ENG.                !DATE       !        ROM/PROM PATTERN SPEC        !
 !S! G !                                                    !____________________!___________!                                     !
 !I! E !                                                    !PROJ.ENG.           !DATE       !                                     !
 !O!   !                                                    !____________________!___________!_____________________________________!
 !N! N !                                                    !PROD.               !DATE       !SIZE!CODE!       NUMBER        ! REV !
 !S! O !                                                    !____________________!___________! K  ! PS !  23XXXA2-0-0        !     !
 ! !___!__                                                  !NEXT HIGHER ASSEMBLY            !____!____!_____________________!_____!
 ! !CHK!                                                    !                                !DIST.!   !   !   !   !   !   !   !   !
 !_!___!____________________________________________________!________________________________!_____!___!___!___!___!___!___!___!___!
 !      "THIS DRAWING AND SPECIFICATIONS HEREIN, ARE THE PROPERTY OF DIGITAL EQUIPMENT CORPORATION AND SHALL NOT BE REPRODUCED     !
 !       OR COPIED OR USED IN WHOLE OR IN PART AS THE BASIS FOR THE MANUFACTURE OR SALE OF ITEMS WITHOUT WRITTEN PERMISSION.       !
 !                                          COPYRIGHT   1977. DIGITAL EQUIPMENT CORPORATION"                                       !
 !_________________________________________________________________________________________________________________________________!
DEC PART NUMBER: 23XXXA2                  ORIGINATOR: ME                             BINARY DATA "1" = HIGH       SHEET  2 OF  2
LEFT COLUMN OF BIN DATA IS MSB            DATE ORIGINATED: TODAY                     BINARY DATA "0" = LOW
 
    DEC HEX OCT   OCT HEX BIN        DEC HEX OCT   OCT HEX BIN        DEC HEX OCT   OCT HEX BIN        DEC HEX OCT   OCT HEX BIN    
    LOC LOC LOC   DAT DAT DAT        LOC LOC LOC   DAT DAT DAT        LOC LOC LOC   DAT DAT DAT        LOC LOC LOC   DAT DAT DAT    
 
    128 80  200   00  0  0000        160 A0  240   00  0  0000        192 C0  300   00  0  0000        224 E0  340   00  0  0000
    129 81  201   00  0  0000        161 A1  241   00  0  0000        193 C1  301   00  0  0000        225 E1  341   00  0  0000
    130 82  202   00  0  0000        162 A2  242   00  0  0000        194 C2  302   00  0  0000        226 E2  342   00  0  0000
    131 83  203   00  0  0000        163 A3  243   00  0  0000        195 C3  303   00  0  0000        227 E3  343   00  0  0000
    132 84  204   00  0  0000        164 A4  244   00  0  0000        196 C4  304   00  0  0000        228 E4  344   00  0  0000
    133 85  205   00  0  0000        165 A5  245   00  0  0000        197 C5  305   00  0  0000        229 E5  345   00  0  0000
    134 86  206   00  0  0000        166 A6  246   00  0  0000        198 C6  306   00  0  0000        230 E6  346   00  0  0000
    135 87  207   00  0  0000        167 A7  247   00  0  0000        199 C7  307   00  0  0000        231 E7  347   00  0  0000
    136 88  210   00  0  0000        168 A8  250   00  0  0000        200 C8  310   00  0  0000        232 E8  350   00  0  0000
    137 89  211   00  0  0000        169 A9  251   00  0  0000        201 C9  311   00  0  0000        233 E9  351   00  0  0000
    138 8A  212   00  0  0000        170 AA  252   00  0  0000        202 CA  312   00  0  0000        234 EA  352   00  0  0000
    139 8B  213   00  0  0000        171 AB  253   00  0  0000        203 CB  313   00  0  0000        235 EB  353   00  0  0000
    140 8C  214   00  0  0000        172 AC  254   00  0  0000        204 CC  314   00  0  0000        236 EC  354   00  0  0000
    141 8D  215   00  0  0000        173 AD  255   00  0  0000        205 CD  315   00  0  0000        237 ED  355   00  0  0000
    142 8E  216   00  0  0000        174 AE  256   00  0  0000        206 CE  316   00  0  0000        238 EE  356   00  0  0000
    143 8F  217   00  0  0000        175 AF  257   00  0  0000        207 CF  317   00  0  0000        239 EF  357   00  0  0000
    144 90  220   00  0  0000        176 B0  260   00  0  0000        208 D0  320   00  0  0000        240 F0  360   00  0  0000
    145 91  221   00  0  0000        177 B1  261   00  0  0000        209 D1  321   00  0  0000        241 F1  361   00  0  0000
    146 92  222   00  0  0000        178 B2  262   00  0  0000        210 D2  322   00  0  0000        242 F2  362   00  0  0000
    147 93  223   00  0  0000        179 B3  263   00  0  0000        211 D3  323   00  0  0000        243 F3  363   00  0  0000
    148 94  224   00  0  0000        180 B4  264   00  0  0000        212 D4  324   00  0  0000        244 F4  364   00  0  0000
    149 95  225   00  0  0000        181 B5  265   00  0  0000        213 D5  325   00  0  0000        245 F5  365   00  0  0000
    150 96  226   00  0  0000        182 B6  266   00  0  0000        214 D6  326   00  0  0000        246 F6  366   00  0  0000
    151 97  227   00  0  0000        183 B7  267   00  0  0000        215 D7  327   00  0  0000        247 F7  367   00  0  0000
    152 98  230   00  0  0000        184 B8  270   00  0  0000        216 D8  330   00  0  0000        248 F8  370   00  0  0000
    153 99  231   00  0  0000        185 B9  271   00  0  0000        217 D9  331   00  0  0000        249 F9  371   00  0  0000
    154 9A  232   00  0  0000        186 BA  272   00  0  0000        218 DA  332   00  0  0000        250 FA  372   00  0  0000
    155 9B  233   00  0  0000        187 BB  273   00  0  0000        219 DB  333   00  0  0000        251 FB  373   00  0  0000
    156 9C  234   00  0  0000        188 BC  274   00  0  0000        220 DC  334   00  0  0000        252 FC  374   00  0  0000
    157 9D  235   00  0  0000        189 BD  275   00  0  0000        221 DD  335   00  0  0000        253 FD  375   00  0  0000
    158 9E  236   00  0  0000        190 BE  276   00  0  0000        222 DE  336   00  0  0000        254 FE  376   00  0  0000
    159 9F  237   00  0  0000        191 BF  277   00  0  0000        223 DF  337   00  0  0000        255 FF  377   00  0  0000


 
 
 
 
 
 
 
 


 
 
 
 
 
 ___________________________________________________________________________________________________________________________________
 !                               !TITLE              256 X 4                                 !SIZE!CODE!       NUMBER        ! REV !
 ! DIGITAL EQUIPMENT CORPORATION !              ROM/PROM PATTERN SPEC                        !    !    !                     !     !
 !    MAYNARD, MASSACHUSETTS     !                                                           ! K  ! PS !  23XXXA2-0-0        !     !
 !_______________________________!___________________________________________________________!____!____!_____________________!_____!











                             APPENDIX B

                         BLASTER TAPE FORMAT





The paper tape output of ROMGEN may be punched out  using  the  .PUNCH
operating  command and then mounted on a blaster to create the desired
PROM.  This tape is in the standard format desired by mfg.  All  users
who maintain their own ROM/PROM development software are encouraged to
modify it to output this format tape.  If they do not, they may  still
use  the  virtual  PTP  reader  facility  in ROMGEN to input their own
format blaster tape and  thus  obtain  the  standard  format  tape  as
output.


1.  MAN-READABLE LEADER

The length of this record is unlimited.  It is recommended  that  this
record  should  contain  control  information  about  the device (viz.
device no., device length, device width etc.), however, this record is
optional and can be completely omitted.



2.  CONTROL INFO START FLAG

This record is composed of 8 tape characters punched as 377, 177,  77,
37,  17, 7, 8, and 1;  thereby creating unique diagonal pattern on the
tape to act as a start flag for the pattern control information.  This
will  also  prevent  bad data entry, if the tape is placed backward in
read hopper.



3.  PATTERN CONTROL INFO

This contains the pattern control info in the machine-readable format.
It consists of several tape characters:

     Count of no. of fields follows (binary format)
     Count of no. of characters in field 1 (binary format)
     
                        Char - 1
BLASTER TAPE FORMAT                                           Page B-2



                        Char - 2
                           .
                           .
                        Char - n
     
     .
     .
     .
     .
     Count of no. of characters in field n
     
                        Char - 1
                        Char - 2
                        Char - n
     
     The fields will be implemented initially in the following manner:
     
          Field 1 = DEC Part No.          (7 Bit ASCII Format)
          Field 2 = Device Length       (Binary Format)
          Field 3 = Device Width        (Binary Format)
          Field 4 - Originators Name    (7 Bit ASCII Format)
          Field 5 = Origination Date    (7 Bit ASCII Format)



4.  CONTROL INFO STOP FLAG

This will contain 8 tape characters punched as 1, 3, 7,  17,  37,  77,
177,  and  377;   thereby  creating an easy-to-locate, unique diagonal
pattern on the tape.



5.  BLANK FRAMES

This will contain minimum of 100 blank characters (bin 0 punches), for
easy positioning of tape in a blaster.



6.  BINARY DATA START FLAG

Single frame of all eight holes punched (377 octal).



7.  BINARY DATA

This data will be in binary format and  will  conform  to  the  device
length  and  device  width  specified  on  the tape.  The data is held
sequentially beginning with address 0.  The most significant bit is on
the left.
BLASTER TAPE FORMAT                                           Page B-3



8.  CHECKSUM OF THE BINARY DATA

This will contain 1 tape character.  It represents the sum  of  binary
bits  and  is  to  be obtained by adding 8 bit binary data fields with
result truncated to the 8 rightmost bits on every add.


                                 NOTE

               The records 1 through 8 can be  repeated
               any  number  of  times,  once  for every
               device.




HOW TO MOUNT TAPE ON BLASTER

Mount tape on blaster under the read head  in  the  large  blank  area
(record   5   described  above).   Have  the  blaster  search  forward
automatically for the binary  data  start  flag  (record  6  described
above).  Pattern data follows this point.











                             APPENDIX C

                         ROM CARD DECK FORMAT




This output is no longer provided.  If necessary for some reason,  the
code  can be restored on 2 days notice.  The program is ROMCRD.FOR and
can be found on the failsafe of ROMGEN.V08.  To call the program:
  CALL ROMCRD(CRDFLE) where CRDFLE is a double precsion  word  holding
the  desired  output  file name.  Each card holds the addresses of the
data on that card, 1 to 8 loc's worth of data, followed  by  the  date
and part number.

A Motorola format card deck routine was coded up but disconnected when
we  found  that  we  could  use  paper tape instead.  This routine, in
ROMLST.FOR, is called MCCARD.











                             APPENDIX D

                       HOW TO READ A PAPER TAPE



A paper tape holds data in the form of punched holes.  When a tape  is
held   vertically  before  you,  a  row  of  holes  holds  8  bits  of
information.  We call such a row a FRAME.  We call the 8 bits of  data
a  CHARACTER  (because  a  frame  can hold one ASCII character).  When
looking at a tape, it is important to have the front side  facing  you
(the  side  with the printing and arrows on it).  The data is arranged
sequentially on  the  tape,  going  down  the  tape  in  the  opposite
direction  from  the arrows.  The purpose of the arrows printed on the
tape is to help one mount the tape in  a  PTP  reader  in  the  proper
direction.

Hold the tape  vertically  with  the  arrows  pointing  upwards.   The
leftmost  columns  of  holes represents the highest order bit, and the
rightmost column of holes represents the lowest order bit.  Ignore the
column  of  closely spaced tiny holes in the center of the tape.  They
only serve as registration holes to help the PTP reader read the tape.

To interpret a tape character (the data held in a frame), one may read
it as an octal number.  8 bits of data would represent an octal number
between 0 (no holes punched) and 377 (all eight holes punched).   With
a  pencil,  divide up the hole positions into clumps the following way
(left to right):  2 hole positions, then 3, then  3.   Each  of  these
clumps  represents one octal digit.  For the leftmost digit, interpret
it like a 3 positon digit with a  leftmost  position  having  no  hole
punched  (pad  a  zero  on the left).  Use the table below to read the
digits.

(*= hole punched, _= no hole punched)

     *** = 7
     **_ = 6
     *_* = 5
     *__ = 4
     _** = 3
     _*_ = 2
     __* = 1
     ___ = 0

Mathematically, the leftmost position is worth 4 if a hole  is  there.
The middle position is worth 2 if punched.  And the rightmost position
HOW TO READ A PAPER TAPE                                      Page D-2



is worth 1 if punched.  If no hole is punched in  a  position,  it  is
worth 0.

For example:

*_*_****      would be divided into clumps of *_, *_*, and ***; which
represents 2, 5, and 7 respectively. So the data read in octal is 257.