Page Numbers: Yes X: 550 Y: 10.5" First Page: 1 Not-on-first-page
Margins: Top: 1.3" Bottom: 1"
Heading: Not-on-first-page
Electronic Model Shop Midas Manual Frank Vest June 29, 1985
ELECTRONIC MODEL SHOP
DORADO MIDAS REFERENCE MANUAL
June 29, 1985
by
Frank Vest
Xerox Palo Alto Research Center
3333 Coyote Hill Rd.
Palo Alto, CA. 94304
Copyright (C) May 7, 1985 by Xerox Corporation. All rights reserved.
Bravo files stored on: [Indigo]<DoradoSource>GarageMidasManual.Dm
Press files stored on: [Indigo]<DoradoDocs>GarageMidasManual.Press
This manual describes the Midas Command files used by the Electronic Model Shop to debug and test new Dorado computer systems.
TABLE OF CONTENTS
l.Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
2.Kernel.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
3.MemA.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
4.MemMisc.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
5.IfuSimple.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
6.IfuComplex.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
7.EventCounters.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
8.TriconD.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
9.FTest.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
10.KernelS.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
11.MemAS.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
12.MemMiscS.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
13.IfuSimpleS.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
14.IfuComplexS.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
15.SboardTest.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
16.CboardTest.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
17.XboardTest.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
18.DboardTest.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
19.FIO.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
20.LAG.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
21.LAG1.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
22.LAGSpeedTest.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . .11
23.KernelTask.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
24.VoltageTest.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
25.CurrentTest.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
26.TemperatureTest.Midas . . . . . . . . . . . . . . . . . . . . . . . . . .13
27.VIT.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
28.TestAllGarage.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
29AcceptanceTests.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . .13
30.MapAddr.Midas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14
31.CacheDAddr.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15
32.CacheAAddr.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15
33.StkAddr.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
34.RMAddr.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
35.IMXAddr.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17
36.IFUMAddr.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17
37.BRAddr.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17
38.Klink.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17
39.BadChip.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18
40.MSAPair.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18
41.IMRH.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18
42.IMLH.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18
43.RAMPE.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18
44.IOBPE.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19
45.MDPE.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19
46.MemoryPE.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19
47.SaveDisplay.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19
48.SaveIFUCrash.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . .19
49.SimTestNoErrors.Midas . . . . . . . . . . . . . . . . . . . . . . . . .20
50.SimTest20.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
51.StartMap.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
52.MIRDebug.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
53.IMBDAddr.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
54.FMemA.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21
55.CiaMap.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21
56.MirMap.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22
SAMPLE MIDAS DISPLAYS
1.Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24
2.mmc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
3.MapAddr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26
4.Map error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27
MAKING AND CHANGING MIDAS COMMAND FILES
1.Using the WrtCmds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28
2.Using Bravo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28
DEBUGGING
l.Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31
1a.Instant-on Jumper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31
1b.Parity errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31
2.Kernel.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32
3.Mema.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32
3a.Single bit errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32
3b.To display a failing munch . . . . . . . . . . . . . . . . . . . . . . . . .33
4.MemMisc.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33
5.IfuSimple.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33
6.IfuComplex.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33
7.EventCounters.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . .34
8.TriconD.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34
9.Triex.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34
10.KernelS.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34
11.MemaS.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34
12.MemMiscS.midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
13.IfuSimpleS.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
14.IfuComplexS.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
15.SboardTest.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
16.CboardTest.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
17.XboardTest.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
18.DboardTest.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36
19.FIO.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36
20.LAG.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36
21.LAG1.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36
22.LAGSpeedTest.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . .36
23.KernelTask.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36
24.VoltageTest.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36
25.CurrentTest.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36
26.TemperatureTest.Midas . . . . . . . . . . . . . . . . . . . . . . . . . .36
27.VIT.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37
28.TestAllGarage.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . .38
29AcceptanceTests.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . .40
30.SimTestNoErrors.Midas . . . . . . . . . . . . . . . . . . . . . . . . .40
31.SimTest20.Midas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40
32.How to initialize Partition 19 . . . . . . . . . . . . . . . . . . . . .41
33.How to initialize Cedar . . . . . . . . . . . . . . . . . . . . . . . . . . .42
34.How to initialize DEMOLISP . . . . . . . . . . . . . . . . . . . . . .43
35.Task Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
36.Task wiring Information . . . . . . . . . . . . . . . . . . . . . . . . . . .44
37.SmallTalk ColorTest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45
38.Grid test for DispY and DispM boards . . . . . . . . . . . . . . .45
39.Special BaseBoard Proms . . . . . . . . . . . . . . . . . . . . . . . . . .46
40.How to install a DispM board . . . . . . . . . . . . . . . . . . . . . . .46
41.Example of display with bit#25 stuck at "0". . . . . . . . . . . .47
42.Example of display with bit#0 stuck at "1" . . . . . . . . . . . . .48
l. Introduction
This is a description about the Dorado Midas command files used at the Electronic Model shop.
The basic idea is to have the microdiagnostics load and run to completion with as simple a user interface as possible. This also makes it possible to make more complicated command files to call all of the microdiagnostics and Midas test features for verification purposes.
Several of the command files used call other command files. This is called "nested command files". When using this type of command files it is sometimes hard to get control away from the Alto computer, you bug abort with the mouse and all that happens is the current routine stops and goes on to the next routine. There is a special feature in Midas for this problem. Hold down the "CTRL key then "Z" key on the Alto keyboard.
If you would like to have the diagnostic load and wait for an input to start the diagnostic for debugging purposes see the section on changing Midas command files (page 26).
To get a Electronic Model Shop Midas disk:
1. Install a newOS on an Alto scratch disk and ask for the long installation dialogue.
2. Retrieve the command file: [IO]<Vest>DoradoMidasDisk.cm.
3. Type: @DoradoMidasDisk.cm C/R
To get a new version of the Midas command files type: @GetGarageMidas.cm C/R.
A copy of the disk is stored at: [IO]<EMS>DoradoMidasDisk.Disk.
2 Kernel.midas
The Kernel microdiagnostic will exercise all of the functionality of the Dorado processor that is not associated with the IFU, Memory, or with IO devices.
Boards needed to run Kernel: Base, ContB, ContA, ProcL, and ProcH.
Run time: About 1 second.
Actions to run Kernel: Left mouse button RunProg, then Left mouse button KERNEL.
Two things were added to the original Kernel.Midas:
1. After loading the diagnostic turn-on the "Task-Circulate" bit.
2. Start the program at the label Begin.
Note:
There a several different task specific items on the processor boards, R memory, T registers, etc. The first pass of Kernel is run at task level "0". After a successful completion the program will stop at the label "Done", at this point type in ;K (to remove the breakpoint at "Done"), and ;P (Proceed). To test all of the different task levels you need to let the program run for at least 20 seconds.
3. MemA.Midas
MemA contains diagnostic programs for each memory board in the Dorado. MemA is just a name that used to indicate that All the memory system gets tested by the diagnostic.
Boards needed to run MemA: Base, ContB, ContA, ProcL, ProcH. IFU, MemC, MemX, MemD, and two MSA boards.
Note: Jumper pin#131 left sidepanel on the IFU board to ground if you would like to run the MemA diagnostic without the IFU board installed.
Run time: About 6 minutes and 4 seconds with 1 mega-word of memory.
Actions to run MemA: Left mouse button RunProg, then Left mouse button MEMA.
Three things were added to the original MemA.Midas:
1. Reset the Droado.
2. Remove the breakpoint at "SvaTryNextPat".
3. Start the program at begin.
4. MemMisc.Midas
MemMisc checks some parts of the memory system that were later added and would not fit into MemA. You need to run MemA and MemMisc to check-out the entire memory system.
Boards needed to run MemMisc: Base, ContB, ContA, ProcL, ProcH, IFU, MemC, MemX, MemD, and two MSA boards.
Note: Jumper pin#131 left sidepanel on the IFU board to ground if you would like to run the MemMisc diagnostic without the IFU board installed.
Run time: About 5 seconds with 1 mega word of memory.
Actions to run MemMisc: Left mouse button RunProg, then Left mouse button MEMMISC.
Two things were added to the original MemMisc.Midas:
1. Reset the Dorado.
2. Start the program at begin.
5. IfuSimple.Midas
IfuSimple checks out the IFU board mostly in the single step mode, it is very useful in debugging new boards because there is no need to have the memory system installed.
Boards needed to run IfuSimple: Base, ContB, ContA, ProcL, ProcH, and IFU.
Run time: About 2 seconds.
Actions to run IfuSimple: Left mouse button RunProg, then Left mouse button IFUSIMPLE.
Two things were added to the original IfuSimple.Midas:
1. Reset the Dorado.
2. Start the program at begin.
6. IfuComplex.Midas
IfuComplex checks the IFU board at real computer speed using all of the memory system. All of the microdiagnostics should run error free before running IfuComplex.
Boards needed to run IfuComplex: Base, ContB, ContA, ProcL, ProcH, IFU, MemC, MemX, MemD, and two MSA boards.
Run time: About 7 seconds.
Actions to run IfuComplex: Left mouse button RunProg, then Left mouse button IFUCOMPLEX.
Two things were added to the original IfuComplex.Midas:
1. Reset the Dorado.
2. Start the program at begin.
7. EventCounters.Midas
EventCounters checks out the eventcounters on the IFU board. It requires a jumper installed on the right side of the Dorado. The jumper block called GenIn/GenOut is about 3 inches long and is installed on the right side of the IFU board pins #28 thru #90.
Boards needed to run EventCounters: Base, ContB, ContA, ProcL, ProcH, and IFU.
Run time: About 1 second.
Actions to run EventCounters: Left mouse button RunProg, then Left mouse button EVENTCOUNTERS.
Two things were added to the original EventCounters.Midas:
1. Reset the Dorado.
2. Start the program at begin.
8. TriconD.midas
TriconD tests the interface between the processor and the DSK/Eth board. Some of the basic data paths on the DSK/ETH board are also checked. To get the most from the test it is best to have a scratch disk up and spinning.
The program does not write on the disk or use the actual Ethernet.
Boards needed to run TriconD: Base, ContB, ContA, ProcL, ProcH, IFU, MemC, MemX, MemD, Dsk/Eth, and two MSA boards.
Run time: About 2 seconds.
Actions to run TriconD: Left mouse button RunProg, then Left mouse button TRICOND.
Two things were added to TriconD.Midas:
1. Reset the Dorado.
2. Start the program at begin.
9. FTest.midas
FTest is a very basic debugging program for the MSA boards.
This program takes two munches and stores them into the locations pointed to by FIRSTADDR and SECONDADR. Each munch has a seed pattern called FIRSTPATRN and SECONDPATRN.
After setting up the desired locations to be tested and the desired patterns the program is started at the label "Begin"
Boards needed to run FTest: Base, ContB, ContA, ProcL, ProcH, IFU, MemC, MemX, MemD, and two MSA boards.
Run time: The program is designed to run a known pattern for scopeing MSA board problems. It will run forever.
Actions to run FTest: Type FTest to the Alto Midas display, then left mouse button RunProg.
10. KernelS.Midas
KernelS.Midas (speed test) first runs the microdiagnostic Kernel at 31 ns. After successful completion of one pass the clock speed is increased by one nano-second and the test is run again. At the clock speed of 29 nano-seconds and faster, RM parity errors from the ProcH board are ignored. This is due to a known problem. The command file will continue to speed up the Dorado until kernel fails. A normal Dorado will always run faster than 27 ns.
Boards needed to run KernelS: Base, ContB, ContA, ProcL, and ProcH.
Run time: About 1 second for each successful pass.
Actions to run KernelS: Type KernelS to the Alto Midas display, then left mouse button RunProg.
11. MemAS.Midas
MemAS.Midas (speed test) first runs the microdiagnostic MemA at 31 ns. After successful completion of one pass the clock speed is increased by one nano-second and the test is run again. At the clock speed of 29 nano-seconds and faster, RM parity errors from the ProcH board are ignored. This is due to a known problem. The command file will continue to speed up the Dorado until MemA fails. A normal Dorado will always run faster than 28 ns. Since MemA requires about 6 minutes to make a full pass it should take a while before a failure happens.
Boards needed to run MemAS: Base, ContB, ContA, ProcL, Proch, IFU, MemC, MemX, MemD, and two MSA boards.
Run time: About 6 minutes for each successful pass.
Actions to run MemAS: Type MEMAS to the Alto Midas display, then left mouse button RunProg.
12. MemMiscS.Midas
MemMiscS.Midas (speed test) first runs the microdiagnostic MemMisc at 31 ns. After successful completion of one pass the clock speed is increased by one nano-second and the test is run again. At the clock speed of 29 nano-seconds and faster, RM parity errors from the ProcH board are ignored. This is due to a known problem. The command file will continue to speed up the Dorado until MemMisc fails. A normal Dorado will always run faster than 28 ns.
Boards needed to run MemMiscS: Base, ContB, ContA, ProcL, ProcH, IFU, MemC, MemX, MemD, and two MSA boards.
Run time: About 5 seconds for each successful pass.
Actions to run MemMiscS: Type MemMiscS to the Alto Midas display, then left mouse button RunProg.
13. IfuSimpleS.Midas
IfuSimpleS.Midas (speed test) first runs the microdiagnostic IfuSimple at 31 ns. After successful completion of one pass the clock speed is increased by one nano-second and the test is run again. At the clock speed of 29 nano-seconds and faster, RM parity errors from the ProcH board are ignored. This is due to a known problem. The command file will continue to speed up the Dorado until IfuSimple fails. A normal Dorado will always run faster than 28 ns.
Boards needed to run IfuSimpleS: Base, ContB, ContA, ProcL, ProcH, and IFU.
Run time: About 2 seconds for each successful pass.
Actions to run IfuSimpleS: Type IfuSimpleS to the Alto Midas display, then left mouse button RunProg.
14. IfuComplexS.Midas
IfuComplexS.Midas (speed test) first runs the microdiagnostic IfuComplex at 31 ns. After successful completion of one pass the clock speed is increased by one nano-second and the test is run again. At the clock speed of 29 nano-seconds and faster, RM parity errors from the ProcH board are ignored. This is due to a known hardware problem. The command file will continue to speed up the Dorado until IfuComplex fails. A normal Dorado will always run faster than 28 ns.
Boards needed to run IfuComplexS: MemA: Base, ContB, ContA, ProcL, ProcH, IFU, MemC, MemX, MemD, and two MSA boards.
Run time: About 7 seconds for each successful pass.
Actions to run IfuComplexS: Type IfuComplexS to the Alto Midas display, then left mouse button RunProg.
15. SboardTest.Midas
This Midas command file first loads MemA and then changes MemA to run the Storage board tests only. This is helpful for working on a known bad MSA board.
Boards needed to run SboardTest: Base, ContB, ContA, ProcL, ProcH, IFU, MemC, MemX, MemD, and two MSA boards.
Run time: About 5 minutes with 1 mega-word of memory.
Actions to run Sboardtest: Left mouse button RunProg, then Left mouse button SBOARDTEST.
16. CboardTest.Midas
This Midas command file first loads MemA and then changes MemA to run the MemC board tests only. This is helpful for working on a known bad MemC board.
Boards needed to run CboardTest: Base, ContB, ContA, ProcL, ProcH, IFU, and MemC.
A special jumper on the side panel is required to run this test if the boards above the MemC are removed: Left sidepanel MemC board pin#122 to ground.
Run time: About 10 seconds.
Actions to run Cboardtest: Left mouse button RunProg, then Left mouse button CBOARDTEST.
17. XboardTest.Midas
This Midas command file first loads MemA and then changes MemA to run the MemX board tests only. This is helpful for working on a known bad MemX board.
Boards needed to run XboardTest: Base, ContB, ContA, ProcL, ProcH, IFU, MemC, and MemX.
Run time: About 15 seconds.
Actions to run Xboardtest: Left mouse button RunProg, then Left mouse button XBOARDTEST.
18. DboardTest.Midas
This Midas command file first loads MemA and then changes MemA to run the MemD board tests only. This is helpful for working on a known bad MemD board.
Boards needed to run DboardTest: Base, ContB, ContA, ProcL, ProcH, IFU, MemC, MemX, and MemD.
Run time: About 33 seconds.
Actions to run Dboardtest: Left mouse button RunProg, then Left mouse button DBOARDTEST.
19. FIO.Midas
The FIO (Fast Input/Output) test has to have the FIO test board installed in one of the fast I/O slots before the test will run.
This command file loads the MemMisc microdiagnostic and turns on the Fast Input/Output part of MemMisc.
Boards needed to run FIO: Base, ContB, ContA, ProcL, ProcH, IFU, MemC, MemX, MemD, two MSA boards and the FIO test board.
Run time: About 7 seconds.
Actions to run FIO: Left mouse button RunProg, then Left mouse button FIO.
20. LAG.Midas
LAG.Midas (Load And Go) continously runs the microdiagnostics Kernel, MemMisc, IfuSimple, IfuComplex, EventCounters, and MemA. The speed of the Dorado is not changed by this Command file, so you can run LAG at any speed you desire.
Boards needed to run LAG: Base, ContB, ContA, ProcL, ProcH, IFU, MemC, MemX, MemD, and two MSA boards.
Run time: About 8 minutes for each pass with 1 mega-word of memory.
Actions to run LAG: Left mouse button RunProg, then Left mouse button LAG.
21. LAG1.Midas
LAG1.Midas (Load And Go 1 time) runs the microdiagnostics Kernel, MemMisc, IfuSimple, IfuComplex, EventCounters, and MemA one time at a speed of 30 ns.
Boards needed to run LAG1: Base, ContB, ContA, ProcL, ProcH, IFU, MemC, MemX, MemD, and two MSA boards.
Run time: About 10 minutes with 1 mega-word of memory.
Actions to run LAG1: Left mouse button RunProg, then Left mouse button LAG1.
22. LAGSpeedTest.Midas
LAGSpeedTest runs the microdiagnostics Kernel, MemMisc, IfuSimple, IfuComplex, EventCounters, and MemA at a speed of 31 ns. After a successful completion changes the clock speed one nano second faster and runs again. At the clock speed of 29 nano-seconds and faster, RM parity errors from the ProcH board are ignored, this is due to a known hardware problem.
Boards needed to run LagSpeedTest: Base, ContB, ContA, ProcL, ProcH, IFU, MemC, MemX, MemD, and two MSA boards.
Run time: About 10 minutes for each pass with 1 mega word of memory.
Actions to run LAGSpeedTest: Left mouse button RunProg, then Left mouse button LAGSPEEDTEST.
23 KernelTask.Midas
This command file runs the Kernel microdiagnostic to completion with task circulation turned on. After a successful pass, this command file checks for the proper task number. If the task number is correct it runs the test again. It will do this for 37 times, enough to go through all of the different task levels 2 times.
Boards needed to run KernelTask: Base, ContB, ContA, ProcL, and ProcH.
Run time: About 30 seconds.
Actions to run KernelTask: Type KernelTask to the Alto Midas display, then left mouse button RunProg.
24. VoltageTest.Midas
The Voltage test reads the 4 voltages from the baseboard and compares them for upper and lower limits. There are 3 places on the Baseboard where the voltages are tested: VOLTS, MINVOLTS, and MAXVOLTS.
Note: There is no Midas message for a successful pass of this test.
Sample Error message:
MAXVOLTS -2 Volts too high (2.10 max.)
The limits for each voltage are:
+5 volts4.82-5.19
+12 volts11.51-12.51
-5.2 volts5.05-5.36
-2 volts1.89-2.10
Boards needed to run Voltagetest: Baseboard.
Run time: About 5 seconds.
Actions to run VoltageTest: Type VoltageTest to the Alto Midas display, then left mouse button RdCmds.
25. CurrentTest.Midas
The CurrentTest reads the 4 currents from the baseboard and compares them for upper and lower limits. There are 3 places on the Baseboard where the currents are tested: AMPS, MINAMPS, and MAXAMPS.
Note: There is no Midas message for a successful pass of this test.
The limits for each current is:
+5 volts0-61 amps
+12 volts0-3 amps
-5.2 volts151-222 amps
-2 volts41-69 amps
Boards needed to run CurrentTest: This command file is designed to run with a full running Dorado.
Run time: About 5 seconds.
Actions to run CurrentTest: Type CurrentTest to the Alto Midas display, then left mouse button RdCmds.
26. TemperatureTest.Midas
The TemperatureTest reads the temperature sensors on all of the boards that are supposed to have them installed. The test range is set for a minimum of 17 degrees C. and a maximum of 41 degrees C.. There are 6 places on the Baseboard where the temperatures are tested: TEMP0, TEMP0+1, TEMP0+2, MAXTEMP0, MAXTEMP0+1, and MAXTEMP0+2.
Note: There is no Midas message for a successful pass of this test.
Boards needed to run TemperatureTest: This command file is designed to run with a full running Dorado.
Run time: About 6 seconds.
Actions to run TemperatureTest: Type TemperatureTest to the Alto Midas display, then left mouse button RdCmds..
27. VIT.Midas
VIT.Midas is a command file that runs the VoltageTest, CurrentTest, and the TemperatureTest.
Note: There is no Midas message for a successful pass of this test.
Boards needed to run VIT: This command file is designed to run with a full running Dorado.
Run time: About 16 seconds.
Actions to run VIT: Left mouse button RdCmds, then Left mouse button VIT.
28. TestAllGarage.Midas
TestAllGarage tests all of the memories and registers available in the "Test" function of Midas. The normal "TestAll" function leaves out 5 things: IMBD, MAP, VM, IFUM, and ESTAT.
In addition to testing more registers and memories comments were added to help in diagnosing the failure.
Sample Error message:
"INSSET" FAILED (INSTRUCTION SET) PG. 4 IFU BOARD.
Boards needed to run TestAllGarage: Base, ContB, ContA, ProcL, ProcH, IFU, MemC, MemX, MemD, and 2 MSA boards.
Run time: About 10 minutes.
Actions to run TestAllGarage: Type TestAllGarage to the Alto Midas display, then left mouse button RdCmds.
29. AcceptanceTests.Midas
AcceptanceTests sets the clocks to 30 nano-seconds and then runs VoltageTest, CurrentTest, TemperatureTest, TestAllGarage, Kernel, KernelTask, MemMisc, IfuSimple, IfuComplex, EventCounters, MemA and TriconD.
After successful completion of the Microdiagnostics a 2 minute simtest is run, if there are any errors they are logged on the file "Simerror.report" and the test is restarted. The test will stop logging errors after 5 SimTest errors. You can go into Bravo and look at the errors or print the errors on your favorite printer.
"Note" If there is an error and you want to abort the AcceptanceTests command file, hold down the CTRL key then push the "Z" key on the Alto keyboard. This is a special feature of Midas that will kill a "nested command file". Another way to kill the test is with the boot button.
Boards needed to run AcceptanceTests.Midas: Base, ContB, ContA, ProcL, ProcH, IFU, MemC, MemX, MemD, Dsk/Eth, and two MSA boards.
Run time: About 22.5 minutes and with 1 mega-word of memory.
NOTE: 2 MSA boards with 64k chips = 1 mega-word of memory.
Actions to run AcceptnaceTests: Left mouse button RdCmds, then Left mouse button ACCEPTANCETESTS.
30. MapAddr.Midas
The Dorado Map has 177777 octal locations. This requires 16 address bits. MapAddr.Midas loads on the center column of the midas display 16 different map locations, one entry for each of the 16 different address bits. After all of the Map locations are displayed, each location is then loaded and checked with a value equal to its own address. Map location 100 would have a value of 100. The Map is located on the MemX board.
Center column of the Midas display after running MapAddr.Midas
MAP 0 0
MAP 1 1
MAP 2 2
MAP 4 4
MAP 10 10
MAP 20 20
MAP 40 40
MAP 100 100
MAP 200 200
MAP 400 400
MAP 1000 1000
MAP 2000 2000
MAP 4000 4000
MAP 10000 10000
MAP 20000 20000
MAP 40000 40000
MAP 100000 100000
Boards needed to run MapAddr.Midas: Base, ContB, ContA, ProcL, ProcH, IFU, MemC, MemX, and MemD.
Run time: About 7 seconds.
Actions to run MapAddr: Type MapAddr on the Alto keyboard, then Left mouse button RdCmds.
31. CacheDAddr.Midas
The Dorado CacheD (Cache Data) has 7777 octal locations. This requires 12 address bits. CacheDAddr.Midas loads on the center column of the midas display 12 different CacheD locations, one entry for each of the 12 different address bits. After all of the CacheD locations are displayed, each location is then loaded and checked with a value equal to its own address. CacheD location 100 would have a value of 100. The CacheD is located on the MemD board.
Center column of the Midas display after running CacheDAddr.Midas
CACHED 0 0
CACHED 1 1
CACHED 2 2
CACHED 4 4
CACHED 10 10
CACHED 20 20
CACHED 40 40
CACHED 100 100
CACHED 200 200
CACHED 400 400
CACHED 1000 1000
CACHED 2000 2000
CACHED 4000 4000
CACHED 6000 6000
Boards needed to run CacheDAddr.Midas: Base, ContB, ContA, ProcL, ProcH, IFU, MemC, MemX and MemD.
Run time: About 17 seconds.
Actions to run CacheDAddr: Type CacheDAddr on the Alto keyboard, then Left mouse button RdCmds.
32. CacheAAddr.Midas
The Dorado CacheA (Cache Address Memory) has 377 octal locations. This requires 8 address bits. CacheAAddr.Midas loads on the center column of the midas display 8 different CacheA locations, one entry for each of the 8 different address bits. After all of the CacheA locations are displayed, each location is then loaded and checked with a value equal to its own address. CacheA location 100 would have a value of 100.
Center column of the Midas display after running CacheDAddr.Midas
CACHEA 0 0
CACHEA 1 1
CACHEA 2 2
CACHEA 4 4
CACHEA 10 10
CACHEA 20 20
CACHEA 40 40
CACHEA 100 100
CACHEA 200 200
Boards needed to run CacheAAddr.Midas: Base, ContB, ContA, ProcL, ProcH, IFU, and MemC.
Run time: About 6 seconds.
Actions to run CacheAAddr: Type CacheAAddr on the Alto keyboard, then Left mouse button RdCmds.
33. StkAddr.Midas
The Dorado Stack has 377 octal locations. This requires 8 address bits. StkAAddr.Midas loads on the center column of the midas display 8 different Stack locations, one entry for each of the 8 different address bits. After all of the Stack locations are displayed, each location is then loaded and checked with a value equal to its own address. Stack location 100 would have a value of 100. The Stack memory is located on the ProcH and ProcL boards.
Center column of the Midas display after running StkAddr.Midas
STK 0 0
STK 1 1
STK 2 2
STK 4 4
STK 10 10
STK 20 20
STK 40 40
STK 100 100
STK 200 200
Boards needed to run StkAddr.Midas: Base, ContB, ContA, ProcL, and ProcH.
Run time: About 4 seconds.
Actions to run StkAddr: Type StkAddr on the Alto keyboard, then Left mouse button RdCmds.
34. RMAddr.Midas
The Dorado RM (Register Memory) has 377 octal locations. This requires 8 address bits. RMAddr.Midas loads on the center column of the midas display 8 different RM locations, one entry for each of the 8 different address bits. After all of the RM locations are displayed, each location is then loaded and checked with a value equal to its own address. RM location 100 would have a value of 100. The R memory is located on the ProcH and ProcL boards.
Center column of the Midas display after running RMAddr.Midas
RM 0 0
RM 1 1
RM 2 2
RM 4 4
RM 10 10
RM 20 20
RM 40 40
RM 100 100
RM 200 200
Boards needed to run RMAddr.Midas: Base, ContB, ContA, ProcL, and ProcH.
Run time: About 3 seconds.
Actions to run RMAddr: Type RMAddr on the Alto keyboard, then Left mouse button RdCmds.
35. IMXAddr.Midas
The Dorado IMX (Instruction Memory) has 7777 octal locations. This requires 12 address bits. IMXAddr.Midas loads on the right column of the midas display 12 different IMX locations, one entry for each of the 12 different address bits. After all of the IMX locations are displayed, each location is then loaded and checked with a value equal to its own address. IMX location 100 would have a value of 100. The IMX is located on the ContB board.
Boards needed to run IMXAddr.Midas: Base, ContB, ContA, ProcL ,ProcH, IFU, MemC, and MemX.
Run time: About 3 seconds.
Actions to run IMXAddr: Type IMXAddr on the Alto keyboard then Left mouse button RdCmds.
36. IFUMAddr.Midas
The Dorado IFU memory has 1777 octal locations. This requires 10 address bits. IFUMAddr.Midas loads on the center column of the midas display 10 different IFUM locations, one entry for each of the 10 different address bits. After all of the IFUM locations are displayed, each location is then loaded and checked with a value equal to its own address. IFUM location 100 would have a value of 100.
Boards needed to run IFUMAddr.Midas: Base, ContB, ContA, ProcL, ProcH, and IFU.
Run time: About 4 seconds.
Actions to run IFUMAddr: Type IFUMAddr on the Alto keyboard, then Left mouse button RdCmds.
37. BRAddr.Midas
The Dorado memory Base Register has 37 octal locations. This requires 5 address bits. BRAddr.Midas loads on the center column of the midas display 5 different BR locations, one entry for each of the 5 different address bits. After all of the BR locations are displayed, each location is then loaded and checked with a value equal to its own address. BR location 10 would have a value of 10. The memory base register is located on the MemC board with the addressing coming from the ProcH board.
Boards needed to run BRAddr.Midas: Base, ContB, ContA, ProcL, ProcH, IFU, and MemC.
Run time: About 2 seconds.
Actions to run BRAddr: Type BRAddr on the Alto keyboard, then Left mouse button RdCmds.
38. Klink.Midas
This is a special command file to be used when the IFU board gets lost during the IfuComplex microdiagnostic. It is used to find a pointer to where the IFU was supposed to jump before it went off to never-never land.
Boards needed to run Klink.Midas: Base, ContB, ContA, ProcL, ProcH, IFU, MemC, MemX, MemD, and two MSA boards.
Run time: About 1 second.
Actions to run Klink: Left mouse button RdCmds, then Left mouse button Klink.
39. BadChip.Midas
This command file is only useful when there is a single bit error found when running the storage part of the MemA test. If you have a system with more than 2 MSA boards you will have to figure out which pair of MSA boards the test failed on. The command file MsaPair.midas will tell you which pair of MSA boards is being tested.
Boards needed to run BadChip.Midas: Base, ContB, ContA, ProcL, ProcH, IFU, MemC, MemX, MemD, and two MSA boards.
Run time: Up to 1 minute if the bad chip is located at J-23 on the bottom MSA board.
Actions to run BadChip: Left mouse button RdCmds, then Left mouse button BADCHIP.
40. MSAPair.Midas
This command file will tell you which pair of MSA boards were being tested during the storage part of the MSA test. The only time this test is useful is when there are 4 or more MSA boards installed in the system. This test assumes that the MSA boards are installed starting from the bottom to the top with no holes between MSA boards.
Run time: About 1 second.
Actions to run MSAPair.Midas: Left mouse button RdCmds, then Left mouse button MSAPAIR.
41. IMRH.Midas
This is a special command file to turnoff the checking of Instruction Memory Right Hand parity errors for debugging.
Run time: About 1 second.
Actions to run IMRH: type IMRH to the Alto display, then Left mouse button RdCmds.
42. IMLH.Midas
This is a special command file to turnoff the checking of Instruction Memory Left Hand parity errors for debugging.
Run time: About 1 second.
Actions to run IMLH: type IMLH to the Alto display, then Left mouse button RdCmds.
43. RAMPE.Midas
This is a special command file to turnoff the checking of Register Memory parity errors for debugging.
Run time: About 1 second.
Actions to run RAMPE: type RAMPE to the Alto display then Left mouse button RdCmds.
44. IOBPE.Midas
This is a special command file to turnoff the checking of Input Output Buss Parity Errors for debugging.
Run time: About 1 second.
Actions to run IOBPE: type IOBPE to the Alto display, then Left mouse button RdCmds.
45. MDPE.Midas
This is a special command file to turnoff the checking of Memory Data Parity Errors for debugging.
Run time: About 1 second.
Actions to run MDPE: type MDPE to the Alto display, then Left mouse button RdCmds.
46. MemoryPE.Midas
This is a special command file to turnoff the checking of Memory Parity Errors for debugging.
Run time: About 1 second.
Actions to run MemoryPE: type MemoryPE to the Alto display then, Left mouse button RdCmds.
47. SaveDisplay.Midas
This command file will save the Alto Midas display on a file called Crash.report. You can look at the file in bravo or print it on your favorite printer.
Run time: About 3 seconds.
Actions to run SaveDisplay: type SaveDisplay to the Alto display, then Left mouse button RdCmds.
48. SaveIFUCrash.Midas
This command file will save the Alto Midas display plus most of the information about the IFU board on a file called IFUCrash.report. You can look at the file in bravo or print it on your favorite printer.
Run time: About 30 seconds.
Actions to run SaveIFUCrash: type SaveIFUCrash to the Alto display, then Left mouse button RdCmds.
49. SimTestNoErrors.Midas
This command file will turn off the checking of 6 signals that commonly fail during the running of SimTest.
The Signals turned off are: bSwitch’a, DSel0, DSel1, ColVic.0, ColVic.1, and STWati-Mem’.
Run time: Until the first Simtest error occurs.
Actions to run SimTestNoErrors: type SimTestNoErrors to the Alto display, then Left mouse button RdCmds.
50. SimTest20.Midas
This command file turns off all of the signal checking in SimTestNoErrors.midas and then runs the SimTest. Each error is logged on a file called SimError.Report. This will continue until 20 errors are logged. You can look at the file in bravo or print it on your favorite printer.
Run time: It could run forever.
Actions to run SimTest20: type SimTest20 to the Alto display, then Left mouse button RdCmds.
51. StartMap.Midas
This command file is used to turn off the DMux checking of the signal "StartMap" from the MemC board. It is useful when running Simtest with the boards above the MemC board removed.
Another way to solve the problem with "StartMap" is to ground pin#102 on the left side of the MemC board.
Run time: 1 second.
Actions to run StartMap: type StartMap to the Alto display, then Left mouse button RdCmds.
52 MIRDebug.Midas
This is a special command file to turnoff MIRDebug.
Run time: About 1 second.
Actions to run MIRDebug: type MIRDebug to the Alto display, then Left mouse button RdCmds.
53. IMBDAddr.Midas
IMBD is a special path (DMUX) to the ContB board to check the Instruction memory (IMX) without the ContA board installed. The Dorado IMBD has 7777 octal locations. This requires 12 address bits. IMBDAddr.Midas loads on the right column of the midas display 12 different IMBD locations, one entry for each of the 12 different address bits. After all of the IMBD locations are displayed, each location is then loaded and checked with a value equal to its own address.
Boards needed to run IMBDAddr.Midas: Base and ContB.
Run time: About 3 seconds.
Actions to run IMBDAddr: Type IMBDAddr to the Alto, then Left mouse button RdCmds.
54. FMemA.Midas
FMemA (Fast MemA) is a quick test of the memory system. After running the Memc, MemX, and the MemD part of MemA, I set the pattern count to 70 for the MSA part of the tests. This removes the "Bit Slice" testing and just tests the memory for random pattern and addressing tests.
Boards needed to run FMemA: Base, ContB, ContA, ProcL, ProcH. IFU, MemC, MemX, MemD, and two MSA boards.
Run time: About 2 minutes with 1 mega-word of memory.
Actions to run FMemA: Left mouse button RunProg, then Left mouse button FMEMA.
55. CiaMap.Midas
CiaMap is helpful in figuring how the microcode is running. This command file will open an output file called CiaMap.Report, then single step the Dorado, "PrettyPrint" CIA and loop doing this forever. You will have to Shift/Swat to go to the Executive and then print the file CiaMap.Report on your favorite printer.
Run time: As long as you want, but you could easily fill up your Alto disk if you wait too long.
Actions to run CiaMap: Insert a breakpoint at the location in the microprogram where you want to start mapping. Then run the program until it hits the breakpoint and type CIAMAP to the Alto, then Left mouse button RdCmds.
Sample output from CiaMap:
CIA
SETBR = abs. 4440
CIA
SETBR+1 = abs. 4440
CIA
SETBR+2 = abs. 4440
CIA
BEGIN+6 = abs. 4440
CIA
RESETIFU = abs. 4440
CIA
RESETIFU+1 = abs. 4440
CIA
RESETIFU+2 = abs. 4440
CIA
RESETIFU+3 = abs. 4440
CIA
RESETIFU+4 = abs. 4440
CIA
RESETIFU+5 = abs. 4440
CIA
RESETIFU+6 = abs. 4440
CIA
LONGWAIT = abs. 4440
CIA
LONGWAIT+1 = abs. 4440
56. MirMap.Midas
MirMAp is helpful in figuring how the microcode is running. This command file will open an output file called MirMAp.Report, then single step the Dorado, "PrettyPrint" CIA and loop doing this forever. You will have to Shift/Swat to go to the Executive and then print the file MirMAp.Report on your favorite printer.
Run time: As long as you want, but you could easily fill up your Alto disk if you wait too long.
Actions to run MirMAp: Insert a breakpoint at the location in the microprogram where you want to start mapping. Then run the program until it hits the breakpoint and type MIRMAP to the Alto, then Left mouse button RdCmds..
Sample output from MirMap:
MIR
NEXTPAT8: LocGo[.+1], A←R0, Pd←R0, RBase←3S
RSTK=0, ALUF=0, BSEL=1, LC=0, ASEL=4, BLOCK=0, FF=203, JCN=224
MIR
NEXTPAT8+1: LocGo[.+1], R14←T←(A←R14)+1, B←R14, RBase←0S
RSTK=14, ALUF=13, BSEL=1, LC=7, ASEL=4, BLOCK=0, FF=200, JCN=244
MIR
NEXTPAT8+2: Return, R0, Pd←(A←T)-(400C)
RSTK=0, ALUF=5, BSEL=6, LC=0, ASEL=6, BLOCK=0, FF=1, JCN=107
MIR
IFUPCALPHAL+1: LocGo[.+1,.+2,ALU=0], A←R6, R6←T
RSTK=6, ALUF=0, BSEL=2, LC=6, ASEL=4, BLOCK=0, FF=60, JCN=272
MIR
IFUPCALPHAL+3: LongGo[.+1], A←R0, Pd←R0
RSTK=0, ALUF=0, BSEL=1, LC=0, ASEL=4, BLOCK=0, FF=15, JCN=11
MIR
IFUPCALPHAL+4: LongCall[PUTCDBYTE], T←(A←Stack&ChkUFL)+1, B←Stack&ChkUFL
RSTK=10, ALUF=13, BSEL=1, LC=1, ASEL=4, BLOCK=1, FF=25, JCN=0
MIR
PUTCDBYTE: LongGo[.+1], A←Stack&+1, Pd←Stack&+1
RSTK=1, ALUF=0, BSEL=1, LC=0, ASEL=4, BLOCK=1, FF=204, JCN=10
MIR
PUTCDBYTE+1: LocGo[.+1], A←Stack&ChkUFL, Stack&ChkUFL←Link
RSTK=10, ALUF=0, BSEL=1, LC=6, ASEL=4, BLOCK=1, FF=177, JCN=265
MIR
PUTCDBYTE+2: LongCall[FIXBYTEADDRFORINSTRSET], A←R0, Pd←R0
RSTK=0, ALUF=0, BSEL=1, LC=0, ASEL=4, BLOCK=0, FF=325, JCN=0
MIR
FIXBYTEADDRFORINSTRSET: LongGo[.+1], A←Stack&+1, Pd←Stack&+1
RSTK=1, ALUF=0, BSEL=1, LC=0, ASEL=4, BLOCK=1, FF=311, JCN=17
MIR
FIXBYTEADDRFORINSTRSET+1: LocGo[.+1], A←Stack&+1, Stack&+1←Link
RSTK=1, ALUF=0, BSEL=1, LC=6, ASEL=4, BLOCK=1, FF=177, JCN=236
MIR
FIXBYTEADDRFORINSTRSET+2: LongGo[.+1], A←Stack&ChkUFL, Stack&ChkUFL←T
RSTK=10, ALUF=0, BSEL=2, LC=6, ASEL=4, BLOCK=1, FF=220, JCN=2