DIRECTORY Buttons USING [Create], IO, Labels USING [Create], SoftcardOps, SoftcardToolPrivate; SoftcardToolMiscButtonsImpl: CEDAR PROGRAM IMPORTS Buttons, IO, Labels, SoftcardOps, SoftcardToolPrivate EXPORTS SoftcardToolPrivate = BEGIN OPEN IO, SoftcardToolPrivate; BuildMiscButtons: PUBLIC PROC[topViewer, sibx: Viewer] RETURNS[sib: Viewer] = { sib _ sibx; sib _ Buttons.Create[ info: [ name: " ResetBoard ", parent: topViewer, wx: leftEdge, wy: sib.wy + sib.wh + betweenHeight, wh: entryHeight, border: TRUE, scrollable: FALSE], font: activeFont, proc: ResetBoardProc ]; sib _ Buttons.Create[ info: [ name: " ReadClock ", parent: topViewer, wx: sib.wx+sib.ww+5, wy: sib.wy, wh: entryHeight, border: TRUE, scrollable: FALSE], font: activeFont, proc: ReadClockProc ]; sib _ Buttons.Create[ info: [ name: " ResetClock ", parent: topViewer, wx: sib.wx+sib.ww+5, wy: sib.wy, wh: entryHeight, border: TRUE, scrollable: FALSE], font: activeFont, proc: ResetClockProc ]; sib _ Buttons.Create[ info: [ name: " EUPBusData ", parent: topViewer, wx: leftEdge, wy: sib.wy + sib.wh + betweenHeight, wh: entryHeight, border: TRUE, scrollable: FALSE], font: activeFont, proc: EUPBusDataProc ]; sib _ Buttons.Create[ info: [ name: " IFUPBusData ", parent: topViewer, wx: sib.wx+sib.ww+5, wy: sib.wy, wh: entryHeight, border: TRUE, scrollable: FALSE], font: activeFont, proc: IFUPBusDataProc ]; sib _ Buttons.Create[ info: [ name: " EUPBusCmd ", parent: topViewer, wx: sib.wx+sib.ww+5, wy: sib.wy, wh: entryHeight, border: TRUE, scrollable: FALSE], font: activeFont, proc: EUPBusCmdProc ]; sib _ Buttons.Create[ info: [ name: " IFUPBusCmd ", parent: topViewer, wx: sib.wx+sib.ww+5, wy: sib.wy, wh: entryHeight, border: TRUE, scrollable: FALSE], font: activeFont, proc: IFUPBusCmdProc ]; sib _ Labels.Create[ info: [ name: "CacheStateMachines", parent: topViewer, wx: leftEdge, wy: sib.wy + sib.wh + betweenHeight, wh: entryHeight, border: FALSE, scrollable: FALSE], font: labelFont ]; sib _ Buttons.Create[ info: [ name: "ResetIFU", parent: topViewer, wx: sib.wx+sib.ww+5, wy: sib.wy, wh: entryHeight, border: TRUE, scrollable: FALSE], font: activeFont, proc: ResetIFUCacheStateProc ]; sib _ Buttons.Create[ info: [ name: "ResetEU", parent: topViewer, wx: sib.wx+sib.ww+5, wy: sib.wy, wh: entryHeight, border: TRUE, scrollable: FALSE], font: activeFont, proc: ResetIFUCacheStateProc ]; sib _ Labels.Create[ info: [ name: "Caches", parent: topViewer, wx: leftEdge, wy: sib.wy + sib.wh + betweenHeight, wh: entryHeight, border: FALSE, scrollable: FALSE], font: labelFont ]; sib _ Buttons.Create[ info: [ name: " DisableEU ", parent: topViewer, wx: sib.wx+sib.ww+5, wy: sib.wy, wh: entryHeight, border: TRUE, scrollable: FALSE], font: activeFont, proc: DisableEUCacheProc ]; sib _ Buttons.Create[ info: [ name: " DisableIFU ", parent: topViewer, wx: sib.wx+sib.ww+5, wy: sib.wy, wh: entryHeight, border: TRUE, scrollable: FALSE], font: activeFont, proc: DisableIFUCacheProc ]; sib _ Buttons.Create[ info: [ name: " FlushEU ", parent: topViewer, wx: sib.wx+sib.ww+5, wy: sib.wy, wh: entryHeight, border: TRUE, scrollable: FALSE], font: activeFont, proc: FlushEUCacheProc ]; sib _ Buttons.Create[ info: [ name: " FlushIFU ", parent: topViewer, wx: sib.wx+sib.ww+5, wy: sib.wy, wh: entryHeight, border: TRUE, scrollable: FALSE], font: activeFont, proc: FlushIFUCacheProc ]; }; ResetBoardProc: ClickProc = { SoftcardOps.ResetBoard[]; SetDragonStateLabelButton[stopped]; FOR index: SoftcardOps.MesaMapIndex IN [0..3] DO entry: SoftcardOps.MesaMapEntry; entry.dp _ index; SoftcardOps.WriteMesaMap[index, entry]; ENDLOOP; TSOutPutRope["ResetBoard has been done\n"]; }; ReadClockProc: ClickProc = { val: CARD32 = SoftcardOps.ReadClock[]; TSOutPutF[" Current clock reading is: %xH\n", IO.card[val] ]; }; EUPBusDataProc: ClickProc = { val: CARD32 = SoftcardOps.ReadEUPBusData[]; TSOutPutF[" EUPBusData: %xH\n", IO.card[val] ]; }; IFUPBusDataProc: ClickProc = { val: CARD32 = SoftcardOps.ReadIFUPBusData[]; TSOutPutF[" IFUPBusData: %xH\n", IO.card[val] ]; }; EUPBusCmdProc: ClickProc = { val: SoftcardOps.EUPBusCmd = SoftcardOps.ReadEUCmd[]; TSOutPutF[" EUPBusCmd: [userMode: %g, unspecifiedAsYet: %xH]\n", IO.bool[val.userMode], IO.int[val.unspecifiedAsYet] ]; }; IFUPBusCmdProc: ClickProc = { val: SoftcardOps.IFUPBusCmd = SoftcardOps.ReadIFUCmd[]; TSOutPutF[" IFUPBusCmd: %g\n", IO.rope[IF val = noAccess THEN "noAccess" ELSE "access"] ]; }; ResetEUCacheStateProc: ClickProc = { SoftcardOps.ResetEUCacheStateMachine[]; TSOutPutRope[" ResetEUCacheStateMachine has been done\n"]; }; ResetIFUCacheStateProc: ClickProc = { SoftcardOps.ResetIFUCacheStateMachine[]; TSOutPutRope[" ResetIFUCacheStateMachine has been done\n"]; }; ResetClockProc: ClickProc = { SoftcardOps.ResetClock[]; TSOutPutRope[" ResetClock has been done\n"]; }; DisableEUCacheProc: ClickProc = { SoftcardOps.DisableEUCache[]; TSOutPutRope[" DisableEUCache has been done\n"]; }; DisableIFUCacheProc: ClickProc = { SoftcardOps.DisableIFUCache[]; TSOutPutRope[" DisableIFUCache has been done\n"]; }; FlushEUCacheProc: ClickProc = { SoftcardOps.FlushEUCache[]; TSOutPutRope[" FlushEUCache has been done\n"]; }; FlushIFUCacheProc: ClickProc = { SoftcardOps.FlushIFUCache[]; TSOutPutRope[" FlushIFUCache has been done\n"]; }; END. fSoftcardToolMiscButtonsImpl.mesa Copyright ำ 1987 by Xerox Corporation. All rights reserved. Willie-Sue, March 18, 1987 3:35:31 pm PST * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * builds the miscellaneous buttons - sibx is the last button created in caller lines of miscellaneous buttons PBus stuff CacheStateMachines Caches ส˜codešœ ™ Kšœ<™