;KSET FONTS;LPT KST,FONTS;43VXMS KST,FONTS1;CRTURZ KST ;LFTMAR 200 ;SKIP 1  D R A W D D D D D D D D D  D D D D D D D D D D D D D D D D D D  D D D D D D D D D D D D D D D D D D ************************************************************ GENERAL COMMANDS ***** WRITEUP FOR THE STANFORD DRAWING SYSTEM. THE CHARACTERS "", "", "", AND "ˆ" STAND FOR , , , AND RESPECTIVELY. "", "", AND "" ARE ALWAYS INTERPRETED BY THE SCANNER AS THESE THINGS! 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. PROMPTS: THE FOLLOWING 4 PROMPT CHARACTERS INDICATE WHICH KIND OF INPUT YOU ARE DOING: * WAITING FOR SINGLE LETTER COMMAND _ WAITING FOR SINGLE LETTER, NOT COMMAND  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. 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. IT SWITCHES THE INTERPRETATION OF MANY OTHER COMMANDS, ALTERING "MODE" OF THE PROGRAM. THE MODE IS DISPLAYED IN THE UPPER LEFT. P FIND THE CLOSEST POINT. ENTER POINT MODE. A LARGE P IS DISPLAYED NEXT TO THE CLOSEST POINT TO THE CURSOR. T SAME AS P EXCEPT THAT THE ONLY POINTS WHICH WILL BE FOUND ARE THOSE WITH TEXT ON THEM. OTHERWISE, THIS MODE IS IDENTICAL TO POINT MODE. 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. ENTER LINE MODE. B FIND THE CLOSEST BODY. A LARGE B IS PLACED AT THE CENTER OF THE BODY. ENTER BODY MODE. THIS IS THE INITIAL DEFAULT MODE. 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. ************************************************************ GENERAL COMMANDS ***** NOW FOR THE COMMANDS YOU CAN GIVE ANYTIME: THE FOLLOWING MOVE THE DRAWING UP, DOWN, LEFT, AND RIGHT. THE AMOUNT IS DETERMINED BY THE BUCKY BITS AS FOLLOWS: 1/8 WINDOW  1/4 WINDOW  1/2 WINDOW  1 WINDOW CHAR 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 ************************************************************ GENERAL COMMANDS ***** CHAR SHIFTED CHAR MOVEMENT ( [ LEFT ) ] RIGHT /  UP \  DOWN & ZERO "CURRENT" SET POINTER. THE "CURRENT" SET IS THE ONE WHICH GETS THINGS ADDED TO IT BY &. ˆ@ 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?" YOU ENTER THE EDITOR WITH IT (OR EMPTY). IF THE BODY DID NOT EXIST BEFORE IT DOES NOW. I INPUT A DRAWING. ************************************************************ GENERAL COMMANDS ***** 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 ".PLT" WILL BE USED IF NONE IS SPECIFIED. 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. ************************************************************ GENERAL COMMANDS ***** 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. ************************************************************ EXTEND MODE ************************************************************ ˆ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 EXECUTING ANY OF THE COMMANDS. HERE ARE THE POSSIBLE COMMANDS. MINUS SIGN BEFORE A COMMAND MEANS THAT IT DOES SOMETHING DIFFERENT IF YOU GIVE IT WITH A MINUS SIGN BEFORE IT. AMACRO DELSET HELP -MODULE -SETLOC APACK DELTYP -HIDE MOVE -SETPINS -AUTHOR -DIAMONDS ICHANGE MUNG SETWRT -AUTOSAVE -DISLOC ICPINS NEWID -SHOWBOX -AUTOWRITE -DMACRO IDEFS -NOMENCLATURE -SITE AVAILABLE -DPY -IDENTS -NUMBER SIZE -BOARD DSKIN -IERRORS OFFALL SLICE -BOOP DSKINH IFLUSH OFFLOC -SMACRO -BRIGHT DSKOUT IMACRO -OFFRIGHT -SPACES -BTEXT ELIST INDIP -OUTSIDE START -CBOX -ENAME -INIT -PAGE STUB -CENTER EPLOT IPINS PBOX -TERMRULE CEXCHANGE ESAVE -LIBMAP PICCEN -TEXT CHANGE EWRITE -LIBPPN -PINS -TITLE CLEAR -EXACT LIBTYP PMACRO TMOVE -CLOCATE EXIT -LINES -PREFIX -TSLICE -CLOCS FDIP LMOVE -PROJECT TYPDEL CLOSE FIXALL -LOCATE -PTEXT TYPLIB COUNT FIXEM LOCLIB QUIT -UNDERLINE -CPINS -FLASH -LOCS RDEFS -UNHIDE -CURBRT FLDIP -LOWER RENAME -VARIABLE -CURSOR FLNAME LPROPS -REVISION -WINDOW DANGLE FLNEXT LTITLE RMACRO -WMACRO -DCODE FLPIN -LWINDOW -RPINID WRTSET DDT FLPNEXT MACRO RSPINI XOFF -DEFPINS FSIGNAL MAKEWD SAVE YOFF DELLIB GETBOD -MAPLIB SCALE DELNUL GETLIB -MODLIB SETCEN ************************************************************ EXTEND MODE ****** FIRST THE COMMANDS ARE DESCRIBED BRIEFLY, THEN AGAIN IN FULL DETAIL, EACH TIME IN ALPHABETICAL ORDER. AMACRO ALTER MACRO DEFINITION APACK LIST AVAILABLE PACKAGES AUTHOR SET AUTHOR OF DRAWING AUTOSAVE ENABLE OR DISABLE AUTOMATIC SAVING AUTOWRITE ENABLE OR DISABLE AUTOMATIC WRITING AVAILABLE LIST AVAILABLE BOARD TYPES AND NOMENCLATURE TYPES BOARD SET BOARD TYPE BOOP SET BOOP INTERVAL BRIGHT BRIGHTNESS CONTROL BTEXT ENABLE OR DISABLE DISPLAYING OF BODY TEXT CBOX ENABLE OR DISABLE DISPLAYING OF BOXES AROUND CONNECTOR PINS CENTER ENABLE OR DISABLE CENTERING OF FLASHING STUFF CEXCHA EXCHANGE CONNECTOR PIN NAMES CHANGE CHANGE NAME OF A SIGNAL CLEAR CLEAR THE WORLD. CLOCAT ENABLE OR DISABLE CURSOR LOCATION CROSSHAIRS. CLOCS ENABLE OR DISABLE CONNECTOR PIN LOCATIONS CLOSE CLOSES THE FILE OPENED BY X DSKOUT COUNT TELLS HOW MANY POINTS IN DRAWING, HOW MANY BODIES OF EACH TYPE CPINS SAME AS CLOCS CURBRT CURSOR BRIGHTNESS CONTROL CURSOR ENABLE OR DISABLE LIGHT PEN TRACKER DANGLE FIND DANGLING POINTS, ETC. DCODE SET DRAWING CODE FOR PLOT PROGRAM DDT GET TO RAID DEFPIN ENABLE OR DISABLE DISPLAYING OF DEFAULT PIN NAMES FROM BODY DEF. DELLIB DELETE ALL REFERENCES TO SPECD LIBRARY DELNUL DELETE OR MARK ALL NULL POINTS DELSET DELETE ALL SETS (BUT NOT THEIR CONTENTS) DELTYP DELETE ALL BODIES OF THE SPECIFIED TYPE DIAMON ENABLE OR DISABLE DIAMONDS WHERE LINES CROSS AND CONNECT DISLOC (EDIT MODE) ENABLE OR DISABLE DISPLAYING OF LOCATION TEXT DMACRO DELETE MACRO DPY ENABLE OR DISABLE DISPLAYING DSKIN INPUT FROM DISK FILE DSKINH INPUT FROM DISK BUT BREAK TO TTY FIRST DSKOUT COPY TTY INPUT TO DISK FILE ELIST WRITE WIRE LIST FILE (WD) TO DEFAULT FILE NAME BUT CURRENT PPN ENAME SET THE  NAME EPLOT WRITE PLOT FILE (DPL) TO DEFAULT FILE NAME BUT CURRENT PPN ERROR ENABLE OR DISABLE DISPLAYING OF ERRONEOUS PINS ETC. ESAVE DO SAVE WITH THE  NAME EWRITE WRITE OUT THE DRAWING WITH THE  NAME EXACT ENABLE OR DISABLE UPPER AND LOWER CASE TO NOT MATCH EXIT :KILL ************************************************************ EXTEND MODE ****** FDIP FIND ALL BODIES THAT HAVE SPECIFIED DIP TYPE FIXALL DO F (EDIT PIN MODE COMMAND) TO ALL BODIES FIXEM FIX TEXT AND CONNECTOR OFFSETS TO BE "RIGHT" FLASH -FLASH TURNS OFF ANY FLASHING FLDIP FIND BODY DEFINITIONS BY DIP TYPE NAME FLNAME FIND BODY DEFINITIONS BY BODY NAME FLNEXT ENTER EDITOR WITH NEXT BODY DEF FROM FLDIP/FLNAME FLPIN (EDIT PIN MODE) FIND ALL PINS WITH SPECD STRING IN THEIR NAMES FLPNEXT (EDIT PIN MODE) FIND NEXT PIN FROM FLPIN FSIGNAL LIKE F BUT MATCHES SIGNAL NAMES SAME WAY AS WIRELISTER GETBOD GET BODY DEF FROM A FILE GETLIB ADD LIBRARY HELP LIST ALL EXTENDED COMMANDS HIDE DON'T SHOW BUSSED-THROUGH PINS ICHANGE READ FILE OF SIGNAL NAMES TO CHANGE (.CHG) ICPINS READ FILE OF CONNECTOR PIN NAMES TO CHANGE (.CPN) IDEFS LIKE I BUT READS ONLY THE BODY DEFINITIONS IDENTS ENABLE OR DISABLE DISPLAYING OF BODY NAMES AND DIP NAMES IERRORS SEE LONG DESCRIPTION IFLUSH FLUSH DISK INPUT IMACRO READ A MACRO DEFINITION FILE INDIP READ IN THE DIPS FILE INIT ENABLE OR DISABLE CALLING OF THE MACRO INIT IPINS SEE LONG DESCRIPTION IWIRES SEE LONG DESCRIPTION LIBMAP CHANGE NAME OF LIBRARY LIBPPN SET DIRECTORY WHERE LIBRARIES & DIPS.DIP ARE SEARCHED FOR LIBTYP TYPE ALL LIBRARY FILENAMES LINES ENABLE OR DISABLE DISPLAYING OF LINES LMOVE MOVE CONNECTOR PIN LOCATION OFFSET (M STYLE) LOCATE ENABLE OR DISABLE CROSSHAIRS ON CLOSEST THING LOCLIB MAKE LOCAL COPIES OF ALL BODY DEFS FROM SPECIFIED LIBRARY LOCS ENABLE OR DISABLE BODY LOCATIONS LOWER ENABLE OR DISABLE LOWER CASE TEXT (-LOWER FORCES TO UPPER CASE) LPROPS LIST PROPERTIES ON CURRENT BODY LSIGNA TYPE OUT SIGNAL NAMES ON ALL WIRES IN 'WIRLST' LTITLE LIST PLOT BOX LABEL INFO (TITLE, BOARD, NOMENCLATURE) LWINDO ENABLE/DISABLE WINDOWING MACRO TYPE OUT THE NAMES OF ALL MACROS MAKEWD MAKE WD FILE FOR SPECIFIED DRW FILE MAPLIB SAME AS LIBMAP, CHANGE NAME OF A LIBRARY MODLIB ALLOW MODIFICATION OF LIBRARY BODIES MODULE SET MODULE NAME MOVE MOVE CURSOR MUNG MASSAGE ALL LINES IN DRAWING NEWID SEE LONG DESCRIPTION NFLASH FLASH WIRE IN 'WIRLST'? NOMENCLATURE SET NOMENCLATURE TYPE NUMBER SET DRAWING NUMBER (MODULE-SLICE-PREFIX) ************************************************************ EXTEND MODE ****** OFFALL DO Q AND Z TO ALL POINTS OFFLOC SEE LONG DESCRIPTION OFFRIGHT SEE LONG DESCRIPTION OUTSIDE ENABL OR DISABLE PIN NUMBERS OUTSIDE BODIES PAGE SET DRAWING SHEET NUMBER PBOX SEE LONG DESCRIPTION PICCEN SEE LONG DESCRIPTION PINS ENABLE OR DISABLE PIN NUMBERS AND CONNECTOR PIN DESIGNATIONS PMACRO TYPE OUT MACRO DEFINITION PREFIX SET PREFIX PART OF DRAWING NUMBER PROJECT SET PROJECT NAME PTEXT ENABLE OR DISABLE POINT TEXT QUIT LEAVE MACRO ALTER MODE WITH CLOBBERING MACRO RDEFS REPLACE ALL BODY DEFINITIONS FROM A FILE RENAME RENAME A BODY REVISION SET REVISION LEVEL RMACRO RENAME A MACRO RPINID ENABLE OR DISABLE DISPLAYING OF UNIQUE PIN ID #S RSPINI REASSIGN INTERNAL PIN IDS IN EDITOR; A GOOD WAY TO LOSE SAVE SAVE THE CORE IMAGE SCALE SET DISPLAY SCALE FACTOR SETCEN RECALCULATE CENTERS OF ALL SETS SETLOC SET MODULE LOCATION OF THIS CARD SETPIN DO P IN BODY MODE TO ALL BODIES SETWRT WRITE OUT THE CLOSEST SET AS A DRW FILE SHOWBOX SEE LONG DESCRIPTION SITE SEE LONG DESCRIPTION SIZE ASKS FOR PLOT SCALE, TELLS YOU DRAWING AND BOX SIZE SLICE SEE LONG DESCRIPTION SMACRO ENABLE OR DISABLE SAVING OF A MACRO SPACES ENABLE OR DISABLE SIGNIFICANCE OF SPACES IN STRING COMPARES START RESTART THE PROGRAM, FORGETTING EVERYTHING TERMRULE SET TERMINATION RULE ON CPIN (?) TEXT ENABLE OR DISABLE DISPLAYING OF TEXT TITLE SET DRAWING TITLES TMOVE MOVE TEXT A LA M TSLICE SEE LONG DESCRIPTION TYPDEL DELETE A BODY DEFINITION TYPLIB TYPE ALL LIBRARY FILE NAMES UNDERLINE SET OR CLEAR MODE WHERE TEXT IS ABOVE LINE INSTEAD OF OFF END UNHIDE SHOW BUSSED-THROUGH PINS VARIABLE SET THE VARIABLE PART OF THE DRAWING NUMBER WINDOW ENABLE OR DISABLE LIMITING OPERATIONS TO WHAT'S ON SCREEN WMACRO WRITE ALL MACRO DEFINITIONS TO A FILE WRTSET SAME AS SETWRT, WRITE OUT THE CLOSEST SET AS A DRW FILE XOFF SET ABSOLUTE X OFFSET YOFF SET ABSOLUTE Y OFFSET ************************************************************ EXTEND MODE ****** 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 ^[ APACK LIST AVAILABLE PACKAGES D AUTHOR LIKE TITLE BUT SETS STRING TO BE USED IN THE FRONT OF WIRELISTS ONLY. D -AUTHOR STORE AUTHOR LINE IN MACRO. -AUTOSAVE DISABLE AUTOSAVE. AUTOSAVE THIS ASKS "HOW MANY COMMANDS BETWEEN ESAVES?" AND EVERY TIME THAT MANY TOP LEVEL COMMANDS ARE PROCESSED IT DOES AN "ESAVE". -AUTOWRITE DISABLE AUTOWRITE. AUTOWRITE THIS ASKS "HOW MANY COMMANDS BETWEEN EWRITES?" AND EVERY TIME THAT MANY TOP LEVEL COMMANDS ARE PROCESSED IT DOES AN "EWRITE". BOARD SET BOARD TYPE, USE X AVAILABLE TO LIST CHOICES. 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. D BTEXT ENABLE BODY TEXT SEPARATELY. D -BTEXT DISABLE BODY TEXT SEPARATELY. D CBOX ENABLE DISPLAYING OF BOXES AROUND CONNECTOR PIN DESIGNATIONS (THIS IS THE DEFAULT MODE). D -CBOX NO BOXES PLEASE. ************************************************************ EXTEND MODE ****** 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. 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. CHANGE ASKS OLD SIGNAL NAME, NEW SIGNAL NAME, INPUT MAY BE AS FOR F IN BODY MODE. CHANGES THE NAME OF THE SIGNALS THAT MATCH THE SPECIFICATION WHEREVER THEY OCCUR. KNOWS ABOUT LEADING -. CLEAR THIS DELETES "ALL" BODIES, POINTS, SETS, AND DEFINITIONS OF BODIES. BUT SAVES MACROS. 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. CLOCATE SHORT DASHED LINES, ONE HORIZONTAL AND ONE VERTICAL INDICATE THE CURRENT CURSOR POSITION. -CLOCATE DISABLE CLOCATE. D CLOCS CPINS TURN ON CONNECTOR PIN LOCS. D -CLOCS -CPINS TURN OFF CLOCS. CLOSE CLOSES THE FILE ENTERED BY "DSKOUT". ************************************************************ EXTEND MODE ****** COUNT TELLS YOU HOW MANY POINTS THERE ARE IN THE ENTIRE DRAWING. ALSO TELLS YOU HOW MANY OF EACH TYPE OF BODY. CURBRT SETS CURSOR BRIGHTNESS -CURBRT SETS CURSOR BRIGHTNESS BACK TO DEFAULT AT STARTUP TIME. CURSOR ENABLE LIGHT PEN TRACKER. -CURSOR DISABLE LIGHT PEN TRACKER. 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 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. DDT ENTERS DDT(RAID) IF PRESENT. TO RETURN TYPE "RG". D DEFPINS ENABLE DISPLAYING OF DEFAULT PIN NAMES FROM DEFINITION. D -DEFPINS DISABLE DISPLAYING OF DEFAULT PIN NAMES. D DELLIB DELETES ALL REFERENCES TO BODIES IN THE LIBRARY YOU MENTION, AND FLUSHES THE POINTER TO THE FILE. 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 COMMAND TO FIND THEM AFTERWARDS. DELSET DELETE ALL SETS, DOESN'T DELETE CONTENTS. ************************************************************ EXTEND MODE ****** 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 D DISLOC SEE EDIT MODE. D -DISLOC SEE EDIT MODE. DMACRO DELETE A MACRO. ASK FOR MACRO NAME. MUST BE AT MACRO LEVEL 0 (I.E. NO MACROS IN PROGRESS). DPY ENABLE DISPLAYING. -DPY DISABLE ALL DISPLAYING. ;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. 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 DSKIN HOLD. THIS IS EXACTLY LIKE DSKIN, EXCEPT THAT AFTER SETTING UP THE INPUT FILE, IT GENERATES A DSK INPUT BREAK. 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". ************************************************************ EXTEND MODE ****** 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. ENAME ACCEPTS A FILE SPECIFICATION TO USE AS THE  NAME. ALONE WILL CLEAR THE  NAME. ;D ENGINEER LIKE DRAWN BUT APPEARS IN BOX LABELED "ENG.". ; ;D -ENGINEER LIKE -DRAWN. ; EPLOT WRITES A PLOT FILE ('DPL') WITH THE SAME NAME CRITERIA AS IN ELIST. 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. NODEC ESAVE THIS DOES A SAVE WITH THE REMEMBERED NAME () HOWEVER, THE DIRECTORY USED IS THE USER'S CURRENT OR WORKING DIRECTORY. EWRITE THIS WRITES OUT THE DRAWING WITH THE REMEMBERED NAME () THE FILE IS WRITEN BACK ON THE DIRECTORY IT WAS READ FROM, AND NO CHECK IS MADE FOR "FILE ALREADY EXISTS" 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. EXIT KILL THE PROGRAM ************************************************************ EXTEND MODE ****** 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. D FIXALL DO F (EDIT PIN MODE COMMAND) TO ALL BODIES.. D FIXEM FIX TEXT (AND CONNECTOR PIN DESIGNATIONS) ON ALL POINTS TO WHICH Z IN POINT MODE WAS DONE. -FLASH TURNS OFF ANYTHING THAT IS FLASHING!!! FLDIP SAME AS FLNAME, BUT FINDS DEFINITIONS BY DIP TYPE NAME INSTEAD OF BODY NAME. FLNAME ASKS FOR A BODY DEFINITION NAME, THEN FINDS ALL BODY DEFINITIONS IN DRWING WHICH HAVE THAT NAME. USE "XFLNEXT" TO EDIT THEM. 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. FSIGNAL LIKE F IN POINT MODE BUT MATCHES THE SAME WAY AS THE WIRE LISTER DOES 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 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. HELP LISTS ALL EXTENDED COMMAND NAMES IN A SUITABLY COLUMNATED FORMAT. HIDE DON'T SHOW BUSSED THROUGH PINS ************************************************************ EXTEND MODE ****** ICHANGE READS A FILE OF "SIGNAL-1 tab SIGNAL-2 crlf" AND DOES A CHANGE ICPINS READS A FILE OF "CPIN tab SIGNAL crlf" AND PUTS CPIN ON SIGNAL IF THERE ISN'T ALREADY A CPIN SOMEWHERE ON THE WIRE. IDEFS LIKE I BUT READ ONLY THE BODY DEFINITIONS D IDENTS ENABLE DISPLAYING OF BODYNAMES NEAR BODIES! D&PC ALSO DISPLAYS DIPNAME IF ANY! -IDENTS DISABLE SAME. 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. IFLUSH THIS COMMAND WILL FLUSH DISK INPUT BEFORE END OF FILE. IMACRO READS A FILE WRITTEN BY "WMACRO" COMMAND AND DEFINES ALL THE MACROES FOUND THEREIN, ALSO VARIABLE DEFINITIONS. INDIP READ IN DIPDEF AND PACKAGE STUFF FOR ALL TYPES IN DRAWING. THIS SHOULD BE DONE ONCE TO EACH BODY LIBRARY TO SET THE PACKAGE INFORMATION FROM NDIPS.DIP. (WITHOUT PACKAGE INFO THE DRAWING PROGRAM CANNOT DISPLAY PIN NAMES CORRECTLY.) THIS COMMAND ALSO READ IN THE SECTION DEFINITION INFORMATION FOR ALL BODY DEFINITIONS, AND CAN BE USED BEFORE ANY C-M-N COMMANDS TO SAVE REREADING NDIPS.DIP FOR EACH NEW TYPE. 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". 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 IT. ELSE JUST TYPE CR. ************************************************************ EXTEND MODE ****** 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. 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. -IWIRES D -IERRORS THIS RELEASES THE STORAGE USED BY THE "IWIRES" AND "IERRORS" COMMANDS. ************************************************************ EXTEND MODE ****** 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. LIBTYP TYPES ALL LIBRARY FILENAMES. LINES ENABLE DISPLAYING OF LINES. -LINES DISABLE DISPLAYING OF LINES. D LMOVE SAME AS TMOVE, BUT MOVES CONNECTOR PIN LOCATION OFFSET. LOCATE LONGER DASHED LINES, ONE HORIZONTAL AND ONE VERTICAL INDICATE THE LOCATION OF THE "CLOSEST" THING. -LOCATE DISABLE LOCATE. D LOCLIB SAME AS DELLIB, EXCEPT THAT ANY BODY WHICH IS USED IN THE DRAWING IS MADE LOCAL INSTEAD OF BEING DELETED. LOCS ENABLE DISPLAY AND PLOTTING OF BODY LOC'S. -LOCS DISABLE LOCS. LOWER ALLOWS LOWER CASE INPUT. -LOWER FORCE ALL INPUT TO UPPER CASE. LPROPS LIST PROPERTIES OF CURRENT BODY. LSIGNALS TYPES OUT ALL THE SIGNAL NAMES ASSOCIATED WITH WIRES IN WIRLST. D LTITLE LISTS ALL THE PLOT BOX LABEL INFO. (TITLE, BOARD, NOMENCLATURE) 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). ************************************************************ EXTEND MODE ****** MACRO TYPES THE NAMES OF ALL DEFINED MACRO'S! 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. MAPLIB SEE LIBMAP. 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. 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. MOVE MOVES CURSOR X,Y(IN MILS) RELATIVE TO ITS CURRENT POSITION. IN DRAWING PROG IT MOVES IN HALF GRID STEPS. D MUNG MASSAGE. TRIES TO MAKE ALL LINES IN THE DRAWING EITHER HORZ. OR VERT. NEWID RE-ALLOCATE ALL BODY AND POINT ID'S, THIS MAY BE NECESSARY IF A LOT OF SET COPYING AND DELETIONS ARE DONE. D NEXTHI SET STRING TO APPEAR IN "NEXT HIGHER ASSEMBLY:" BOX IN PLOT BOX. D -NEXTHI STORE NEXTHI STRING IN MACRO. NOMENCLATURE SET NOMENCLATURE TYPE. USED FOR NAMING PINS AND LOCATIONS. NUMBER SET DRAWING NUMBER (MODULE-SLICE-PREFIX) ************************************************************ EXTEND MODE ****** D OFFALL DOES AN Q AND AN Z TO EVERY POINT IN THE DRAWING. 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 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). D OUTSIDE SET MODE TO PUT PIN #'S OUTSIDE DURING AUTO PLACING. D -OUTSIDE SET MODE TO PUT PIN #'S INSIDE DURING AUTO PLACING. (DEFAULT NOT AT DEC) PAGE SET DRAWING PAGE NUMBER. 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 PICCEN CALCULATES A SHOWBOX, THEN MOVES ENTIER DRAWING SO THAT THE BOX WOULD BE CENTERED AROUND THE ABSOLUTE ORIGIN. PINS ENABLE DISPLAY AND PLOTTING OF PIN #'S. THIS INCLUDES CONNECTOR PINS. -PINS DISABLE PINS. PMACRO TYPE NAME OF MACRO, MACRO IS PRINTED ON CONSOLE INTERPRETING CONTROL BITS INTO THEIR , , AND  REPRESENTATION. D -PREFIX STORE PREFIX 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 PTEXT ENABLE POINT TEXT SEPARATELY FROM BODY TEXT. D -PTEXT DISABLE POINT TEXT SEPARATELY. QUIT LEAVE MACRO ALTER MODE WITHOUT MODIFYING ORIGINAL MACRO ************************************************************ EXTEND MODE ****** RDEFS REPLACE ALL BODY DEFINITIONS FROM A FILE. 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 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. RMACRO RENAME A MACRO. ASK FOR OLD NAME, THEN NEW NAME. NEW NAME MUST NOT BE IN USE ALREADY. 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. RSPINI IN EDIT MODE, REASSIGN INTERNAL PIN-ID'S SO THAT THEY MATCH DEFAULT PIN NAMES. THIS IS AN EASY WAY TO LOSE ROYALLY. ************************************************************ EXTEND MODE ****** 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. SCALE SET SCALE FACTOR.(GUARANTEED TO PUT GRID POINTS ON SCOPE POINTS.) ORIGINALLY SCALE=16 SETCEN RECALCULATE CENTERS OF ALL SETS. 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 . 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). SETWRT WRTSET LIKE W, EXCEPT THAT ONLY THE PINS AND BODIES IN THE CLOSEST SET ARE WRITTEN INTO THE FILE. 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 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). 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). ************************************************************ EXTEND MODE ****** 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. D -SITE STORE SITE LINES IN MACRO SEPERATED BY CRLF. D SIZE ASKS FOR PLOTING SCALE, THEN TELLS YOU HEIGHT AND WIDTH OF DRAWING AND THE SMALLEST BOX WHICH WILL FIT AROUND IT. VALUES GIVEN ARE WITH RESPECT TO CURRENT DRAWING SCALE. 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). 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. 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. START RESTART THE PROGRAM, FORGETTING EVERYTHING. ************************************************************ EXTEND MODE ****** TERMRULE SET TERMINATION RULE ON CPIN (?) TEXT ENABLE TEXT. -TEXT DISABLE TEXT. 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. D -TITLE STORE TITLE LINES IN MACRO SEPERATED BY CRLF. 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 TRANSPOSE ASKS FOR BODY NAME, THEN "L" OR "R" AND DOES T FOR ; ALL BODIES OF THE NAME YOU TYPED. TSLICE TYPE OUT WHAT SLICED VERSION OF CLOSEST TEXT WOULD BE. -TSLICE STORE SLICED VERSION OF CLOSEST TEXT. D TYPDEL DELTYP ASKS "TYPE BODY NAME" THEN DELETE ALL INSTANCES AND THE DEFINITION. IF FROM LIBRARY, DEFINITION IS NOT DELETED. D TYPLIB TYPES ALL LIBRARY FILENAMES. ************************************************************ EXTEND MODE ****** UNDERLINE SET MODE SO THAT TEXT IS OFFSET ABOVE THE LINE, NOT OFF THE END. (WHAT A LOSS!) UNHIDE SHOW BUSSED-THROUGH PINS. 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. 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. WMACRO WRITES ALL CURRENTLY DEFINED AND NAMED MACROES INTO A FILE THE DEFAULT EXTENSION IS 'MCR'. ALSO WRITES OUT ALL VARIABLE DEFINITIONS (ˆH). WRTSET WRITE THE CURRENT SET INTO A DRW FILE. XOFF SETS ABSOLUTE X OFFSET. YOFF SETS ABSOLUTE Y OFFSET. ************************************************** POINT MODE ******************** 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. ************************************************** POINT MODE ******************** 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! 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, I.E. EVEN IF  WAS USED, THEY ARE MADE RIGHT ANGLES. 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, I.E. THE ONE WITH THE STAR IS MOVED ON TOP OF THE ONE WITH THE P, AND THEY ARE MADE THE SAME 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 ATTACHMENT POINTS. A PUTS A STAR ON THE CLOSEST LINE AND ASKS "THIS ONE?" IF YOU SAY "Y" THEN THE CLOSEST POINT WILL BE MOVED THERE. THAT IS, THE POINT WITH THE P WILL BE MOVED ON TOP OF THE *, WHICH IS AT THE INTERSECTION OF THE LINE AND THE PERPENDICULAR FROM THE CURSOR. 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. ************************************************** POINT MODE ******************** 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 AND 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. O START DRAWING STUB FROM "NEAREST" BODY PIN. NEAREST PIN IS CLOSEST PIN, OR SOME PIN ATTACHED TO NEAREST POINT. NEAREST POINT IS ONE YOUR DRAWING LINE FROM NOW, OR CLOSEST POINT. O START DRAWING STUB FROM NEXT PIN, IN CCW DIRECTION AROUND BODY. O START DRAWING STUB FROM NEXT PIN, IN CW DIRECTION AROUND BODY. ************************************************** POINT MODE ******************** 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. 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 ATTACHMENT POINT: JUST TYPE PIN NUMBER. ************************************************** POINT MODE ******************** 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: D CHOSES SEGMENT IN THE SPECIFIED DIRECTION. IF NONE EXISTS WILL CHOSE ONE IN ORTHOGONAL DIRECTION IF ONLY ONE. NODEC DIRECTION ˆ LEFT ˆ RIGHT ˆ DOWN ˆ 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 & _ UNION POINT MAY NOT BE A BODY ATTACHEMENT POINT. NODEC & 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 & CLEAR . # REMOVE POINT FROM CURRENT SET. # REMOVE POINT FROM ALL SETS. ************************************************** POINT MODE ******************** 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. D F FIND A MARKED POINT. IF ON SCREEN, MOVE CURSOR THERE. IF NOT MOVE IT TO SCREEN CENTER AND MOVE CURSOR THERE. . (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). . EQUIVALENT TO "." FOLLOWED BY "V" IF LAYOUT VERSION OTHERWISE SAME AS ".". 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 ******************** BODY MODE ******************** 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. D E EDIT THE CLOSEST BODY. D R REPLACE THE CLOSEST BODY. YOU WILL BE ASKED FOR NEW BODY 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, 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. 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. ******************** BODY MODE ******************** 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. 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 YOU 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. THE BIZARRE CHARACTERS IN PIN NAMES ON WIRE-WRAP BOARDS ARE: + ADD ONE : ADD TWO  ADD THREE O ROTATE CLOSEST BODY 90 DEGREES COUNTER CLOCKWISE. MIRROR IMAGE THE BODY AFTER ROTATING 360 DEGREES. O START DRAWING STUB ON THIS BODY. FIRST PIN CCW FROM UPPER LEFT 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 P SET PIN #'S FROM DEFAULT PIN NAMES. ******************** BODY MODE ******************** NODEC  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.  SAME AS  NODEC & _ UNION NODEC & 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 & CLEAR . # 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 IS MATCHED AGAINST THE SEARCH STRING. IF A MATCH OCCURS, THE BODY IS MARKED FOR LATER. SEE THE "F" COMMAND IN ALTER MODE FOR SEARCH STRING SYNTAX. 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. 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. " 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 ******************** 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 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 ******************** 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 LINES. 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. K DELETE ALL TEXT ON POINTS IN SET! NODEC & _ UNION THIS MAKES A NEW SET IF THERE IS NO CURRENT SET. NODEC & _ DOESN'T MAKE NEW SET NODEC & 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 ******************** 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. B PUTS A BEND ON THE LINE EVEN WITH THE CURSOR (MAKES IT INTO 3 SEGMENTS). YOU ARE THEN MOVING THE MID-POINT. (THIS SUPPOSEDLY DOES THE RIGHT THING NOW.) D B PUTS A POINT ON THE LINE EVEN WITH THE CURSOR. ************************************************************ ALTER MODE ****** ALTER MODE:  LEAVE ALTER MODE X QUIT TO LEAVE WITHOUT CLOBBERING ANYTHING ˆ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 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 CHARACTERS TYPED. ALT MODE () OR TYPED IN CAUSES THE CORRESPONDING TEXT CHARACTER TO BE UNCHANGED. ************************************************************ ALTER MODE ****** <-> 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. D IF STRING IS NULL, THEN "SEARCH STRING" IS USED UNLESS IT IS ALSO NULL IN WHICH CASE NO SEARCH IS DONE. ******************** EDIT MODE ******************** EDIT MODE: THE EDITOR 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 ******************** 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. RUBOUT MOVE THE CURSOR TO THE "PREVIOUS" POINT. ******************** EDIT MODE (TEXT SUB-MODE) ******************** 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 REFERED 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. ******************** EDIT MODE ******************** Z RECALCULATE OFFSET FOR TEXT TO CENTER IT OVER MOVE POINT. TEXT CHANGES WILL AGAIN UPDATE OFFSET. " STORE TEXT INTO MACRO. " STORE PROPERTY NAME 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. ******************** EDIT MODE (PIN Submode) ******************** 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. 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. ******************** MACROS ******************** MACRO'S: : EQUIVALENT TO ;R0 ˆ;<-> MACRO COMMAND. <-> IS ARGUMENT, IS COMMAND. <-> IS OPTIONAL. IF NOT AT COMMAND LEVEL (STAR PROMPT), YOU MUST USE CTRL OR META WITH 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. ******************** MACROS ******************** 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. THE 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) ******************** MACROS ******************** 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. CHARACTER SET: Extensions for inferior terminals Nonstandard characters such as mu and omega will work at dec only. 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.