//ana.defs definitions for analyze // last modified by E. McCreight, November 15, 1977 4:01 PM manifest [ htsize = 64 NMfonts = 6 //number of macro fonts (4-9) Mtsize = NMfonts*128 //macro table size DirPreambleSize=6 ksTypeReadOnly=1 ksTypeWriteOnly=2 ksTypeReadWrite=3 verLatestCreate=#40000+2 //connection point characters (font 3) chTcon = $Q chBcon = $S chLcon = $R chRcon = $T //special characters for single-character symbols (font 3) chEpin = $P chCpin = $p chGnd = $n chPseud = $x chBlob = $. //symbol types stComp = 1 //used for component name in picture stPin = 2 stSig = 3 stRcomp= 4 //used for real component name stBrdloc = 5 ] external //statics [ //list headers @Comps @Vlines @Hlines @Strings @Numbers @Locgroups @Schars @BadItems //Special symbol table pointers @Instp @Outstp @Gndstp @Pseudstp @psfile @page @prescan @debugswitch @hashtab @ErFile @OutFile @FileName @GenNameString @GenNameCount @Lprvec //vector of library file pointers @Dprvec //vector of dictionary file pointers @fpDict //file pointer of current (supposedly open) dictionary file @dict //dictionary stream @SilZone @Mact @NewItem @Space //size of object space @SpaceBase //base of space @SpaceTop @Message @worstErrorLevel ] manifest // error levels [ noError = 0 warning = 1 serious = 2 disaster = 3 ] external //ana procedures [ OutSymbols PreScanOut PinCheck DefaultTypeNames DoOutput ConnectVlines ConnectHlines FixOverlap DoSchars DoComponents DoSignames AddComps GetCompNames PrintStructs CheckFit Err2 Errxy Err GetFile MakeFileName DefineSymbol Lookup AppendB StEq Docomponent Dousermacro Dorectangle Dofont3string Dofont1string AddBadItem ReadLibFps LibUpdate ParseTitle //NSilUtil AddToList Length AppendS AppendN AppendC ] external //O.S. procedures and statics [ Resets OpenFileFromFp GetCompleteFa JumpToFa fpUserCm fpSysDir fpComCm fpRemCm Usc InitializeZone OpenFile DeleteFile FilePos Puts Wss Closes MoveBlock Gets Zero SetBlock CallSwat Endofs keys Allocate Free Junta CounterJunta ReadUserCmItem //P. Deutsch package from LookUpEntries //from MDI TruncateDiskStream ] structure str: [(635) length byte char^1,255 bytel4268 ] structure bytes: [ bite^0,256 bytel4268 ] structure strec: [ link word type byte; pinsdn bit; ucnt bit 7 rname word //real name for component st @strl4268 ] structure item: [ link word state bit 3; xmin bit 13 ymin word color bit 4; xmax bit 12 [ font bit 4; blank bit 1; ymax bit 11 ] =[ fullfont bit 5 =[ txtfont bit 3; bold bit; italic bit ] blank bit 11 ] string: @strl4268 ] structure comp: //components [ link word type bit 3; xmin bit 13 ymin word color bit 4; xmax bit 12 ymax word pinsdone bit 4; blout bit; mindex bit 11 //= (font-8)*128 + char conpoints word //pointer to connection point blockl4268 ] structure conpoint: [ pin bit 6 //pin number for this pin x bit 10 marked bit 1 //encountered in trace defd bit 1 //pin number is defined in drawing cpt bit 3 blob bit 1 //indicates this conpoint has a blob //(don't worry that it's not connected to anything y bit 10 pinname word //stp for name conn word //pointer to connected objectl4268 ] manifest //connection point types [ cptTop = 1 cptBot = 2 cptLeft = 3 cptRight = 4 ] structure compblock: [ comptype word //symbol table pointer, NOT pointer to node boardloc word // symbol table pointer numcpoints bit 6 group bit 10 @conpoint^1,64l4268 ] structure lend: //line endpoints [ link word type bit 3 hassig bit 1 //this line has a signal name associated x bit 12 marked bit y bit 15 cp^0,2 word //pointers to things connected to this endpoint l4268 ] structure node: //used for strings, numbers, locgroups,and schars [ link word type bit 3 x bit 13 //coordinates of the center of the object assoc word //pointer to associated object used bit y bit 15 val word // when used for strings(val is an stp),numbers, and schars =bloc word // points to symbol tablel4268 val2 word = group wordl4268 ] manifest [ //block types btComp = 1 btLend = 2 btString = 3 btNum = 4 btLocgroups = 5 btSchar = 6 //blocklengths blComp = (size comp)/16 blLend = (size lend)/16 blBasicNode = (offset node.val2)/16 blFullNode = (size node)/16 blString = blBasicNode blNum = blBasicNode blSchar = blBasicNode blLocgroups = blFullNode ]