mirror of
https://github.com/PDP-10/its.git
synced 2026-01-13 07:19:57 +00:00
840 lines
25 KiB
Plaintext
840 lines
25 KiB
Plaintext
RUNNING WL
|
||
|
||
How to run the wire lister
|
||
|
||
or
|
||
|
||
Easy little steps for muddy little feet
|
||
|
||
Commands are single letters with or without control or meta. The command
|
||
may be preceeded by any of the following:
|
||
|
||
DEC NODEC
|
||
(NOTHING) (nothing)
|
||
$ ONE ALT control
|
||
$$ TWO ALTS Meta
|
||
$$$ THREE ALTS control-meta
|
||
## doesn't matter
|
||
|
||
If more than one of the above appear, then all will satisfy command.
|
||
In all but the "I" command, if only one wire list exists, the "WIRE
|
||
LIST ID?" prompt will be skipped.
|
||
|
||
Commands:
|
||
|
||
##E EXIT.
|
||
|
||
|
||
##@ SAME AS "XDSKIN".
|
||
|
||
|
||
$$$D Enter DIP SUB-MODE. See next page for commands in DIP SUB-MODE.
|
||
|
||
|
||
_<wire list id>
|
||
Set default wire list id. This is the wire list which is used
|
||
for all commands requiring single wire lists. WHEN THE PROGRAM
|
||
STARTS UP, A SINGLE WIRELIST ID IS GENERATED. THE NAME IS "NIL".
|
||
IF WIRELIST ID DOES NOT EXIST, IT IS CREATED AND MADE THE
|
||
CURRENT ONE. EACH ID MAY HAVE A BACKPANEL WIRELIST, A DRAWING
|
||
WIRELIST, AND A PC WIRELIST ASSOCIATED WITH IT.
|
||
|
||
|
||
$_ MOVE FORWARD IN THE RING OF WIRELIST ID'S.
|
||
|
||
|
||
$$_ MOVE BACKWARD IN THE RING OF WIRELIST ID'S.
|
||
|
||
|
||
$$$_ LIST ALL WIRELIST ID'S IN RING STARTING WITH THE CURRENT ONE.
|
||
|
||
|
||
$I OR $$I
|
||
ASKS:
|
||
FILENAME?
|
||
|
||
You may type a filename (default extension is $='WD' and $$='WPC')
|
||
or @filename (default extension is "DIR"). The format of
|
||
a "DIR" file will be explained later.
|
||
If you type "$" you get wire list with id "D". If you type "$$"
|
||
you get the wire list with id "PC".
|
||
|
||
The file(s) are read, signal names are compared and the
|
||
wire list is built.
|
||
|
||
After the file name you may type a module location which takes
|
||
effect for any dips or pins which do not already specify a
|
||
module location. You may also type variable settings enclosed
|
||
in parentheses, separated by commas. See the end of this writeup
|
||
for exact information. Example:
|
||
$IFOO 1AE3 (N0,M0) 1AE4 (N6,M1)
|
||
ITS $IFOO|1AE3 (N0,M0) 1AE4 (N6,M1)
|
||
This reads file FOO.WD twice, once (called slice 1) for
|
||
module location 1AE3 with N=0 and M=0, and once for location
|
||
1AE4 with N=6 and M=1.
|
||
The file(s) are read, signal names are compared and the
|
||
wire list is built.
|
||
|
||
$$$I Asks:
|
||
|
||
FILENAME?
|
||
|
||
Same options as reading 'WD' or 'WPC' files, default extension is 'WEQ'.
|
||
This file contains some number of signal names on each line, seperated
|
||
by tabs. The effect of this file is that each line is treated as a wire.
|
||
So you may cause certain wires to be grounded or connected to HI, or even
|
||
connected to other wires. Please note: The card location of the wire list
|
||
you wish to affect should appear with the filename, just like reading a
|
||
wire list.
|
||
|
||
|
||
$$$U Asks:
|
||
|
||
CARD(NLLN)? if necessary
|
||
|
||
This copies the dips from the default wire list (a logic
|
||
wire list), to the other wire list (a pc wire list). The
|
||
locations are used for matching.
|
||
|
||
|
||
$N OR $$N
|
||
Asks:
|
||
|
||
WIRE LIST TITLE?
|
||
|
||
The string you type will be used on listings involving
|
||
this wire list.
|
||
|
||
$L Asks:
|
||
|
||
CARD (NLLN)? if necessary
|
||
|
||
This lists a wire list onto a file. The default
|
||
extension is 'WL'.
|
||
All sorts of neat things are indicated on
|
||
the wire list, the best way to find out what
|
||
they are is to make one.
|
||
Any unnamed signals are given unique numbers
|
||
which are printed preceeded by a "#".
|
||
|
||
$$L Asks:
|
||
|
||
CARD (LN)? if necessary
|
||
|
||
This makes the following summaries:
|
||
|
||
Summarizes all dip types used in this wire list
|
||
totaling the different body names and total number
|
||
of sections used.
|
||
|
||
UNGENERATED SIGNALS
|
||
|
||
UNUSED SIGNALS
|
||
|
||
Each of these catagories is listed, only one
|
||
of the names of a wire fitting the catagory
|
||
is listed. The default extension is 'WLS'.
|
||
|
||
|
||
$$$L Asks:
|
||
|
||
CARD (NLLN)? if necessary
|
||
|
||
Then asks for a filename. The default extension is 'WLU'.
|
||
Writes a listing file which is sorted by dip number. Under each
|
||
dip number is listed the signals connected to each pin.
|
||
At the end of the listing, the edge connector fingers are listed
|
||
in alphabtical order along with the signal connected to each.
|
||
|
||
This prints out the following info:
|
||
|
||
LOC DIPTYPE BODY POS FILE
|
||
|
||
For each body followed by:
|
||
|
||
PIN # TYPE HI LOW USE SIGNAL NAME
|
||
|
||
For each pin of body.
|
||
|
||
Then:
|
||
|
||
CONNECTORS
|
||
PIN FILE SIGNAL NAME
|
||
|
||
For all connector pins.
|
||
|
||
This allows you to find out a signal name from the LOC(PIN #).
|
||
|
||
|
||
P<signalname>
|
||
or
|
||
$P which asks for signal name
|
||
|
||
Then prints for that the signal name, the information which
|
||
would be printed for that signal in $L. Prints on TTY.
|
||
|
||
|
||
$$P Asks:
|
||
|
||
CARD (LN)? if necessary
|
||
|
||
Then asks:
|
||
|
||
DIP OR CONNECTOR LOCATION?
|
||
|
||
Then prints info for that loc which you would have gotten in
|
||
a $$$L listing. Prints on TTY.
|
||
|
||
|
||
$$$P Asks:
|
||
|
||
SIGNAL NAME?
|
||
|
||
Then does $P for this signal for each card currently read in.
|
||
|
||
|
||
In addition, if <FORALL> (NODEC) OR ? (DEC) appears in front of the signal name both the
|
||
hi and low versions of the signal will be printed. This works
|
||
for P, $P, and $$$P.
|
||
|
||
|
||
$W Asks:
|
||
|
||
CARD (LN)? if necessary
|
||
|
||
This writes a file for input to the PC prog for generating
|
||
router files which are read by wagner's router prog.
|
||
The default extension is "WDR".
|
||
|
||
|
||
$$W This writes a back panel wirelist file from all the cards in
|
||
the default wirelist. The default extension is 'BAC'.
|
||
|
||
|
||
$B Reads a back panel wire list written with $$W (default extension
|
||
is 'BAC'). You may now make back panel listings using ##X commands.
|
||
|
||
|
||
$$B READS A 'BAC' FILE, BUT ONLY INPUTS FILENAME AND TITLE INFO,
|
||
AND DIP COUNTS FOR MAKING AN 'MPL' FILE.
|
||
|
||
|
||
$$$B Reads a file of the same format as a 'WEQ' file, however default
|
||
extension is 'BEQ'. It has the same effect on the back panel as
|
||
a 'WEQ' file has on a card wire list. Except there is no problem
|
||
with the card location, it applies to the whole back panel.
|
||
|
||
|
||
$C Asks:
|
||
|
||
CARD (LN)? if necessary
|
||
|
||
Then asks for a filename. The default extension is 'WLC'.
|
||
The card specified is found in D AND PC PARTS OF THE CURRENT
|
||
WIRELIST. The two wire lists are compared and an error listing
|
||
is produced. Make one to find out the format. The info from $$C
|
||
is included in $C.
|
||
|
||
|
||
$$C Asks:
|
||
|
||
CARD (LN)? if necessary
|
||
|
||
This compares D and PC wire list as in $C, but it only checks
|
||
if you have placed the right dip sockets on the pc card for
|
||
the dips you are using in the logic drawing. Also checks that
|
||
you have not pre-assigned an illegal connector pin #. This
|
||
be done only after a $$L verify has been done with no errors
|
||
because the kinds of errors found by this check will confuse
|
||
$$C.
|
||
|
||
|
||
$$$C ASKS:
|
||
|
||
OLD WIRELIST ID?
|
||
|
||
THEN
|
||
|
||
NEW WIRELIST ID?
|
||
|
||
YOU SHOULD HAVE READ IN OLD AND NEW VERSIONS OF WD FILES
|
||
FOR A BOARD INTO 2 DIFFERENT WIRELIST ID'S. THIS COMMAND
|
||
COMPARES THE 2 VERSIONS OF THE BOARD AND INDICATES CHANGES
|
||
WHICH CHANGE OLD TO NEW. DEFAULT EXTENSION IS 'WDC'.
|
||
|
||
EXTEND MODE COMMANDS
|
||
##X If any control bits held down asks:
|
||
|
||
Si?
|
||
|
||
Now type a 1 to 6 (or more) letter command possibly preceded by
|
||
a "-". The meanings of these commands are explained below:
|
||
A "D" at the left means available in dip sub-mode only, a "B"
|
||
means available in both top-mode and dip sub-mode, nothing means
|
||
available only in top mode.
|
||
|
||
B RESIDENT Reads in the dip defintion file at the bottom of free
|
||
core, and marks the last loc used.
|
||
now whenever you type ^c start, the dips
|
||
stay in the core image. All other data in program
|
||
free storage is cleared.
|
||
|
||
B -RESIDENT Release dips from bottom of core. Now when
|
||
you type ^c start the dips go away.
|
||
|
||
B DDT Enters DDT if loaded.
|
||
|
||
B SAVE Asks for a filename, (default extension is 'DMP')
|
||
then executes a swap uuo to save the current core
|
||
image. If DSKIN is in progress, it is suspended
|
||
during the save and restarted (using DSKCON) after-
|
||
wards. However, when the saved core image is run
|
||
again, the DSKIN is not continued. It may be
|
||
continued manually by a DSKCON command.
|
||
DEC AT DEC NO SWAP UUO IS USED, THE PROGRAM MERELY
|
||
EXITS TO THE MONITOR AND YOU MAY SAVE IT, THEN
|
||
START OR RUN IT LATER.
|
||
|
||
B DSKIN Asks for a filename, (default extension is 'TXT')
|
||
then takes input from there instead of tty. If an
|
||
error is encountered, input reverts to the tty.
|
||
|
||
B DSKHLD Releases disk input file, remembering where it was.
|
||
later you can give a DSKCON command to continue.
|
||
|
||
B DSKCON If the last dskin was held by a DSKHLD command or
|
||
an error, the command causes the file to be reopened
|
||
and the appropriate chars skipped to get it back where
|
||
it was. DSKHLD and DSKCON are used by SAVE to get
|
||
around the fact that the swap uuo does a reset.
|
||
|
||
B DSKSKP If no file open, asks for name and opens it.
|
||
Reads to the next line feed echoing
|
||
characters as it goes. Then asks "STOP?".
|
||
If you respond with "y<cr>", then skipping stops and
|
||
control reverts to who ever had it last.
|
||
If you respond with altmode then
|
||
skipping stops and control reverts to tty.
|
||
Anything else causes then next line to be
|
||
printed, skipped, and the prompt repeated.
|
||
|
||
DEFPPN Accepts a p,pn to use when none is specified (input only).
|
||
|
||
-DEFPPN Resets defppn to 0. this is the default.
|
||
the effect of 0 is that it is used for the p,pn
|
||
on input unless you are reading filenames from
|
||
and indirect file. in that case, the p,pn used are
|
||
those of the indirect file.
|
||
|
||
B CLEAR This command is equivalent to "^C START<cr>" except
|
||
that it doesn't flush DSKIN.
|
||
|
||
STATUS Prints out current program status, like SPACES, REFERENCES,
|
||
PAGE, EXTENT, and default wire ID.
|
||
|
||
SPACES Makes spaces in signal names significant.
|
||
Affects the $I and $$I commands only.
|
||
|
||
-SPACES Spaces in signal names are no longer significant
|
||
except when they seperate 2 digits.
|
||
This is the default.
|
||
|
||
REFERENCE This enables the feature in 'WL' files which
|
||
causes all signal names for a wire to appear
|
||
in each alphabetical sorting of each name,
|
||
but only one of them will have the pin
|
||
information printed. All the others will print
|
||
"_____ REFERENCE" next to the signal with which
|
||
the pins appear.
|
||
|
||
-REFERENCE Disable references in 'WL' file. Signal names
|
||
appear only once, with the pins.
|
||
|
||
IERROR Enable output of errors on wirelist file input
|
||
to go to a file. When you do $I, $$I, $$$I, and $$$B
|
||
you are asked for a filename (default extension
|
||
is 'WIE'). This file contains the filename of the
|
||
file being processed and any errors which cannot
|
||
be indicated later. If you respond with <cr> to
|
||
the WIE filename prompt, output will go to TTY
|
||
as if no IERROR command had been done.
|
||
|
||
-IERROR Disable input errors going to file, they will
|
||
go to the TTY instead. This is the default.
|
||
|
||
|
||
PART Write a "PARTITION" file, default extension is
|
||
'PAR'. This is the file for input to Wagner's
|
||
partitioning program.
|
||
|
||
SIGSUM Write signal summary listing for entire wire list.
|
||
Default extension is 'WSS'. These files may be
|
||
merged by the program "M.DMP[WL,RPH]" to form a
|
||
master signal summary ('MSS').
|
||
|
||
ERRSUM This writes a file (default extension is 'LES')
|
||
which has each run of some of the categories from
|
||
the wire list summary output. The difference is
|
||
that this is a binary file which goes back into
|
||
D and allows you to flash the runs from each
|
||
error category.
|
||
|
||
CONSUM Write connector pins needed summary. This lists
|
||
signals in same format as SIGSUM but only those
|
||
which need to get from one card to another, but
|
||
don't. Default extension is 'WCS'.
|
||
|
||
WLSSEL LIKE $$L, EXCEPT THAT YOU ARE ASKED ABOUT EACH
|
||
CATEGORY BEFORE IT IS WRITTEN INTO THE FILE.
|
||
|
||
BSSEL LIKE BSUM, EXCEPT ASKS ABOUT EACH CATEGORY.
|
||
|
||
MAKALL ASKS FOR ONE NAME AND POSSIBLE A CARD NAME, THEN
|
||
DOES $L, $$L, $$$L (WRITES 3 FILES).
|
||
|
||
BMAKALL LIKE MAKALL, BUT DOES BLIST, AND BSUM.
|
||
|
||
UMAKE WRITES 'UML' FILE FOR INPUT TO "D" PROGRAM WHICH
|
||
REPLACES ALL EDGE PINS WITH GENERATED "U" PINS.
|
||
|
||
STUFF WRITES 'STF' FILE WHICH TELLS FOR EACH DIP TYPE ON
|
||
A BOARD WHERE IT IS USED (WHAT LOCATION).
|
||
|
||
LPART WRITES 'PRT' FILE WHICH TELLS FOR EACH DIP TYPE ON
|
||
A BOARD WHAT ITS PART NUMBER IS AND HOW MANY ARE USED.
|
||
|
||
UML Prints a module map for the card you select. Also
|
||
prints edge signals in boxes for each paddle.
|
||
Default extension is 'UML'
|
||
|
||
TEST Asks:
|
||
|
||
CARD (LN)? if necessary
|
||
|
||
This writes a card tester file for P. Petit's simulator.
|
||
The default extension is "TST".
|
||
|
||
ROUTE Asks:
|
||
|
||
CARD (LN) ? if necessary
|
||
|
||
This routes all runs on the specified card and then
|
||
produces a listing (default extension 'WLR'). The
|
||
listing is like a 'WL' listing except that the pins
|
||
are ordered and a pseudo Z-level is indicated in an
|
||
extra column.
|
||
|
||
ZLEVEL Asks:
|
||
|
||
CARD (LN) ? if necessary
|
||
|
||
This routes all runs on the specified card and then
|
||
produces a listing (default extension 'WLZ'). The
|
||
listing is 4 from-to listings. First is PWR and GND
|
||
Z-level 1 and Z-level 2. Then signals, Z-level 1
|
||
and Z-level 2.
|
||
|
||
BLIST Write back panel wirelist, default extension is 'BL'.
|
||
|
||
BSUM Write back panel wirelist summary, similar to 'WLS'
|
||
for normal wirelist. Default extension is 'BS'.
|
||
|
||
BPRINT Asks for a signal name, and prints the run on the tty.
|
||
DI<FORALL> (NODEC) OR ? (DEC) works here as in "P" commands.
|
||
|
||
SIMPLE Writes back panel information necessary for running the
|
||
DEC wirelist package over the back panel.
|
||
|
||
ASIMPLE WRITES SAME INFO AS SIMPLE COMMAND, BUT ASSIGNS
|
||
REAL PIN NAMES IN PLACE OF "U" PIN NAMES.
|
||
|
||
REDAC Writes a REDAC-compatible wirelist. First,
|
||
the REDAC master library is read (filename LIBRY.RDC)
|
||
automatically. If the library is not found, you are
|
||
asked for the correct filename. Respond with <CR> if none
|
||
exists. WL then asks:
|
||
|
||
CARD (NLLN)? if necessary
|
||
|
||
Then asks for a filename. The default extension is 'CON'.
|
||
If terminators are discovered in the wirelist, you will be
|
||
asked whether or not you want them in the REDAC output.
|
||
This writes a pc card interconnection list in the correct
|
||
format for input to REDAC.
|
||
|
||
|
||
STRAPS Reads a 'C2C' file which has 2 card locations on each line
|
||
seperated by a tab, specifying which cards have their back
|
||
strap connectors strapped together. A special format allows
|
||
each paddle to be mentioned explicitly so you can strap
|
||
different paddles in different directions.
|
||
An attempt is made to look at each wire which has a back
|
||
connector on it. If it has no name, lose. Otherwise find
|
||
the same named wire on the other card. If found then try
|
||
to match edge pins on this wire with edge pins on that
|
||
wire. A match occurs if they are the same pin, or if one
|
||
or both are "wild" specified pins. This allows errors to
|
||
be avoided when only one card is placed.
|
||
|
||
CSTRAP Asks for "CARD nlln" if necessary (should be). Then writes
|
||
a file with the default extension 'DAT'. The file contains
|
||
the back connector locations which are gotten by taking
|
||
a wild back connector from this card and finding the
|
||
matching connector on the other card. This allows pre-
|
||
placement of pins which have been previously assigned
|
||
on one of a pair of cards. The file is suitable for reading
|
||
with the "IPINS" command in the drawing prog.
|
||
|
||
EXTENT This is the number of paddles to assume make it to the back
|
||
panel for card with no location. It is initialized to 4.
|
||
|
||
-EXTENT This resets the extent to 4 (the default).
|
||
|
||
PAGE This allows you to set the number of lines per page to assume
|
||
when making listings, in case output will not go to LPT.
|
||
|
||
-PAGE Resets page length to 52 (the default, to allow for spooler or
|
||
other headings).
|
||
|
||
OLD Sets mode for reading "old" format DIPS.DIP files.
|
||
|
||
-OLD Clears mode set by OLD.
|
||
|
||
ECL Sets default for ECL dips during dip definition.
|
||
|
||
-ECL Clears ECL default.
|
||
|
||
TTL Sets default for TTL dips during dip definition.
|
||
|
||
-TTL Clears TTL default.
|
||
|
||
DIP SUB-MODE
|
||
|
||
|
||
##E Exit to TOP MODE (commands on previous page).
|
||
|
||
##@ SAME AS "XDSKIN".
|
||
|
||
##I<filename> Input dip file into internal structure. If filename
|
||
is omitted, last one used for I or W command is used.
|
||
Name starts as "DIPS.DIP[<LIBRARY PPN>]". Default extension
|
||
is always 'DIP'.
|
||
|
||
##W<filename> Write internal list into file. Filename same as for I.
|
||
|
||
##N<filename> Change (or just print if no filename arg) the default
|
||
dip filename.
|
||
|
||
##L<cr> Asks:
|
||
|
||
FILENAME?
|
||
|
||
Default extension is 'LSD'. This makes a listing of all
|
||
dip definitions.
|
||
|
||
##LPARTS<CR> ASKS:
|
||
|
||
FILENAME?
|
||
|
||
DEFAULT EXTENSION IS 'PTL'. THIS MAKES A LISTING OF ALL
|
||
PART NUMBERS GIVING DIPTYPE AND PROPERTIES SUITABLE FOR
|
||
SORTING.
|
||
|
||
##D<dipname> Delete definition of <dipname>. If <dipname> is blank
|
||
you get DDT.
|
||
|
||
##P<dipname> Print definition of <dipname> on TTY.
|
||
|
||
##R<dipname> Rename dip with name <dipname>. Asks for new name.
|
||
|
||
##S<dipname> SET PART NUMBER STRING FOR DIP <DIPNAME>.
|
||
|
||
|
||
##C<dipname> Copy definition of <dipname>.
|
||
Asks:
|
||
|
||
NEW DIP NAME?
|
||
|
||
If it already exists, you are asked:
|
||
|
||
ALREADY EXISTS, REPLACE?
|
||
|
||
Then you are asked:
|
||
|
||
LOADING CONVERSION FACTOR?
|
||
|
||
The format is <number> or <number>/<number>. This
|
||
is the scale which is applied to all loadings of
|
||
the old dip definition to get the new one.
|
||
|
||
##M<dipname> Modify definition of <dipname>.
|
||
If no definition exists for this dip name, it TYPES:
|
||
|
||
NEW NAME # OF PINS?
|
||
|
||
Answer with <n><cr>.
|
||
If a definition already exists, types out the number
|
||
of pins. Then a heading line is typed and echoing is
|
||
turned off. It tabs to the PIN # column and waits for
|
||
a command. Now you may type:
|
||
|
||
<n><cr> Types the information for pin <n>.
|
||
<n><tab> Types the information for pin <n> then tabs to
|
||
the "TYPE" column. You can now change any or all
|
||
of the data items for this pin. Type <cr> to
|
||
fill in the rest of the line with the old stuff.
|
||
Type <tab> to get to the next column. Bad format
|
||
is filtered out and only good data is echoed. To
|
||
leave a column unchanged, just <tab> to the next
|
||
column without typing anything.
|
||
<cr> Asks for a new DIPNAME. You can either
|
||
edit another dip or get back to DIP SUB-MODE by
|
||
typing <cr>.
|
||
A<cr> Types pin <n+1> automatically when you type
|
||
<cr> for pin <n>. You get out of automatic mode
|
||
by typing <ALTMODE> or reaching last pin.
|
||
T<cr> L<cr> U<cr> P<cr> S<cr>
|
||
Automatically copies all columns to the left
|
||
of the TYPE, LOAD, USE, PS, and SECTION columns
|
||
respectively when you type the <n><tab>
|
||
command above.
|
||
|
||
In all the above ALTMODE is equivalent to <cr>.
|
||
Legal TYPES are:
|
||
I input OP pull up output
|
||
IS input with load sharing PWR or P OR V power
|
||
O output GND or G ground
|
||
OT tri-state output NC or N no connection
|
||
OC open collector output Z TERMINATOR
|
||
You may prefix any of the above types with the letter
|
||
"T" for TTL or "E" for ECL. YOU MAY FOLLOW AN I OR IS WITH
|
||
"P" IF THIS PIN HAS AN INTERNAL PULLUP OR PULLDOWN.
|
||
YOU MAY FOLLOW AN OUTPUT (O, OC, OT, OP) BY "F" IF
|
||
IT IS A FLIP-FLOP OUTPUT. If the X commands ECL or TTL
|
||
have been performed, the prefix "E" or "T" is assumed
|
||
automatically. With no prefix, the pin definition is
|
||
neutral with respect to TTL vs ECL.
|
||
|
||
The USE column is for comments such as "S1" or "S4" on
|
||
an ALU dip. PS is an arbitrary number which you assign
|
||
to identify pins that share load. Give the same number
|
||
to all pins that share with eachother. SECTION is for
|
||
defining the sections of the dip and for specifying
|
||
equivalent pins in other sections. The section information
|
||
is: <logical pin #>/<section #>. The equivalent pins
|
||
in different sections are identified by having equal
|
||
logical pin numbers.
|
||
WL FILE FORMATS
|
||
|
||
In this part:
|
||
|
||
() means optional
|
||
<> syntactic entity
|
||
()* 0 or more of
|
||
<l> single letter
|
||
<n> 1 or more digits
|
||
<cr> Carriage return - linefeed
|
||
|
||
|
||
Argument to $I or $$I TOP MODE commands:
|
||
|
||
<filename> ( .<ext> ) ( [<p>,<pn>] ) ( ( <slicespec> )* ) <cr>
|
||
|
||
"DIR" files:
|
||
|
||
( <filename> ( .<ext> ) ( [<p>,<pn>] ) ( ( <slicespec> )* ) <cr> )* <eof>
|
||
|
||
|
||
<slicespec> ::= ( ( <n> ) <l> ( <l> ) <n> ) ( "(" ( <n> <lessthan> )
|
||
( <n> <greaterthan> ) <l> <n> ( , <l> <n> )* ")" )*
|
||
|
||
"(" and ")" stand for a parenthesis pair.
|
||
|
||
This is a list of files to read for "I" or "U" commands.
|
||
|
||
The first part of the slicespec allows you to specify the
|
||
<bay><toprack><bottomrack><slot>
|
||
for any unspecified dip locations. In addition the filespec for the indirect
|
||
file may include a <n><l><l><n> construct which will be used on any filespec's
|
||
in the file which don't have their own. The rest is for the special construct in
|
||
signal names which we will call expressions. The <n><lessthan> sets the lower
|
||
bound of values to <n>, the <n><greaterthan> sets the upper bound.
|
||
The <l><n> sets variable <l> to <n>. The format of a signal name
|
||
which uses an expression is as follows:
|
||
|
||
|
||
<signal name> ::= ( ( <any char except "["> )* ( [ <expr> ] ) )* ( <cr> )*
|
||
|
||
<expr> ::= <form1> | <form2> | <form3>
|
||
|
||
<form1> ::= <form3> ( , <string> )*
|
||
|
||
<form2> ::= ( <form3> "{" <STRING> "~" )* ( <FORM3> )
|
||
|
||
<form3> ::= <primary> <OP1> <primary> | <primary>
|
||
|
||
<primary> ::= "(" <expr> ")" | <OP2> <primary> | A-Z | <number>
|
||
|
||
<op1> ::= "&" \ "!" \ "*" \ "/" \ "'" \ "+" \ "-" \ "=" \
|
||
<NOT EQUAL> \ "<" \ ">" \
|
||
<LESS THAN OR EQUAL> \ <GREATER THAN OR EQUAL> \
|
||
<LOGICAL AND> \ <LOGICAL OR>
|
||
|
||
<OP2> ::= <DOUBLE QUOTE> \ "" \ "-" \ "+"
|
||
|
||
<number> ::= 0-9 | 0-9 <number>
|
||
|
||
If <expr>=<form1> the <form3> expression is evaluated. Then the thing
|
||
in [] is replaced by the I'th string (where value of <form3>=I). If
|
||
I less than or equal to zero, or I greater than the number of strings,
|
||
the thing in brackets is replaced with null.
|
||
|
||
If <expr>=<form2> the first <form2> expression is evaluated. If the value
|
||
is non-zero, the string contain in the following "{~" pair is the result
|
||
of the expr. Otherwise, the evaluation of the <form3> expression after
|
||
the "~" is done and so on until on becomes true or the "]" is reached.
|
||
|
||
If <expr>=<form3> the thing in [] is replaced by the decimal value
|
||
of the expression with leading zeroes added to make the length of the
|
||
result equal to the length of the longest variable <l> in the expression.
|
||
|
||
CURRENT PRECEDENCE ORDER FOR <OP1> IN EXPRESSIONS
|
||
(HIGHEST TO LOWEST BINDING POWER)
|
||
"
|
||
|
||
&!
|
||
*/'
|
||
+-
|
||
=<>
|
||
|
||
|
||
<OP2> IS A UNARY OPERATOR.
|
||
|
||
DOUBLE QUOTE OPERATOR RETURNS THE NUMERIC CHARACTER CODE
|
||
OF THE LETTER FOLLOWING IT.
|
||
RUNNING MAGGOT
|
||
|
||
MAGGOT READS MAGTAPE ON MTA0 AND SIMULATES GERBER
|
||
PLOTTER PACKAGE ON CALCOMP. ALSO MAKES LINE PRINTER LISTING.
|
||
|
||
ASKS IF YOU WANT A CALCOMP PLOT
|
||
ASKS IF YOU WANT A LINE PRINTER LISTING
|
||
|
||
THE FIRST TIME ANY SCALE IDENTIFIER IS ENCOUNTERED YOU
|
||
WILL BE ASKED TO TYPE ITS HEIGHT.
|
||
RUNNING PDRILL
|
||
|
||
PDRILL READS PAPER TAPE AND PLOTS X'S ON CALCOMP
|
||
FOR EACH DRILL HOLE, ALSO LISTS X,Y'S OF HOLES ON
|
||
LINE PRINTER
|
||
|
||
ASKS IF YOU WANT A CALCOMP PLOT
|
||
ASKS IF YOU WANT A LINE PRINTER LISTING
|
||
ASK YOU TO LOAD TAPE BEFORE STARTING
|
||
RUNNING FR80
|
||
|
||
ASKS IF YOU WANT A CALCOMP PLOT.
|
||
ASKS IF YOU WANT LPT OUTPUT.
|
||
ASKS FOR A FILENAME. (DEFAULT EXT IS "F80")
|
||
MAKES PLOT AND LISTING IF APPROPRIATE.
|
||
HOW TO RUN REF
|
||
|
||
REF IS A PROGRAM TO GOBBLE DOWN 'WD' FILES
|
||
AND PRODUCE A LISTING, ORDERED BY SIGNAL NAME
|
||
SHOWING EACH FILE IT IS USED IN AND HOW MANY
|
||
TIMES IT IS USED.
|
||
|
||
THE PROG STARTS BY ASKING:
|
||
|
||
WD FILENAME?
|
||
|
||
TO WHICH YOU MAY TYPE EITHER
|
||
|
||
FILNAM.EXT[P,PN] DEFAULT EXT IS 'WD'
|
||
|
||
OR
|
||
|
||
@FILNAM.EXT[P,PN] DEFAULT EXT IS 'DIR'
|
||
|
||
IF THE "@" CONSTRUCT IS USED, ANOTHER FILENAME IS SCANNED
|
||
FROM THE FILE, AND SO ON UNTIL END OF FILE (BLANK LINES ARE
|
||
IGNORED).
|
||
|
||
FILENAMES ARE GOBBLED AND THE FILES READ UNTIL YOU TYPE
|
||
A BLANK FILENAME FROM THE TTY.
|
||
|
||
IT THEN ASKS:
|
||
|
||
REF FILENAME?
|
||
|
||
YOU NOW MAY TYPE THE OUTPUT FILENAME (DEFAULT EXT IS 'REF').
|
||
IF BLANK NAME IS TYPED, OUTPUT GOES TO THE TTY.
|
||
MISCELANEOUS
|
||
DRAWING PITFALLS:
|
||
|
||
1. LINES WHICH APPEAR TO TOUCH MAY NOT INTERSECT IN THE DATA
|
||
STRUCTURE. TO INSURE CONTINUITY YOU MUST EITHER:
|
||
A. USE THE "-" METHOD TO HAVE A LINE YOU ARE DRAWING
|
||
INTERSECT A POINT YOU CAN SEE.
|
||
B. USE THE "$A" OR "$$A" METHOD TO ATTACH TO A POINT OR
|
||
LINE RESP.
|
||
|
||
(IN CASE OF DIFFICULTY, LEARN THE "$B" AND "$$B" FUNCTIONS.)
|
||
|
||
2. LABELS (LOGICAL NAMES) MAY APPEAR NEAR A WIRE AND NOT BE
|
||
ASSOCIATED WITH IT. TO FORCE ASSOCIATION, YOU MUST:
|
||
A. GET ON THE POINT AT THE END OF THE WIRE AND PLACE THE
|
||
TEXT THERE. MOVE THE WIRE IF THE TEXT GETS GARBAGED BY
|
||
SOME NEARBY OBJECT.
|
||
|
||
3. USE "XDANGLE" TO FIND MOST ERRORS OF FORM 1 AND 2.
|
||
|
||
(YOU MIGHT USE THE "$A" FUNCTION TO ATTACH SOME TEXT TO THE NEAREST POINT)
|
||
|
||
PC CARD LAYOUT RESTRICTIONS (BY MCGUIRE):
|
||
|
||
THE FOLLOWING LAYOUT TECHINQUES ARE TO BE CONSIDERED
|
||
MANDITORY UNTIL PROVEN OTHERWISE:
|
||
|
||
THE STANDARD STEP SIZE (50 MILS) WILL BE USED IN ALL PC CARDS
|
||
EXCEPT FOR SPECIAL PURPOSE ONES. THIS ALLOWS EXACTLY ONE WIRE TO PASS
|
||
DIRECTLY BETWEEN TWO PADS.
|
||
|
||
WIRES BETWEEN PADS SHOULD BE WITHIN 15 DEGREES OF STRAIGHT
|
||
THROUGH TO ALLOW 18 MILS OF CLEARANCE BETWEEN WIRE AND PAD, 30
|
||
DEGREES GIVES 15 MILS OF CLEARANCE, STRAIGHT THROUGH GIVES 20 MILS OF
|
||
CLEARANCE.
|
||
|
||
WIRES BETWEEN PADS ARE ALLOWED ONLY ON THE TOP (DIP INSERTION)
|
||
SIDE OF PC CARDS OWING TO TROUBLE WITH SOLDER BRIDGING ON THE BOTTOM.
|
||
|
||
SPACING BETWEEN WIRES MAY BE THE MINIMUM, THAT IS 50 MILS.
|
||
CONSIDER PADS AND FEED THROUGH TO BE 52 MILS IN DIAMETER AND WIRES TO
|
||
BE 10 MILS WIDE (AFTER ETCHING).
|
||
|
||
IF A FEED THROUGH IS TO BE PLACED BETWEEN TWO WIRES THE WIRES
|
||
MUST BE AT LEAST 100 MILS APART IN ORDER THAT THE 20 MILS CLEARANCE
|
||
BE MAINTAINED AROUND THE FEED THROUGH.
|
||
|
||
PLANE DESIGNATIONS:
|
||
|
||
IN ORDER TO AVOID CONFUSION THE FOLLOWING PLANE DESIGNATIONS
|
||
WILL BE USED IN ALL PC CARDS:
|
||
|
||
PLANE USE
|
||
|
||
0 GROUND PLANE.
|
||
1 FIRST POWER PLANE(USE THIS IF ONLY ONE)
|
||
2 SECOND POWER PLANE(USE THIS AND 1 IF TWO POWER PLANES)
|
||
3 THIRD POWER PLANE.
|
||
|
||
IF SOMEBODY NEEDS MORE THAN 4 PLANES, HE IS CRAZY AND SHOULD SEE
|
||
RPH FOR TREATEMENT.
|
||
|
||
EXTERIOR PLANES!!!!!!!!
|
||
|
||
THE SIDE OF THE BOARD INTO WHICH DIPS ARE INSERTED WILL BE
|
||
REFERED TO AS THE TOP. THE OTHER SIDE WILL BE REFERED TO AS THE OTHER
|
||
SIDE.
|
||
|