<> <> <> <> <<>> DIRECTORY DragOpsCross USING [bytesPerWord, EUAuxRegs, EUConstants, EUStackSize, IFUStackSize, Word]; DebuggerDefs: CEDAR DEFINITIONS = { Word: TYPE = DragOpsCross.Word; bytesPerWord: CARDINAL = DragOpsCross.bytesPerWord; IFUStackSize: NAT = DragOpsCross.IFUStackSize; EUStackSize: NAT = DragOpsCross.EUStackSize; EUAuxRegs: NAT = DragOpsCross.EUAuxRegs; EUConstants: NAT = DragOpsCross.EUConstants; <> withSoftCard: BOOLEAN = TRUE; <> massiveTesting: BOOLEAN = TRUE; <> debugBase: LONG CARDINAL = 1002400B; <> debuggerBasePC: LONG CARDINAL = 1004000B * bytesPerWord; <> userBasePC: LONG CARDINAL = 1010000B * bytesPerWord; --debuggerLoopCount: CARDINAL = 0; debuggerProceed: CARDINAL = 1; --0 when Dragon running, 1 at debugger's wait loop debuggerOpcode: CARDINAL = 2; --Trap opcode causing debugger entry debuggerAlphaBeta: CARDINAL = 3; --Alpha-Beta of halting opcode debuggerS: CARDINAL = 4; --S at onset of halting opcode debuggerFrame: CARDINAL = 5; --No. frames in use, including that created by entry Xop debuggerCarry: CARDINAL = 6; <> euRegBase: CARDINAL = 7; debuggerSLimit: CARDINAL = euRegBase + 160; <> ifuRegBase: CARDINAL = debuggerSLimit + 1; }.