<<-- ///cd17/chipndalecmos.TIP>> <<-- Copyright © 1984 by Xerox Corporation. All rights reserved.>> <<-- Created by: Christian Jacobi, June 1, 1984 5:25:04 pm PDT>> <<-- Last Edited by: Monier, July 25, 1984 7:42:41 pm PDT>> <<-- Last Edited by: Christian Jacobi, July 28, 1984 3:45:24 pm PDT>> [DEF,LeftDown,(Red Down)] [DEF,LeftUp,(Red Up)] [DEF,MiddleDown,(Yellow Down)] [DEF,MiddleUp,(Yellow Up)] [DEF,RightDown,(Blue Down)] [DEF,RightUp,(Blue Up)] [DEF,CTRL,(Ctrl Down)] [DEF,SHIFT,(LeftShift Down | RightShift Down)] [DEF,LEFTSH,(LeftShift Down | Lock 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,InFooMode,(WHILE ChipndaleXMode)]>> <<[DEF,NotInFooMode,(WHILE ChipndaleNXMode)]>> <<[DEF,ClearFooMode,(SetXModeOff)]>> <<[DEF,SetFooMode,(SetXModeOn)]>> [DEF,Reset,(StopTrack, UseDontTrack, Track)] [DEF,ResetNoTrack,(StopTrack, UseDontTrack)] [DEF,FirstSelect,(Coords, ReSelectOnlyP, Track)] [DEF,ReselectLast,(Coords, DeSelectLP, AddSelectP, Track)] [DEF,SingleSelect,(Coords, OnlySelectP, Track)] [DEF,BoxTracking,(Coords, StopTrack, UseBoxTrack, Track)] [DEF,ArrowTracking,(Coords, StopTrack, UseArrowTrack, Track)] [DEF,Menu, (~1 Down WHILE Space Down WHILE [RightUp] WHILE [LeftUp] WHILE [MiddleUp] => ~2; Space Down WHILE ~1 Down WHILE [RightUp] WHILE [LeftUp] WHILE [MiddleUp] => ~2)] <<~1 represent's key; ~2 represent's Menu atom to call>> <<>> [DEF,CatchUp,(~1 Up => StopTrack, UseDontTrack, Track)] <<~1 represent's key to catch on up>> [DEF,Catch,(~1 Down => StopTrack, UseDontTrack, Track; [CatchUp, ~1]; [MiddleDown] WHILE ~1 Down => StopTrack, UseDontTrack, Track)] <<~1 represent's key to catch on up, down, middle down>> SELECT TRIGGER FROM <> Mouse => Coords, Track; <> <> Lock Down => TestDifFlipToPWorld; Lock Up => TestDifFlipToNWorld; << >> <> <> [RightDown] WHILE ESC Down WHILE Space Down => Coords, AddSelectLevel; <> [LeftDown] WHILE ESC Down => DeSelectS; [RightDown] WHILE ESC Down => SelectAll; <> [MiddleDown] WHILE ESC Down WHILE TAB Down => AbortCommand; [MiddleDown] WHILE ESC Down WHILE [CTRL] => AbortCommand; [MiddleDown] WHILE ESC Down => StopDrawing; [Catch, ESC]; <> <> [Menu, G, GlobalMenu]; [Menu, V, ViewerMenu]; [Menu, D, DirectoryMenu]; [Menu, I, IOMenu]; [Menu, O, IOMenu]; [Menu, P, ProgramMenu]; [Menu, T, TransformS]; [Menu, C, CellMenu]; <> <> [RightDown] WHILE A Down => [Reset]; [LeftUp] WHILE A Down WHILE [CTRL] => Coords, StretchStepLeftS; [RightUp] WHILE A Down WHILE [CTRL] => Coords, StretchStepLeftS; [LeftUp] WHILE A Down => Coords, LambdaLeftS; [RightUp] WHILE A Down => Coords, LambdaLeftS; [Catch, A]; <> <> [RightDown] WHILE B Down => [ArrowTracking]; B Down WHILE [LeftDown] => [ArrowTracking]; [LeftDown] WHILE B Down => [FirstSelect], [ArrowTracking]; Space Down WHILE [LeftDown] WHILE B Down => [SingleSelect], [ArrowTracking]; [LeftUp] WHILE B Down [ArrowCursor] => Coords, SplitWireS; [RightUp] WHILE B Down [ArrowCursor] => Coords, SplitWireS; [Catch, B]; <> [RightDown] WHILE C Down => [Reset]; <> [MiddleDown] WHILE C Down WHILE X Down => CreateCellSAndName; [MiddleDown] WHILE C Down WHILE V Down => PopReplace; <> [LeftUp] WHILE C Down WHILE V Down => TransformToCellS; [RightUp] WHILE C Down WHILE V Down => TransformToCellS; <> [MiddleDown] WHILE C Down => Coords, DrawCell; [LeftUp] WHILE C Down WHILE X Down => ExpandS; [RightUp] WHILE C Down WHILE X Down => ExpandS; <> [LeftUp] WHILE C Down => PushS; [RightUp] WHILE C Down => PopMenu; <<>> [Catch, C]; <<>> <> <> <> [RightDown] WHILE D Down => [Reset]; [MiddleDown] WHILE D Down WHILE V Down => PopFlush; [MiddleDown] WHILE D Down => Undel; [LeftUp] WHILE D Down => DeleteS; [RightUp] WHILE D Down => DeleteS; [Catch, D]; <> <> [RightDown] WHILE E Down => [Reset]; Space Down WHILE E Down WHILE [LeftDown] => [SingleSelect]; [LeftUp] WHILE E Down => MirrorYS; [RightUp] WHILE E Down => MirrorYS; [Catch, E]; <> [RightDown] WHILE F Down => [Reset]; [LeftUp] WHILE F Down => Coords, ShrinkStepS; [RightUp] WHILE F Down => Coords, ShrinkStepS; [Catch, F]; <> [RightDown] WHILE G Down => [Reset]; [LeftUp] WHILE G Down => Coords, GrowStepS; [RightUp] WHILE G Down => Coords, GrowStepS; [Catch, G]; <> [Catch, H]; <<>> <> [Catch, I]; <> [Catch, J]; <<>> <> [Catch, K]; <<>> <> [Catch, L]; <> [Catch, M]; <<>> <> <> [RightDown] WHILE N Down => [Reset]; Space Down WHILE N Down WHILE [LeftDown] => [SingleSelect]; [MiddleDown] WHILE N Down => Coords, EnterNameS; [LeftUp] WHILE N Down => DisplayNames; [RightUp] WHILE N Down => DisplayNames; <<>> [Catch, N]; <<>> <> [Catch, O]; <> [RightDown] WHILE P Down => [Reset]; <> Space Down WHILE P Down WHILE [LeftDown] => [SingleSelect]; [LeftUp] WHILE P Down => ShowPropertiesS; [RightUp] WHILE P Down => ShowPropertiesS; <> [MiddleDown] WHILE P Down => EnterPropertyS; [Catch, P]; <> <> Q Down WHILE [LeftDown] => [ArrowTracking]; [LeftDown] WHILE Q Down => [FirstSelect], [ArrowTracking]; Space Down WHILE [LeftDown] WHILE Q Down => [SingleSelect], [ArrowTracking]; [LeftUp] WHILE Q Down WHILE TAB Down [ArrowCursor] => Coords, CopyS; [LeftUp] WHILE Q Down WHILE [CTRL] [ArrowCursor] => Coords, StretchS; [LeftUp] WHILE Q Down WHILE [SHIFT] [ArrowCursor] => Coords, StretchyMoveS; [LeftUp] WHILE Q Down [ArrowCursor] => Coords, MoveS; <<>> <> Q Down WHILE [RightDown] => [ArrowTracking]; [RightDown] WHILE Q Down => [ArrowTracking]; Space Down WHILE [RightDown] WHILE Q Down => [ReselectLast], [ArrowTracking]; [RightUp] WHILE Q Down WHILE TAB Down [ArrowCursor] => Coords, CopyS; [RightUp] WHILE Q Down WHILE [SHIFT] [ArrowCursor] => Coords, StretchyMoveS; [RightUp] WHILE Q Down WHILE [CTRL] [ArrowCursor] => Coords, StretchS; [RightUp] WHILE Q Down [ArrowCursor] => Coords, MoveS; <> [MiddleDown] WHILE Q Down WHILE [LEFTSH] => Coords, DrawPXstr; [MiddleDown] WHILE Q Down => Coords, DrawNXstr; [Catch, Q]; <<>> <<>> <> <> Space Down WHILE R Down WHILE [LeftDown] => [SingleSelect]; [LeftUp] WHILE R Down WHILE TAB Down => RenameS; [RightDown] WHILE R Down => [Reset]; [RightUp] WHILE R Down WHILE TAB Down => RenameS; [LeftUp] WHILE R Down => RotS; [RightUp] WHILE R Down => RotS; <<>> [Catch, R]; <> <> [RightDown] WHILE S Down => [Reset]; [LeftUp] WHILE S Down WHILE [CTRL] => Coords, StretchStepRightS; [RightUp] WHILE S Down WHILE [CTRL] => Coords, StretchStepRightS; [LeftUp] WHILE S Down => Coords, LambdaRightS; [RightUp] WHILE S Down => Coords, LambdaRightS; [Catch, S]; <<>> <> <> [RightDown] WHILE T Down => [Reset]; Space Down WHILE T Down WHILE [LeftDown] => [SingleSelect]; [LeftUp] WHILE T Down => MirrorS; [RightUp] WHILE T Down => MirrorS; [Catch, T]; <> [Catch, U]; <> <> <> [RightDown] WHILE V Down => [Reset]; [RightUp] WHILE V Down => PushS; [LeftUp] WHILE V Down => PushS; [MiddleDown] WHILE V Down WHILE X Down => PopNew; [MiddleDown] WHILE V Down => PopMenu; [Catch, V]; <> <> [RightDown] WHILE W Down => [Reset]; [LeftUp] WHILE W Down WHILE [CTRL] => Coords, StretchStepUpS; [RightUp] WHILE W Down WHILE [CTRL] => Coords, StretchStepUpS; [LeftUp] WHILE W Down => Coords, LambdaUpS; [RightUp] WHILE W Down => Coords, LambdaUpS; <> [MiddleDown] WHILE W Down WHILE [LEFTSH] => Coords, DrawAnglePXstr; [MiddleDown] WHILE W Down => Coords, DrawAngleNXstr; [Catch, W]; <> <> <> [RightDown] WHILE X Down => [Reset]; [RightUp] WHILE X Down WHILE Space Down => Coords, SelectADesign; --is textually after expand [LeftUp] WHILE X Down WHILE Space Down => Coords, SelectADesign; --is textually after expand [MiddleDown] WHILE X Down WHILE Space Down => Coords, DrawCorrespondingObject; [MiddleDown] WHILE X Down => Coords, DrawImported; <<>> <<>> [Catch, X]; <> [Catch, Y]; <<>> <> <> [RightDown] WHILE Z Down => [Reset]; [LeftUp] WHILE Z Down WHILE [CTRL] => Coords, StretchStepDownS; [RightUp] WHILE Z Down WHILE [CTRL] => Coords, StretchStepDownS; [LeftUp] WHILE Z Down => Coords, LambdaDownS; [RightUp] WHILE Z Down => Coords, LambdaDownS; [Catch, Z]; <> < [ResetNoTrack]; -- this is used to return version number>> [CatchUp, Zero]; <<>> <> <> [MiddleDown] WHILE One Down WHILE TAB Down => Coords, DrawNBurCon; <> [MiddleDown] WHILE One Down WHILE Two Down WHILE [LEFTSH] => Coords, DrawPButCon; [MiddleDown] WHILE One Down WHILE Two Down => Coords, DrawNButCon; <> One Down WHILE TAB Down => [ResetNoTrack]; One Down WHILE Two Down => [ResetNoTrack]; One Down WHILE [LEFTSH] => SELECT TRIGGER FROM [MiddleDown] => Coords, DrawPDifCon; One Up => SetLayerPDif; ENDCASE => [ResetNoTrack]; [MiddleDown] WHILE One Down WHILE [LEFTSH] => Coords, DrawPDifCon; <<>> <> One Down => SELECT TRIGGER FROM [MiddleDown] => Coords, DrawNDifCon; One Up => SetLayerNDif; ENDCASE => [ResetNoTrack]; [MiddleDown] WHILE One Down => Coords, DrawNDifCon; [CatchUp, One]; <<>> <> <> Two Down WHILE One Down => [ResetNoTrack]; Two Down => SELECT TRIGGER FROM [MiddleDown] => Coords, DrawPolCon; Two Up => SetLayerPol; ENDCASE => [ResetNoTrack]; [MiddleDown] WHILE Two Down => Coords, DrawPolCon; [CatchUp, Two]; <> <> Three Down => SELECT TRIGGER FROM [MiddleDown] => Coords, DrawMm2Con; Three Up => SetLayerMet; ENDCASE => [ResetNoTrack]; [MiddleDown] WHILE Three Down => Coords, DrawMm2Con; [CatchUp, Three]; <> <> Four Down WHILE [LEFTSH] => SELECT TRIGGER FROM [MiddleDown] => Coords, DrawNWCntCon; Four Up => SetLayerNWCnt; ENDCASE => [ResetNoTrack]; [MiddleDown] WHILE Four Down WHILE [LEFTSH] => Coords, DrawNWCntCon; Four Down => SELECT TRIGGER FROM [MiddleDown] => Coords, DrawPWCntCon; Four Up => SetLayerPWCnt; ENDCASE => [ResetNoTrack]; [MiddleDown] WHILE Four Down => Coords, DrawPWCntCon; [CatchUp, Four]; <> <> Five Down => SetLayerNWell; [CatchUp, Five]; <<>> <> <> Six Down => SetLayerMet2; [CatchUp, Six]; <> [Catch, Seven]; <> [Catch, Eight]; <> <> [LeftDown] WHILE Arrow Down => Coords, Debug; [MiddleDown] WHILE Arrow Down => Coords, Debug; [RightDown] WHILE Arrow Down => Coords, Debug; [Catch, Arrow]; <> <> [LeftDown] WHILE Quote Down => [BoxTracking]; [MiddleDown] WHILE Quote Down => [BoxTracking]; [RightDown] WHILE Quote Down => [BoxTracking]; <> [LeftUp] WHILE Quote Down WHILE [SHIFT] [BoxCursor] => Coords, VersatecBWPlot; [MiddleUp] WHILE Quote Down WHILE [SHIFT] [BoxCursor] => Coords, VersatecBWPlot; [RightUp] WHILE Quote Down WHILE [SHIFT] [BoxCursor] => Coords, VersatecBWPlot; <<>> <> [LeftUp] WHILE Quote Down [BoxCursor] => Coords, VersatecColorPlot; [MiddleUp] WHILE Quote Down [BoxCursor] => Coords, VersatecColorPlot; [RightUp] WHILE Quote Down [BoxCursor] => Coords, VersatecColorPlot; [Catch, Quote]; <<>> <> [RightDown] WHILE LeftBracket Down => [Reset]; <> [LeftUp] WHILE LeftBracket Down WHILE RightBracket Down => AlterS; [RightUp] WHILE LeftBracket Down WHILE RightBracket Down => AlterS; <<>> <> [LeftUp] WHILE LeftBracket Down => Coords, IncCountS; [RightUp] WHILE LeftBracket Down => Coords, IncCountS; [Catch, LeftBracket]; <> [RightDown] WHILE RightBracket Down => [Reset]; <> [LeftUp] WHILE RightBracket Down => Coords, DecCountS; [RightUp] WHILE RightBracket Down => Coords, DecCountS; [Catch, RightBracket]; <<>> <> <> [RightDown] WHILE Equal Down => [Reset]; [MiddleDown] WHILE Equal Down => [ArrowTracking]; [MiddleUp] WHILE Equal Down [ArrowCursor] WHILE [SHIFT] => Coords, ChangeRepetition; [MiddleUp] WHILE Equal Down [ArrowCursor] => Coords, DrawRepetition; [Catch, Equal]; <> Dash Down WHILE [SHIFT] => Coords, AddAlignMark; Dash Down WHILE [CTRL] => Coords, AddStretchLine; Dash Down WHILE TAB Down => Coords, RunTiler; [Catch, Dash]; <> <> [RightDown] WHILE BackSlash Down => [Reset]; [LeftUp] WHILE BackSlash Down => Coords, DrawConditionS; [MiddleUp] WHILE BackSlash Down => Coords, DrawConditionS; [RightUp] WHILE BackSlash Down => Coords, DrawConditionS; [Catch, BackSlash]; <> <> [LeftUp] WHILE SemiColon Down WHILE [SHIFT] => RemovePinGraphicModeS; [RightUp] WHILE SemiColon Down WHILE [SHIFT] => RemovePinGraphicModeS; [LeftUp] WHILE SemiColon Down => PinGraphicModeS; [RightUp] WHILE SemiColon Down => PinGraphicModeS; [MiddleDown] WHILE SemiColon Down => [BoxTracking]; [MiddleUp] WHILE SemiColon Down [BoxCursor] => Coords, DrawPin; [Catch, SemiColon]; <<>> <> [Catch, LF]; <> [Catch, DEL]; <<>> <> <> Comma Down => ScaleMoreDetail; [CatchUp, Comma]; <>> <> Period Down => ScaleLessDetail; [CatchUp, Period]; <<>> < )>> <> [RightDown] WHILE Slash Down => [Reset]; [MiddleDown] WHILE Slash Down => Coords, SpinifexHighlightNodeP; [LeftUp] WHILE Slash Down => DisplayHierarchyS; [RightUp] WHILE Slash Down => DisplayHierarchyS; <> Slash Down WHILE [SHIFT] => ShowErrors; Slash Down WHILE [CTRL] => Statistic; <<>> [Catch, Slash]; <> [Catch, Keyset1]; <<>> <> [Catch, Keyset2]; <<>> <> [Catch, Keyset3]; <<>> <> [Catch, Keyset4]; <<>> <> [Catch, Keyset5]; <<>> <> [Catch, BS]; <<>> <> [Catch, Spare2]; <<>> <> [Catch, Spare3]; <<>> <> <> [LeftDown] WHILE Space Down WHILE TAB Down => DeSelectS; [LeftDown] WHILE Space Down => SELECT TRIGGER FROM [LeftUp] BEFORE 200 => ResetScaleSel; ENDCASE => [BoxTracking]; [LeftUp] WHILE Space Down [BoxCursor] => Coords, ShowRect; <> [MiddleDown] WHILE Space Down WHILE TAB Down => ResetScaleAll; [MiddleDown] WHILE Space Down => SELECT TRIGGER FROM [MiddleUp] BEFORE 200 => ResetScaleTop; ENDCASE => [ArrowTracking]; [MiddleUp] WHILE Space Down [ArrowCursor] => Coords, MoveScreen; <> [RightDown] WHILE Space Down WHILE TAB Down => SelectAll; [RightDown] WHILE Space Down => SELECT TRIGGER FROM [RightUp] BEFORE 200 => DisplayViewers; ENDCASE => [BoxTracking]; [RightUp] WHILE Space Down [BoxCursor] => Coords, ShowRectX; <<>> <> <> [LeftDown] WHILE [SHIFT] WHILE TAB Down WHILE [CTRL] => [BoxTracking]; [LeftUp] [BoxCursor] WHILE TAB Down WHILE [SHIFT] WHILE [CTRL] => Coords, AreaDeSelectTouching; <> [LeftDown] WHILE [CTRL] WHILE TAB Down => [BoxTracking]; [LeftUp] [BoxCursor] WHILE TAB Down WHILE [CTRL] => Coords, DeSelectS, AreaAddSelectTouching; <> [LeftDown] WHILE TAB Down WHILE [SHIFT] => [BoxTracking]; [LeftUp] WHILE TAB Down [BoxCursor] WHILE [SHIFT]=> Coords, AreaOnlySelect; <> [LeftDown] WHILE TAB Down => [BoxTracking]; [LeftUp] WHILE TAB Down [BoxCursor] => Coords, AreaOnlySelect; <> [LeftDown] WHILE [SHIFT] => [SingleSelect]; <> [LeftDown] => [FirstSelect]; Space Down WHILE [LeftDown] => [SingleSelect]; <<>> <> <> [MiddleDown] WHILE TAB Down WHILE Space Down => Coords, AddSelectLevel; <> [MiddleDown] WHILE TAB Down => Coords, SetLayerP; <> [MiddleDown] WHILE [CTRL] => SELECT TRIGGER FROM [MiddleUp] BEFORE 200 => Coords, Statistic; ENDCASE => [ArrowTracking]; [MiddleUp] WHILE [CTRL] [ArrowCursor] => Coords, Coordinates; [MiddleDown] => Coords, StopTrack, UseLTrack, Track; Space Down WHILE [MiddleDown] [LCursor] => SwitchTrack, Track; LeftShift Down WHILE [MiddleDown] [LCursor] => Coords, AngleTrack, UseLTrack, Track; [MiddleUp] [LCursor] => Coords, DrawWire; <> <> [RightDown] WHILE [SHIFT] WHILE TAB Down WHILE [CTRL] => [BoxTracking]; [RightUp] [BoxCursor] WHILE TAB Down WHILE [SHIFT] WHILE [CTRL] => Coords, AreaDeSelectTouching; <> [RightDown] WHILE [CTRL] WHILE TAB Down => [BoxTracking]; [RightUp] [BoxCursor] WHILE TAB Down WHILE [CTRL] => Coords, AreaAddSelectTouching; <> [RightDown] WHILE TAB Down WHILE [SHIFT] => [BoxTracking]; [RightUp] WHILE TAB Down [BoxCursor] WHILE [SHIFT]=> Coords, AreaDeSelect; <> [RightDown] WHILE TAB Down => [BoxTracking]; [RightUp] WHILE TAB Down [BoxCursor] => Coords, AreaAddSelect; <> [RightDown] WHILE [SHIFT] => Coords, DeSelectFP; <> [RightDown] => Coords, AddSelectP; Space Down WHILE [RightDown] => [ReselectLast]; <<>> <> Zero Down => ChipndaleCmosX1; <<>> <> [LeftDown] => Coords, [Reset]; [RightDown] => Coords, [Reset]; [MiddleDown] => Coords, [Reset]; [LeftUp] => Coords, [Reset]; [RightUp] => Coords, [Reset]; [MiddleUp] => Coords, [Reset]; ENDCASE. <> <> <<>> <<>> <<>> <<>>