//gob.defs definitions for gobble January 15, 1977 // last modified by E. McCreight, June 15, 1977 11:41 AM manifest [ htsize = 64 DirPreambleSize=6 ksTypeReadOnly=1 ksTypeWriteOnly=2 ksTypeReadWrite=3 verLatestCreate=#40000+2 MaxEpins = 999 //maximum number of edge pins MaxComps = 2600 //a1 - z99 ecltype = $E-$A termtype = $T-$A Ptype = $P-$A Ntype = $N-$A Htype = $H-$A Stype = $S-$A ] external //initialized to point to board specific procedures by SetUpBoardType [ GetSVCoords//(typeletter,,index,cv) returns (in cv) the coordinates of svolt source pins GetSVindex //(pinchar,bl,boardpin) returns index of closest svolt source SVoltReq//vector of space required for SVolt source pins provided by SetUpBoardPins NetHasSVolt //(net name string) returns svolt source pin char. if the board supplies this net as a special case LegalBloc //(boardlocation) returns true if board location is legal ChiptoPinPos //(boardloc,chippin) returns board pin number given chip locator GetEpinCoords //(pin,cv) x in cv!0, y in cv!1 - coordinates are in .025" increments GetCpinCoords //(pin,cv) x in cv!0, y in cv!1 - coordinates are in .025" increments GetICcoords //(alph,num,pin,cv) x in cv!0, y in cv!1 - coordinates are in .025" increments AddPotentialTerms //() if the board has special terminator positions, this function adds them //to the Boardvec list (or checks that user defined ones are really terms). If they are //not assigned, they will not be printed out by SendUsedICs FindBestTerm //(x,y) returns a pointer to the best terminator pin to use for the signal //at the given coordinates SetUpTerms //() allows construction of the data structure of your choice before FindBestTerm is called TableZeroString //string to cause stitchwelder to be zeroed GetBoardPins //(boardloc) returns max number of pins at this position maxn maxalph ] external //statics [ BoardType AddDeleteNetNum Correcting dts termx termy noroute termstp Gndvec //space for SVolt source pin vectors Vccvec Veevec Vttvec Vddvec Epins //vector for edge pins Boardvec //vector of pointers to component descriptors hashtab ADFile ErFile BpFile OutFile OldWlFile SilZone NewItem Space //size of object space SpaceBase //base of space SpaceTop bestTotalNetLength heuristicWork exhaustThresh ] external //gobble procedures [ PrintN ProcessLine CopyLine CorrectOldNet ReadNetName StEq AddSVoltNode ErrTfn Nullfn ErrCfn GetBoardPinsT LegalBlocT ChiptoPinPosT ErrN ErrBL SetUpBoardType //makes the other board-specific procedures available AssignIC CheckFit ManhattanDistFn EuclideanDistFn StandardMetric Route WSS DefineSymbol Lookup Output AppendS AppendN AppendC AppendB AppendBL CSN ] external //O.S. procedures and statics [ Resets OpenFileFromFp fpUserCm fpSysDir fpComCm fpRemCm Usc InitializeZone OpenFile Puts Closes MoveBlock Gets Zero CallSwat Endofs keys Junta CounterJunta ] structure str: [(635)\f1 92f0 24f1 length byte char^1,255 bytel4268\f1 ] structure bytes: [\f1 bite^0,256 bytel4268\f1 ] structure strec: [\f1 link word ordered bit netlength bit 15 netnum word //weld order list word //head of list of nodes associated with this name mark word //set to -1 by DefineSymbol st @strl4268\f1 ] structure icdesc: [\f1 npins bit 6 //number of pins on this ic ictype bit 5 //family (AthroughZ -$A) mult bit 1 //this position multiply defined blank bit 4 stp word //stp for type name outbits^0,3 word //one bit per pin- 1 if the pin is an output bl word //board location for this ic mark word //set to -1 by someone pinptr^1,63 word //one word per pin- part of a list starting at signal namel4268\f1 ] manifest [\f1 icdsize = (offset icdesc.mark)/16 ] \f1