Introduction: Latest revision of this document: 05 may 78 This document describes the STANFORD UNIVERSITY DESIGN SYSTEM, originally developed at the Stanford University Artificial Intelligence Lab by Dick Helliwell. It has been exported to several sites, as described below: Stanford Artificial Intelligence Lab Maintained by: JEFF RUBIN (DRAWING PROGRAM) TOM GAFFORD (WIRELISTER) Mail to: JBR @ SU-AI (RUBIN) TAG @ SU-AI (GAFFORD) Documentation: SUDS.RPH[UP,DOC] Source on: [D,DRW], [WL,DRW], [PLT,DRW] Object on: SYS: M.I.T. Artificial Intelligence Lab Maintained by: Jack Holloway Mail to: H @ MIT-AI Documentation: DRAW2; SUDS > Source on: NEWDRW;, NEWWL;, DRAW2; Object on: SYS: Carnegie-Mellon University Maintained by: Rick Gumpertz Mail to: RG02 @ CMU-10B Documentation: W.CMD[E130DP00]/B (LOOK comand file) Source on: [E130DP00], [E130RG02] (both SPCH: & DSKC:) Object on: [E130DP00] Digital Equipment Corporation Maintained by: DICK HELLIWELL Mail to: Digital Equipment Corporation 200 FOREST ST. MARLBORO, MASS. 01752 Documentation: <10-ENGINEERING-LIBARY>SUDS.TXT Source on: , , , Object on: <10-ENGINEERING-LIBRARY> Changes in the newer Drawing program Packages: The drawing system needs to know what package each body is in in order to display the actual post on the board. This handles 14 pin DIPs in 16 pin sockets, DIP adaptors, and other hair. The packages are mostly defined in the NDIPS.DIP file. (When the wirelister reads in an old version NDIPS.DIP the first time, it default the package type from the number of pins actually defined. Thhis may have to be fixed by hand in some cases.) The wirelister in Dip sub-mode allows you to set the package type by S Since the package information is needed to correctly display a body, the information in the .DIP file must be read into the body library by the INDIP command in D. This updates all the unspecified package types so that they default to what the .DIP file says. An explicit PACKAGE property on the body will supercede the .DIP value however. This is the way that you indicate a DIP adaptor, which is a package type. The PACKAGE property should be the name as typed out by APACK which lists all available packages. Board types: The new boards are listed by AVAIL: MPG216 - the MIT 180 pattern board w/ 20 pin sockets. LG684 - a Hex plug in board with 20 pin sockets MUPAC - the kludgey S.Gray board. Selecting a BOARD will default the NOMENCLATURE to the same name. One thing different about the nomenclature, is that body locations accept an "offset", which allows 14 pin dips to be adjusted vertically within the 20 pin socket. For instance: 1A01@2 specifies a DIP in 1A1 with pin1 of the DIP in pin2 of the socket. This is also useful for mini-dips and SIPs. A SIP at @1 or @20 will be in 1st or 2nd column of DIP socket. The SOCKET (D) command forces all pin names to be the board pin names, the DIP pin name is suppressed. To allow special .DIP files, there is a DIPFILE command in D which specifies which file to read for INDIP and the section numbering command m-N. There is a command XANADU in the wirelister that produces a routed wirelist, in a format amenable to post-processing. ------------------------- New Drawing prgm features: m-O (Body) Puts a stub on the "first" pin of the body You are now in point mode drawing a line c-O (Point) Starts a stub from the "closest" pin. m-O c-m-O (Point) Moves the stub forwards/backwards around the body from the current pin. The size of the stub can be varied with the STUB command. c-^W (Body) cntrl-W, makes a set of the closest body, and all points connected to it that aren't connected to some other body. This makes it convenient to move a body horizontally, without overruning the stubs that are connected to it. CHARACTER SET: THE FOLLOWING CHART SHOWS THE SPECIAL GRAPHIC CHARACTERS AVAILABLE ON THE STANFORD KEYBOARD AND WHAT YOU MUST TYPE TO OBTAIN THEM ON A TELETYPE KEYBOARD. CERTAIN CHARACTERS REQUIRE THE USE OF THE ";L" MACRO COMMAND. FOR THESE CHARACTERS, YOU MUST TYPE ";L" FOLLOWED BY THE NUMBER GIVEN IN THE CHART FOLLOWED BY . OBSERVE THE MINUS SIGN CAREFULLY. GRAPHIC KEYSTROKE ;L OCTAL VALUE --------------------------------------------------- DOWN ARROW ^A -63 001 ALPHA ^B -62 002 BETA NONE -61 003 LOGICAL AND ^D -60 004 LOGICAL NOT ^E -59 005 EPSILON ^F -58 006 PI ^G (BELL) -57 007 LAMBDA ^H (BACKSPACE) -56 010 GAMMA ^I (TAB) -55 011 INTEGRATION ^K (VERT TAB) -53 013 PLUS/MINUS ^L (FORM FEED) -52 014 INFINITY ^N -50 016 SMALL DELTA NONE -49 017 LEFT HORSESHOE ^P -48 020 RIGHT HORSESHOE ^Q -47 021 DOWN HORSESHOE ^R -46 022 UP HORSESHOE ^S -45 023 FOR ALL SIGN ^T -44 024 THERE EXISTS NONE -43 025 MU (MICRO) ^V -42 026 DOUBLE ARROW ^W (SEE NOTE) -41 027 OMEGA (OHMS) ^X -40 030 RIGHT ARROW ^Y -39 031 TILDA ^Z -38 032 NOT EQUAL NONE -37 033 LESS OR EQUAL ^\ -36 034 GREATER OR EQ ^] -35 035 IDENTITY ^^ -34 036 LOGICAL OR ^_ -33 037 VERTICAL BAR NONE 60 174 CIRCUMFLEX NONE 61 175 RIGHT BRACE NONE 62 176 NOTE:  (DOUBLE ARROW) MEANS CARRIAGE RETURN LINE FEED IN TEXT. NOTE: ^R AND ^T MAY NOT BE TYPED TO THE DRAWING PROGRAM AND ^W MAY NOT BE TYPED IN LINE MODE. WRITEUP FOR THE STANFORD DRAWING SYSTEM. THE CHARACTERS "", "", "", AND "" STAND FOR , , , AND RESPECTIVELY (NOT AT DEC). AT DEC THEY STAND FOR 1, 2, AND 3 'S REPECTIVELY. "", "", AND "" ARE ALWAYS INTERPRETED BY THE SCANNER AS THESE THINGS! FOR DEC, THE TERM "ALTMODE" WILL BE USED TO MEAN 4 'S. WILL BE USED IN THIS WRITEUP TO MEAN THE EXISTS CHARACTER. AT DEC IT IS ^E, ELSEWHERE IT IS . THE LETTER "D" PRECEDING ANY DESCRIPTION MEANS THIS IS FOR THE LOGIC DRAWING PROGRAM ONLY, "PC" MEANS PC CARD PROGRAM ONLY. "L" MEANS THIS IS A FEATURE OF THE LAYOUT VERSION ONLY. "R" MEANS THIS IS A FEATURE OF THE ROUTING VERSION ONLY. "DEC" MEANS AT DEC. "NODEC" MEANS ELSEWHERE. "STANFO" MEANS STANFORD ONLY. "NOSTANFO" MEANS ELSEWHERE. "U" MEANS CONDITIONAL UNDER "UML" ASSEMBLY SWITCH. HERE ARE SOME MONITOR LEVEL COMMANDS: REE ASKS "RESTART?". IF YOU TYPE "Y", WHATEVER YOU WERE DOING WILL BE ABORTED AND THE PROGRAM RESTARTED IN THE MAIN COMMAND LOOP. THE DRAWING IS NOT FLUSHED. EXTREME CAUTION SHOULD BE USED WITH THIS COMMAND BECAUSE ^C TO THE PROGRAM CAN LEAVE THE DATA STRUCTURE IN AN INCONSISTENT STATE. IN GENERAL IF THE PROGRAM IS IN INPUT WAIT, OR UPDATING THE DISPLAY, IT IS SAFE. IF YOU DON'T TYPE "Y", YOU WILL BE ASKED A SECOND QUESTION. "FLUSH MACROS?". IF YOU TYPE "Y" TO THIS ANY MACROS IN PROGRESS WILL BE TERMINATED AS SOON AS POSSIBLE. IN ANY CASE THE PROGRAM CONTINUES FROM THE POINT AT WHICH YOU TYPED ^C. FIRST THE FOUR BASIC MODE SWITCHING COMMANDS: EACH OF THE FOLLOWING COMMANDS FINDS THE CLOSEST PRIMITIVE IN THE DRAWING AND MAKES IT THE "CLOSEST" PRIMITIVE. IF YOU ARE FINDING BODIES YOU MAY NOT DO OPERATIONS ON POINTS, ETC. P FIND THE CLOSEST POINT. A LARGE P INDICATES THE POINT. IF THE POINT HAS TEXT ON IT A LARGE T IS USED. T SAME AS P EXCEPT THAT THE ONLY POINTS WHICH WILL BE FOUND ARE THOSE WITH TEXT ON THEM. L FIND THE CLOSEST LINE. A LINE IS NOT "CLOSE" TO A POINT UNLESS THE PERPENDICULAR FROM THE POINT TO THE LINE INTERSECTS THE SEGMENT WHICH IS THE LINE. A LARGE L INDICATES THE MIDPOINT OF THE LINE. B FIND THE CLOSEST BODY. A LARGE B IS PLACED AT THE CENTER OF THE BODY. S FIND THE CLOSEST SET. A LARGE S IS PLACED AT THE CENTER OF THE SET. THE CENTER OF A SET IS THE AVERAGE OF THE LOCATIONS OF ITS MEMBERS. THE FOLLOWING 4 CHARACTERS INDICATE WHICH KIND OF INPUT YOU ARE DOING: * WAITING FOR SINGLE LETTER COMMAND _ WAITING FOR SINGLE LETTER, NOT COMMAND ^ (AT DEC)  (NOT AT DEC) WAITING IN LINE MODE (ONLY USED DURING MACROES TO INDICATE THIS, OTHERWISE NO CHARACTER). : WAITING IN LINE MODE FOR A MULTI-STRING VARIABLE SPECIAL CONTROL CHARACTERS AT ALL LEVELS! ! REFRESH DISPLAY. NOW FOR THE COMMANDS YOU CAN GIVE ANYTIME: THE FOLLOWING MOVE THE DRAWING UP, DOWN, LEFT, AND RIGHT. THE AMOUNT IS DETERMINED BY THE FOLLOWING: 1/8 WINDOW  1/4 WINDOW  1/2 WINDOW  1 WINDOW AT DEC NOT AT DEC MOVEMENT < _ LEFT >  RIGHT [ ^ UP ]  DOWN SIZE CONTROLS: * MAKE THE DRAWING SMALLER.  MAKE THE DRAWING LARGER. CHAR NEW SCALE * SCALE-1 * SCALE*4/5 * SCALE*2/3 * SCALE*1/2  SCALE+1  SCALE*5/4  SCALE*3/2  SCALE*2 CURSOR MOVING AMOUNTS: 1 STEP  2 STEPS  4 STEPS  8 STEPS 16 STEPS  32 STEPS  64 STEPS  128 STEPS AT STANFORD AND MIT, USE INSTEAD OF AT DEC CHAR SHIFTED CHAR MOVEMENT 8 ( LEFT 9 ) RIGHT 6 & UP 7 ' DOWN NODEC CHAR SHIFTED CHAR MOVEMENT ( [ LEFT ) ] RIGHT /  UP \  DOWN L V IN PC PROG GO TO LOGIC PROG, IN LOGIC PROG GO TO PC PROG. % (DEC) & (NODEC) ZERO "CURRENT" SET POINTER. THE "CURRENT" SET IS THE ONE WHICH GETS THINGS ADDED TO IT BY &. P FIND CLOSEST POINT. SEE ABOVE. T FIND CLOSEST POINT WITH TEXT ON IT. SEE ABOVE. L FIND CLOSEST LINE. SEE ABOVE. B FIND CLOSEST BODY. SEE ABOVE. @ SAME AS "XDSKIN". C MOVE THE CURSOR TO THE PHYSICAL CENTER OF THE SCREEN C MOVES THE CURSOR AND THE POINT IN THE DRAWING AT WHICH IT RESIDES TO THE PHYSICAL CENTER OF THE SCREEN. C SET THE OFFSET AND THE CURSOR POS TO 0. (i.e. MOVE THE CURSOR AND LOGICAL 0,0 TO THE CENTER OF THE SCREEN). D E EDIT (OR CREATE) A BODY. YOU ARE ASKED "BODY TYPE?" THEN "DIP TYPE?". FIRST MAY NOT BE NULL, BUT SECOND CAN. YOU ENTER THE EDITOR WITH IT (OR EMPTY). IF THE BODY DID NOT EXIST BEFORE IT DOES NOW. D I INPUT BODY DEFINITIONS FROM A DRAWING FILE. THIS ALLOWS YOU TO DEFINE BODIES ONLY ONCE AND USE THEM IN ALL DRAWINGS. PC I LIKE I EXCEPT THAT ANY UNPADDED DRILL HOLES ARE GIVEN PAD TYPE 1, BECAUSE UNPADDED HOLES DON'T WORK. I INPUT A DRAWING. D I INPUT BODY DEFINITIONS ONLY. WHEN A CONFLICT ARISES (BODY ALREADY EXISTS), REPLACEMENT IS AUTOMATICALLY EFFECTED BY A GEOMETRIC MAPPING! PC I INPUT A ROUTE FILE (FROM WAGNER'S ROUTING PROGRAM). ASKS FOR FILENAME (DEFAULT EXTENSION IS "DAT"). FILENAME IS USUALLY FOR21. THERE SHOULD ALREADY BE IN THE DRAWING THE DIPS WHICH WERE ROUTED TO, IN THE EXACT POSITIONS AS WHEN THE FILE TO THE ROUTER (FOR20.DAT) WAS WRITTEN. D L LIST ALL THE BODY TYPES ON THE TTY. FOR LIBRARY BODIES THE LIBRARY NAME IS ALSO LISTED. D L LIST ALL THE BODY TYPES INTO A FILE WITH DEFAULT EXTENSION 'LST'. ALSO LISTED IN THE FILE ARE ALL THE PLOT LABEL STRINGS. W WRITE OUT A WHOLE DRAWING IF THE FILENAME HAS NO "." IN IT THE EXTENSION ".DRW" (OR ".PC" FOR PC PROG) WILL BE ATTACHED. IF YOU SAY IN PLACE OF THE FILENAME THE LAST ONE USED ON MAJOR INPUT OR OUTPUT WILL BE USED; IF NO PPN ARE GIVEN, THEY ALSO WILL BE THE LAST ONES USED ON INPUT. IF OTHER THAN THE LAST FILENAME AND PPN USED ON INPUT IS GIVEN, A CHECK IS MADE TO SEE IF IT EXISTS ALREADY. W WRITE A WIRE LIST FILE. THE EXTENSION ".WD" (OR ".WPC" FOR PC PROG) IS THE DEFAULT. W WRITE A PLOT FILE. THE EXTENSION "".DPL" AT DEC, .PLT" NOT AT DEC (OR ".PCP" FOR PC PROG) WILL BE USED IF NONE IS SPECIFIED. PC R CHANGE THE WORKING SIDE OF THE PC CARD TO THE OTHER SIDE. PC R LEAVE "BOTH SIDES" MODE. PC R ENTER "BOTH SIDES" MODE. THE CURRENT WORKING SIDE IS DISPLAYED AT BRIGHTNESS 7 AND THE OTHER SIDE AT CURRENT BRIGHTNESS. PC ? USED IN CONJUNCTION WITH "SHORT" COMMAND. CAUSES NEXT SHORT ERROR TO BE DISPLAYED. EACH POINT ASSOCIATED WITH THE ERROR HAS A NUMBER FROM 1-4 ON IT. THIS NUMBER MAY BE USED IN THE "J" COMMAND IN POINT MODE TO JUMP TO THE POINTS IN ERROR. D ? USED IN CONJUNCTION WITH "IWIRES" OR "IERRORS" COMMANDS. STEPS THROUGH THE SIGNALS IN THE INTERNAL LIST ONE AT A TIME WHICH ALLOWS YOU TO CORRECT THE ERRORS (IERRORS) OR JUST LOOK AT ALL SIGNALS (IWIRES). THE IWIRES IS USEFUL FOR LOOKING AT ROUTER ERRORS BY RUN # SINCE THE RUN # IS DETERMINED BY THE ORDER OF THE WDR FILE. H ASKS FOR A VARIABLE NAME AND INCREMENTS THE VARIABLE. NUMERIC VARIABLES GET THE NEXT VALUE; STRING VARIABLES ARE SEARCHED FOR A NUMBER AND +1 IS ADDED; MULTI-STRING VARIABLES GET SET TO THE NEXT STRING. UPON REACHING THE LAST STRING, A MULTI-STRING VARIABLE BECOMES A NULL STRING. (SEE ALSO ;H UNDER MACRO COMMANDS.) H DEFINES A VARIABLE. ASKS FOR A DEFINITION. TYPE _ TO DEFINE A STRING VARIABLE OR :... TO DEFINE A MULTI-STRING VARIABLE OR = TO DEFINE A NUMERIC VARIABLE. IS ANY LENGTH AND CONSISTS OF THE CHARACTERS A-Z, 0-9, . (PERIOD), %, $ (DOLLAR SIGN). CONSISTS OF A STRING OF 'S OR 'S SEPARATED BY COMMAS AND ENDING WITH CARRIAGE RETURN. IS AN ALPHABETIC CHARACTER OR A NUMBER (WITH OPTIONAL MINUS SIGN IN FRONT). IS () OR (). IF IS ALPHABETIC IN AN ITERATION SPEC, THEN MUST ALSO BE ALPHABETIC. INCREMENTING AN ALPHABETIC CHARACTER IS DONE ACCORDING TO THE DEC ALPHABET. IF ADDING THE INCREMENT TO THE CURRENT VALUE EXCEEDS (OR EQUALS) THE ENDVALUE, THEN THE VARIABLE IS EQUAL TO THE ENDVALUE. IF THE CURRENT VALUE IS >0, THE CURRENT VALUE IS PADDED WITH ENOUGH LEADING ZEROS TO MATCH THE LENGTH OF THE INITIAL OF THE ITERATION SPEC. IF THE IS OMITTED AT THE END OF THE DEFINITION, THE LAST () GETS USED INDEFINITELY. (THIS IS THE ONLY PLACE WHERE A ZERO INCREMENT IS LEGAL.) IF THE DEFINITION ENDS WITH A OR AND INCREMENTING IS CONTINUED BEYOND THE END OF THE DEFINITION, +1 BECOMES THE DEFAULT INCREMENT. H TYPES ALL VARIABLES AND THEIR CURRENT VALUES ON THE TTY. ****************************** PATTERN MATCHING ******************** THERE ARE A NUMBER OF COMMANDS WHICH SEARCH FOR TEXT STRINGS THAT MATCH A USER SUPPLIED PATTERN. (GENERALLY F) HERE IS HOW THE MATCHING IS DONE: IF THE FLAG FOR "SPACES" IS OFF (DEFAULT) THEN ANY SPACES IN EITHER THE STRING OR THE SEARCH STRING ARE IGNORED, OTHERWISE THEY ARE NORMAL CHARS.  IS CONVERTED TO A SPACE. IF THE FLAG "EXACT" IS OFF (DEFAULT) THEN LOWER CASE CHARS ARE CONVERTED TO UPPER CASE. THE FOLLOWING SPECIAL CHARS ARE CURRENTLY RECOGNIZED: | BEGINNING OR END OF LINE.  ANY CHARACTER. ~ INVERT MATCH CONDITION ON NEXT THING.  ANY NUMBER OF NEXT THING WILL MATCH, INCLUDING 0. SMALLEST NUMBER OF CHARACTERS NECESSARY WILL BE USED.  QUOTE NEXT CHARACTER.  DOLLAR SIGN) MATCH ANY LETTER. % MATCH ANY DIGIT (0-9).  MATCH ANY ALPHANUMERIC. X TYPES "WELL?" TO WHICH YOU MAY TYPE ANY OF THE COMMANDS IN THE FOLLOWING LIST, SEPARATED BY COMMAS ENDING WITH . THE ENTIRE LINE IS SCANNED BEFORE EXCUTING ANY OF THE COMMANDS. THE EXTENDED SCANNER IS FOR SETTING THE VALUE OF VARIABLES. TYPE ONE OF THE FOLLOWING TEXT STRINGS: HELP START EXIT BOOP- INIT- FDIP EXACT- LOWER- IMACRO WMACRO- AMACRO SMACRO- QUIT SPACES- CENTER- AUTOSA- AUTOWR- ESAVE EWRITE ELIST EPLOT ENAME- MAKEWD SAVE SETWRT WRTSET DPY- MACRO RMACRO DMACRO- PMACRO CLEAR CURSOR- DDT BRIGHT- CURBRT- MOVE SCALE SIZE XOFF YOFF TEXT- WINDOW- LWINDO- DELNUL DANGLE DELSET SETCEN COUNT DSKIN DSKINH IFLUSH DSKOUT CLOSE NEWID PINS- LOCS- CLOCS- CPINS- LINES- LOCATE- CLOCAT- SETLOC- FLASH- ERROR- IDENTS- LIBPPN- BOARD- NOMENC- AVAILA IWIRES- LSIGNA NFLASH LPROPS IDEFS RDEFS IERROR- FIXEM PTEXT- BTEXT- TMOVE LMOVE TERMRU- SETPIN- SLICE TSLICE- DELLIB LOCLIB GETLIB TYPLIB LIBTYP MODLIB- MAPLIB- LIBMAP- GETBOD RENAME TYPDEL DELTYP DIAMON- PBOX SHOWBO- PICCEN DEFPIN- RPINID- UNHIDE- HIDE- FIXALL OUTSID- TITLE- SITE- AUTHOR- REVISI- MODULE- VARIAB- PREFIX- NUMBER- PROJEC- PAGE- DCODE- LTITLE TRANSP OFFALL OFFRIG- OFFLOC DISLOC- CHANGE ICHANG ICPINS UNDERL- CBOX- IPINS CEXCHA MUNG FSIGNA FLNAME FLDIP FLNEXT FLPIN FLPNEX RSPINI HELP LISTS ALL EXTENDED COMMAND NAMES IN A SUITABLY COLUMNATED FORMAT. DEC TIME PRINTS THE RUNTIME, RUN QUEUE TIME, % SERVICE, AND REALTIME SINCE LAST "TIME" OR "-TIME" COMMAND. RUN QUEUE TIME IS THE AMOUNT OF TIME YOU SPENT IN THE RUN QUEUE REGARDLESS OF WHETHER YOU WERE RUNNING OR NOT. % SERVICE IS (RUNTIME * 100)/(RUN QUEUE TIME). ALL TIMES ARE IN SECONDS. DEC -TIME RESET TIME CELLS (START ACCUMULATING FOR NEXT TIME COMMAND). BOOP ASKS FOR TIME IN SECONDS AFTER WHICH TO BOOP. THEN IF THAT MANY SECONDS ELAPSE BETWEEN INPUT OF THE LAST CHARACTER AND GOING INTO INPUT WAIT FOR THE NEXT, THE BOOPER IS BOOPED (RING THE BELL). -BOOP DISABLE BOOPING. SLICE ASKS FOR "LOWER BOUND?" THIS SETS THE UPPER AND LOWER BOUNDS ON RESULTS OF EXPRESSIONS IN BRACKETS. THE BOUNDS ARE INCLUSIVE AND UPPER BOUND MINUS LOWER BOUND MINUS ONE IS ADDED(SUBTRACTED) TO(FROM) THE RESULT UNTIL IT IS INSIDE THE BOUNDS. RETURN WILL SET THEM TO - AND + INFINITY RESPECTIVELY. NOW YOU ARE ASKED FOR "SET VARIABLES, LN?". YOU MAY TYPE A STRING OF LETTER NUMBER PAIRS SEPARATED BY COMMAS. WHENEVER THE LETTER IS ENCOUNTERED IN AN EXPRESSION IT IS REPLACED BY ITS VALUE (THE NUMBER). PC INNER THIS IS TO MAKE A "INNER PLANE FILE". IT DELETES ALL TEXT, LINES, AND POINTS WHICH ARE NOT DRILL HOLES AND PADS ALL DRILL HOLES WITH PAD TYPE 2 (CLEARANCE) THIS IS THE NORMAL INPUT TO THE "PPLOT" COMMAND TO MAKE INNER PLANE PLOTS. AFTER GIVING THIS COMMAND TEXT AND LINES MAY BE ADDED, PAD TYPES MAY BE CHANGED ETC., THE "CURRENT" SIDE IS STILL THE ONE WHICH GETS PLOTTED. CLEAR THIS DELETES "ALL" BODIES, POINTS, SETS, AND DEFINITIONS OF BODIES. IT ALSO RESETS ALL SCREEN PARAMETERS TO THEIR DEFAULTS WHEN THE PROGRAM STARTS UP. FLAGS LIKE "LOWER" (LOWER CASE) AND "OUTSIDE" (OFFSET PIN #S OUTSIDE BODY) ARE NOT RESET. DSKIN ASKS FOR A FILE NAME. THEN USES SAID FILE IN PLACE OF TELETYPE INPUT. USE SAME FORMAT IN FILE AS FROM TTY. AT STANFORD, USE NOT EQUAL (OCTAL 33) IN PLACE OF ALTMODE IN FILE. , , REPLACE AND . DISK INPUT BREAKS CAN BE GENERATED BY CHARACTER SPECIFIED IN ;Y MACRO COMMAND. IF AN ERROR OCCURS (THAT WHICH CAUSES ??? TO BE TYPED) AN AUTOMATIC DISK INPUT BREAK WILL BE GENERATED! DSKINH DSKINHOLD. THIS IS EXACTLY LIKE DSKIN, EXCEPT THAT AFTER SETTING UP THE INPUT FILE, IT GENERATES A DSK INPUT BREAK. IFLUSH THIS COMMAND WILL FLUSH DISK INPUT BEFORE END OF FILE. DSKOUT ASKS FOR FILE NAME. ALL TELETYPE INPUT IS COPIED TO THE OUTPUT FILE. THE FILE IS NOW OF THE FORM TO USE WITH "DSKIN". CLOSE CLOSES THE FILE ENTERED BY "DSKOUT". NODEC SAVE ASK FOR A FILENAME, THEN SAVES THE CURRENT CORE IMAGE UNDER THAT FILENAME, THE DEFAULT EXTENSION IS DMP. THE STARTUP ADDRESS IS SET TO RESTORE THE AC'S AND RETURN AS IF YOU HAD JUST GIVEN THE SAVE COMMAND. DEC SAVE SAVES THE ACS AND SETS START ADDRESS TO SPECIAL PLACE THEN EXITS TO MONITOR. YOU CAN SAVE THE CORE IMAGE AND RUN IT LATER. YOU MAY ALSO START THIS CORE IMAGE AND CONTINUE ON. IN ANY CASE YOU COME BACK AFTER THE SAVE COMMAND. L RESAVE LIKE SAVE COMMAND, BUT CAUSES THE PROGRAM TO RESTART WHEN IT IS RUN AGAIN. THIS IS GOOD FOR PATCHING AND NOT HAVING THE NAME "L.DMP[1,3]" REMEMBERED AS THE NAME. NODEC ESAVE THIS DOES A SAVE WITH THE REMEMBERED NAME () AUTOSAVE THIS ASKS "HOW MANY COMMANDS BETWEEN ESAVES?" AND EVERY TIME THAT MANY TOP LEVEL COMMANDS ARE PROCESSED IT DOES AN "ESAVE". -AUTOSAVE DISABLE AUTOSAVE. EWRITE THIS WRITES OUT THE DRAWING WITH THE REMEMBERED NAME () AUTOWRITE THIS ASKS "HOW MANY COMMANDS BETWEEN EWRITES?" AND EVERY TIME THAT MANY TOP LEVEL COMMANDS ARE PROCESSED IT DOES AN "EWRITE". -AUTOWRITE DISABLE AUTOWRITE. ELIST WRITES A WIRE LIST FILE ('WD') WITH THE CURRENT DEFAULT NAME. THE DEFAULT PPN IS NOT USED, THE CURRENT AREA IS USED INSTEAD. IF YOU WANT THE DEFAULT AREA, USE W INSTEAD. EPLOT WRITES A PLOT FILE ('DPL') WITH THE SAME NAME CRITERIA AS IN ELIST. ENAME ACCEPTS A FILE SPECIFICATION TO USE AS THE NAME. ALONE WILL CLEAR THE NAME. MAKEWD SETS BODY MODE AND DOES A CLEAR. ASKS FOR A FILENAME, THEN IF THE DATE OF THE 'WD' FILE CORRESPONDING TO THE 'DRW' FILE WHOSE NAME YOU TYPED IS OLDER THAN THAT OF THE 'DRW' FILE, THE 'DRW' FILE IS READ IN AND THE 'WD' FILE WRITTEN OUT. SETWRT WRTSET LIKE W, EXCEPT THAT ONLY THE PINS AND BODIES IN THE CLOSEST SET ARE WRITTEN INTO THE FILE. IWIRES THIS READS A LOGIC DRAWING WIRE LIST (ASKS FOR FILENAME) AND BUILDS AND INTERNAL LIST OF POINTERS TO THE APPROPRIATE PINS ON THE PC CARD (MUST HAVE ALREADY READ IN THE PC CARD DRAWING). THIS COMMAND IS CURRENTLY ONLY USED WITH THE "WROUTE" COMMAND. THE DEFAULT EXTENSION IS "WDR" WHICH IS GENERATED BY THE UML "W" COMMAND. D IERRORS READS A 'LES' FILE IN AND PRINTS THE CATEGORY TITLE THEN A "?". IF YOU TYPE "Y" IT READS IN THE RUNS IN THE CATEGORY. OTHERWISE IT SKIPS THAT CATEGORY AND GOES TO THE NEXT ONE. ONLY ONE CATEGORY IS READ IN AT ANY TIME. -IWIRES D -IERRORS THIS RELEASES THE STORAGE USED BY THE "IWIRES" AND "IERRORS" COMMANDS. PC WROUTE ASKS FOR FILENAME, THEN WRITES THE FILE FOR INPUT TO WAGNER'S ROUTING PROGRAM. IF THERE IS NO INTERNAL POINTER LIST, YOU GET AN ERROR MESSAGE. THE NORMAL FILENAME THAT WAGNER'S PROGRAM USES IS "FOR20". THIS COMMAND DOES NOT PASS ANY WIRES WITH THE SIGNAL NAMES "VCC" OR "GND". ANY EXISTING WIRES OR FEED THROUGHS ARE PASSED TO THE ROUTING PROGRAM, BUT WAGNER WILL NOT NOTICE IF THEY PARTIALLY OR COMPLETELY CONNECT PINS WHICH NEED CONNECTING. D IUML THIS READS A FILE FOR UPDATING DIP LOCATIONS AND CONNECTOR PIN NUMBERS. IT ASKS FOR A FILENAME. THE DEFAULT EXTENSION IS .UML. THE FILE IS THEN READ AND THE UPDATES ARE MADE. THE FILE FORMAT IS AS FOLLOWS: BODIES PINS END EACH TIME THE WORD "BODIES" OR "PINS" IS SEEN, THE PROGRAM MAKES A LIST OF CURRENT BODY OR PIN LOCATIONS. AFTER AN UPDATE, THE UPDATED BODY OR PIN IS REMOVED FROM THE LIST SO THERE IS NO CHANCE OF CONFUSION. AS MANY BODIES OR PINS AS DESIRED MAY BE LISTED UNDER THE WORD "BODIES" OR "PINS". THE BODIES SECTION AND THE PINS SECTION MAKE BE OMITTED OR REVERSED IN ORDER BUT THE WORD "END" MUST BE PRESENT ELSE AN ERROR MESSAGE WILL BE FORTHCOMING. SINCE THE DRAWING PROGRAM WAS DESIGNED TO HANDLE THE CASE WHERE MORE THAN ONE CARD MAY APPEAR IN A SINGLE DRAWING. IF THE PERMANENT CARD LOC IS SET FOR THIS DRAWING, YOU WON'T BE ASKED. OTHERWISE YOU MUST TYPE THE CARD LOCATION OF THE BODIES AND CPINS TO BE UPDATED. IF THE DRAWING ONLY CONTAINS ONE CARD BUT NO PERMANENT CARD LOC IS SET, YOU MAY TYPE TO THE CARD LOC PROMPT. D IPINS THIS READS A FILE FROM WAGNER'S PARTIONING PROGRAM IT ASKS FOR A FILENAME (PROBABLY FOR20.DAT) THEN ASKS IF WANT A FILENAME OTHER THAN THE CURRENT DEFAULT ONE. THE CURRENT DEFAULT FILE NAME IS THE ONE YOU GET WHEN YOU USE AN . IF THE FILENAME WHICH APPEARED IN THE "FILE" COLUMN OF THE WIRE LIST FOR THE PINS YOU WANT IS DIFFERENT THAN THE "CURRENT" ONE, TYPE T. ELSE JUST TYPE CR. CEXCHANGE EXCHANGE BACKUP CONNECTOR PIN NAME WITH CURRENT CONNECTOR PIN NAME. BACKUP PIN NAME IS SET WHENEVER THE CURRENT CONNECTOR PIN NAME IS A "U" PIN AND THE ONE BEING SET IS NOT. LSIGNALS TYPES OUT ALL THE SIGNAL NAMES ASSOCIATED WITH WIRES IN WIRLST. PC FLASH ASKS FOR A SIGNAL NAME, THEN FINDS THAT WIRE AND FLASHES IT. THE FLASHING POINTS MAY NOW BE USED IN THE SAME WAY AS IF YOU GOT THEM FROM THE LOGIC PROG. WILD PINS IN RUN ARE INDICATED ON LABEL LINE AT TOP. -FLASH TURNS OFF ANYTHING THAT IS FLASHING!!! PC NFLASH ASKS FOR A WIRE NUMBER. THE NUMBER IS THE ONE WHICH WAS PASSED TO THE ROUTER IN THE DAT FILE. THEN FINDS THE WIRE AND DOES THE SAME AS FLASH. ERROR RE-ENABLE ERROR DISPLAY. -ERROR THE . (THAT'S ) IN D&PC (LAYOUT VERSION ONLY) AND "FLASH" AND "NFLASH" COMMANDS IN PC, MAY ATTEMPT TO SHOW ERRONEOUS PINS BY DISPLAYING "O_??" WITH THE "O" CENTERED ON THE PIN. THIS IS VERY CONFUSING, SO THE "ERROR" COMMAND CAN ENABLE AND DISABLE THE DISPLAYING OF THIS INDICATOR. MACRO TYPES THE NAMES OF ALL DEFINED MACRO'S! AMACRO ASKS FOR MACRO NAME, IF IT EXISTS, YOU ARE NOW IN ALTER MODE WITH THE MACRO. THE FOLLOWING CONVERSIONS WERE MADE TO PUT THE 9 BIT MACRO INTO THE 7 BIT TEXT EDITOR: MACRO CHAR TEXT EDITOR CHAR ^K
^L ^T NODEC ^[ DEC ^G QUIT LEAVE MACRO ALTER MODE WITHOUT MODIFYING ORIGINAL MACRO WMACRO WRITES ALL CURRENTLY DEFINED AND NAMED MACROES INTO A FILE THE DEFAULT EXTENSION IS 'MCR'. ALSO WRITES OUT ALL VARIABLE DEFINITIONS (H). IMACRO READS A FILE WRITTEN BY "WMACRO" COMMAND AND DEFINES ALL THE MACROES FOUND THEREIN, ALSO VARIABLE DEFINITIONS. RMACRO RENAME A MACRO. ASK FOR OLD NAME, THEN NEW NAME. NEW NAME MUST NOT BE IN USE ALREADY. DMACRO DELETE A MACRO. ASK FOR MACRO NAME. MUST BE AT MACRO LEVEL 0 (I.E. NO MACROS IN PROGRESS). PMACRO TYPE NAME OF MACRO, MACRO IS PRINTED ON CONSOLE INTERPRETING CONTROL BITS INTO THEIR , , AND  REPRESENTATION. SMACRO ASKS FOR A MACRO NAME. ENABLES THE NAMED MACRO TO BE SAVED IN THE DRW OR PC FILE. A SPECIAL FEATURE INVOLVED IN THIS IS AFTER COMPLETION OF INPUT, THE MACRO NAMED "INIT" IS CALLED (IF DEFINED). THIS ALLOWS YOU TO HAVE THE WORLD SET IN A CERTAIN STATE WHEN A PARTICULAR DRAWING IS READ IN. NOTE: THESE MACROES ARE READ IN FROM LIBRARIES ALSO! ALSO, THE MACRO NAMED "INIT" AUTOMATICALLY HAS AN "SMACRO" COMMAND DONE TO IT WHEN IT IS DEFINED (;M OR ;D). -SMACRO THIS DISABLES THE NAMED MACRO FROM BEING SAVED. INIT ENABLE THE CALLING OF MACRO NAMED "INIT" WHEN DRAWING IS READ IN (THIS IS THE DEFAULT). -INIT DISABLE THE CALLING OF THE MACRO NAMED "INIT". DPY ENABLE DISPLAYING. -DPY DISABLE ALL DISPLAYING. PC FLIP INVERTS THE X COORDINATES OF THE DISPLAY SO YOU CAN LOOK AT THE CARD FROM THE "OTHER" SIDE. ALSO AFFECTS PLOTTING, SO YOU CAN READ THE TEXT THAT YOU PUT ON THE SOLDER SIDE OF THE BOARD WHEN IT IS ETCHED. PINS ENABLE DISPLAY AND PLOTTING OF PIN #'S. THIS INCLUDES CONNECTOR PINS. -PINS DISABLE PINS. LOCS ENABLE DISPLAY AND PLOTTING OF BODY LOC'S. -LOCS DISABLE LOCS. D DISLOC SEE EDIT MODE. D -DISLOC SEE EDIT MODE. D IDENT ENABLE DISPLAYING OF BODYNAMES NEAR BODIES! D&PC ALSO DISPLAYS DIPNAME IF ANY! -IDENT DISABLE SAME. D CLOCS CPINS TURN ON CONNECTOR PIN LOCS. D -CLOCS -CPINS TURN OFF CLOCS. D CBOX ENABLE DISPLAYING OF BOXES AROUND CONNECTOR PIN DESIGNATIONS (THIS IS THE DEFAULT MODE). D -CBOX NO BOXES PLEASE. D DEFPINS ENABLE DISPLAYING OF DEFAULT PIN NAMES FROM DEFINITION. D -DEFPINS DISABLE DISPLAYING OF DEFAULT PIN NAMES. D RPINID ENABLE DISPLAYING OF PIN IDS. THESE ARE GENERATED NUMBERS USED TO UNIQUELY IDENTIFY PINS. THEY ARE NOT TO BE CONFUSED WITH DEFAULT PIN NAMES. D -RPINID DISABLE DISPLAYING OF PIN IDS. LINES ENABLE DISPLAYING OF LINES. -LINES DISABLE DISPLAYING OF LINES. PC DIPS ENABLE DISPLAYING OF DIP PADS ABOVE SCALE OF 5. PC -DIPS DISABLE DISPLAYING OF DIP PADS, SHOW BOX APPROXIMATING PADS. PC FINGERS ENABLE DISPLAYING OF CARD FINGERS AND SHORTING BARS PC -FINGERS DISABLE SAME. PC FEEDTHROUGH ENABLE DISPLAYING OF "X" "" "O" ETC AT FEEDTHROUGHS AND PADS PC -FEEDTHROUGH DISABLE SAME, PC COMPONENT FORCE CURRENT SIDE TO BE COMPONENT SIDE PC SOLDER FORCE CURRENT SIDE TO BE SOLDER SIDE TEXT ENABLE TEXT. -TEXT DISABLE TEXT. D PTEXT ENABLE POINT TEXT SEPARATELY FROM BODY TEXT. D -PTEXT DISABLE POINT TEXT SEPARATELY. D BTEXT ENABLE BODY TEXT SEPARATELY. D -BTEXT DISABLE BODY TEXT SEPARATELY. D SETPINS DOES A P TO ALL BODIES IN THE DRAWING. SEE P IN BODY MODE. D -SETPINS CLEARS ALL DIP PIN #'S (SO DEFAULT PIN NAMES GET USED). D TRANSPOSE ASKS FOR BODY NAME, THEN "L" OR "R" AND DOES T FOR ALL BODIES OF THE NAME YOU TYPED. PC SETDIP ASKS FOR DIP TYPE NAME, AND REMEMBER THAT FOR THE CLOSEST BODY FOR WIRE LISTER. D OFFALL DOES AN Q AND AN Z TO EVERY POINT IN THE DRAWING. XTHICK SETS A FLAG SO THAT Z AND Q ASSUME THAT YOU ARE GOING TO PLOT YOUR FILE IN EXTRA THICK MODE WITH P OR PCP (THE E COMMAND). IT CAUSES IT TO THINK THAT POINT TEXT IN SCALE ONE AND CONNECTOR PIN TEXT ARE ONE BIT WIDER THAN ORDINARILY. THIS DOESN'T YET DO THE RIGHT THING FOR BODY TEXT. D OFFRIGHT CAUSES ANY Z COMMANDS TO ALSO SET A BIT WHICH CAUSES THE LINE TO BE MOVED TO THE RIGHT INSTEAD OF MOVING THE POINT LEFT. D -OFFRIGHT TURN OFF OFFRIGHT FEATURE (DEFAULT STATE). FDIP ASKS FOR A DIP TYPE NAME, THEN FINDS ALL BODIES IN DRAWING WHICH USE THAT DIP TYPE AND MARKS THEM FOR THE "F" COMMAND IN BODY MODE. FLNAME ASKS FOR A BODY DEFINITION NAME, THEN FINDS ALL BODY DEFINITIONS IN DRWING WHICH HAVE THAT NAME. USE "XFLNEXT" TO EDIT THEM. FLDIP SAME AS FLNAME, BUT FINDS DEFINTIONS BY DIP TYPE NAME INSTEAD OF BODY NAME. FLNEXT IF NOT IN EDIT OR ALTER MODE, FIND NEXT MARKED BODY DEFINITION AND ENTER THE EDITOR WITH IT. FLPIN SEE EDIT PIN MODE. FLPNEXT SEE EDIT PIN MODE. D TMOVE MOVE TEXT OFFSET USING CURSOR MOVING COMMANDS, BUT THE OFFSET IS CHANGED DIRECTLY. THAT IS THE CURSOR MOVE COMMAND IS NOT SCALED BUT IS 1, 2, 4, 8, 16, 32, OR 64 INCREMENTS (AND INCREMENT IS 1/8 OF A SIZE 1 CHAR WIDTH). TO EXIT THIS MODE, TYPE SPACE OR ALTMODE. ANY OTHER CHAR IS AN ERROR. WORKS FOR POINT TEXT AND EDIT TEXT. D LMOVE SAME AS TMOVE, BUT MOVES CONNECTOR PIN LOCATION OFFSET. D OFFLOCS THIS CAUSES THE LOCATION OFFSETS FOR ALL BODY LOCATIONS CURRENTLY SET IN THIS DRAWING TO BE SET TO THE VALUE FROM THE BODY DEFINITION. AND SETS THE BIT TO CAUSE THIS OFFSET TO REMAIN WITH THAT OF THE DEFINITION. D FIXALL DO F (EDIT PIN MODE COMMAND) TO ALL BODIES.. D OUTSIDE SET MODE TO PUT PIN #'S OUTSIDE DURING AUTO PLACING. (DEFAULT AT DEC) D -OUTSIDE SET MODE TO PUT PIN #'S INSIDE DURING AUTO PLACING. (DEFAULT NOT AT DEC) WINDOW LIMIT OPERATIONS TO THE ON SCREEN PORTION OF THE DRAWING.(THIS IS THE DEFAULT FOR NODEC) -WINDOW ALL OPERATIONS APPLY TO THE ENTIRE DRAWING NOT JUST THOSE THINGS ON SCREEN. (THIS IS DEFAULT FOR DEC) LWINDOW ANY LINE SEGMENT WHICH HAS ONE OR MORE ENDPOINTS OFF SCREEN IS SOFTWARE WINDOWED. THIS CAUSES A NOTICABLE AMOUNT OF COMPUTING SO BE CAREFUL! -LWINDOW DISABLE LWINDOW (AND SAVE TIME). NEWID RE-ALLOCATE ALL BODY AND POINT ID'S, THIS MAY BE NECESSARY IF A LOT OF SET COPYING AND DELETIONS ARE DONE. D DIAMONDS ENABLE PLOTTING OF DIAMONDS AT THE INTERSECTION OF FOUR LINE SEGMENTS (NOT SHOWN ON DISPLAY). ASKS IF YOU WANT DIAMONDS AT THE INTERSECTION OF THREE LINES! D -DIAMONDS DISABLE DIAMONDS CURSOR ENABLE LIGHT PEN TRACKER. -CURSOR DISABLE LIGHT PEN TRACKER. CLOCATE SHORT DASHED LINES, ONE HORIZONTAL AND ONE VERTICAL INDICATE THE CURRENT CURSOR POSITION. -CLOCATE DISABLE CLOCATE. LOCATE LONGER DASHED LINES, ONE HORIZONTAL AND ONE VERTICAL INDICATE THE LOCATION OF THE "CLOSEST" THING. -LOCATE DISABLE LOCATE. CENTER CENTERS FLASHING POINTS(PC PROG) OR LINES(DRAWING PROG) AND SETS APPROPRIATE SCALE FACTOR TO SEE ALL FLASHING PINS. THIS IS DONE WHEN YOU TYPE THE COMMAND IF ANY PINS ARE FLASHING, AND WHEN YOU START FLASHING ANY NEW ONES. -CENTER DISABLE CENTERING. SPACES MAKES SPACES SIGNIFICANT FOR ALL COMPARISONS. THIS APPLIES TO ALL F COMMANDS, F IN ALTER MODE, AND "FLASH" EXTENDED COMMAND. -SPACES SPACES ARE NOT SIGNIFICANT, IN THIS MODE "" IS TREATED AS A SPACE. EXACT MAKES MATCH ROUTINE FOR ALL F, AND F COMMANDS, F IN ALTER MODE, AND "FLASH", FDIP, ETC. EXTENDED COMMAND, TREATING ALL CHARACTERS AS THEY ARE, DOESN'T CONVERT LOWER CASE TO UPPER OR  TO SPACE. -EXACT SEE UPPER AND LOWER CASE AS SAME. THIS IS THE DEFAULT. DDT ENTERS DDT(RAID) IF PRESENT. TO RETURN TYPE "RG". SCALE SET SCALE FACTOR.(GUARANTEED TO PUT GRID POINTS ON SCOPE POINTS.) ORIGINALLY SCALE=16 (8 AT DEC) (2 FOR PC) PC STEP SET THE MINIMUM DISTANCE THE CURSOR WILL MOVE FOR SMALLEST STEP (MUST BE DIVISIBLE BY 5 (MILS)). D SIZE ASKS FOR PLOTING SCALE, THEN TELLS YOU HEIGHT AND WIDTH OF DRAWING AND THE SMALLEST BOX WHICH WILL FIT AROUND IT. AT DEC, THE BOX SIZE IS INDEPENDENT OF THE PLOT SCALE. VALUES GIVEN ARE WITH RESPECT TO CURRENT DRAWING SCALE. PC SIZE TELLS YOU HOW WIDE YOUR PC CARD WILL BE (NOT COUNTING THE CARD OUTLINE) WHEN PLOTTED AT A SCALE OF 1 (REAL SIZE). BRIGHT ASKS: NORMAL BRIGHTNESS? ADDITIONAL BLINKING BRIGHTNESS? (BLINKING BRIGHTNESS REFERS TO THE THE BRIGHNESS OF FLASHING ITEMS.) PC BOTH SIDES BRIGHTNESS? -BRIGHT RESETS ALL OF THE ABOVE TO THEIR DEFAULTS AT STARTUP TIME. CURBRT SETS CURSOR BRIGHTNESS -CURBRT SETS CURSOR BRIGHTNESS BACK TO DEFAULT AT STARTUP TIME. MOVE MOVES CURSOR X,Y(IN MILS) RELATIVE TO ITS CURRENT POSITION. IN DAWING PROG IT MOVES IN HALF GRID STEPS. XOFF SETS ABSOLUTE X OFFSET. YOFF SETS ABSOLUTE Y OFFSET. D TITLE ASKS FOR 2 STRINGS, "TITLE LINE 1" AND "TITLE LINE 2" THESE ARE REMEMBERED AND USED FOR PLOT FILES SO YOU DON'T HAVE TO TYPE IT TO THE PLOT PROG. IF NULL STRING IS GIVEN, THE PLOT PROG WILL ASK FOR THAT ONE. At CMU only the first title line is actually plotted. D -TITLE STORE TITLE LINES IN MACRO SEPERATED BY CRLF. D SITE SIMILAR TO "TITLE", NAMELY IT ASKS FOR 2 STRINGS. "SITE LINE 1" AND "SITE LINE 2". THESE APPEAR IN THE BOX TO THE LEFT OF THE TITLE LINES ON A PLOT. NO LONGER USED AT DEC. D -SITE STORE SITE LINES IN MACRO SEPERATED BY CRLF. D AUTHOR LIKE TITLE BUT SETS STRING TO BE USED IN THE FRONT OF WIRELISTS ONLY. D -AUTHOR STORE AUTHOR LINE IN MACRO. D MODULE SET A STRING WHICH IS THE MODULE NAME. THIS STRING WILL APPEAR ON PLOTS IN BOX LABELED "NUMBER". THIS WILL ALSO APPEAR IN FRONT OF WIRE LISTS AND WILL BE CHECKED FOR CONSISTENCY ON EACH CARD. D -MODULE STORE MODULE LINE IN MACRO. D VARIABLE SET A STRING WHICH IS THE VARIABLE PART OF THE DRAWING NUMBER. IT APPEARS AFTER THE MODULE NAME SEPERATED BY A DASH. D -VARIABLE STORE VARIABLE LINE IN MACRO. D PREFIX SET A STRING WHICH IS THE REFERENCE PART OF THE DRAWING NUMBER. IT APPEARS AFTER THE VARIABLE PART AND IS SEPERATED BY A DASH. AT SOME POINT THIS MAY BE CHECKED AGAINST THE BEGINNING OF ALL SIGNAL NAMES WHICH ORIGINATE ON THIS DRAWING TO SEE THAT THEY ARE PREFIXED CORRECTLY. D -PREFIX STORE PREFIX LINE IN MACRO. D REVISE SET A STRING WHICH IS THE REVISION LEVEL. THIS STRING WILL APPEAR ON PLOTS IN BOX LABELED "REV.". IT WILL ALSO APPEAR IN THE FRONT OF WIRE LISTS. D -REVISE STORE REVISION LINE IN MACRO. D SHEET D PAGE SET 2 STRINGS, "SHEET" AND "OF". THESE ARE PLOTTED IN THE PLOT LABEL BOX AND ON WIRELISTS INDICATING WHAT PRINT OF A GROUP THIS IS. D -SHEET D -PAGE STORE PAGE AND OF STRINGS IN MACRO SEPERATED BY CRLF. D DCODE SET DRAWING CODE FOR PLOT PROGRAM. THIS STRING SHOULD BE NO MORE THAN 2 LETTERS. IT INDICATES THE TYPE OF DRAWING THIS IS. IF NO STRING IS SET, "CS" WILL BE USED BY THE PLOT PROG. "CS" STANDS FOR CIRCUIT SCHEMATIC. BEFORE INVENTING A NEW CODE, CONSULT THE APPROPRIATE DEC STANDARD TO SEE IF ONE ALREADY EXISTS. D -DCODE STORE DRAWING CODE LINE IN MACRO. D NEXTHI SET STRING TO APPEAR IN "NEXT HIGHER ASSEMBLY:" BOX IN PLOT BOX. D -NEXTHI STORE NEXTHI STRING IN MACRO. D DRAWN THIS SETS A SIGNATURE FILE NAME (DEFAULT EXTENSION 'SIG'). THE SIGNATURE WILL BE PLOTTED IN THE BOX LABELED "DRN." THE DATE ON WHICH YOU GIVE THIS COMMAND WILL ALSO BE PLOTTED IN THE CORRESPONDING "DATE" BOX. D -DRAWN STORE DRAWN SIGNATURE FILENAME STRING IN MACRO. D ENGINEER LIKE DRAWN BUT APPEARS IN BOX LABELED "ENG.". D -ENGINEER LIKE -DRAWN. D LTITLE LISTS ALL THE PLOT BOX LABEL INFO. D PBOX ASKS FOR BOX SIZE (TYPE SINGLE LETTER A-D OR PRECEDE WITH "V" TO GET VERTICAL STYLE BOX). SCALES DRAWING AND TEXT TO JUST FIT INTO BOX BUT MAINTAINS RATIO BETWEEN TEXT AND LINES WHICH YOU SEE ON THE SCREEN. WILL NOT BE SCALED LARGER THAN THAT WHICH MAKES TEXT LARGER THAN SIZE 3 ON PLOTTER. TELLS YOU SCALES BEFORE ASKING FOR FILE NAME. D SHOWBOX ASKS FOR "/?" THESE INDICATE THE BOX YOU WILL USE, THE DRAWING SCALE AT WHICH YOU WILL MAKE THE PLOT FILE (THE ONE IT LOOKS GOOD AT), AND THE PLOT SCALE YOU WILL USE LATER (USUALLY CONTROLLED BY THE CHAR SIZE YOU WANT). PLOT SCALE IS NOT REQUIRED (IN FACT NOT ALLOWED) AT DEC. THIS PUTS UP A BOX EXACTLY WHERE THE PLOT PROG WILL PLOT IT (DOESN'T INCLUDE THE ID BOX AT THE BOTTOM, JUST THE USABLE SPACE). THE BOX DOESN'T CHANGE RELATIVE TO THE DRAWING WHEN YOU SHIFT OR SCALE IT. IF DRAWING SCALE IS LEFT OUT CURRENT SCALE IS USED. IF PLOT SCALE IS LEFT OUT, 2 IS USED. YOU MAY USE BOXES A-E, OR VB-VE (OR X AT STANFORD). D PICCEN CALCULATES A SHOWBOX, THEN MOVES ENTIER DRAWING SO THAT THE BOX WOULD BE CENTERED AROUND THE ABSOLUTE ORIGIN. PC PPLOT PLOT AN INNER PLANE. ASKS FOR PLANE NUMBER. DOESN'T PLOT PADS WHICH TOUCH THE PLANE IN QUESTION. LINES ARE PLOTTED. WILL ALSO PLOT TEXT. D MUNG MASSAGE. TRIES TO MAKE ALL LINES IN THE DRAWING EITHER HORZ. OR VERT. PC MUNG FORCES ALL POINTS AND DIPS ONTO GRID POINTS. THIS IS DONE BY TAKING THE X AND Y LOCATIONS OF ALL THE DIPS AND POINTS IN THE DRAWING AND MAKING THEM MULTIPLES OF THE CURRENT STEP SIZE. IF IN SET MODE ONLY THE CURRENT SET IS MUNGED. (I WONDER WHY I CALLED THIS "MUNG"?) COUNT TELLS YOU HOW MANY POINTS THERE ARE IN THE ENTIRE DRAWING. ALSO TELLS YOU HOW MANY OF EACH TYPE OF BODY. PC ALSO TELLS YOU HOW MANY OF THE POINTS ARE DRILL HOLES AND SUMMARIZES AMOUNT OF ETCH. DELNULL ASKS IF YOU WISH TO MARK OR DELETE ALL NULL POINTS, THEN DOES THAT. A NULL POINT IS ONE WITH NO LINES, NO TEXT AND NO PIN CONNECTIONS. IF YOU CHOSE MARKING, USE THE F POINT MODE CMMAND TO FIND THEM AFTERWARDS. DANGLE FINDS ALL POINTS IN THE DRAWING WHICH SATISFY ONE OF THE FOLLOWING: 1) TWO COLINEAR LINES (ONLY TWO) 2) ONE LINE AND NO TEXT OR CPIN 3) TEXT AND NO LINES 4) NO TEXT OR LINES 5) CPIN AND NO LINES DELSET DELETE ALL SETS, DOESN'T DELETE CONTENTS. SETCEN RECALCULATE CENTERS OF ALL SETS. D TYPDEL DELTYP ASKS "TYPE BODY NAME" THEN DELETE ALL INSTANCES AND THE DEFINITION. IF FROM LIBRARY, DEFINITION IS NOT DELETED. D RENAME ASKS "TYPE BODY NAME" THEN ASKS "TYPE NEW BODY NAME" THE BODY IS GIVEN THAT NAME IF IT IS NOT IN USE. D GETLIB ASKS FOR A "LIBRARY FILENAME?" THEN READS THE BODIES FROM THAT FILE AND MAINTAINS A POINTER TO THE FILE INSTEAD OF WRITING OUT THE BODY DEFINITIONS EACH TIME. REDUNDANT LIBRARY REFERENCES ARE IGNORED WHEN POSSIBLE. D DELLIB DELETES ALL REFERENCES TO BODIES IN THE LIBRARY YOU MENTION, AND FLUSHES THE POINTER TO THE FILE. D LOCLIB SAME AS DELLIB, EXCEPT THAT ANY BODY WHICH IS USED IN THE DRAWING IS MADE LOCAL INSTEAD OF BEING DELETED. D TYPLIB TYPES ALL LIBRARY FILENAMES. D LIBMAP ASKS FOR OLD LIBRARY FILENAME, THEN NEW LIBRARY FILENAME. YOU SHOULD TYPE THE PPN EXPLICITLY AS THE DEFAULT FOR 0 IS SET ONLY TO THAT OF THE CURRENT AREA, NOT FROM THE CURRENT PATH. THIS ALL SETS UP A MAPPING OF LIBRARY NAMES. WHEN A LIBRARY NAME IS READ FROM A DRW FILE, THE LIBMAP LIST IS CHECKED FOR AN OLD LIBRARY NAME THAT IS THE SAME. IF ONE IS FOUND, THE NEW LIBRARY NAME IS SUBSTITUTED FOR IT. TO CLEAR A SINGLE MAPPING TYPE FOR THE NEW LIBRARY NAME. D -LIBMAP CLEAR ALL LIBRARY NAME MAPPINGS. LIBPPN ACCEPTS A PPN WHICH IS USED AS THE PLACE TO FIND THE FILE "DIPS.DIP" WHICH HAS THE DIP DEFINITIONS IN IT AND "XXX.CRD" WHICH HAS THE PC CARD DEFINITION (PC PROG). LATER ON IT MAY ALSO BE USED AS A PLACE TO LOOK FOR LIBRARIES. -LIBPPN RESET LIBPPN TO 0 (WILL LOOK ON CURRENT AREA AND CURRENT PATH. D GETBOD ASK FOR A TYPE NAME, THEN A FILENAME THEN TRIES TO READ IT IN USING THE NORMAL IO ROUTINES (MAY HAVE TO REPLACE, ETC.). D MODLIB THIS COMMAND SHOULD BE USED VERY CAREFULLY. IT ALLOWS YOU TO EDIT BODY DEFINITIONS, AND MAKE ANY OTHER CHANGES NORMALLY NOT ALLOWED DUE TO THE EXISTANCE OF A LIBRARY. YOU MUST THEN MAKE EXACTLY THE SAME CHANGES TO THE LIBRARY FILE SO AS TO MAINTAIN CONTINUITY. PC CARD ASKS FOR CARD NUMBER, THEN READS IN THE SPECIFIED CARD. THE CARD CONTAINS THE CARD IMAGE ALL PINS, PIN #'S, CONNECTOR LOC'S, AND SHORTING BARS. ANY POINT WHICH IS NOT A FEED THROUGH OR A DIP PIN AND IS FOUND AT THE SAME LOCATION AS A CONNECTOR PIN WILL BECOME THAT CONNECTOR PIN. IF THE NUMBER YOU ASK FOR IS THE SAME AS THE CURRENT CARD, THEN IT IS MERELY DISPLAYED AGAIN. ARGUMENT OF 0 (OR JUST CR.) WILL CAUSE THE CARD TO BE FLUSHED! THE CARD NUMBER IS REMEMBERED WHEN THE CARD IS WRITTEN OUT! PC -CARD DISABLE DISPLAYING OF CARD. CARD NUMBER IS STILL WRITTEN OUT. TO REDISPLAY THE CARD TYPE "X" THEN "CARD" CR FOLLOWED BY THE SAME CARD NUMBER AND IT WILL BE RE-DISPLAYED. PC SETLOC SET #LL# (MODULE SLOT) FOR LOCATION OF THIS CARD ON BACK PANEL. D ASKS IF THIS IS PERMANENT CARD LOC FOR DRAWING IN WHICH CASE IT IS STORED IN ONE PLACE ELSE IT IS SPREAD THROUGH ALL LOCATIONS OF BODIES AND CONNECTOR PINS IN THIS DRAWING. -SETLOC CLEAR LOCATIONS ON ALL BODIES. THIS DOES NOT UNDO SETLOC. TO UNDO SETLOC, TYPE "XSETLOC" AND . PC UML WILL ASK FOR THE LETTER OF THE UPPERMOST DIP AND THE NUMBER OF THE RIGHTMOST DIP. THEN IT WILL SLICE UP THE CARD INTO ROWS AND COLUMNS AND ASSIGN DIP LOCATIONS. PC VCC ALLOWS CONNECTION OF HIGHEST NUMBERED PIN OF DIP TO PROPER INNER PLANE. ONLY ON DIPS WITH MORE THAN 3 PINS. U WILL ALSO CONNECT VCC RUN TO INNER PLANE IF FOUND IN WIRLST. PC GND SAME AS VCC EXCEPT GROUND PINS AND RUN (U). RPC ROUTE INITIALIZE ROUTING SYSTEM. THIS MAY BE DONE IF YOU THINK THE PROGRAM ISN'T KEEPING THE TABLES UP TO DATE, THE PROGRAM WILL TRY TO REINITIALIZE THE TABLES WHEN NECESSARY. RPC RDISP DISPLAY A POINT IN EACH OCCUPIED SQUARE ON THE PC CARD. THIS IS ONLY A DEBUGGING AID. RPC -RDISP DISABLE DISPLAYING OF POINTS. RPC RCODE ASKS FOR "ROUTE CODE". YOU MAY TYPE A NUMBER FROM 0-3. THEY HAVE THE FOLLOWING MEANINGS: 0 ROUTE ON COMPONENT SIDE ONLY 1 ROUTE ON SOLDER ONLY 2 HORIZONTAL ON COMPONENT, VERTICAL ON SOLDER 3 VERTICAL ON COMPONENT, HORIZONTAL ON SOLDER STARTING THE PROG SETS RCODE TO 3! RPC THE FOLLOWING COMMANDS ALLOW MODIFICATION OF THE ROUTING ALGORITHM BY CHANGING THE WEIGHTING FACTORS OF CERTAIN TYPES OF ROUTES. THE COMMAND IS THE VARIABLE NAME. THIS CAUSES THE OLD VALUE TO BE PRINTED AND THEN ASK FOR THE NEW VALUE. SETS THE VARIABLE TO NUMBER. ANYTHING FUNNY LEAVES THE VARIABLE UNCHANGED THE FOLLOWING VARIABLES EXIST AND HAVE THE FOLLOWING MEANINGS: CNR THE COST OF MAKING A CORNER (NOT INCLUDING FEED THROUGHS). FED THE COST OF MAKING A FEED THROGH. BAK THE COST OF GOING AWAY FROM THE DESTINATION POINT. SID THE COST OF ONE STEP ON THE WRONG SIDE OF THE BOARD (RCODE= 2 OR 3). NOT CHARGED AT CORNER! PC SHORT THIS COMMAND SORTS EACH SIDE OF THE PC CARD INTO INTERNAL LISTS THEN CHECKS FOR SHORTS BETWEEN POINTS, POINT TO LINE, AND LINES CROSSING. ALL ERRORS ARE STORED IN A LIST WHICH MAY NOW BE SEARCHED USING THE "?" COMMAND (SEE "COMMANDS WHICH WORK ANYTIME"). THEN FOLLOWING COMMANDS ALLOW YOU TO DIDLE THE VALUES USED FOR LINE WIDTHS, ETC. PC -SHORT SHUT OFF SHORT ERROR DISPLAY (ERROR IS LOST). PC WIDTH REPORTS OLD LINE WIDTH, ACCEPTS NEW. PC HOLE CHANGE DIAMETER OF A BARE DRILL HOLE. PC CONNECTOR CHANGE PSEUDO-DIAMETER USED FOR CONNECTOR PIN PC PADDIAMETER ASK FOR "PAD TYPE NUMBER" THEN REPORTS OLD VALUE, AND ACCEPTS NEW. PC SEPARATION CHANGE MINIMUM SEPERATION TO PREVENT SHORTING PC FTXT FIND TEXT, SAME AS F IN D IN POINT MODE. PC FCPIN FIND CONNECTOR PIN, SAME AS F IN D IN POINT MODE. FDIP FIND DIP, LIKE F IN BODY MODE, BUT MATCHES DIP TYPE STRING INSTEAD OF BODY NAME. POINT MODE: THE FOLLOWING APPLY IF THE LAST PRIMITIVE SEARCH COMMAND WAS P OR T AND A POINT WAS FOUND. P PLACE A POINT AT THE CURRENT CURSOR POSITION. D + START A RIGHT ANGLE FOLLOWING THE CURSOR FROM THE CLOSEST POINT. A STAR IS PLACED AT THE CLOSEST POINT EXCLUDING THE ONE YOU ARE DRAWING FROM. D $ (ALTMODE) STOP RIGHT ANGLE WITHOUT PLACING ANY MORE POINTS AND RETURN TO MAIN SCANNER. D - ATTACH THE RIGHT ANGLE TO THE CLOSEST POINT (FOUND ABOVE) AND RETURN TO THE MAIN SCANNER. ??? IS TYPED IF THIS WOULD REQUIRE THE DELETION OF AN EXISTING LINE, AND NOTHING IS DONE! D  MAKE A SINGLE SEGMENT FROM THE POINT THE RIGHT ANGLE IS COMING FROM TO THE CLOSEST POINT.(MAY NOT NECESSARILY BE HORZ. OR VERT., SO STRAIGHTEN IT.). D + MAKE THE CORNER OF THE ANGLE INTO A POINT THEN START A NEW RIGHT ANGLE FROM THERE. D SPACE CAUSES THE SENSE OF THE ANGLE TO CHANGE. D A SEE A BELOW. PC + START A LINE FOLLOWING THE CURSOR FROM THE CLOSEST POINT PC $ LEAVE LINE DRAWING MODE WITHOUT PLACING LAST LINE. PC - ATTACH LINE TO POINT WITH STAR ON IT. PC + PUT DOWN END OF LINE AT CURSOR POSITION AND START NEW LINE. PC | SIMULATES THE FOLLOWING, "+ F R +". IF YOU ARE NOT IN LINE DRAWING MODE, IT SIMULATES "FR+" ONLY. PC A SEE A BELOW. PC F MAKE THE CLOSEST POINT INTO A FEED THROUGH. CREATE A POINT ON THE OTHER SIDE IF ONE DOES NOT ALREADY EXIST. PAD TYPE # IS SET TO 0. PC F LEGAL ONLY FOR FEED THROUGHS AND PINS. ATTACHES THE POINT TO THE INTERIOR PLANE SPECIFIED(0-3) AND INDICATES THIS ON THE POINT. 0 SHOULD BE USED FOR GROUND. 1 FOR TTL SUPPLIES. PC F LEGAL FOR ALL POINTS. ASKS "PAD TYPE #?" THE NUMBER YOU TYPE IS THE IDENTIFICATION # FOR THE TYPE OF PAD TO PLOT HERE. 0 IS NO PAD. 1 IS DEFAULT FOR DIP PADS. 2 IS DEFAULT FOR INNER PLANE CLEARANCES, THESE ARE SET ON BOTH SIDES OF DRILL HOLES WHEN THE EXTEND MODE COMMAND "INNER" IS USED. PAD TYPE 3 IS 50 MIL SQUARE USED FOR DIP PIN 1! PC U MAKE THIS FEED THROUGH NOT A FEED THROUGH. PC U DETACH THIS POINT FROM ANY INTERIOR PLANES. D DELETE CLOSEST POINT AND ALL LINES DIRECTLY ATTACHED TO IT. IF THE POINT IS A BODY ATTACHEMENT PONT IT DOESN'T REALLY GO AWAY JUST THE LINES, AND TEXT. D D SAME AS D EXCEPT THAT COLINEAR SEGMENTS ARE MERGED. THIS WILL REVERSE A B OPERATION ON A LINE! PC D SAME AS D EXCEPT IN THE CASE WHERE EXACTLY 2 LINES LEAVE THE POINT. IN THIS CASE THE TWO LINES ARE MERGED INTO ONE BETWEEN THE REMAINING 2 POINTS. M PUTS THE CURSOR ON THE CLOSEST POINT. THEN MAKES IT FOLLOW THE CURSOR UNTIL A SPACE IS TYPED. THE LINES ARE MASSAGED AS YOU GO. M PUTS CURSOR AT CURRENT TEXT OFFSET (IF ANY TEXT) AND ALLOWS YOU TO CHANGE IT BY MOVING THE TEXT. IN D THE OFFSET IS RELATIVE TO THE CHARACTER SIZE, IN PC THE OFFSET IS TO AN ABSOLUTE POSITION ON THE CARD. D TURNS OFF BIT(S) TURNED ON BY Z. M LIKE M, EXCEPT THAT THE CURSOR IS NOT MOVED TO THE POINT SO THE POINT IS MOVED TO THE CURSOR. A ATTACH THE CLOSEST POINT TO THE CLOSEST OTHER POINT. A STAR IS PLACED ON THE OTHER POINT AND YOU ARE ASKED "THIS ONE?" TYPE "Y" TO ATTACH, ANYTHING ELSE TO RETURN TO COMMAND MODE. YOU MAY NOT ATTACH 2 BODY ATTACHEMENT POINTS. A PUTS A STAR ON THE CLOSEST LINE AND ASKS "THIS ONE?" IF YOU SAY "Y" THEN THE CLOSEST POINT WILL BECOME THE INTERSECTION-POINT OF THE LINE. IN POINT MODE WHEN DRAWING A LINE THE CLOSEST OTHER LINE WILL GET A POINT ON IT AT THE PLACE WHERE THE LINE YOU ARE DRAWING INTERSECTS IT. THEN A MINUS IS DONE TO THAT POINT. B IF THE CLOSEST POINT HAS 3 LINES ATTACHED TO IT, ONE OF THE 2 COLINEAR LINES IS BROKEN OFF FROM THE THE POINT AND ATTACHED TO A NEW POINT. THE NEW POINT IS THEN CONNECTED TO THE OLD ONE BY A SEGMENT IN THE OTHER DIRECTION. IF THE POINT HAS 4 LINES ATTACHED TO IT, THE UP ND RIGHT ARE RECONNECTED TO A NEW POINT WHICH IS THEN JOINED TO THE OLD POINT BY A HORIZONTAL SEGMENT. POINT WITH 2 HORZ LINES, OR 2 VERT LINES, IS DONE LIKE 3 LINES. IF NOT 2, 3 OR 4 LINES, THEN ERROR. B THIS IS PRECISELY LIKE B, EXCEPT IN THE CASE OF 4 LINES THE NEW SEGMENT CREATED IS VERTICAL INSTEAD OF HORIZONTAL. T ASKS "TEXT?" AND ATTACHES THE STRING TO THE POINT. IF "" APPEARS IN THE STRING, A CRLF IS INVENTED. IF THE CHARACTER "\" IS THE FIRST IN THE STRING THE FOLLOWING CHARACTER IS INTERPRETED AS THE CHAR. SIZE. NEITHER CHARACTER APPEARS IN THE STRING. IF A "V" APPEARS JUST BEFORE THE CHAR. SIZE THEN THE TEXT WILL BE PLOTTED VERTICALLY. A POINT IS DISPLAYED AT THE BEGINNING OF SUCH TEXT. DEC IF WHAT YOU TYPE IN HAS AN EXPLICIT H OR L AT THE END, THAT IS RETAINED. OTHERWISE ALL LINES CONNECTED TO THIS POINT ARE TRACED LOOKING FOR A BODY PIN HAVING A DEFAULT POLARITY. IF ONE IS FOUND, AN " H" OR " L" IS APPENDED TO THE TEXT STRING. IF THE STRING ENDS WITH " !", IT IS REMOVED AND NO POLARITY IS INVENTED. D Z CALCULATES A GOOD OFFSET FOR THE TEXT IF THE POINT HAS ONLY ONE SEGMENT ATTACHED TO IT. ALSO SETS A BIT WHICH CAUSES THIS OFFSET TO BE UPDATED WHEN THE TEXT CHANGES. ALSO IF CURRENTLY IN OFFRIGHT STATE, A BIT IS TURNED ON TO CAUSE THIS POINT TO MOVE RIGHT INSTEAD OF THE TEXT LEFT WHEN THE LINE LEAVES GOING TO THE RIGHT. D Z TURNS OFF THE BIT TURNED ON BY Z. D Q CALCULATES A GOOD OFFSET FOR THE CONNECTOR PIN DESIGNATION UNDER THE SAME CONDITIONS AS Z. ALSO SETS A BIT TO CAUSE THE CPIN DESIGNATION TO FOLLOW THE TEXT (OR THE POINT IF NO TEXT) WHEN EITHER THE CPIN # OR THE TEXT IS CHANGED. D Q TURNS OFF THE BIT TURNED ON BY Q. D T T FOLLOWED BY Z. K IF THE CLOSEST POINT HAS TEXT ON IT THE TEXT IS DELETED. D POINT IS REMOVED FROM "TXTLST". STANFO Z LOADS THE TEXT INTO THE LINE EDITOR. THEN INPUTS THE RESULTANT STRING AND REPLACES THE TEXT WITH IT. STANFO Q SAME AS "Z" EXCEPT THE LINE EDITORS CURSOR IS AT THE END OF THE LINE. D N IF POINT OR CONNECTOR PIN: SET CONNECTOR PIN NUMBER. PIN NUMBER IS OF THE FOLLOWING FORM: #LL#LL# (BAY/TOPRACK/BOTTOMRACK/SLOT/PADDLE/PIN/SIDE) OR LL# (PADDLE/PIN/SIDE) BOTTOMRACK MAY BE LEFT OUT AND IT WILL BE ASSUMED TO BE THE SAME AS TOPRACK. PADDLE MAY BE LEFT OUT AND IT WILL BE ASSUMED TO BE "A". IF NOT PREVIOUSLY A CONNECTOR PIN, A Q IS PERFORMED. IF BODY ATTACHEMENT POINT: JUST TYPE PIN NUMBER. L IF YOU TYPE AND ONE AND ONLY ONE CONNECTOR PIN WAS FOUND ON THE LAST RUN TRACED IN THE PC PROG, ITS LOCATION IS USED FOR THIS CONNECTOR PIN #. D N FOR CPIN'S ONLY. PUTS YOU AT THE CURRENT OFFSET FOR THE LOC TEXT AND LETS YOU MOVE IT. OFFSET IS RELATIVE TO CHAR SIZE OF LOC TEXT NOT PIC SCALE. ILLEGAL IF Q DONE TO THIS POINT. COMMANDS TO MOVE ALONG WIRES: PC SEGMENT CHOSEN IS THE ONE WHICH MOST NEARLY POINTS IN THE CORRECT DIRECTION. IF NONE IN RIGHT DIRECTION, WILL CHOSE AN ORTHOGONAL ONE IF ONLY ONE EXISTS. D CHOSES SEGMENT IN THE SPECIFIED DIRECTION. IF NONE EXISTS WILL CHOSE ONE IN ORTHOGONAL DIRECTION IF ONLY ONE. NODEC DEC DIRECTION  3 LEFT  4 RIGHT  2 DOWN  1 UP " IF TEXT ON THIS POINT, ASKS FOR TEXT MACRO NAME. THEN STORES A COPY OF THE THE TEXT IN THE MACRO. NULL MACRO IF NOT TEXT. " ASKS FOR MACRO NAME, THEN STUFFS A STRING IN IT REPRESENTING THE PIN NAME ON THIS POINT. IF NOT PIN, NULL STRING RESULTS. FOR CPIN STRING IS: BAY/TOPRACK/BOTTOMRACK/SLOT/PADDLE/PIN/SIDE FOR DIP PIN STRING IS: BAY/TOPRACK/BOTTOMRACK/SLOT/DIPLETTER/DIPNUMBER"("PINNUMBER")" NODEC & DEC % _ UNION POINT MAY NOT BE A BODY ATTACHEMENT POINT. IN PC POINT MAY NOT BE A CONNECTOR PIN. NODEC & DEC % TRACE CONNECTIONS TO THIS POINT THROUGH BODIES AND POINTS AND PUT EVERYTHING FOUND IN A SET, ENTER SET MODE AND MOVE CURSOR TO SET CENTER AND MAKE SURE IT IS ON SCREEN. NODEC & DEC % CLEAR . # REMOVE POINT FROM CURRENT SET. # REMOVE POINT FROM ALL SETS. D F ASKS "SEARCH STRING". IF ENDED WITH ALTMODE NOTHING IS DONE. IF NULL STRING, OLD ONE WILL BE USED IF ANY. SEARCHES FOR ALL POINTS WHOSE TEXT HAVE THE SEARCH STRING AS A SUBSTRING. THE SPECIAL CHARS ALLOWED ARE DESCRIBE IN THE "F" COMMAND IN ALTER MODE DESCRIPTION. IF A MATCH IS FOUND, THE POINT IS MARKED FOR LATER REFERENCE. D F ASKS "SEARCH STRING". CONNECTOR AND DIP PIN NAMES ARE CONVERTED TO STRINGS AS IN " AND MATCHED AGAINST THE STRING YOU TYPE AS IN F. The search has implicit beginning/end-of-line charcters, so you must search for a complete pin name string. D F FIND A MARKED POINT. IF ON SCREEN, MOVE CURSOR THERE. IF NOT MOVE IT TO SCREEN CENTER AND MOVE CURSOR THERE. L . SAVE NAME OF THIS PIN (MUST BE BODY PIN OR CONNECTOR PIN), AND GO TO THE OTHER PROG. IT IS THEN LOOKED UP IN THE OTHER PROG. IF IT IS FOUND, IT AND THE CURSOR ARE BROUGHT TO THE CENTER OF THE SCREEN. IF PC AND A CONNECTOR PIN, YOU ARE PLACED ON THE PROPER SIE OF THE CARD. . (PERIOD) TRACE WIRE ATTACHED TO THIS POINT AND FLASH IT. TRACING INCLUDES WIRES WITH SAME SIGNAL NAMES (D ONLY). IF ANY CONS ARE ON THE WIRE, BUT OFF SCREEN, ONE OF THEM IS FLASHED IN THE UPPER RIGHT CORNER OF THE SCREEN(D ONLY). L ALL PINS FOUND ARE PUT IN A LIST AND LOOKED UP IN THE OTHER PROG THE NEXT TIME YOU GO THERE, THEN THEY AND ANY POINTS THEY CONNECT TO ARE FLASHED. . EQUIVALENT TO "." FOLLOWED BY "V" IF LAYOUT VERSION OTHERWISE SAME AS ".". LRPC . ENTER ROUTING MODE FOR FLASHING PINS. PROGRAM RESPONDS WITH "ROUTING PAIR = ". YOU WILL NOTICE THAT THE FLASHING PINS HAVE LETTERS ON THEM. TYPING TWO OF THE LETTERS FOLLOWED BY CR, CAUSES THE ROUTING ROUTINE TO BE ENTERED WITH THESE TWO PINS AS THE ENDPOINTS. ALL THE NORMAL COMMANDS APPLY TO THE ROUTING ROUTINE (NORMALLY ENTERED BY "E") UP UNTIL THE TIME THAT YOU LEAVE IT. TYPING "ALTMODE" CAUSES YOU TO LEAVE ROUTING MODE. ANYTHING FUNNY GETS YOU THE QUERY AGAIN! LRD . EQUIVALENT TO "V" FOLLOWED BY "."! J FINDS LETTER OF FLASHING PINS AND MOVES CURSOR THERE (IF POSSIBLE). ONLY WORKS WHEN LETTERS ARE BEING SHOWN! (ALSO WORKS FOR JUMPING TO "SHORT" ERRORS IF YOU TYPE A NUMBER INSTEAD OF A LETTER). J_ THIS FINDS THE nTH FLASH CONNECTOR PIN (DEFAULT IS 1) AND JUMPS TO IT. A IF THE CLOSEST POINT HAS TEXT ON IT YOU ENTER ALTER MODE! ALTER MODE IS A TEXT EDITOR DESCRIBED BELOW RPC E SET ENDPOINT ONE FOR ROUTING. A "_" INDICATES ENDPOINT ONE. RPC E SET ENDPOINT TWO FOR ROUTING. A "" INDICATES ENDPOINT TWO. RPC E MAKE A ROUTE FROM ENDPOINT ONE TO TWO. THE ALGORITHM COMPUTES SCORES FOR ROUTES. IT TRIES TO FIND ROUTES WITH SCORES OF 0 FIRST, THEN 1, ETC. WHEN A ROUTE IS FOUND YOU WILL BE ASKED "HOW ABOUT THIS ONE" AND THE ROUTE WILL BE BLINKED. WIRES ON THE CURRENT SIDE WILL BE BRIGHTER THAN THOSE ON THE OTHER. IF YOU RESPOND "Y" THE ROUTE WILL BE MADE AND MARKED. IF YOU SAY " " (SPACE) THE ROUTE WILL BE DISCARDED AND ANOTHER FOUND. IF YOU SAY " " (CTRL SPACE) THE PROGRAM WILL SHIFT TO THE NEXT HIGHEST SCORE AND CONTINUE LOOKING. IF YOU SAY "$" ALTMODE THE PROGRAM WILL JUST QUIT. ANYTHING ELSE WILL GET YOU "???" AND THE QUESTION REPEATED. ALTMODE AND CTRL SPACE WILL WORK EVEN WHEN THE PROGRAM IS RUNNING (KEYBOARD INPUT ONLY)! BODY MODE: THE FOLLOWING COMMANDS APPLY IF THE LAST PRIMITIVE SEARCH COMMAND WAS B AND A BODY WAS FOUND. P PLACE A BODY AT THE CURRENT CURSOR POSITION. YOU ARE THEN PLACED IN MOVE MODE ON THAT BODY. PC PIN 1 GETS PAD TYPE 3 ALL THE OTHERS GET PAD TYPE 1. D E EDIT THE CLOSEST BODY. D R REPLACE THE CLOSEST BODY. YOU WILL BE ASKED FOR NEW BODY PC G NAME THEN THE YOU MAY SET THE REPLACEMENT MODE. IF YOU ANSWER "E", OR "N", THEN THE CORRESPONDENCE IS MADE BETWEEN PINS WITH IDENTICAL DEFAULT PIN NAMES (INCLUDING /B-L PART). ONLY PINS WHICH MATCH UNIQUELY ARE DONE, IF ALL PINS CANNOT BE UNIQUELY MATCHED IN "E" MODE, THEN YOU GET AN ERROR MESSAGE AND NOTHING IS DONE. IF YOU ANSWER "L" TO THE REQUEST, THEN A GEOMETRIC (CLOSEST PIN) MAPPING IS USED. IF YOU ANSWER "C" TO THE REQUEST A GEOMETRIC MAPPING WHICH WORKS FOR DIFFERENT #S OF PINS WILL BE USED. IF YOU ANSWER THEN YOU WILL BE ASKED FOR THE CORRESPONDENCE PIN BY PIN. ANY UNSPECIFIED PINS ON THE OLD BODY ARE DELETED, ANY UNSPECIFIED PINS ON THE NEW BODY ARE CREATED. IN "L" MODE, IF EACH PIN CANNOT BE MATCHED TO ANOTHER YOU WILL BE THROWN OUT. DURING THE ASKING OF THE CORRESPONDENCE QUESTION, BOTH THE OLD AND NEW BODIES WILL BE DISPLAYED WITH PIN IDS SHOWN FOR REFERENCE. THE OLD BODY WILL BE ON THE LEFT. D R REPLACE SOME. ASKS FOR OLD BODY NAME, THEN NEW BODY NAME, PC G THEN SETS UP CORRESPONDENCE AS IN R, THEN PUTS A "*" ON EACH INSTANCE OF THE OLD BODY AND ASKS "THIS ONE?" IF YOU SAY "Y", IT IS REPLACED, OTHERWISE IT IS NOT. IF YOU SAY ALTMODE YOU GET BACK TO BODY MODE. D R REPLACE ALL. LIKE REPLACE SOME EXCEPT YOU AREN'T ASKED. PC G " D DELETE THE CLOSEST BODY. D DELETE THE CLOSEST BODY, PINS ARE TURNED INTO POINTS INSTEAD OF BEING DELETED. M MOVE THE CLOSEST BODY. THE CURSOR IS PUT AT THE CENTER OF THE BODY. THEN ALL PINS ON THE BODY ARE MASSAGED AS THE BODY IS MOVED. ANY CHARACTER STOPS YOU MOVING. N "NUMBER" THE CLOSEST BODY. NUMBERS MAY BE OF THE FOLLOWING FORM: D #LL#L# (BAY/TOPRACK/BOTTOMRACK/SLOT/DIP COORDS LETTER/NUMBER) OR L# (DIP COORDS LETTER/NUMBER) IF THE LOCATION OFFSET IS FOLLOWED BY "-n" THEN n IS USED TO DO AN N TO THIS BODY. ALSO AN "L", "R", OR "*" MAY FOLLOW, WHICH WILL BE USED TO DO A T TO THE BODY. THE OFFSET OF THE LOCATION STUFF IS SET TO THAT IN THE BODY DEFINITION, ALSO A BIT IS TURNED ON WHICH CAUSES ANY CHANGES TO THAT OFFSET IN THE DEFINITION TO BE UPDATED IN EACH BODY WITH THE BIT ON. THE BIT IS TURNED OFF BY THE N COMMAND. D N LEGAL ONLY IF N DONE PREVIOUSLY. PUTS YOU AT CURRENT OFFSET FOR LOC TEXT AND LETS YO MOVE IT. THIS OFFSET IS SCALED BY DRAWING SCALE, NOT CHAR SIZE. THIS COMMAND TURNS OFF THE BIT WHICH CAUSES THIS LOC TO FOLLOW THE OFFSET SET IN THE BODY DEFINITION. D N IF THERE IS A DIP TYPE SET, READS THE DIP DEFINITION FROM THE FILE DIPS.DIP ON THE LIBRARY AREA. THEN ASKS WHICH SECTION YOU WANT THE PINS FROM, AND USES THE DEFAULT PIN NAMES AS A MASK TO MAP THE PIN #'S AND SET THEM. O ROTATE CLOSEST BODY 90 DEGREES COUNTER CLOCKWISE. MIRROR IMAGE THE BODY AFTER ROTATING 360 DEGREES. S SWAP. ASKS FOR TWO PIN ID'S (PIN #'S IN PC). IF THEY EXIST ON THIS BODY ALL LINES, TEXT, AND ANYTHING ELSE ARE SWAPPED BETWEEN THESE TWO POINTS. WHILE ASKING FOR PIN IDS, THEY ARE DISPLAYED ON THE BODY. D S SWAP PIN #'S. ANY PIN #'S ASSOCIATED WITH THE ID'S YOU TYPE WILL BE INTERCHANGED. D T ASK FOR AN "L", "R", OR "*". "L" MEANS PIN 1 OF DIP GOES TO PIN 2 OF SOCKET. "R" MEANS PIN 1 OF DIP GOES TO PIN 1 OF SOCKET. "*" MEANS TURN OFF PREVIOUS "R" OR "L". THIS MERELY SETS BITS IN THE BODY WHICH ARE PASSED TO THE WIRE LISTER WITH THE PIN#. IF A PIN # NEEDS 1 ADDED TO IT TO GET THE SOCKET PIN # THEN A "+" WILL APPEAR AFTER IT, IF IT NEEDS 2 ADDED TO IT A "+2" WILL APPEAR AFTER IT. D P SET PIN #'S FROM DEFAULT PIN NAMES. NODEC & DEC % _ UNION NODEC & DEC % TRACE CONNECTIONS TO THIS BODY THROUGH POINTS AND BODIES AND PUT EVERYTHING FOUND IN A SET, ENTER SET MODE AND MOVE CURSOR TO SET CENTER AND MAKE SURE IT IS ON SCREEN. NODEC & DEC % CLEAR . NODEC  DEC 5 TRACE ALL PINS ON THIS BODY TO THE NEXT POINT. IF IT IS NOT A PIN ON ANOTHER BODY, PUT IT IN A SET WITH THIS BODY. THEN ENTER SET MODE AND PLACE CURSOR AT SET CENTER. # REMOVE BODY FROM CURRENT SET. # REMOVE BODY FROM ALL SETS. F ASKS "SEARCH STRING". IF ALTMODE TYPED NOTHING IS DONE. IF NULL STRING, PREVIOUS SEARCH IS REPEATED. FOR EACH BODY, THE NAME (D) OR A STRING OF DIGITS REPRESENTING THE # OF PINS (PC) IS MATCHED AGAINST THE SEARCH STRING. IF A MATCH OCCURS, THE BODY IS MARKED FOR LATER. F ASKS "SEARCH STRING". IF ALTMODE TYPED NOTHING IS DONE. IF NULL STRING, PREVIOUS SEARCH IS REPEATED. CONVERTS THE LOCATION OF EACH BODY INTO A STRING AND MATCHES IT AGAINST THE SEARCH STRING. MATCHES ARE MARKED. Match has implicit beginning/end-of-line search characters, so you must search for a complete location string. F FIND NEXT BODY. SEARCHES DOWN THE BODY LIST FOR A MARKED BODY. IF ONE IS FOUND, THE CURSOR IS PLACED ON IT AND IT IS BROUGHT ON SCREEN (IF OFF). D " PUT BODY NAME INTO MACRO. PC " MAKE MACRO OF # OF PINS (STRING OF DIGITS). IF 2 PIN DIP, A AND THE SEPARATION IN MILS IS ALSO ADDED. " MAKE MACRO WITH LOCATION TEXT IN IT. NULL MACRO IF NO LOC. " MAKE MACRO OUT OF DIP NAME. NULL MACRO IF NO DIP TYPE. D T PLACE BODY TEXT (SEE BODY TEXT/PROPERTY MODE). D Y PLACE BODY PROPERTY (NEW OR OLD). (SEE BODY TEXT/PROPERTY MODE) D Y CHANGE BODY PROPERTY (OLD). (SEE BODY TEXT/PROPERTY MODE) D Y ENTER BODY TEXT/PROPERTY MODE. THE CLOSEST BODY BECOMES THE "CURRENT" BODY, THAT IS THE ONE WHOSE TEXT/PROPERTIES YOU ARE MANIPULATING. BODY TEXT/PROPERTY MODE: CLOSEST BODY TEXT IS INDICATED BY A "BT". INVISIBLE BODY TEXT WILL NOT BE FOUND UNLESS MADE VISIBLE ("XIDENTS"). D T LIKE T IN EDIT TEXT/PROPERTY MODE, BUT TEXT IS ASSOCIATED WITH THE CURRENT BODY NOT THE DEFINITION. D Y LIKE Y IN EDIT TEXT/PROPERTY MODE, BUT IF PROPERTY ALREADY EXISTED IN BODY DEF, THAT VERSION OF THE PROPERTY IS NO LONGER DISPLAYED. ALSO THE NEW PROPERTY TEXT IS NOT AFFECTED BY CHANGES TO THE BODY DEFINITION. D Y LIKE Y IN EDIT TEXT/PROPERTY MODE, BUT WITH SAME DIFFERENCES AS Y IN BODY TEXT/PROPERTY MODE. D K STOP DISPLAYING. IF TEXT, DELETE. IF PROPERTY, MAKE IT INVISIBLE. D D DELETE TEXT OR PROPERTY. D D MAKE PROPERTY INTO ORDINARY TEXT. D M MOVE TEXT. TEXT FOLLOWS CURSOR UNTIL YOU TYPE SPACE OR ALTMODE. D M MOVE TEXT OFFSET. D M MOVE TEXT, BUT START BY MOVING TEXT TO CURSOR. D A ENTER ALTER MODE WITH CLOSEST TEXT. D STANFO Z LINE EDIT TEXT. LINE EDITOR CURSOR IS AT BEGINNING OF LINE. D STANFO Q LINE EDIT TEXT. LINE EDITOR CURSOR IS AT END OF LINE. D Z RECALCULATE TEXT OFFSET TO CENTER IT OVER MOVE POINT. TEXT IS NOW AUTOMATICALLY OFFSET WHEN CHANGED. D $ ALTMODE D STOP MOVING. D " STORE TEXT INTO MACRO. D " STORE PROPERTY NAME INTO MACRO. D F FIND NEXT TEXT/PROPERTY WHICH WAS MARKED BY F OR F. D F FIND AND MARK ALL PROPERTIES WHICH HAVE THE STRING YOU TYPE AS A SUBSTRING OF THEIR PROPERTY NAMES. D F FIND AND MARK ALL TEXT/PROPERTIES WHICH HAVE THE STRING YOU TYPE AS A SUBSTRING OF THEIR TEXT. D E ENTER BODY EDITOR WITH CURRENT BODY. BODY TEXT/PROPERTY MODE EXTENDED COMMANDS: D TMOVE MOVE TEXT OFFSET WITH CURSOR COMMANDS. SET MODE: THE FOLLOWING COMMANDS APPLY IF THE LAST PRIMITIVE SEARCH COMMAND WAS S AND A SET WAS FOUND + DRAW A BOX AROUND THE POINTS AND BODIES YOU WOULD LIKE IN THE SET, USING + LIKE WITH DRAWING LIES. SAY - TO CLOSE THE BOX AND THE SET IS DEFINED. ALL MEMBERS OF THE SET WILL HAVE B'S OR P'S ON THEM. PSEUDO-CENTER IS INDICATED BY AN S. P MAKES A COPY OF THE CLOSEST SET AT THE CURRENT CURSOR LOCATION, THEN PUTS YOU IN MOVE-THE-SET MODE (SEE BELOW). M POSITIONS THE CURSOR ON THE CENTER OF THE SET. THE SET NOW FOLLOWS THE CURSOR. THE SET MEMBERS ARE AGAIN INDICATED. M LIKE M, EXCEPT THAT THE SET IS MOVED TO THE CURSOR BEFORE MOVING IS STARTED. D DELETE THE CLOSEST SET. D DELETE ALL ELEMENTS OF THE CLOSEST SET FROM THE PICTURE. D DELETE ANYTHING NOT IN CLOSEST SET. THE NAME IS FORGOTTEN. PC O ROTATE SET 90 DEGREES COUNTER CLOCKWISE. K DELETE ALL TEXT ON POINTS IN SET! NODEC & DEC % _ UNION THIS MAKES A NEW SET IF THERE IS NO CURRENT SET. NODEC & DEC % _ DOESN'T MAKE NEW SET NODEC & DEC % CLEAR . # REMOVE ALL MEMBERS OF CLOSEST SET FROM CURRENT SET. ILLEGAL IF CURRENT SET IS CLOSEST. # REMOVE ALL MEMBERS OF CLOSEST SET FROM ALL SETS. THEN DELETE CLOSEST SET. J MOVE CURSOR TO CURRENT SET AND MAKE IT CLOSEST. LINE MODE: THE FOLLOWING COMMANDS APPLY IF THE LAST PRIMITIVE SEARCH COMMAND WAS L AND A LINE WAS FOUND. D DELETE THE LINE. DOES NOT AFFECT ITS ENDPOINTS. PC D DELETE A WIRE. DELETES THE CLOSEST LINE, THEN FOLLOWS LINES LEAVING THE ENPOINTS OF THE ORIGINAL LINE, DELETING AS IT GOES. IT ALSO FOLLOW FEEDTHROUGHS THROUGH THE BOARD, BUT NOT DIP PINS. THIS PROGRESSES UNTIL A JUNCTION IS REACHED. B PUTS A BEND ON THE LINE EVEN WITH THE CURSOR (MAKES IT INTO 3 SEGMENTS). YOU ARE THEN MOVING THE MID-POINT. D B PUTS A POINT ON THE LINE EVEN WITH THE CURSOR. PC J "JUMPS" SEGMENT TO OTHER SIDE OF PC CARD, CREATING OR DELETING FEED THROUGHS AS NECESSARY. PC J "JUMPS" A "WIRE" TO THE OTHER SIDE OF THE PC CARD, CREATING OR DELETING FEED THROUGHS AS NECESSARY. A "WIRE" IS THE CLOSEST SEGMENT TRACED THROUGH ADJOINING SEGMENTS UNTIL ONE OF THE FOLLOWING IS REACHED; A FEED THROUGH, A PIN, OR A JUNCTION! ALTER MODE: 0-9 NUMBERS ARE REMEBERED AND USED AS REPEAT FACTORS FOR SOME COMMANDS. THESE COMMANDS ARE PRECEEDED BY . - PRECEDES USED IN SOME COMANDS TO DO BACKWARDS DELETE, MOVE,ETC. USE IN COMMAND INDICATED BY <->. \ Text alter mode and edit alter mode only. This sets the character size of the this piece of text. The format is the same as for text typin: = V "V" IS OPTIONAL (FOR VERTICAL TEXT) S MOVE TO CHAR (END IF NOT FOUND) IF FOUND POINTER IS AFTER CHARACTER. <->D DELETE n CHARACTERS (NO-OP AT END) IF <->, N CHARACTER BEFORE POINTER ARE DELETED. C CHANGES THE NEXT N CHARACTERS IN THE TEXT TO THE NEXT N CAHRACTERS TYPED. ALT MODE ($) OR TYPED IN CAUSES THE CORRESPONDING TEXT CHARACTER TO BE UNCHANGED. <-> MOVE FORWARD n SPACES (NO-OP AT END OF LINE) IF <->, MOVE BACKWARDS. <-> MOVE BACKWARD n SPACES (NO-OP AT BEGINNING OF LINE) IF <->, MOVE FORWARDS. I ASKS "INSERT TEXT_" AND INSERTS THE STRING YOU TYPE. TEXT IS INSERTED BEFORE THE CURRENT CHAR WHICH REMAINS THE CURRENT CHAR. <->R EQUIVALENT TO "<->DI". $ LEAVE ALTER MODE. K DELETE UP TO AND INCLUDING THE NTH OCCURENCE OF . NO DELETE IF NOT FOUND BUT LEAVES YOU AT END OF LINE. N SEARCH TO nTH NUMBER (A NUMBER IS ANY CONTIGUOUS SEGMENT OF DIGITS). END OF LINE IF NOT FOUND. # SEARCH TO nTH NUMBER. IF FOUND ASK FOR TEXT MACRO NAME, AND STORE STRING OF DIGITS IN IT. THIS MACRO MAY NOW BE CALLED WHERE EVER YOU NEED A NUMBER! U SEARCH TO nTH NUMBER AND DELETE IT. F SEARCHES FOR THE Nth OCCURENCE OF AS A SUBSTRING OF THE CURRENT TEXT. IF FOUND AND t=ALTMODE THEN DELETE THIS OCCURENCE OTHERWISE DONE. IF tALTMODE THEN t MUST = CRLF. PC????? IF STRING IS NULL, NO SEARCH IS DONE D IF STRING IS NULL, THEN "SEARCH STRING" IS USED UNLESS IT IS ALSO NULL IN WHICH CASE NO SEARCH IS DONE. HERE IS HOW THE MATCHING IS DONE: IF THE FLAG FOR "SPACES" IS OFF (DEFAULT EXCEPT AT DEC) THEN ANY SPACES IN EITHER THE STRING OR THE SEARCH STRING ARE IGNORED, OTHERWISE THEY ARE NORMAL CHARS.  IS CONVERTED TO A SPACE. IF THE FLAG "EXACT" IS OFF (DEFAULT) THEN LOWER CASE CHARS ARE CONVERTED TO UPPER CASE. THE FOLLOWING SPECIAL CHARS ARE CURRENTLY RECOGNIZED: NODEC DEC | | BEGINNING OR END OF LINE. ^T ? ANY CHARACTER.  ^E INVERT MATCH CONDITION ON NEXT THING.  ^N ANY NUMBER OF NEXT THING WILL MATCH, INCLUDING 0. SMALLEST NUMBER OF CHARACTERS NECESSARY WILL BE USED.  ^^ QUOTE NEXT CHARACTER. $ $ (DOLLAR SIGN) MATCH ANY LETTER. % % MATCH ANY DIGIT (0-9).   MATCH ANY ALPHANUMERIC. EDIT MODE: THE EDITR STARTS UP IN "EDIT MODE". LEGAL COMMANDS ANY TIME ARE: P ENTER PIN MODE. T ENTER TEXT/PROPERTY MODE. I ENTER INSERT MODE. THE CURRENT POINT IS SET TO THE FIRST POINT OF THE BODY AND THE CURSOR IS PUT THERE. $(ALTMODE) RETURN TO EDIT MODE! P SET A PIN. POSITION THE CURSOR FIRST. YOU WILL BE ASKED "PIN NAME?". TYPE A DECIMAL NUMBER. THE PIN WILL APPEAR AT THE CURSOR POSITION. YOU MAY ALSO FOLLOW THE THE PIN NAME WITH: ><-> <> PAIRS INDICATE OPTIONAL ARGUMENTS. THE MEANS H, L, OR NOTHING. THE /B SETS THIS PIN AS A BUSSED THROUGH OCCURENCE OF THE THE PINS WITH THIS DEFAULT NAME. / WITH NO B AFTER IT CLEARS THIS. A BUSSED THROUGH PIN IS THE SAME PHYSICAL PIN, BUT THE PIN # WON'T PLOT. - SETS THE DEFAULT POLARITY TO HI, LOW, OR NONE RESPECTIVELY. T PLACE TEXT (SEE EDIT TEXT/PROPERTY MODE). Y PLACE NEW OR CHANGE OLD PROPERTY (SEE EDIT TEXT/PROPERTY MODE). Y CHANGE OLD PROPERTY, CLOSEST MATCH ON NAME. (SEE EDIT TEXT/PROPERTY MODE). E EXIT THE EDITOR. (RETURN TO DRAWING LEVEL AND MODE LAST USED THERE.) EXTENDED COMMANDS IN EDITOR: DISLOC ALWAYS DISPLAY LOCATION TEXT ON EACH INSTANCE OF THIS BODY IN DRAWING. -DISLOC DON'T DISPLAY LOCATION TEXT ON AN INSTANCE OF THIS BODY IF THE OFFSET IS FOLLOWING THE DEFINITION. EDIT MODE COMMANDS: DURING EDIT MODE, A STAR INDICATES THE CLOSEST POINT IN THE BODY LINES FOR USE WITH R, M, I, D COMMANDS. " ASKS FOR A MACRO NAME, THEN DEFINES THAT MACRO TO BE THE NAME OF THE BODY YOU ARE EDITING. " SAME AS " BUT MAKES MACRO OUT OF DIP TYPE NAME INSTEAD OF BODY NAME. M I ENTER INSERT MODE. THE CURRENT POINT IS SET TO THE POINT WHICH PREVIOUSLY HAD A STAR ON IT. G "GET" A BODY DEF BY NAME AND ADD IT TO THE END OF THIS BODY. YOU WILL BE ABLE TO MOVE IT(NORMAL CURSOR MOVING) AND ROTATE IT (USING O) UNTIL YOU TYPE SPACE. ALTMODE WILL FLUSH THE BODY WITHOUT PLACING IT. D DELETE "CLOSEST" POINT. R CHANGE FLAVOR OF CLOSEST POINT. WAITS FOR + OR -. N MOVES THE CURSOR TO THE CURRENT INITIAL LOCATION OFFSET AND THEN LETS YOU MOVE IT UNTIL YOU TYPE SPACE OR ALTMODE. INSERT MODE COMMANDS: THE CURRENT POINT ON THE BODY LINES FOLLOWS THE CURSOR UNTIL YOU LEAVE INSERT MODE. + THIS TERMINATES THE CURRENT VECTOR FOLLOWING THE CURSOR. AND STARTS A VISIBLE ONE FOLLOWING IT. - SAME AS + BUT AN INVISIBLE VECTOR IS STARTED. (FEAR NOT YOU CANNOT WASTE SPACE BY PUTTING TWO INVISIBLE VECTORS TOGETHER.) R WAITS FOR A "+" OR A "-" THEN CHANGES THE VECTOR "LEAVING" THE CURRENT POINT TO THE CORRESPONDING TYPE. D DELETE THE CURRENT POINT. THIS WILL LEAVE A VECTOR JOINING THE TWO NEIGHBORING POINTS THE TYPE WILL BE THAT OF THE ONE ALREADY ON THE LAST POINT. HOWEVER THE CURSOR IS ON THE NEXT POINT. SPACE MOVE THE CURSOR TO THE "NEXT" POINT. BACKSPACE MOVE THE CURSOR TO THE "PREVIOUS" POINT. TEXT/PROPERTY MODE COMMANDS: A STAR INDICATES THE CLOSEST TEXT/PROPERTY. AN INVISIBLE PROPERTY CANNOT BE CLOSE TO THE CURSOR UNLESS "XIDENTS" HAS BEEN DONE (MAKING IT VISIBLE). T PLACE BODY TEXT AT THE CURRENT CURSOR POSITION. THE SIZE KLUDGE IN DRAWING MODE APPLIES HERE. WHEN TEXT IS PLACED, THE OFFSET IS CALCULATED TO CENTER THE TEXT OVER THE CURSOR POSITION. THIS OFFSET IS MAINTAINED WHENEVER THE TEXT IS CHANGED, UNLESS YOU EXPLICITLY MOVE IT YOURSELF. Y ASKS FOR PROPERTY NAME, THEN ASKS FOR TEXT TO ASSOCIATE WITH PROPERTY. IF PROPERTY DOES NOT EXIST, TEXT IS PLACED AS IN T, BUT MAY BE REFERRED TO BY ITS PROPERTY NAME. IF PROPERTY EXISTS, ITS TEXT IS REPLACED BY THE TEXT YOU TYPED. IF EITHER THE PROPERTY NAME OR THE TEXT IS ENDED WITH ALTMODE ($) NOTHING IS DONE. Y ASKS FOR PROPERTY NAME, YOU DO NOT HAVE TO TYPE THE FULL NAME OF THE PROPERTY, ONLY ENOUGH TO UNIQUELY IDENTIFY IT. IF THE PROPERTY IS FOUND, THE FULL PROPERTY NAME IS TYPED OUT. THEN YOU ARE ASKED FOR THE NEW TEXT TO ASSOCIATE WITH IT. AGAIN ALTMODE ($) GETS YOU OUT. K STOP DISPLAYING TEXT/PROPERTY. IF TEXT, THIS DELETES IT. IF IT IS A PROPERTY, IT IS NO LONGER DISPLAYED, BUT THE BODY DEF STILL HAS THAT PROPERTY. PROPERTIES WHICH ARE NOT BEING DISPLAYED WILL BECOME VISIBLE UNDER "XIDENTS". D DELETE TEXT OR PROPERTY COMPLETELY. D IF PROPERTY, CHANGE TO ORDINARY TEXT. IF INVISIBLE, THEN CHARACTER SIZE IS SET TO THE STANDARD. M MOVE THE TEXT/PROPERTY. THE TEXT FOLLOWS THE CURSOR UNTIL YOU TYPE A SPACE. M CHANGE TEXT OFFSET FROM TEXT LOC. AFTER THIS COMMAND, OFFSET IS NOT AUTOMATICALLY RECALCULATED WHEN TEXT IS CHANGED. M GRAB TEXT TO CURSOR. LIKE M, BUT TEXT MOVES TO CURSOR INITIALLY. STANFO Z LINE EDIT TEXT. LINE EDITOR CURSOR STARTS AT BEGGINNING OF LINE. STANFO Q LINE EDIT TEXT. LINE EDITOR CURSOR STARTS AT END OF LINE. Z RECALCULATE OFFSET FOR TEXT TO CENTER IT OVER MOVE POINT. TEXT CHANGES WILL AGAIN UPDATE OFFSET. " STORE TEXT INTO MACRO. " STORE PROPERTY NAM INTO MACRO. F FIND NEXT MARKED TEXT STRING. F ASKS FOR STRING, THEN FINDS AND MARKS ALL PROPERTIES WHICH HAVE THE STRING AS A SUBSTRING OF THEIR PROPERTY NAME. F ASKS FOR STRING, THEN FINDS AND MARKS ALL TEXT WHICH HAS THAT STRING AS A SUBSTRING. EXTENDED COMMANDS FOR EDIT TEXT/PROPERTY MODE: TMOVE MOVE TEXT/PROPERTY OFFSET USING CURSOR MOVE COMMANDS. THIS STOPS AUTOMATIC RECALCULATION OF TEXT OFFSET. PIN MODE COMMANDS: A STAR INDICATES THE CLOSEST PIN. D DELETE CLOSEST PIN M MOVE THE CLOSEST PIN. CURSOR IS PLACED ON PIN AND PIN FOLLOWS IT UNTIL SPACE IS TYPED. N ASKS "NEW PIN NAME?", THEN CHANGES THE NUMBER OF THE CLOSEST PIN TO WHAT EVER YOU TYPE. SAME RESTRICTIONS ON NUMBER AS WHEN PLACING NEW PIN. N ASKS "LOCATION # (0-7)?" IF YOU TYPE "?" YOU WILL GET A LIST OF THE OPTIONS. THIS NUMBER CONTROLS WHERE THE PIN NUMBERS ARE SHOWN. PIN DISPLACEMENTS ARE ACCORDING TO THIS CHART. 0=UP RIGHT 4=DOWN LEFT 1=UP 5=DOWN 2=UP LEFT 6=DOWN RIGHT 3=LEFT 7=RIGHT N USED TO BE "NIPPLE BIT". NOW IT IS MORE GENERAL. YOU MAY NOW TYPE X,Y (OR JUST X) OFFSET FOR PIN NUMBER. THE UNIT IS 1 CURSOR STEP. THE VALUES MAY BE SIGNED. F AUTOMATICALLY CALCULATES LOCATION #. IF IN OUTSIDE MODE THEN WILL TRY TO PUT IT OUTSIDE, ELSE INSIDE. INSIDE IS STARTUP DEFAULT. F DO F TO ALL PINS OF BODY. DEC P ASKS "POLARITY?" TYPE H OR L TO SET THE DEFAULT ON THE NEAREST PIN. TYPE TO CLEAR THE DEFAULT. TYPE $ TO ESCAPE WITH NO CHANGE. EXTENDED COMMANDS FOR EDIT PIN MODE: FLPIN ASKS FOR STRING, AND MARKS ALL PINS WHOSE PIN NAME CONTAIN THE STRING AS A SUBSTRING. FLPNEXT FIND NEXT MARKED PIN. MACRO'S: : EQUIVALENT TO ;R0 ;<-> MACRO COMMAND. <-> IS ARGUMENT, IS COMMAND. <-> IS OPTIONAL. IF NOT AT COMMAND LEVEL (STAR PROMPT), YOU MUST USE AT LEAST 1 BEFORE THE ";". MACRO COMMANDS: S STOP ALL MACROS IMMEDIATELY. THIS IS WHAT TO DO WHEN YOU ARE INSIDE A MACRO AND YOU DECIDE YOU HAVE SCREWED UP. H SUBSTITUTE THE VALUE OF A VARIABLE AT THIS POINT. ASKS FOR THE VARIABLE NAME. TERMINATE THE NAME WITH A CARRIAGE RETURN. I INPUT FROM THE TTY. THE NEXT CARRIAGE RETURN TYPED SIMULATES TYPING ";R0". Y ASKS FOR A CHARACTER, READS INPUT FROM DSKIN FILE UNTIL THIS CHARACTER IS SEEN. THEN TURNS OFF DSKIN AND PROCEEDS TO TAKE INPUT FOLLOWING THE ;Y. P START TEMPORARY MACRO. M START PERMANENT MACRO. EVERYTHING FROM HERE TO THE NEXT WILL BE TAKEN TO BE THE MACRO NAME. ARGUMENT OF 1 BEFORE M WILL CAUSE "SMACRO" TO HAPPEN TO THIS MACRO. D LIKE M, EXCEPT DOESN'T EXECUTE MACRO DURING DEFINITION. IF REPEAT COUNT IS GREATER THAN 1, THE REST OF THE ITERATIONS WILL BE IGNORED ALSO. ARGUMENT OF 1 WILL CAUSE "SMACRO". R END MACRO. EVERYTHING FROM HERE TO THE NEXT WILL BE TAKEN TO BE THE REPEAT FACTOR(INCLUDING DEFINITION OF MACRO). FOR PERMANENT MACRO'S THE REPEAT FACTOR BECOMES PART OF THE DEFINITION. AS A SPECIAL HACK IF THE CHARACTER "#" IS USED INSTEAD OF A NUMBER, THE NUMBER OF MATCHES FOUND BY THE LAST "F" OR "XFDIP", ETC. COMMAND WILL BE USED. C CALL MACRO BY NAME. EVERYTHING FROM HERE TO NEXT WILL BE TAKEN AS THE MACRO NAME. A FOLLOWED BY: N,M,I SUBSTITUTE AT THIS POINT THE NUMBER N AND INCREMENT BY M EVERY TIME THROUGH THE MACRO I LEVELS UP FROM THE CURRENT ONE. N AND M MAY BE NEGATIVE. I, OR M AND I MAY BE LEFT OUT, IF SO DEFAULT I WILL BE 0 DEFAULT M WILL BE 1. IF A <-> ARG PRECEDED THE "A", IT WILL BE USED AS THE MINIMUM WIDTH OF THE RESULTANT DIGIT STRING. <-> IS CURRENTLY IGNORED. N SAME AS ";A" EXCEPT ALWAYS SIGNS THE NUMBER, EXCEPT FOR ZERO WHICH EXPANDS INTO A NULL STRING! L FOLLOWED BY: ADDS 100 (OCTAL) TO NUMBER AND RETURNS IT AS A LETTER. IF "D" PRECEEDS THE NUMBER, G,I,O, AND Q ARE SKIPPED. THE "D" STANDS FOR "DEC" T WILL REQUEST TTY INPUT AT THIS POINT. MUST BE TERMINATED BY ";R0". U LIKE ;T IF INPUT NOT COMING FROM MACRO, OTHERWISE IT IS A NOOP. THIS IS USEFUL WHEN YOU GET INTO A MACRO AND DISCOVER YOU WANTED TO INITIALZE A VARIABLE OR SOMETHING. IT ALLOWS YOU TO DO SOMETHING WHILE YOU ARE TYPING IN THE MACRO WHICH WILL NOT BE DONE ON SUBSEQUENT ITERATIONS. V, THIS CAUSES TTY INPUT TO BE EXECUTED AND STORED IN THE MACRO WHOSE NAME YOU TYPE, IF THE NEXT TIME THIS COMMAND IS PROCESSED, ANY OF THE MACROS BETWEEN THE CURRENT LEVEL AND THE LEVEL n UP FROM HERE (INCLUSIVE) ARE NOT IN THE FIRST TIME THROUGH THE LOOP, A ";C" IS DONE WITH THE MACRO NAME INSTEAD OF TAKING IN THE DEFINITION. ANOTHER WAY OF LOOKING AT THIS IS THE CONSIDER THE MACRO A VARIABLE ASSIGNED THE FIRST TIME YOU ENTER MACRO LEVEL n UP FROM HERE. F ::= | - ::= IF IS TRUE, ALL CHARACTERS ARE EATEN UNTIL A MACRO LEVEL LEVELS UP FROM THE CURRENT ONE IS LEFT. TE FOLLOWING FLAGNAMES EXIST: FALSE ALWAYS FALSE (USE -FALSE FOR TRUE) CLOSES TRUE IF CLOSE TO SOMETHING FIND TRUE IF LAST "F" FOUND SOMETHING AFIND TRUE IF LAST F, S, K, N, U, OR # COMMAND IN ALTER MODE WAS SUCCESSFUL. ENDMUL TRUE IF LAST H INCREMENTED A MULTI STRING VARIABLE OFF THE END (VALUE OF STRING IS NOW NULL). DSKEND TRUE IF NO DSKIN FILE OPEN. TO FACILLITATE THE USE OF THIS FLAG, END OF FILE WILL LOOK LIKE A MATCH FOR THE CARACTER IN ;Y. THIS IS SO CONTROL WILL REVERT TO A MACRO ON END OF FILE. LSTEXP TRUE IF LAST ;X RETURNED A NON-ZERO RESULT AEOL TRUE IF AT END OF LINE IN ALTER MODE ABOL TRUE IF AT BEGINNING OF LINE EDGE TRUE IF LAST CURSOR MOVE HIT SCREEN EDGE (NOT TRUE IF IN -WINDOW MODE) E EVERYTHING UP TO THE NEXT : IS STORED IN THE NAMED MACRO AFTER EVALUATION BY MACRO PROCESSOR. X THIS ALLOWS ARITHMETIC EXPRESSIONS TO BE EVALUATED. THE OPERATORS "+", "-", "/", "*" ARE RECOGNIZED, SUB-EXPRESSIONS MAY BE FORMED USING MATCHING PAIRS OF "< >" OR "( )". STANDARD PRECEDENCE IS USED IN EVALUATION. = RETURNS A STRING OF DIGITS REPRESENTING THE DECIMAL CODE OF THE CHARACTER MINUS 64. # IF CHAR IS NOT A LETTER, DOES ;=. ELSE CONVERTS LETTER TO NUMBER USING SEQUENTIAL NUMBERS FOR THE DEC ALPHABET. G CONVERTS ALL LETTERS IN TO LOWER CASE. ^ RETURNS CHARACTER WHOSE ASCII CODE IS 100 LESS THAN THAT OF THE CHARACTER TYPED. LOWER CASE IS CONVERTED TO UPPER CASE BEFORE PROCESSING. THIS COMMAND ALLOWS TYPIN OF CONTROL CHARACTERS BY USING THEIR LETTER. FOR INSTANCE C CAN BE GOTTEN BY ;^C. O IF NOT TAKING INPUT FROM TTY, PRINTS STRING ON TTY MACRO'S MAY BE NESTED TO A LEVEL OF 102 DECIMAL THE ONLY REQUIREMENT BEING THAT EACH MACRO CONTAIN AN EQUAL NUMBER OF ;P'S AND ;R'S. HOW TO DO IT -- PC CARDS Start here when you have completely finished wiring your pc card. You are now in the PC program. You must now generate 4 plot files. The 2 outer planes (component and solder) and the 2 inner planes (power and ground). You should try to use the following form for plot filenames. End the name with "C" for component, "S" for solder, "P" for power, and "G" for ground. To generate the component and solder plane plots get on the appropriate side and say W. Then type the filename. Now for inner planes. If you want anything but clearances in your inner planes, STOP and see RPH. Otherwise you now type INNER to the extended scanner. This deletes all lines and points except dip pins and feed throughs, and sets the pad type for these to 2 (clearances). Currently the plane connections aren't indicated by the absence of pads. To make the inner plane plots, use the extended mode PPLOT command, which asks for the plane number, then the filename. The plane number is the same as the one you gave to attach to the plane in the first place. MORE PC CARDS -- PCP Now you have 4 plot files (if not see RPH). Now run PCP. The following indicates program prompts in upper case, then a description of your response in loser case. It is suggested that you run PCP on a teletype when doing a TRW run, and save the output for transfering to a planning sheet. When program starts up, it asks: OUTPUT MODE(S)? If you respond "?", the following list will be typed: CHAR EFFECT ? TYPE THIS LIST 1-9 SET SCALE FACTOR Q QUICK (ABBREVIATE PROMPTS). N FLUSH ANY TEXT FROM INPUT FILE Z DELETE FILE AFTER PLOT C PLOTTER OUTPUT F FR80 OUTPUT X XGP OUTPUT G RUN X PROG AUTOMATICALLY W SPOOL X OUTPUT, "R XS" WHEN ALL DONE E EXTRA THICK LINES (WORKS BEST ON XGP) S ENABLE RESTART CAPABILITY R ROTATE PLOTTER OUTPUT T GERBER OUTPUT M MAP RETICLES A ADD SYMBOL DEFINITIONS Y MAKE DRILL TAPE FIRST TIME THROUGH You may type any of the characters in the first column all on one line, the program will warn you of any conflicting modes. Here is a brief description of each of the modes: ? Obvious C This causes a plot to be made on the calcomp plotter. F This causes a file to be written on the current area with the extension 'F80'. This file when copied onto a magtape (see description, end of page), will produce FR80 microfilm of the pc card. X Instead of driving the calcomp plotter, plotter commands go into a file with the extension 'PLX'. This file when processed by the 'X' program will produce XGP output of your pc card. G This specifies that when the first plot is done, the program should link directly to the 'X' program, which will then produce the XGP output. W This causes output to the XGP to be generated and 'X' to be run, but 'X' writes its output on the disk again. Later when you have run all your cards through 'PCP', you run 'XS' which finds, prints on the XGP, and deletes all the temporary files. This saves time and paper on the XGP. S This command, intended for use exclsively with calcomp plotter output, plots a cross 2" above the intial pen position, and during the processing of the plot, accasionally saves a core image (it will ask how often to do this). If for some reason you must start over, merely position the bullseye on the pen carraige over the cross and run file called "PLTSAV.DMP", which will continue the plot from the place where it left off. R This will cause the plot to be rotated 90 degrees CCW. T This will write a file with the extension 'MAG'. When copied to a magtape (see next page) the tape can be sent to TRW in L.A. and plotted on film on their gerber plotter system. This also generates a 'LOG' file which should be XGP'd and stuck in the plot log book. M When this mode is selected, the program will ask for pad types which want to be the same wheel pos as another pad type, or the same as some position not accessible by pad types directly. A This causes PCP to accept extra symbol definitions other than the standard ones. Y A drill tape file is made from the first file processed. If you select both "T" and "Y" modes, the trw output will be a drill plot. That is, no lines, text, or pads are drawn and donut pads are plotted at the location of each drill hole. If you selected the "T" output mode: and "M" mode, If you have a pad type in your pc card, and you want to use one of the standard reticles (i.e. nortronics target), this allows you to map the pad type into a different wheel position than usual. If you answer "Y", you are asked the following: RETICLE MAPPING LIVES FOR EVER IN THIS CORE IMAGE! PAD TYPE NUMBER? Here you respond with the pad type number which you set in the pc prog. If you respond , you get out. WHEEL POS? Now you tell which wheel position you wish selected for this pad type. Then you loop back to the pad type prompt. and "A" mode, If you are using any characters not in the TRW standard character set (see RPH for character set), say Y. If you say Y, the following will be asked: SYMBOL DEFINITIONS LIVE FOR EVER (IN THIS CORE IMAGE). BE SURE TO MAKE A SKETCH OF THE SYMBOL INDICATING THE "D" CODE. D60? Type the single character for this code (no ). Any previously assigned codes will be printed followed their character, then you will be asked to assign the first unassigned code. Type the character you used when you placed the text in the PC prog. D61? This will continue until you answer . If you selected the "F" output mode: AT FR80 SCALE OF 3.7 FRAME IS ABOUT 22X17. FR80 SCALE*10 ? This is exactly what it seems, if your card is somewhat smaller than this, you may use a larger scale. Use AID to calculate the appropriate scale. will get you 37 (scale of 3.7). FR80 FRAME IS 22X17. The frame size will be printed if you give a scale other than 37. SCALE FACTOR? Scale of 1 is real size (you get this if you type alone). Don't use anything else if you are making a TRW plot or an FR80 plot. This may be used to make detail plots. POSITIVE X,Y OFFSET (IN INCHES, DECIMAL POINT OK!)? This must be used to generate TRW plot tapes, and MCC drill tapes. Both systems have 0,0 at the lower left. The standard film we are using at TRW is 24 x 20 inches. Thus the offset should be 12,10. The MCC drill frame size we will use is 20 x 20 inches, so use 10,10 for drill tape. If is typed, and you are making a TRW plot, 12,10 will be used. Otherwise 0,0 is used. If you are making a drill tape for an Excellon drilling machine, the plot must be oriented so that 0,0 on the drill tape corresponds to a point centered on the fingers and 1" below their shorting bar, with the shorting bar oriented along the x axis and the card extending upward along the positive y axis. The foregoing applies to the Excellon machine at MBC Electronics of Santa Clara, CA, at least. In order to obtain this orientation, one must consult the pc card definition in CARD.FAI[DAT,DRW] and, after producing a .DRL file from PCP, using scale 1, and with NO offset or rotation, the proper rotation and then offset may be entered into TD for generating a paper tape. For further details, see info on TD below. FR80 output is centered automatically, independent of any rotation or offset values entered in response to the aforementioned prompts. The preceeding information is asked only once every time the program is started. The rest is asked in a loop starting here. When done type ^C (call). FILENAME? Type the plot filename, default extension is "PCP". CHAR "M" HEIGHT SCALE CODE (IN MILS) 0 M50 120 1 M51 2 M52 3 M53 4 M54 This controls the character size, the typeout actually stops at the end of each line, suppresses text of this scale. If this is a TRW tape, the height must be divisible by 15. Otherwise it mustbe divisible by 5. This number is the height and spacing of the characters of that scale. Scale 0 (M50) is used for the messages, which are plotted across the bottom of the film. If you respond with altmode, the rest of the char. size prompts are suppressed. PUT PEN AT 0,0. LINES, TEXT, AND PADS MAX X= 0.000 MIN X= 0.000 MAX Y= 0.000 MIN Y= 0.000 This information is calculated from the plot file, and does not include the card outline. If any of the numbers are abnormally large, STOP and get RPH immediately. If this is a TRW plot tape the following is asked: OPERATOR MESSAGES, 40 CHARS PER LINE (MAX). END WITH . STANFORD A.I. PROJECT. This puts messages on the tape which are typed to the operator at TRW at this point in the plot. These messages are also plotted across the bottom of the film for identification purposes. The first line always identifies us, subsequent lines should identify the plane number (0 to 4, top to bottom) and what it is. End with a blank line. If you specified "Y" mode: TYPE X,Y OF HOLES TO ADD TO DRILL TAPE DECIMAL POINT OK, OFFSET WILL BE ADDED. Then loop asking the question: X,Y OF HOLE? Until you type just return. The hole are placed on the front of the drill tape in the order in which you typed them. If this is not a drill plot (pads for drill holes only), the following question is asked (unless this is a TRW run): SKIP PLOTTING OF ALL PADS? This is only useful on calcomp for overlaying plots with the same pads. Now the program will spew out various things about how far along it is. If the card number was available when the plot files were written, it was passed in the file. If not, the following question will be asked: CARD NUMBER? Here you type the number of the card you want to use. If you type 0 or just , no card will be done. Here progress on the card is indicated. Now the program will type: ACTUAL MAX X = 0.000 MIN X = 0.000 MAX Y = 0.000 MIN Y = 0.000 These numbers include the card outline as well as lines, text, etc. They must be copied to the TRW planning sheet if this is a TRW plot. Then it says: PLOT DONE! And here we loop back to the plot filename prompt! Unless the "G" output mode was selected, in which case we go to the 'X' prog which runs automatically. MORE PC CARDS -- AFTER PCP At completion of plots, the following command should be typed to generate an FR80 tape: COPY MTA0:FOO_STANFO.F80[PLT,DRW], ,STANFO.F80[PLT,DRW] To punch paper tape from an XXX.DRL file, run TD[F,RPH] and type the filename XXX. This is a separate program because the tape must be punched in binary. TD has the capability to massage .DRL files to make tapes that should fit just about any conceivable NC drilling machine axis orientation. The two types of machines it knows about are the MCC machine (used at CINCH, CIRCO, and VOSTRON companies), which drills only one board at a time, but which can select from several drill sizes under tape control, and the EXCELLON machine (used at CBDC and MBC) which has three drill heads for doing three copies of the board at one time, and does not have a facility for changing drill sizes under tape control. The MCC machine (the one at CINCH, at least) wants a 20 inch square drill frame with the board centered inside the frame. The EXCELLON machine needs to have the coordinate of the center of the board's shorting bar be (0,1), and the rest of the board must extend along the positive Y axis. TD prompts first for rotation, and then in the new coordinate system, accepts an offset. PC boards are defined in the source for a .CRD file as having their center be (0,0), so the XXXXXX.FAI source file for the XXXXXX.CRD file used for the plot must be consulted and the distance from the center to the edge connector shorting fingers must be found, rounded up to the nearest inch, increased by one inch, and entered as the "x,0" to TD's offset prompt. TD will finally ask whether the origin of the plot is to be marked. This feature writes the string "S: +X +Y^" to unambiguously verify the coordinate system present on the drill tape. To make a TRW magtape from your 'MAG' files, type: COPY MTA0:/EVEN_XXC.MAG,XXS.MAG,XXP.MAG,XXG.MAG,XXD.MAG Where the file names are the appropriate files you have just generated. The order is not important, but should agree with the file numbers on the planning sheets and any messages on the tape itself. You should also XGP all the 'LOG' files and put the file #'s on them. 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. _ Set default wire list id. This is the wire list which is used for all commands requiring single wire lists. The 2 wire list id's are "D" and "PC". _ Toggle wire list id's. (switch from D to PC or back). 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) 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 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 (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 efault extension is 'WLC'. The card specified is found in D wire list and PC wire list. 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. 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 ? Prints all commands and a brief description of each. B RESIDENT Reads in the dip definition 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", 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" 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 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 dfference 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 (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. DEC 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 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. note: the following commands were gleaned from dick's favorite documentation, the wl code listing. i will fill in detailed descriptions when i have time-tag, 2/75. COMMANDS FOR TOP MODE ONLY FILES PRINT FILE LIST FOR CARD BFILES PRINT FILE LIST FOR BACKPANEL BSIMPLE WRITE 'SP' FILE INCLUDING ALL PWR AND NC PINS MPART MAKE MASTER PARTS LIST (FROM BAC FILES) OUTSUM WRITE OUTPUT PIN TERMINATION SUMMARY TERMLIST WRITE TERMINATOR TEST POINT LIST WIREGND ENABLE WIRING OF GROUND PINS ON DIPS LNGRID SWITCH DEC CARD TO A LETTER NUMBER GRID RAYTHEON RAYTHEON WIRE WRAP LIST "TO-TO" FORMAT RAYFT RAYTHEON WIRE WRAP LIST "FROM-TO" FORMAT COMMANDS FOR BOTH MODES BOARD SET BOARD TYPE WIDTH SET CHARACTERS PER LINE (FOR LISTINGS) DIP SUB-MODE E Exit to TOP MODE (commands on previous page). @ SAME AS "XDSKIN". I 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[]". Default extension is always 'DIP'. W Write internal list into file. Filename same as for I. N Change (or just print if no filename arg) the default dip filename. L Asks: FILENAME? Default extension is 'LSD'. This makes a listing of all dip definitions. D Delete definition of . If is blank you get DDT. P Print definition of on TTY. R Rename dip with name . Asks for new name. S Set package type for dip . C Copy definition of . Asks: NEW DIP NAME? If it already exists, you are asked: ALREADY EXISTS, REPLACE? Then you are asked: LOADING CONVERSION FACTOR? The format is or /. This is the scale which is applied to all loadings of the old dip definition to get the new one. M Modify definition of . If no definition exists for this dip name, it TYPES: DIP DOESN'T EXIST, CREATE? Type "y". It then asks: PACKAGE TYPE (# OF PINS)= Type a Package name (see APACK). You may abbreviate, but WL won't check for ambiguous matches. 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: Types the information for pin . Types the information for pin then tabs to the "TYPE" column. You can now change any or all of the data items for this pin. Type to fill in the rest of the line with the old stuff. Type to get to the next column. Bad format is filtered out and only good data is echoed. To leave a column unchanged, just to the next column without typing anything. Asks for a new DIPNAME. You can either edit another dip or get back to DIP SUB-MODE by typing . A Types pin automatically when you type for pin . You get out of automatic mode by typing or reaching last pin. T L U P S Automatically copies all columns to the left of the TYPE, LOAD, USE, PS, and SECTION columns respectively when you type the command above. In all the above ALTMODE is equivalent to . Legal TYPES are: I input OP pull up output IS input with load sharing PWR,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 and thus doesn't require drive. The wirelister will complain if an "I" or "IS" pin isn't connected to an output. You may follow an output (O, OC, OT, OP) with "F" if you wish to mark it as 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. This information lives at TYPTAB in WLDIP.FAI and in the table following TYPTAB, in case desperation with the dip editor forces you to seek the ultimate documentation. The USE column is for comments such as "S1" or "S4" on an ALU dip, except that if the USE string begins with "CLK" the wire lister will take note of this fact, but it isn't clear what it will do about it (TAG, 1/21/75). PS is an arbitrary number which you assign to identify pins that share load. Give the same number to all pins that share with each other. SECTION is for defining the sections of the dip and for specifying equivalent pins in other sections. The section information is: /
{,}. The equivalent pins in different sections are identified by having equal logical pin numbers. The subsection number is used with the section number to describe a dip with more than one level of structure, i.e., a 10100 ECL dip with four identical sections, and where one pin of each section is tied to a common enable line. In this case, the four gates sharing the common enable line are considered to be in section 0, with a seperate subsection number for each gate. Section and subsection numbers must be sequentially assigned and must be distinct, i.e., a number used as a section designator must not also be used to number a section. If you're confused, look at the definitions of gates like DM8838, 10100, etc.; if still confused ask Tom Gafford, and if he confuses you, call RPH around 3 a.m. some time and harass him because it's all his fault. WL FILE FORMATS In this part: () means optional <> syntactic entity ()* 0 or more of single letter 1 or more digits Carriage return - linefeed Argument to I or I TOP MODE commands: ( . ) ( [

,] ) ( ( )* ) ITS,< "|"(*) > "DIR" files: ( ( . ) ( [

,] ) ( ( )* ) )* ::= ( ( ) ( ) ) ( "(" ( ) ( ) ( , )* ")" )* "(" 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 for any unspecified dip locations. In addition the filespec for the indirect file may include a 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 sets the lower bound of values to , the sets the upper bound. The sets variable to . The format of a signal name which uses an expression is as follows: ::= ( ( )* ( [ ] ) )* ( )* ::= | | ::= ( , )* ::= ( "{" "}" )* ( ) ::= | ::= | ::= "(" ")" | - | + | A-Z | ::= + | - ::= / | * ::= 0-9 | 0-9 The "()" pair in the primary definition may be replaced by a "<>" pair, but you must close with the same thing with which you opened. If = the expression is evaluated. Then the thing in [] is replaced by the I'th string (where value of =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 = the first 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 expression after the "}" is done and so on until on becomes true or the "]" is reached. If = 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 in the expression. The following is the format of a "STRAP" file, it tells which paddles of which cards are strapped together: {}* ::= | ::= {} ::= ::= 0-15 ::= {} ::= A-Z ::= A-Z ::= 1-63 ::= A-Z SEMANTICS: The construct is used if the back strap connectors of both cards correspond on a one-to-one basis. The is used when different height cards are being described or strapping is going to either side of a single card on different paddles. RUNNING MAGGOT MAGGOT READS MAGTAPE ON WHICHEVER MAG TAPE (0 OR 1) YOU'VE ASSIGNED, AND SIMULATES THE GERBER PLOTTER PROGRAM PACKAGE AT TRW. (ASKS YOU WHICH ONE IF YOU'VE BOTH MTA'S ASSIGNED) HAS OPTIONS FOR OUTPUTTING GRAPHICS TO CALCOMP OR XGP, CONVERTING TO TEXT AND LISTING ON LPT, READING MAG TAPE CONTINUOUSLY UNTIL ALL PLOTS ARE EXHAUSTED, AND FLUSHING PLOTTED TEXT TO KEEP FROM REQUIRING TOO LARGE AN XGP PLOT TO FIT IN CORE AT STANFORD. TYPING "?" AT THE PROMPT "MODES?" GIVES BRIEF EXPLANATION OF COMMAND CHOICES. 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 OR XGP FOR EACH DRILL HOLE, ALSO LISTS X,Y'S OF HOLES ON LINE PRINTER ASKS IF YOU WANT A PLOT ASKS IF IT IS TO BE ON XGP (OTHERWISE CALCOMP) ASKS IF YOU WANT A LINE PRINTER LISTING ASK YOU TO LOAD TAPE BEFORE STARTING RUNS X PROGRAM AUTOMATICLLY AT END OF TAPE IF XGP MODE WAS SELECTED 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.