DIRECTORY PrincOps USING [shortPointerSpan, zOR, zLINI, zMISC]; DoradoInputOutput: DEFINITIONS = BEGIN IOAddress: TYPE = [0..377B]; Input: PROC [IOAddress] RETURNS [WORD] = MACHINE CODE {PrincOps.zMISC, 5}; InputNoPE: PROC [IOAddress] RETURNS [WORD] = MACHINE CODE {PrincOps.zLINI; PrincOps.zOR; PrincOps.zMISC, 5}; Output: PROC [datum: WORD, register: IOAddress] = MACHINE CODE {PrincOps.zMISC, 6}; EventCounterControl: TYPE = MACHINE DEPENDENT RECORD [ loadInsSet (0: 0..0): BOOL _ FALSE, unused1 (0: 1..3): [0..7] _ 0, enableA (0: 4..4): BOOL, -- enable event counter A enableB (0: 5..5): BOOL, -- enable event counter B unused2 (0: 6..7): [0..3] _ 0, eventTypeA (0: 8..10): { true(0), hold(1), procRef(2), ifuJump(3), miss(4), backPanelA(5), backPanelC(6), backPanelE(7)} _ true, unused3 (0: 11..11): [0..1] _ 0, eventTypeB (0: 12..14): { true(0), hold(1), ifuRef(2), ifuNotReady(3), miss(4), backPanelB(5), backPanelC(6), backPanelD(7)} _ true, tasks (0: 15..15): {emuAndFaultOnly(0), all(1)} _ emuAndFaultOnly ]; StartEventCounters: PROC [EventCounterControl] = MACHINE CODE {PrincOps.zMISC, 240B}; EventCounterTable: TYPE = MACHINE DEPENDENT RECORD [ eventALo, eventAMid, eventAHi: CARDINAL, eventBLo, eventBMid, eventBHi: CARDINAL ]; ReadEventCounters: PROC [LONG POINTER TO EventCounterTable] = MACHINE CODE {PrincOps.zMISC, 241B}; StopEventCounters: PROC = MACHINE CODE {PrincOps.zMISC, 242B}; ExternalInput: PROC RETURNS [WORD] = MACHINE CODE {PrincOps.zMISC, 12B}; ExternalOutput: PROC [datum: WORD] = MACHINE CODE {PrincOps.zMISC, 13B}; PCHistogram: TYPE = ARRAY [0..4095] OF LONG CARDINAL; SetPCHistogram: PROC [LONG POINTER TO PCHistogram --NIL to disable--] = MACHINE CODE {PrincOps.zMISC, 243B}; MufManArg: TYPE = MACHINE DEPENDENT RECORD [ useDMD (0: 0..0): BOOL, unused (0: 1..3): [0..7] _ NULL, dMuxAddr (0: 4..15): DMuxAddr ]; DMuxAddr: TYPE = [0..7777B]; MufManResult: TYPE = MACHINE DEPENDENT RECORD [ dMuxData (0: 0..0): [0..1], unused (0: 1..15): [0..77777B] ]; RWMufMan: PROC [MufManArg] RETURNS [MufManResult] = MACHINE CODE {PrincOps.zMISC, 246B}; ResetEther: PROC = MACHINE CODE {PrincOps.zMISC, 247B}; GetMemConfig: PROC RETURNS [realPages, virtualBanks: CARDINAL] = MACHINE CODE {PrincOps.zMISC, 251B}; pagesPerBank: CARDINAL = PrincOps.shortPointerSpan; -- wordsPerBank/wordsPerPage Halt: PROC [data: WORD] = MACHINE CODE {PrincOps.zMISC, 252B}; SetDisplayFieldRate: PROC [sync, topBorder, visible: CARDINAL] = MACHINE CODE {PrincOps.zMISC, 253B}; ResetDisk: PROC [mode: MACHINE DEPENDENT {normal(0), disable(1)}] = MACHINE CODE {PrincOps.zMISC, 254B}; SetIntervalTimer: PROC [time: CARDINAL] = MACHINE CODE {PrincOps.zMISC, 255B}; savedCursor: ARRAY [0..16) OF WORD; millisecondsPerTick: CARDINAL; END.  DoradoInputOutput.mesa Copyright c 1985 by Xerox Corporation. All rights reserved. Taft, January 14, 1984 4:39 pm Levin, April 7, 1983 6:27 pm Birrell, August 18, 1983 1:55 pm Russ Atkinson (RRA) February 19, 1985 2:03:22 pm PST Doug Wyatt, April 12, 1985 2:08:20 pm PST Slow I/O system Read one word from specified slow I/O address Input with parity checking disabled. Write one word to specified slow I/O address Event counter and external I/O system Read one word from External I/O port (event counter A must be disabled) Write one word to External I/O port (event counter B must be disabled) Micro-PC sampling machinery Muffler/Manifold system. Miscellaneous machine-dependent opcodes Reset Ethernet hardware and tasks Get memory configuration Halt the Dorado, leaving a specified value on the BMux for the BaseBoard to read Change the refresh rate on the display Reset disk hardware and task. mode=disable causes disk task to go catatonic. Set interval timer wakeup time Interface variables Exported from ProcessorHeadDorado to TerminalHeadDorado for saving cursor across world-swaps. Exported from ProcessorHeadDorado to TerminalHeadDorado to set the process tick rate. Κ»– "cedar" style˜codešœ™Kšœ Οmœ1™Kšœ,™,Kšœ˜——™%š œžœžœž œžœ˜6Kšœžœžœ˜#K˜KšœžœΟc˜2Kšœžœ‘˜2K˜˜K˜2K˜4—K˜ ˜K˜5K˜4—K˜AK˜K˜—š œžœžœž˜=Kšœ˜K˜—š œžœžœž œžœ˜4Kšœžœ˜(Kšœž˜'Kšœ˜K˜—š  œžœžœžœžœžœž˜JKšœ˜K˜—š œžœžœž˜&Kšœ˜K˜—š   œžœžœžœžœž˜1K™GKšœ˜K˜—š  œžœ žœžœž˜1K™FKšœ˜K˜——šœ™š œ žœžœ žœžœžœ˜5K˜—š œžœžœžœžœ ‘Πck‘ œžœž˜TKšœ˜K˜——šœ™š œ žœžœž œžœ˜,Kšœžœ˜Kšœžœ˜ K˜K˜K˜—šœ žœ˜K˜—š œžœžœž œžœ˜/K˜K˜K˜K˜—š  œžœ žœžœž˜@Kšœ˜K˜——™'š  œžœžœž˜Kšœ!™!Kšœ˜K˜—š   œžœžœžœžœž˜MKšœ™Kšœ˜—K˜Kšœžœ‘˜PK˜š  œžœžœžœž˜&KšœP™PKšœ˜—K˜š  œžœžœžœž˜MKšœ&™&Kšœ˜K˜—š   œžœžœž œžœž˜PKšœL™LKšœ˜K˜—š  œžœžœžœž˜6Kšœ™Kšœ˜K˜——™šœ žœ žœžœ˜#Kšœ]™]—K˜šœžœ˜KšœU™UK˜——K˜Kšžœ˜—…— Τ/