<<-- newcmos.TIP>> <<-- created by Christian Jacobi, June 1, 1984 5:25:04 pm PDT>> <<-- last edited by Christian Jacobi, June 19, 1984 5:48:50 pm PDT>> [DEF,MarkDown,(Red Down)] [DEF,MarkUp,(Red Up)] [DEF,DrawDown,(Yellow Down)] [DEF,DrawUp,(Yellow Up)] [DEF,SelDown,(Blue Down)] [DEF,SelUp,(Blue Up)] [DEF,CTRL,(Ctrl Down)] [DEF,SHIFT,(RightShift Down | LeftShift Down)] [DEF,LCursor,(WHILE ChipndaleLBoxCursor)] [DEF,NoCursor,(WHILE ChipndaleShadowCursor)] [DEF,ArrowCursor,(WHILE ChipndaleArrowCursor)] [DEF,PosCursor,(WHILE ChipndalePosCursor)] [DEF,BoxCursor,(WHILE ChipndaleBoxCursor)] [DEF,DontCursor,(WHILE ChipndaleDontCursor)] [DEF,ArrowTrack,(UseArrowTrack, Track)] [DEF,BoxTrack,(UseBoxTrack, Track)] [DEF,LTrack,(UseLTrack, Track)] [DEF,DontTrack,(UseDontTrack, Track)] [DEF,InDeselectMode,(WHILE ChipndaleXMode)] [DEF,InSelectMode,(WHILE ChipndaleNXMode)] [DEF,ClearDeselectMode,(SetXModeOff)] [DEF,SetDeselectMode,(SetXModeOn)] [DEF,WOff,(StopTrack, [DontTrack])] [DEF,WOffM,(StopTrack, [DontTrack])] [DEF,Reset,(StopTrack, [DontTrack])] SELECT TRIGGER FROM <> Mouse WHILE [MarkDown] => Coords, Track; Mouse WHILE [DrawDown] => Coords, Track; Mouse WHILE [SelDown] => Coords, Track; <> ESC Down WHILE TAB Down => AbortCommand; ESC Down => StopTrack, StopDrawing; <> [MarkDown] WHILE A Down WHILE S Down => Coords, ReSelectOnlyP; [MarkDown] WHILE Q Down WHILE W Down => Coords, SetLayerP; <<>> <<>> <> [DrawDown] WHILE A Down WHILE TAB Down => Coords, [WOffM], DrawNBurCon; [DrawDown] WHILE A Down => Coords, [WOffM], DrawNDifCon; [SelDown] WHILE A Down => [WOff], SetLayerNDif; [MarkDown] WHILE A Down => [WOff], SetLayerNDif; A Down WHILE [CTRL] => [WOff], SetLayerNDif; A Up => [Reset]; A Down => [Reset]; <> [DrawDown] WHILE B Down => Coords, StopTrack, [ArrowTrack]; [DrawUp] WHILE B Down [ArrowCursor] => Coords, DrawRepetition; [MarkDown] WHILE B Down WHILE [SHIFT] => Coords, [WOff], DecCountP; [MarkDown] WHILE B Down => Coords, [WOff], IncCountP; [SelDown] WHILE B Down WHILE [SHIFT] => Coords, [WOff], DecCountS; [SelDown] WHILE B Down => Coords, [WOff], IncCountS; B Down => [Reset]; B Up => [Reset]; <> [SelDown] WHILE C Down WHILE TAB Down => Coords, [WOff], StretchStepUpS; [MarkDown] WHILE C Down WHILE TAB Down => Coords, [WOff], StretchStepUpP; [SelDown] WHILE C Down WHILE [CTRL] => [WOff], DefaultS; [MarkDown] WHILE C Down WHILE [CTRL] => Coords, [WOff], DefaultP; [SelDown] WHILE C Down WHILE [SHIFT] => [WOff], LengthenS; [MarkDown] WHILE C Down WHILE [SHIFT] WHILE [SHIFT] => Coords, [WOff], LengthenP; [SelDown] WHILE C Down => [WOff], LambdaUpS; [MarkDown] WHILE C Down => Coords, [WOff], LambdaUpP; C Down => [Reset]; C Up => [Reset]; <> [SelDown] WHILE D Down => [WOff], SetLayerPol; [MarkDown] WHILE D Down => [WOff], SetLayerPol; D Down WHILE [CTRL] => [WOff], SetLayerPol; [DrawDown] WHILE D Down WHILE TAB Down => Coords, [WOffM], DrawNButCon; [DrawDown] WHILE D Down => Coords, [WOffM], DrawPolCon; D Up => [Reset]; D Down => [Reset]; <> [SelDown] WHILE E Down WHILE TAB Down => [WOff], ExpandS; [SelDown] WHILE E Down => [WOff], PushS; [MarkDown] WHILE E Down WHILE TAB Down => Coords, [WOff], ExpandP; [DrawDown] WHILE E Down WHILE ESC Down => Coords, [WOff], PopFlush; [MarkDown] WHILE E Down => Coords, [WOff], PushP; [DrawDown] WHILE E Down WHILE [CTRL] => [WOff], CreateCellSUnNamed; [DrawDown] WHILE E Down WHILE TAB Down => [WOff], CreateCellSAndName; [DrawDown] WHILE E Down => [WOff], PopMenu; E Down WHILE Space Down => [Reset], SetSimplification; E Up => [Reset]; E Down => [Reset]; <> [SelDown] WHILE F Down => [WOff], SetLayerMet; [MarkDown] WHILE F Down => [WOff], SetLayerMet; F Down WHILE [CTRL] => [WOff], SetLayerMet; [DrawDown] WHILE F Down WHILE TAB Down => Coords, [WOffM], DrawPButCon; [DrawDown] WHILE F Down => Coords, [WOffM], DrawMm2Con; F Up => [Reset]; F Down => [Reset]; <> [SelDown] WHILE G Down => [WOff], SetLayerMet2; [MarkDown] WHILE G Down => [WOff], SetLayerMet2; G Down WHILE [CTRL] => [WOff], SetLayerMet2; [DrawDown] WHILE G Down => Coords, [WOffM], DrawMm2Con; G Up => [Reset]; G Down => [Reset]; <> H Up => [Reset]; H Down => [Reset]; <> I Up => [Reset]; I Down => [Reset]; <> J Up => [Reset]; J Down => [Reset]; <<>> <> K Up => [Reset]; K Down => [Reset]; <<>> <> L Up => [Reset]; L Down => [Reset]; <> [MarkDown] WHILE M Down => Coords, ShrinkStepP; [SelDown] WHILE M Down => Coords, ShrinkStepS; M Up => [Reset]; M Down => [Reset]; <<>> <> [MarkDown] WHILE N Down => Coords, GrowStepP; [SelDown] WHILE N Down => Coords, GrowStepS; N Up => [Reset]; N Down => [Reset]; <<>> <> O Up => [Reset]; O Down => [Reset]; <<>> <> P Up => [Reset]; P Down => [Reset]; <<>> <> [DrawDown] WHILE Q Down WHILE TAB Down => Coords, [WOffM], DrawAngleNXstr; [DrawDown] WHILE Q Down => Coords, [WOffM], DrawNXstr; [MarkDown] WHILE Q Down => Coords, [WOffM], RotP; [SelDown] WHILE Q Down => Coords, [WOffM], RotS; Q Up => [Reset]; Q Down => [Reset]; <> [SelDown] WHILE R Down => [WOff], SetLayerPWCnt; [MarkDown] WHILE R Down => [WOff], SetLayerPWCnt; R Down WHILE [CTRL] => [WOff], SetLayerPWCnt; [DrawDown] WHILE R Down WHILE [CTRL] => [WOff], PopNew; [DrawDown] WHILE R Down WHILE TAB Down => [WOff], PopReplace; [DrawDown] WHILE R Down => Coords, [WOffM], DrawPWCntCon; R Up => [Reset]; R Down => [Reset]; <> [SelDown] WHILE S Down => [WOff], SetLayerPDif; [MarkDown] WHILE S Down => [WOff], SetLayerPDif; S Down WHILE [CTRL] => [WOff], SetLayerPDif; [DrawDown] WHILE S Down WHILE TAB Down => Coords, [WOffM], DrawPBurCon; [DrawDown] WHILE S Down => Coords, [WOffM], DrawPDifCon; S Up => [Reset]; S Down => [Reset]; <> [SelDown] WHILE T Down WHILE TAB Down => Coords, [WOff], DrawConditionP; [MarkDown] WHILE T Down WHILE TAB Down => Coords, [WOff], DrawConditionS; [SelDown] WHILE T Down => [WOff], SetLayerNWCnt; [MarkDown] WHILE T Down => [WOff], SetLayerNWCnt; T Down WHILE [CTRL] => [WOff], SetLayerNWCnt; [DrawDown] WHILE T Down => Coords, [WOffM], DrawNWCntCon; T Up => [Reset]; T Down => [Reset]; <> U Up => [Reset]; U Down => [Reset]; <> [SelDown] WHILE V Down WHILE TAB Down => Coords, [WOff], StretchStepDownS; [MarkDown] WHILE V Down WHILE TAB Down => Coords, [WOff], StretchStepDownP; [SelDown] WHILE V Down WHILE [CTRL] => [WOff], AlterS; [MarkDown] WHILE V Down WHILE [CTRL] => Coords, [WOff], AlterP; [SelDown] WHILE V Down WHILE [SHIFT] => [WOff], ShortenS; [MarkDown] WHILE V Down WHILE [SHIFT] => Coords, [WOff], ShortenP; [SelDown] WHILE V Down => [WOff], LambdaDownS; [MarkDown] WHILE V Down => Coords, [WOff], LambdaDownP; V Down => [Reset]; V Up => [Reset]; <> [DrawDown] WHILE W Down WHILE TAB Down => Coords, [WOffM], DrawAnglePXstr; [DrawDown] WHILE W Down => Coords, [WOffM], DrawPXstr; [MarkDown] WHILE W Down => Coords, [WOffM], MirrorP; [SelDown] WHILE W Down => Coords, [WOffM], MirrorS; W Up => [Reset]; W Down => [Reset]; <> [SelDown] WHILE X Down WHILE TAB Down => Coords, [WOff], StretchStepRightS; [MarkDown] WHILE X Down WHILE TAB Down => Coords, [WOff], StretchStepRightP; [DrawDown] WHILE X Down WHILE [CTRL] => Coords, StopTrack, [ArrowTrack]; [DrawUp] WHILE X Down WHILE [CTRL] [ArrowCursor] => Coords, StretchPS; [MarkDown] WHILE X Down WHILE [CTRL] => Coords, StopTrack, [ArrowTrack]; [SelDown] WHILE X Down WHILE [CTRL] => Coords, StopTrack, [ArrowTrack]; [MarkUp] WHILE X Down WHILE [CTRL] [ArrowCursor] => Coords, StretchP; [SelUp] WHILE X Down WHILE [CTRL] [ArrowCursor] => Coords, StretchS; [SelDown] WHILE X Down WHILE [SHIFT] => [WOff], NarrowS; [MarkDown] WHILE X Down WHILE [SHIFT] => Coords, [WOff], NarrowP; [SelDown] WHILE X Down => [WOff], LambdaRightS; [MarkDown] WHILE X Down => Coords, [WOff], LambdaRightP; [MarkUp] WHILE X Down => [Reset]; [DrawUp] WHILE X Down => [Reset]; [SelUp] WHILE X Down => [Reset]; X Down => [Reset]; X Up => [Reset]; <> [MarkDown] WHILE Y Down => Coords, [WOffM], MirrorYP; [SelDown] WHILE Y Down => Coords, [WOffM], MirrorYS; Y Down => [Reset]; Y Up => [Reset]; <<>> <> [SelDown] WHILE Z Down WHILE TAB Down => Coords, [WOff], StretchStepLeftS; [MarkDown] WHILE Z Down WHILE TAB Down => Coords, [WOff], StretchStepLeftP; [SelDown] WHILE Z Down WHILE [CTRL] => [WOff], TransformS; [SelDown] WHILE Z Down WHILE [SHIFT] => [WOff], WidenS; [MarkDown] WHILE Z Down WHILE [CTRL] => Coords, [WOff], TransformP; [MarkDown] WHILE Z Down WHILE [SHIFT] => Coords, [WOff], WidenP; [SelDown] WHILE Z Down => [WOff], LambdaLeftS; [MarkDown] WHILE Z Down => Coords, [WOff], LambdaLeftP; Z Down => [Reset]; Z Up => [Reset]; <> < [Reset]; -- this is used to return version number>> Zero Up => [Reset]; <<>> <> One Down WHILE Space Down => [WOff], ViewerMenu; One Down WHILE TAB Down => [WOff], DesignMenu; One Down WHILE [CTRL] => [WOff], DesignMenu; [MarkDown] WHILE One Down => Coords, [WOffM], EnterNameP; [SelDown] WHILE One Down => Coords, [WOffM], EnterNameS; One Down => [Reset]; One Up => [Reset]; <> Two Down WHILE Space Down => [WOff], ViewerMenu; Two Down WHILE TAB Down => [WOff], ViewerMenu; Two Down WHILE [CTRL] => [WOff], ViewerMenu; Two Down WHILE [SHIFT] => [WOff], ShowPropertiesS; [MarkDown] WHILE Two Down => Coords, [WOffM], EnterPropertyP; [SelDown] WHILE Two Down => Coords, [WOffM], EnterPropertyS; Two Down => [Reset]; Two Up => [Reset]; <> [MarkDown] WHILE Three Down => [WOff], RenameP; [SelDown] WHILE Three Down => [WOff], RenameS; Three Down WHILE TAB Down => [WOff], DirectoryMenu; Three Down WHILE [CTRL] => [WOff], DirectoryMenu; [DrawDown] WHILE Three Down => Coords, [WOffM], DrawCell; Three Down => [Reset]; Three Up => [Reset]; <> Four Down WHILE TAB Down => [WOff], IOMenu; Four Down WHILE [CTRL] => [WOff], IOMenu; [DrawDown] WHILE Four Down => Coords, [WOffM], DrawImportedCell; Four Down => [Reset]; Four Up => [Reset]; <> Five Down WHILE [CTRL] => [WOff], CellMenu; Five Down WHILE TAB Down => [WOff], CellMenu; [MarkDown] WHILE Five Down => Coords, [WOffM], SelectADesign; [DrawDown] WHILE Five Down => Coords, [WOffM], DrawCorrespondingObject; Five Down => [Reset]; Five Up => [Reset]; <<>> <> Six Down WHILE [CTRL] => [WOff], ProgramMenu; Six Down WHILE TAB Down => [WOff], ProgramMenu; [SelDown] WHILE Six Down => [WOff], TransformToCellS; [MarkDown] WHILE Six Down => Coords, [WOff], TransformToCellP; Six Down => [Reset]; Six Up => [Reset]; <> Seven Down => [Reset]; Seven Up => [Reset]; <<>> <> Eight Down => [Reset]; Eight Up => [Reset]; <<>> <> [MarkDown] WHILE Arrow Down => Coords, StopTrack, UseBoxTrack, Track; [MarkUp] WHILE Arrow Down [BoxCursor] => Coords, RectProgramMenu; Arrow Down WHILE TAB Down => [WOff], WriteCif; Arrow Down => [Reset]; Arrow Up => [Reset]; <> [MarkUp] WHILE Space Down WHILE [CTRL] => [WOff], DisplayViewers; [SelUp] WHILE Space Down WHILE [CTRL] => [WOff], DisplayNames; [DrawDown] WHILE Space Down WHILE TAB Down => [WOff], ResetScaleTop; [DrawDown] WHILE Space Down WHILE [CTRL] => [WOff], ResetScaleAll; [MarkDown] WHILE Space Down WHILE [SHIFT] => [WOff], ScaleMoreDetail; [SelDown] WHILE Space Down WHILE [SHIFT] => [WOff], ScaleLessDetail; [DrawDown] WHILE Space Down WHILE [SHIFT] => [WOff], ResetScaleSel; [DrawUp] WHILE Space Down [ArrowCursor] => Coords, MoveScreen; [MarkUp] WHILE Space Down [BoxCursor] => Coords, ShowRect; [SelUp] WHILE Space Down [BoxCursor] => Coords, ShowRectX; [MarkDown] WHILE Space Down => Coords, StopTrack, [BoxTrack]; [DrawDown] WHILE Space Down => Coords, StopTrack, [ArrowTrack]; [SelDown] WHILE Space Down => Coords, StopTrack, [BoxTrack]; Space Up => [Reset]; Space Down => [Reset]; <> <> <<>> <> Quote Down => [Reset]; Quote Up => [Reset]; <<>> <> [MarkDown] WHILE LeftBracket Down => Coords, StopTrack, UseBoxTrack, Track; [MarkUp] WHILE LeftBracket Down [BoxCursor] => Coords, VersatecColorPlot; LeftBracket Down => [Reset]; LeftBracket Up => [Reset]; <> [MarkDown] WHILE RightBracket Down => Coords, StopTrack, UseBoxTrack, Track; [MarkUp] WHILE RightBracket Down [BoxCursor] => Coords, VersatecBWPlot; RightBracket Down => [Reset]; RightBracket Up => [Reset]; <<>> <> Equal Down WHILE TAB Down => [WOff], ShowErrors; Equal Down WHILE [CTRL] => [WOff], SpinifexS; Equal Down => [Reset]; Equal Up => [Reset]; <> BackSlash Down WHILE [CTRL] => [WOff], FlatCif; [DrawDown] WHILE BackSlash Down => Coords, Debug; BackSlash Down => [Reset]; BackSlash Up => [Reset]; <> [MarkDown] WHILE LF Down WHILE [SHIFT] => Coords, RemovePinP; [MarkDown] WHILE LF Down => Coords, MakePinP; [SelDown] WHILE LF Down WHILE [SHIFT] => Coords, RemovePinS; [SelDown] WHILE LF Down => Coords, MakePinS; LF Down => [Reset]; LF Up => [Reset]; <<>> <> [MarkDown] WHILE Dash Down => Coords, DisplayHierarchyP; [SelDown] WHILE Dash Down => Coords, DisplayHierarchyS; Dash Down => [Reset]; Dash Up => [Reset]; <> DEL Down => [Reset]; DEL Up => [Reset]; <<>> <> Comma Down => [WOff], ScaleMoreDetail; Comma Up => [Reset]; <> Period Down => [WOff], ScaleLessDetail; Period Up => [Reset]; <<>> <> [DrawDown] WHILE Slash Down => Coords, StopTrack, UseArrowTrack, Track; [DrawUp] WHILE Slash Down [ArrowCursor] => Coords, SplitWireS; Slash Down WHILE [CTRL] WHILE [SHIFT] => [Reset], AddSelectLevel; Slash Down => [Reset]; Slash Up => [Reset]; <> <> [MarkDown] WHILE [CTRL] WHILE [SHIFT] => Coords, StopTrack, UseArrowTrack, Track; [MarkDown] WHILE [CTRL] WHILE TAB Down => Coords, StopTrack, UseArrowTrack, Track; [MarkUp] WHILE [CTRL] WHILE [SHIFT] [ArrowCursor] => Coords, MoveP; [MarkUp] WHILE [CTRL] WHILE TAB Down [ArrowCursor] => Coords, StretchyMoveP; [MarkDown] WHILE [SHIFT] => Coords, StopTrack, UseArrowTrack, Track; [MarkUp] WHILE [SHIFT] [ArrowCursor] => Coords, CopyP; [MarkDown] WHILE [CTRL] => Coords, StopTrack, DeleteP; [MarkDown] WHILE TAB Down => Coords, StopTrack, UseBoxTrack, Track; [MarkDown] => Coords, StopTrack, UseBoxTrack, Track; <<>> TAB Up WHILE [MarkDown] => StopTrack; [MarkUp] [BoxCursor] WHILE TAB Down => DeSelectS; [MarkUp] [BoxCursor] WHILE Lock Down => Coords, DeSelectS, AreaAddSelectTouching; [MarkUp] [BoxCursor] => Coords, DeSelectS, AAddSelect; [MarkUp] => Coords, StopTrack; <> [DrawDown] WHILE TAB Down => SELECT TRIGGER FROM [DrawUp] BEFORE 200 => Coords, [WOff], Statistic; ENDCASE => Coords, StopTrack, [ArrowTrack]; [DrawDown] => Coords, StopTrack, UseLTrack, Track; TAB Down WHILE [DrawDown] [LCursor] => SwitchTrack, Track; RightShift Down WHILE [DrawDown] [LCursor] => Coords, AngleTrack, UseLTrack, Track; LeftShift Down WHILE [DrawDown] [LCursor] => Coords, AngleTrack, UseLTrack, Track; [DrawUp] [LCursor] => Coords, DrawWire; [DrawUp] [ArrowCursor] => Coords, Coordinates; [DrawUp] => Coords, StopTrack; <