; D1actions.asm--ActionBlock table and related statics ; 27 June 1983 .get "MMenus.d" ; OS .bext Noop ; MDISP .bext SetDisplay,Blink ; MMPRGN .bext SetAddr,SetValue,StepAddr,MPDMChange ; MMPRGNOV .bext SkipVEql,SkipVGr,SkipVLs,SkipVNEql,SkipVGrE,SkipVLsE .bext ChangeRadix,ShowMode,FillColumn,CmdAddrEq,CmdPrettyPrint ; MCMD .bext CmdRunProg,CmdDoRC,ReadCMenu,StartCmdOverlay .bext StartLargeOverlay,EndError,ExecuteCFile,CmdWriteState ; MCMDOV .bext CmdFinish,CmdSkipCmd,CmdStartWC,CmdStopWC,CmdShowCmds,CmdTimeOut .bext CmdConfirm,CmdReturn,CmdAbortCFile,CmdShowError,CmdOpenOutput .bext CmdCloseOutput,CmdWriteMessage,CmdDumpDisplay ; MBRKP .bext InsertBreak,RemoveBreak ; MGO .bext StartM,SingleStepM,CallWithAddr,StartWithAddr,StartBigOvlWithAddr .bext ProceedM ; MGOOVL .bext StartWithArgs ; MRGO .bext RepeatGo,RepeatSS ; MLOAD .bext InitLoad,LoadMB,LoadSyms,LoadData,CompareMB,DumpMB ; MTEST .bext DataTest,ContinueTest,FreeRunTest,TestAll,ContinueTAll,SkipTAll ; MFIELDLP .bext FieldTest ; MPESCAN .bext PEScan ; MDAYTIME .bext WriteDayTime ; D1GO .bext CallM,OpcodeStep ; D1POKE .bext SetPassive,UpdateVals ; D1TI .bext TiAct,RepT2 ; D1CONFIG .bext D1Config ; D1SPEED .bext D1ClockSpeed ; D1RESET .bext D1Reset ; D1VM .bext SetVirtP ; D1PRIN3 .bext ShowDMux ; D1SIMT .bext StartSim,SimTest ; D1LDRTEST .bext MicTest ; D1HWCHECK .bext HWCheck ; Defined here ; For MMENU mostly .bext ActionBlock,ActionPtr,LastAction .bext NoopAction,EscAction,CRAction,NewEscAction,NewCRAction .bextz LongOne .bext LongMinOne ; For MMPRGN .bext BugAddrAct,BugValAct,Plus1Act,Minus1Act,ColumnAct .bext OctAct,HexAct,DecAct,SearchAct,SymbolicAct,NumericAct ; For MCMD .bext CmdDumpAct,CmdStartWCAct,CmdStopWCAct,CmdShowCmdAct,CmdConcealAct .bext CmdErrorContinueAct,CmdErrorAbortAct,CmdCFileAbortAct .bext NHWCFActions,HWCFActions .bext FirstCmdAction ; Points at first command menu action .bext LastCmdAction ; Points at last action in main command menu ; For MGO .bext DetachAct,ExitAct ; For MTEST .bext ConTAct,FreeRunTAct,ConTAllAct,SkipTAllAct ; For D1RES .bext VirtAct,AbsAct,DMuxAct,ActiveAct,PassiveAct .txtm B .zrel LongOne: .LongOne .srel ActionBlock: .ActionBlock FirstCmdAction: .FirstCmdAction LastCmdAction: .LastCmdAction ActionPtr: (.LastAction-.ActionBlock+5)/5 LastAction: .LastAction BugAddrAct: .BugAddrAct BugValAct: .BugValAct Plus1Act: .Plus1Act Minus1Act: .Minus1Act ColumnAct: .ColumnAct OctAct: .OctAct HexAct: .HexAct DecAct: .DecAct NumericAct: .NumericAct SearchAct: .SearchAct SymbolicAct: .SymbolicAct CmdDumpAct: .CmdDumpAct CmdStartWCAct: .CmdStartWCAct CmdStopWCAct: .CmdStopWCAct CmdShowCmdAct: .CmdShowCmdAct CmdConcealAct: .CmdConcealAct CmdErrorContinueAct: .CmdErrorContinueAct CmdErrorAbortAct: .CmdErrorAbortAct CmdCFileAbortAct: .CmdCFileAbortAct DetachAct: .DetachAct ExitAct: .ExitAct ConTAct: .ConTAct FreeRunTAct: .FreeRunTAct ConTAllAct: .ConTAllAct SkipTAllAct: .SkipTAllAct VirtAct: .VirtAct AbsAct: .AbsAct DMuxAct: .DMuxAct ActiveAct: .ActiveAct PassiveAct: .PassiveAct NoopAction: .NoopAction ; These four are modified by DoAction and in Test and TestAll EscAction: .NoopAction CRAction: .NoopAction NewEscAction: .NoopAction NewCRAction: .NoopAction NHWCFActions: (.LastHWCFAction-.HWCFActions)/5 HWCFActions: .HWCFActions AddrTable0: .AddrTable0 AddrTable1: .AddrTable1 AddrTable2: .AddrTable2 ValTable0: .ValTable0 ValTable1: .ValTable1 ValTable2: .ValTable2 LongMinOne: .LongMinOne .nrel ; Tables used by MPD actions indexed by buttons BugAddrMenu: StandardMenu ; none StandardMenu ; 1 = Middle AddressMenu ; 2 = Bottom FillCMenu ; 3 = Middle+Bottom StandardMenu ; 4 = Top RadixMenu ; 5 = Top+Middle StandardMenu ; 6 = Top+Bottom StandardMenu ; 7 = all BugValMenu: StandardMenu StandardMenu StandardMenu DisplayModeMenu StandardMenu RadixMenu StandardMenu StandardMenu .AddrTable0: BugAddrMenu-. 0 .LongOne: 0 1 .AddrTable1: BugAddrMenu-. 1 .LongMinOne: 177777 177777 .AddrTable2: BugAddrMenu-. 2 .ValTable0: BugValMenu-. 0 .ValTable1: BugValMenu-. 1 .ValTable2: BugValMenu-. 2 ; An entry in the ActionBlock is: ; Name ; lvProc ; May be in overlay ; lvMProc ; Has to be resident because the MouseChange procedure ; ; will call this several times when the mouse moves ; ; across the item ; Arg ; Flags,,Char ; The self-relative name pointers here are converted to absolute by MINIT0 ; Flags below only apply to items between FirstCmdAction and LastCmdAction ifP = 100000 ; In primary command menu when PassiveOnly is true ifA = 40000 ; In primary command menu when PassiveOnly is false ; These flags apply to all commands ifEsc = 20000 ; Remember this action and repeat for subsequent <esc> ifNoRes = 10000 ; Don't reset CmdCommentStream and CmdCS1 before action ifResEsc = 4000 ; Reset <esc> action to Noop after this command ifTO = 2000 ; Requires preceding TimeOut in command file .ActionBlock: .BugAddrAct: BugAn-. SetAddr MPDMChange AddrTable0 0 .BugValAct: BugVn-. SetValue MPDMChange ValTable0 0 ; Actions in AddressMenu .Plus1Act: Plusn-. StepAddr MPDMChange AddrTable0 ifEsc .Minus1Act: Minn-. StepAddr MPDMChange AddrTable1 ifEsc ; Actions in RadixMenu (2 of these 3) .OctAct: Oct-. ChangeRadix MPDMChange ValTable0 0 .DecAct: Dec-. ChangeRadix MPDMChange ValTable1 0 .HexAct: Hex-. ChangeRadix MPDMChange ValTable2 0 ; Actions in DisplayMode menu (2 of these 3) .NumericAct: Num-. ShowMode MPDMChange ValTable0 0 .SearchAct: Search-. ShowMode MPDMChange ValTable1 0 .SymbolicAct: Sym-. ShowMode MPDMChange ValTable2 0 .ColumnAct: FillC-. FillColumn MPDMChange AddrTable0 0 ; **Begin Actions always appearing in main command menu** .FirstCmdAction: Runp-. CmdRunProg Noop 0 ifP+ifA+ifResEsc Readc-. CmdDoRC Noop ReadCMenu ifP+ifA+ifResEsc+ifNoRes .DetachAct: Dtachn-. CmdRunProg Noop 177777 ifA+ifP+ifResEsc .ExitAct: Exitn-. CmdFinish Noop 0 ifA+ifP+"Q Breakn-. CallWithAddr Noop InsertBreak ifA+"B KillBn-. CallWithAddr Noop RemoveBreak ifA+"K Startn-. StartWithAddr Noop StartM ifP+ifA+ifEsc+ifTO+"G SSn-. CallWithAddr Noop SingleStepM ifP+ifA+ifEsc+": OSn-. StartWithAddr Noop OpcodeStep ifP+ifA+ifEsc+ifTO Loadn-. InitLoad Noop LoadMB ifA+ifResEsc+"L LoadSn-. InitLoad Noop LoadSyms ifP+ifA+ifResEsc Compn-. InitLoad Noop CompareMB ifA+ifResEsc+"C Resetn-. StartCmdOverlay Noop D1Reset ifA+ifResEsc SetCn-. StartCmdOverlay Noop D1ClockSpeed ifA+ifResEsc Confign-. StartCmdOverlay Noop D1Config ifA+ifResEsc PEscn-. StartCmdOverlay Noop PEScan ifA+ifResEsc TAlln-. StartCmdOverlay Noop TestAll ifA+ifResEsc Testn-. StartCmdOverlay Noop DataTest ifA+ifResEsc SimTn-. StartLargeOverlay Noop SimTest ifA+ifEsc+ifTO SimGon-. StartBigOvlWithAddr Noop StartSim ifP+ifA+ifEsc+ifTO HWchkn-. StartCmdOverlay Noop HWCheck ifA+ifResEsc TiAn1-. TiAct Noop 1 ifP+ifA+ifEsc TiAn2-. TiAct Noop 2 ifP+ifA+ifEsc TiAn3-. TiAct Noop 3 ifP+ifA+ifEsc Repgn-. StartWithAddr Noop RepeatGo ifP+ifA+ifEsc+ifTO+"R RepSn-. StartWithAddr Noop RepeatSS ifP+ifA+ifEsc+ifTO+"S RepT2n-. StartCmdOverlay Noop RepT2 ifP+ifA+ifEsc+ifTO Fldn-. StartCmdOverlay Noop FieldTest ifA+ifResEsc ConsTn-. StartCmdOverlay Noop MicTest ifA+ifResEsc+ifTO .LastCmdAction: Updaten-. UpdateVals Noop 0 ifP ; **End of Actions always in main command menu** ; **Begin invisible, conditionally, or unusually displayed Actions** .DMuxAct: DMuxn-. ShowDMux Noop 0 ifA+ifP+ifNoRes .VirtAct: Virtn-. SetVirtP Noop 177777 ifNoRes .AbsAct: Abson-. SetVirtP Noop 0 ifNoRes .ActiveAct: Activen-. SetPassive Noop 0 ifNoRes+ifP+ifResEsc .PassiveAct: Passiven-. SetPassive Noop 177777 ifNoRes+ifA+ifResEsc Loaddt-. InitLoad Noop LoadData 0 Proceedn-. ; ";P" eq ";G" except BottomButton is used StartWithAddr Noop ProceedM ifP+ifA+ifEsc+ifTO+"P Addrn-. CmdAddrEq Noop 0 "= Calln-. StartWithArgs Noop CallM ifP+ifA+ifEsc+ifTO+") DispOf-. SetDisplay Noop 177777 ifNoRes+"O-100 DispOn-. SetDisplay Noop 0 ifNoRes+"D-100 TimeOn-. CmdTimeOut Noop 0 ifNoRes Confn-. CmdConfirm Noop 0 ifNoRes Skipn-. CmdSkipCmd Noop 0 ifNoRes BSkipn-. CmdSkipCmd Noop 177777 ifNoRes Retn-. CmdReturn Noop 0 ifNoRes Shown-. CmdShowError Noop 0 ifResEsc Openn-. CmdOpenOutput Noop 0 ifResEsc+ifNoRes Apendn-. CmdOpenOutput Noop -1 ifResEsc+ifNoRes Closen-. CmdCloseOutput Noop 0 ifResEsc+ifNoRes Writem-. CmdWriteMessage Noop 0 ifResEsc+ifNoRes DmpDsn-. CmdDumpDisplay Noop 0 ifResEsc+ifNoRes PrtPrn-. CmdPrettyPrint Noop 0 ifResEsc .CmdDumpAct: Dumpn-. InitLoad Noop DumpMB ifResEsc+"D .CmdStartWCAct: Swcn-. CmdStartWC Noop 0 0 .CmdStopWCAct: Spwcn-. CmdStopWC Noop 0 0 .CmdShowCmdAct: Shocn-. CmdShowCmds Noop 177777 0 .CmdConcealAct: Concn-. CmdShowCmds Noop 0 0 .CmdErrorContinueAct: Cconn-. EndError Noop 177777 0 .CmdErrorAbortAct: Caboa-. EndError Noop 0 0 .CmdCFileAbortAct: CabCF-. CmdAbortCFile Noop 1 ;Abort 1 cfile ifResEsc CabACF-. CmdAbortCFile Noop 177777 ;Abort all cfiles ifResEsc+"Z-100 Skven-. SkipVEql Noop 0 ifNoRes Skvgn-. SkipVGr Noop 0 ifNoRes Skvln-. SkipVLs Noop 0 ifNoRes Skvge-. SkipVGrE Noop 0 ifNoRes Skvle-. SkipVLsE Noop 0 ifNoRes Skvne-. SkipVNEql Noop 0 ifNoRes WrDTn-. WriteDayTime Noop 0 ifNoRes WrStn-. CmdWriteState Noop 0 ifResEsc .ConTAllAct: ConTAll-. StartCmdOverlay Noop ContinueTAll 0 .SkipTAllAct: SkpTAll-. StartCmdOverlay Noop SkipTAll 0 .ConTAct: ConTst-. StartCmdOverlay Noop ContinueTest ifTO .FreeRunTAct: FrTst-. StartCmdOverlay Noop FreeRunTest ifTO ; MINIT0 converts the special-. to absolute string pointers .HWCFActions: tpc-. ExecuteCFile 0 special-. ifNoRes tlink-. ExecuteCFile 2 special-. ifNoRes t-. ExecuteCFile 4 special-. ifNoRes rbase-. ExecuteCFile 6 special-. ifNoRes membase-. ExecuteCFile 10 special-. ifNoRes tioa-. ExecuteCFile 12 special-. ifNoRes md-. ExecuteCFile 14 special-. ifNoRes alufm-. ExecuteCFile 16 special-. ifNoRes brlo-. ExecuteCFile 20 special-. ifNoRes brhi-. ExecuteCFile 22 special-. ifNoRes vh0-. ExecuteCFile 24 special-. ifNoRes vh20-. ExecuteCFile 26 special-. ifNoRes hist0-. ExecuteCFile 32 special-. ifNoRes hist20-. ExecuteCFile 34 special-. ifNoRes base-. ExecuteCFile 37 special-. ifNoRes control-. ExecuteCFile 40 special-. ifNoRes proc-. ExecuteCFile 41 special-. ifNoRes ifud-. ExecuteCFile 42 special-. ifNoRes mmc-. ExecuteCFile 43 special-. ifNoRes mmd-. ExecuteCFile 44 special-. ifNoRes mmx-. ExecuteCFile 45 special-. ifNoRes dsketh-. ExecuteCFile 46 special-. ifNoRes .LastAction: dsp-. ExecuteCFile 47 special-. ifNoRes .LastHWCFAction: .blk (5*MaxActions)-(.LastAction-.ActionBlock) .NoopAction: NopA-. Blink Noop 0 ifNoRes NopA: .txt "Noop" ; Midas actions for name value menus BugAn: .txt "Addr" BugVn: .txt "Val" Plusn: .txt "A+1" Minn: .txt "A-1" Oct: .txt "Oct" Dec: .txt "Dec" Hex: .txt "Hex" Num: .txt "Num" Search: .txt "Search" Sym: .txt "Sym" FillC: .txt "FillC" ; Midas command-file actions for name value menus Skven: .txt "SkipE" Skvgn: .txt "SkipG" Skvln: .txt "SkipL" Skvge: .txt "SkipGE" Skvle: .txt "SkipLE" Skvne: .txt "SkipNE" ; Midas actions for command menu Runp: .txt "RunProg" Readc: .txt "RdCmds" Dtachn: .txt "Dtach" Exitn: .txt "Exit" Breakn: .txt "Brk" KillBn: .txt "UnBrk" Startn: .txt "Go" SSn: .txt "SS" Loadn: .txt "Ld" LoadSn: .txt "LdSyms" Dumpn: .txt "Dump" Compn: .txt "Cmpr" TAlln: .txt "TestAll" Testn: .txt "Test" Repgn: .txt "RepGo" RepSn: .txt "RepSS" Fldn: .txt "Fields" Swcn: .txt "WrtCmds" Spwcn: .txt "StopWrt" Shocn: .txt "ShowCmds" Concn: .txt "StopShow" ; Keyboard actions Addrn: .txt "Addr=" Proceedn: .txt "Proceed" DispOf: .txt "DisplayOff" DispOn: .txt "DisplayOn" ConTst: .txt "ConTst" FrTst: .txt "FrTst" ConTAll: .txt "ConTAll" SkpTAll: .txt "SkipTAll" ; Midas actions for command files only Loaddt: .txt "LdData" Cconn: .txt "Continue" Caboa: .txt "Abort" CabCF: .txt "Abort-CFile" CabACF: .txt "Abort-All-CFiles" TimeOn: .txt "TimeOut" Confn: .txt "Confirm" Skipn: .txt "Skip" BSkipn: .txt "BackSkip" Retn: .txt "Return" Shown: .txt "ShowError" Openn: .txt "OpenOutput" Apendn: .txt "AppendOutput" Closen: .txt "CloseOutput" Writem: .txt "WriteMessage" DmpDsn: .txt "DumpDisplay" WrDTn: .txt "WriteDT" PrtPrn: .txt "PrettyPrint" WrStn: .txt "WriteState" ; D1Midas actions for command menu Activen: .txt "Active" Passiven: .txt "Passive" Updaten: .txt "Update" Virtn: .txt "Virt" Abson: .txt "Abs" Resetn: .txt "Reset" SetCn: .txt "SetClk" Confign: .txt "Config" PEscn: .txt "PEscan" SimTn: .txt "SimTest" SimGon: .txt "SimGo" HWchkn: .txt "HWchk" OSn: .txt "OS" Calln: .txt "Call" TiAn1: .txt "T1" TiAn2: .txt "T2" TiAn3: .txt "T3" RepT2n: .txt "RepT2" ConsTn: .txt "LDRtest" DMuxn: .txt "DMux" ; Displayed "DMux", "OldDMux", "DWrong", ; or "DChk" in command menu. ; D1Midas actions in RdCmds menu. Names must not conflict with any action ; names used elsewhere in Midas or won't be able to do the other actions. tpc: .txt "tpc" tlink: .txt "tlink" t: .txt "t" rbase: .txt "rbase" membase: .txt "membase" tioa: .txt "tioa" md: .txt "md" alufm: .txt "alufm" brlo: .txt "brlo" brhi: .txt "brhi" vh0: .txt "vh0" vh20: .txt "vh20" hist0: .txt "hist0" hist20: .txt "hist20" base: .txt "base" control: .txt "control" proc: .txt "proc" ifud: .txt "ifud" mmc: .txt "mmc" mmd: .txt "mmd" mmx: .txt "mmx" dsketh: .txt "dsketh" dsp: .txt "dsp" special: .txt "SPECIAL" .end