<<--chipnsil.TIP>> <<--created by Christian Jacobi, December 2, 1983 3:20 pm>> <<--last edited by Christian Jacobi, April 13, 1984 8:04:54 pm PST>> [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,(Spare3 Down | Ctrl Down)] [DEF,SHIFT,(RightShift Down | LeftShift Down)] [DEF,CTTAB,([CTRL] WHILE TAB 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,WMode,(WHILE ChipndaleWMode)] [DEF,NWMode,(WHILE ChipndaleNWMode)] [DEF,AMode,([WMode] [LCursor])] [DEF,MStop,(SetMarkOnStop, ShowMark)] [DEF,MStart,(SetMarkOnStart, ShowMark)] [DEF,WOff,(StopTrack, WiringOff, UseDontTrack)] --CM [DEF,WOffM,([WOff], [MStop])] --CD-- [DEF,WOffM,(StopTrack)] [DEF,WOn,(StopTrack, WiringOn, UseLTrack, SetStartOnMark, Track)] [DEF,ArrowTrack,(UseArrowTrack, Track)] [DEF,BoxTrack,(UseBoxTrack, Track)] [DEF,LTrack,(UseLTrack, Track)] [DEF,DontTrack,(UseDontTrack, Track)] [DEF,Reset,([WOff], [DontTrack])] SELECT TRIGGER FROM <> --CM Mouse => Coords, Track; --CD-- Mouse WHILE [MarkDown] => Coords, Track; --CD-- Mouse WHILE [DrawDown] => Coords, Track; --CD-- Mouse WHILE [SelDown] => Coords, Track; <> ESC Down WHILE [SHIFT] => StopTrack, StopDrawing; --CD-- ESC Down => StopTrack; --CM ESC Down => [WOff]; <> [SelUp] WHILE A Down WHILE [SHIFT] [BoxCursor] => Coords, [WOff], AreaAddSelect; [SelUp] WHILE A Down WHILE [CTRL] [BoxCursor] => Coords, [WOff], AreaAddSelect; [SelUp] WHILE A Down WHILE TAB Down [BoxCursor] => Coords, [WOff], AreaDeSelect; [SelUp] WHILE A Down [BoxCursor] => Coords, [WOff], AreaOnlySelect; --CM [SelDown] WHILE A Down => Coords, [WOff], SetStartOnMark, [BoxTrack]; --CM A Down WHILE [SelDown] => Coords, [WOff], SetStartOnMark, [BoxTrack]; --CD-- [SelDown] WHILE A Down => Coords, StopTrack, UseBoxTrack, Track; --CD-- A Down WHILE [SelDown] => Coords, UseBoxTrack, Track; A Down WHILE Space Down => [WOff], SelectAll; --CM A Down => [WOff], SetStartOnMark, UseBoxTrack; A Down => [Reset]; A Up => [Reset]; <> --XMOS [DrawDown] WHILE B Down => Coords, [WOffM], DrawBurCon; --CMOS [MarkDown] WHILE B Down WHILE [SHIFT] => Coords, [WOffM], DrawPBurCon; B Down => [Reset]; B Up => [Reset]; <> --CM [MarkDown] WHILE C Down => Coords, [WOffM], DrawCell; --CD-- [DrawUp] WHILE C Down => Coords, [WOffM], DrawCell; C Down WHILE TAB Down WHILE [CTRL] => [WOff], TransformToCellS; --XMOS C Down WHILE TAB Down => [WOff], WriteCif; C Down WHILE [CTRL] => [WOff], CreateCellS; --CM [DrawDown] WHILE C Down => Coords, [WOff], SetStartOnMark, [ArrowTrack]; --CM C Down WHILE [DrawDown] => Coords, [WOff], SetStartOnMark, [ArrowTrack]; --CM [DrawUp] WHILE C Down => Coords, [WOff], CopyS, [MStop]; --CM C Down => [WOff], SetStartOnMark, UseArrowTrack; --CD-- [MarkUp] WHILE C Down [ArrowCursor] => Coords, CopyS; --CD-- [MarkDown] WHILE C Down => Coords, StopTrack, UseArrowTrack, Track; C Down => [Reset]; C Up => [Reset]; <> [MarkDown] WHILE D Down => Coords, Debug; [DrawDown] WHILE D Down => Coords, [WOff], DeleteP; D Down WHILE TAB Down => [WOff], RemoveCell; D Down WHILE [CTRL] => [WOff], DeleteS; --CD-- [SelUp] WHILE D Down => Coords, [WOff], DeSelectP; --CM [SelDown] WHILE D Down => Coords, [WOff], DeSelectP; D Down => [Reset]; D Up => [Reset]; <> [MarkDown] WHILE E Down => Coords, [WOff], ExpandP; E Down WHILE [CTRL] => [WOff], ExpandS; E Down => [Reset]; E Up => [Reset]; <> F Down WHILE [SHIFT] => [WOff], FlushUndelList; F Down => [Reset]; F Up => [Reset]; <> G Down => [WOff], DesignMenu; G Up => [Reset]; <> H Down WHILE [CTRL] => [WOff], SelectADesign; [DrawDown] WHILE H Down => Coords, [WOffM], DrawCorrespondingObject; H Down => [Reset]; H Up => [Reset]; <> [DrawDown] WHILE I Down => Coords, [WOffM], DrawImportedCell; [MarkDown] WHILE I Down WHILE [SHIFT] => Coords, [WOff], DecCountP; [MarkDown] WHILE I Down => Coords, [WOff], IncCountP; I Down WHILE TAB Down => [WOff], ImportADesign; I Down WHILE [CTTAB] => [WOff], IncludeADesign; I Down WHILE [CTRL] WHILE [SHIFT] => [WOff], DecCountS; I Down WHILE [CTRL] => [WOff], IncCountS; I Down => [Reset]; I Up => [Reset]; <> --CM [DrawDown] WHILE J Down => Coords, [WOff], SetStartOnMark, [ArrowTrack]; --CM J Down WHILE [DrawDown] => Coords, [WOff], SetStartOnMark, [ArrowTrack]; --CM [DrawUp] WHILE J Down => Coords, [WOff], StretchyMoveS, [MStop]; --CM J Down => [WOff], SetStartOnMark, UseArrowTrack; --CD-- [MarkUp] WHILE J Down [ArrowCursor] => Coords, StretchyMoveS; --CD-- [MarkDown] WHILE J Down => Coords, StopTrack, UseArrowTrack, Track; --CD-- J Down WHILE [MarkDown] => Coords, UseArrowTrack, Track; J Up => [Reset]; <> K Down => [WOff], SetSimplification; K Up => [Reset]; <> [MarkDown] WHILE L Down => Coords, [WOff], LenthenP; [DrawDown] WHILE L Down => Coords, [WOffM], DrawText; L Down WHILE [CTRL] => [WOff], LenthenS; L Down => [Reset]; L Up => [Reset]; <> --CM [MarkDown] WHILE M Down => Coords, [WOff], MirrorP; M Down WHILE [CTRL] => [WOff], MirrorS; --CM [DrawDown] WHILE M Down => Coords, [WOff], SetStartOnMark, [ArrowTrack]; --CM M Down WHILE [DrawDown] => Coords, [WOff], SetStartOnMark, [ArrowTrack]; --CM [DrawUp] WHILE M Down => Coords, [WOff], MoveS, [MStop]; --CM M Down => [WOff], SetStartOnMark, UseArrowTrack; --CD-- [MarkUp] WHILE M Down [ArrowCursor] => Coords, MoveS; --CD-- [MarkDown] WHILE M Down => Coords, StopTrack, UseArrowTrack, Track; --CD-- M Down WHILE [MarkDown] => Coords, UseArrowTrack, Track; M Up => [Reset]; <> N Down WHILE TAB Down WHILE [CTRL] => [WOff], RenameS; [MarkDown] WHILE N Down => Coords, [WOff], NarrowP; N Down WHILE [CTRL] => [WOff], NarrowS; --?? N Down WHILE [CTTAB] => [WOff], Normalize; N Down WHILE TAB Down => [WOff], RenameDesign; N Down => [Reset]; N Up => [Reset]; <> O Down WHILE [CTTAB] => [WOff], OutputDesign; O Down WHILE Space Down => [WOff], ChipmonkOutput; O Down => [Reset]; O Up => [Reset]; <> [MarkDown] WHILE P Down => Coords, [WOff], PushP; --NMOS [DrawDown] WHILE P Down => Coords, [WOffM], DrawPullup; --CMOS [DrawDown] WHILE P Down => Coords, [WOffM], DrawPXstr; P Down WHILE [CTRL] => [WOff], PushS; P Down => [Reset]; P Up => [Reset]; <> [MarkUp] WHILE Q Down [ArrowCursor] => Coords, [WOff], Coordinates; --CM [DrawDown] WHILE Q Down => Coords, [WOff], DrawWire, [MStop]; --CM [MarkDown] WHILE Q Down => Coords, [WOff], StopTrack, [ArrowTrack]; --CM Q Down WHILE [MarkDown] => Coords, [WOff], StopTrack, [ArrowTrack]; --CM Q Down [NWMode] => SetStartOnMark, UseArrowTrack; --CD-- [MarkDown] WHILE Q Down => Coords, StopTrack, UseArrowTrack, Track; --CD-- Q Down WHILE [MarkDown] => Coords, UseArrowTrack, Track; Q Down => [Reset]; Q Up => [Reset]; <> [MarkDown] WHILE R Down => Coords, [WOff], RotP; R Down WHILE [CTRL] => [WOff], RotS; --CM [DrawDown] WHILE R Down => Coords, [WOff], SetStartOnMark, [ArrowTrack]; --CM [DrawUp] WHILE R Down [ArrowCursor] => Coords, [WOff], DrawRepetition; --CM R Down WHILE [DrawDown] => Coords, [WOff], SetStartOnMark, [ArrowTrack]; --CD-- [DrawUp] WHILE R Down => Coords, DrawRepetition; --CD-- [DrawDown] WHILE R Down => Coords, StopTrack, UseArrowTrack, Track; --CD-- R Down WHILE [DrawDown] => Coords, UseArrowTrack, Track; R Down WHILE TAB Down => [WOff], ResetScale; --CM R Down [NWMode] => SetStartOnMark, UseArrowTrack; R Down => [Reset]; R Up => [Reset]; <> [MarkDown] WHILE S Down => Coords, [WOff], ShortenP; --CM [DrawDown] WHILE S Down => Coords, [WOff], SetStartOnMark, [ArrowTrack]; [DrawUp] WHILE S Down [ArrowCursor] => [WOff], StretchPS; S Down WHILE [DrawDown] => Coords, [ArrowTrack]; --CD-- [DrawDown] WHILE S Down => Coords, StopTrack, UseArrowTrack, Track; S Down WHILE [CTRL] => [WOff], ShortenS; S Down WHILE TAB Down => [WOff], DisplayNames; --CM S Down [NWMode] => SetStartOnMark, UseArrowTrack; S Down => [Reset]; S Up => [Reset]; <> --SIL-- [DrawDown] WHILE T Down => Coords, [WOffM], DrawText; --XMOS T Down WHILE [CTRL] => [WOff], EnterNameS; --XMOS [MarkDown] WHILE T Down => Coords, [WOffM], EnterNameP; --XMOS [DrawDown] WHILE T Down => Coords, [WOffM], DrawXstr; T Down => [Reset]; T Up => [Reset]; <> U Down WHILE [CTRL] => [WOff], Undel; U Down => [Reset]; U Up => [Reset]; <> V Down => [WOff], ViewerMenu; V Up => [Reset]; <> [MarkDown] WHILE W Down => Coords, [WOff], WidenP; [DrawDown] WHILE W Down => Coords, [WOff], AlterWidth; W Down WHILE [CTRL] => [WOff], WidenS; W Down => [Reset]; W Up => [Reset]; <> --XMOS [DrawDown] WHILE X Down => Coords, [WOffM], DrawXstr; X Down WHILE [CTRL] => [WOff], TransformS; [MarkDown] WHILE X Down => Coords, [WOff], TransformP; X Down => [Reset]; X Up => [Reset]; <> --CM [MarkDown] WHILE Y Down => Coords, [WOff], SetStartOnMark, [BoxTrack]; --CM Y Down WHILE [MarkDown] => Coords, [WOff], SetStartOnMark, [BoxTrack]; [MarkUp] WHILE Y Down [BoxCursor] => Coords, [WOff], VPlot; -- Versatec Plot --CM Y Down => [WOff], SetStartOnMark, UseBoxTrack; --CD-- [MarkDown] WHILE Y Down => Coords, StopTrack, UseBoxTrack, Track; --CD-- Y Down WHILE [MarkDown] => Coords, UseBoxTrack, Track; Y Down => [Reset]; Y Up => [Reset]; <> --XMOS [DrawDown] WHILE Z Down => Coords, [WOffM], DrawAngleXstr; Z Down WHILE [CTRL] WHILE [SHIFT] => [WOff], DisplayImportedEntries; Z Down WHILE [SHIFT] => [WOff], DisplayImports; Z Down WHILE [CTRL] => [WOff], DisplayCellNames; Z Down => [Reset]; Z Up => [Reset]; <> [MarkDown] WHILE Zero Down => Coords, [WOff], DefaultP; --SIL-- Zero Down WHILE [CTTAB] => [WOff], ModifyMacroS; Zero Down WHILE [CTRL] => [WOff], DefaultS; Zero Down => [Reset]; Zero Up => [Reset]; <> --CMOS [SelDown] WHILE One Down => [WOff], SetLayerNDif; --NMOS [SelDown] WHILE One Down => [WOff], SetLayerDif; --CMOS [MarkDown] WHILE One Down => [WOff], SetLayerNDif; --NMOS [MarkDown] WHILE One Down => [WOff], SetLayerDif; --CMOS One Down WHILE [CTRL] => [WOff], SetLayerNDif; --NMOS One Down WHILE [CTRL] => [WOff], SetLayerDif; --XMOS [DrawDown] WHILE One Down => Coords, [WOffM], DrawDifCon; One Up => [Reset]; One Down => [Reset]; <> --XMOS [SelDown] WHILE Two Down => [WOff], SetLayerPol; --XMOS [MarkDown] WHILE Two Down => [WOff], SetLayerPol; --XMOS Two Down WHILE [CTRL] => [WOff], SetLayerPol; --XMOS [DrawDown] WHILE Two Down => Coords, [WOffM], DrawPolCon; Two Up => [Reset]; Two Down => [Reset]; <> --XMOS [SelDown] WHILE Three Down => [WOff], SetLayerMet; --XMOS [MarkDown] WHILE Three Down => [WOff], SetLayerMet; --XMOS Three Down WHILE [CTRL] => [WOff], SetLayerMet; --XMOS [DrawDown] WHILE Three Down => Coords, [WOffM], DrawButCon; Three Up => UseDontTrack; Three Down => UseDontTrack; <> --CMOS [SelDown] WHILE Four Down => [WOff], SetLayerPDif; --CMOS [MarkDown] WHILE Four Down => [WOff], SetLayerPDif; --CMOS Four Down WHILE [CTRL] => [WOff], SetLayerPDif; --CMOS [DrawDown] WHILE Four Down => Coords, [WOffM], DrawPDifCon; --NMOS [DrawDown] WHILE Four Down => Coords, [WOffM], DrawBurCon; Four Up => UseDontTrack; Four Down => UseDontTrack; <> --XMOS [DrawDown] WHILE Five Down => Coords, [WOffM], DrawMm2Con; --XMOS [SelDown] WHILE Five Down => Coords, [WOff], SetLayerMet2; --XMOS [MarkDown] WHILE Five Down => Coords, [WOff], SetLayerMet2; --XMOS Five Down WHILE [CTRL] => [WOff], SetLayerMet2; Five Up => [Reset]; Five Down => [Reset]; <> Six Up => [Reset]; Six Down => [Reset]; --CD-- [DrawDown] WHILE Six Down => Coords, StopTrack, UseBoxTrack, Track; --CD-- Six Down WHILE [DrawDown] => Coords, UseBoxTrack, Track; --CD-- [DrawUp] WHILE Six Down [BoxCursor] => Coords, DrawDiagonale; <> --CMOS [DrawDown] WHILE Seven Down => Coords, [WOffM], DrawNDifShortCon; Seven Up => [Reset]; Seven Down => [Reset]; <> --CMOS [DrawDown] WHILE Eight Down => Coords, [WOffM], DrawPDifShortCon; Eight Up => [Reset]; Eight Down => [Reset]; <> Arrow Down WHILE [CTRL] => [WOff], Pop; Arrow Down WHILE [CTTAB] => [WOff], Pop; Arrow Down WHILE [SHIFT] => [WOff], Pop; Arrow Down WHILE TAB Down => [WOff], Pop; Arrow Down => [Reset]; Arrow Up => [Reset]; <> --CM [DrawDown] WHILE Space Down => Coords, [WOff], SetStartOnMark, [ArrowTrack]; --CM Space Down WHILE [DrawDown] => Coords, [WOff], SetStartOnMark, [ArrowTrack]; --CM [DrawUp] WHILE Space Down => Coords, [WOff], MoveScreen, SetStartOnMark; --CM [MarkDown] WHILE Space Down => Coords, [WOff], SetStartOnMark, [BoxTrack]; --CM Space Down WHILE [MarkDown] => Coords, [WOff], SetStartOnMark, [BoxTrack]; --CM [MarkUp] WHILE Space Down => Coords, [WOff], ShowRect, SetStartOnMark; --CM [SelDown] WHILE Space Down => Coords, [WOff], SetStartOnMark, [BoxTrack]; --CM Space Down WHILE [SelDown] => Coords, [WOff], SetStartOnMark, [BoxTrack]; --CM [SelUp] WHILE Space Down => Coords, [WOff], ShowRectX, SetStartOnMark; --CM Space Down => [WOff], SetStartOnMark, UseBoxTrack; --CD-- [DrawUp] WHILE Space Down [ArrowCursor] => Coords, MoveScreen; --CD-- [MarkUp] WHILE Space Down [BoxCursor] => Coords, ShowRect; --CD-- [SelUp] WHILE Space Down [BoxCursor] => Coords, ShowRectX; --CD-- [MarkDown] WHILE Space Down => Coords, StopTrack, UseBoxTrack, Track; --CD-- [DrawDown] WHILE Space Down => Coords, StopTrack, UseArrowTrack, Track; --CD-- [SelDown] WHILE Space Down => Coords, StopTrack, UseBoxTrack, Track; --CD-- Space Down WHILE [DrawDown] [LCursor] => SwitchTrack; --CD-- Space Down WHILE [MarkDown] => Coords, UseBoxTrack, Track; --CD-- Space Down WHILE [SelDown] => Coords, UseBoxTrack, Track; --CM Space Down => [Reset]; --CM Space Up => [Reset]; <> --CM Ctrl Down [AMode] => SwitchTrack; --CM Spare3 Down [AMode] => SwitchTrack; --CD-- Spare3 Down WHILE [DrawDown] [LCursor] => Coords, AngleTrack, UseLTrack; --CD-- Ctrl Down WHILE [DrawDown] [LCursor] => Coords, AngleTrack, UseLTrack; --CD-- TAB Down WHILE [DrawDown] [LCursor]=> Coords, AngleTrack, UseLTrack; <> --CM LeftShift Down [AMode] => SwitchTrack; --CM RightShift Down [AMode] => SwitchTrack; --CD-- RightShift Down WHILE [DrawDown] [LCursor] => Coords, AngleTrack, UseLTrack; --CD-- LeftShift Down WHILE [DrawDown] [LCursor] => Coords, AngleTrack, UseLTrack; <> Quote Down WHILE [CTRL] WHILE [SHIFT] => [WOff], CheckConditions; Quote Down WHILE [CTRL] => [WOff], DrawCondition; Quote Up => [Reset]; Quote Down => [Reset]; <<>> <> Equal Down => [WOff], LambdaLeftS; <> BackSlash Down => [WOff], LambdaRightS; <<>> <> LF Down => [WOff], LambdaUpS; <> DEL Down => [WOff], LambdaDownS; <> Comma Down => [WOff], ScaleMoreDetail; <<>> <> Period Down => [WOff], ScaleLessDetail; <<>> <> Slash Down WHILE [SHIFT] => [WOff], Statistic; Slash Down => [WOff], DisplayViewers; <> --CM [SelDown] WHILE [SHIFT] => Coords, [WOff], AddSelectP; --CM [SelDown] WHILE [CTRL] => Coords, [WOff], AddSelectP; --CM [SelDown] => Coords, [WOff], OnlySelectP; --CD-- [SelUp] WHILE [SHIFT] => Coords, AddSelectP; --CD-- [SelUp] WHILE [CTRL] => Coords, AddSelectP; --CD-- [SelUp] => Coords, OnlySelectP; --CM [DrawDown] [AMode] => Coords, AngleTrack, [MStart], [LTrack]; --CM [DrawDown] [WMode] [BoxCursor] => Coords, [WOff], DrawWire, [MStop]; --CM [DrawDown] [WMode] => Coords, [WOffM]; --CM [DrawDown] [NWMode] => Coords, [WOn]; --CM [MarkDown] [NWMode] => Coords, [WOffM]; --CM [MarkDown] [WMode] => Coords, [WOffM], [WOn]; --CD-- [DrawUp] [LCursor] => Coords, DrawWire; --CD-- [SelDown] => Coords, StopTrack, UsePosTrack, Track; --CD-- [MarkDown] => Coords, StopTrack, UseDontTrack, Track; --CD-- [DrawDown] => Coords, StopTrack, UseLTrack, Track; --CD-- [DrawUp] => StopTrack; --CD-- [SelUp] => StopTrack; --CD-- [MarkUp] => StopTrack; Mouse => Coords, Track; ENDCASE.