SoftcardToolMiscButtonsImpl.mesa
Copyright Ó 1987 by Xerox Corporation. All rights reserved.
Willie-Sue, March 18, 1987 3:35:31 pm PST
SoftcardToolMiscButtonsImpl:
CEDAR
PROGRAM
IMPORTS
Buttons, IO, Labels,
SoftcardOps, SoftcardToolPrivate
EXPORTS
SoftcardToolPrivate
= BEGIN OPEN IO, SoftcardToolPrivate;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
BuildMiscButtons:
PUBLIC
PROC[topViewer, sibx: Viewer]
RETURNS[sib: Viewer] = {
builds the miscellaneous buttons - sibx is the last button created in caller
sib ← sibx;
lines of miscellaneous buttons
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 ];
PBus stuff
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 ];
CacheStateMachines
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 ];
Caches
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"];
};
FlushEUCache
Proc: ClickProc = {
SoftcardOps.FlushEUCache[];
TSOutPutRope[" FlushEUCache has been done\n"];
};
FlushIFUCache
Proc: ClickProc = {
SoftcardOps.FlushIFUCache[];
TSOutPutRope[" FlushIFUCache has been done\n"];
};