;*** *** *** Revision 1.1 *** *** *** *** RUN-TIME : 6 min. if LOOP-COUNT = 0 *** *** ***

;***************************************************************************************
;** EDPROC.midas : Processor Exerciser Midas code, ED revision
;** Purpose : This Midas program link ALL individual microcodes together to exercise
;** the whole system; starting from CPU to memory.
;** Hardware Configuration : 8G Configuration
;** Written by : C. Thacker,
Dec. 12, 1978
;** Modified by : C. Tseng,
Mar. 28, 1980
;** to standardize title page,format.
;** to update each microdiagnostics & rearrange sequence.
;** Modified by : C. Thacker,
May 3, 1980
;** to remove absolutely placed breakpoints.
;**
Also, changed control so that if LOOP-COUNT (A12) #0, the program loops forever
;**
(This eliminates the need for EDLProc)
;***************************************************************************************


;****** 1. EDALU.midas ********
.procstart L X Boot
L A19 Val 0
;A19=CTASK=0
L X Confirm
L X Load EDALU

L B0 Addr REVISION
L B1 Addr RUN-TIME
L B2 Addr PASSCOUNT;
L B3 Addr MAXPASS;
L B8 Addr MCOUNT
L B15 Addr T 0
L B16 Addr S0
L B17 Addr S1

L X DisplayOn;
L X TimeOut 100000
L X Go START
L X Skip 1
L X ShowError EDALU didn’t halt
;Timed out
L A18 SkipE PASSED-EDALU-TEST
;A18=CIA
L X ShowError EDALU failed


;****** 2. EDRMEX.midas ********
L X Boot
L A19 Val 0
L X Confirm
L X Load EDRMEX

L B0 Addr REVISION
L B1 Addr RUN-TIME
L B2 Addr PASSCOUNT
L B3 Addr MAXPASS
L B4 Addr SUBTEST

L B9 Addr WD0;
L B10 Addr RD0;
L B11 Addr MD0;
L B13 Addr LOWLOC;
L B14 Addr HIGHLOC;
L B15 Addr CURRENTLOC;

L C9 Addr LOOPCONTROL
L C10 Addr PATTERNCHOICE
L C11 Addr SHORTLOOP

L X DisplayOn;
L X TimeOut 100000
L X Go START
L X Skip 1
L X ShowError EDRMEX didn’t halt
L A18 SkipE PASSED-EDRMEX-TEST

L X ShowError EDRMEX failed


;****** 3. EDCSEX.midas ********
L X Boot
L A19 Val 0
L X Confirm
L X Load EDCSEX;

L B0 Addr REVISION
L B1 Addr RUN-TIME
L B2 Addr PASSCOUNT
L B3 Addr MAXPASS
L B4 Addr SUBTEST

L B9 Addr MD0;
L B10 Addr WD0;
L B11 Addr RD0;
L B13 Addr MD1;
L B14 Addr WD1;
L B15 Addr RD1;
L B17 Addr MD2;
L B18 Addr WD2;
L B19 Addr RD2;

L C9 Addr LOWLOC;
L C10 Addr HIGHLOC;
L C11 Addr CURRENTLOC;

L C13 Addr LOOPCONTROL
L C14 Addr PATTERNCHOICE
L C15 Addr SHORTLOOP

L X DisplayOn;
L X TimeOut 100000
L X Go START
L X Skip 1
L X ShowError EDCSEX didn’t halt
L A18 SkipE PASSED-EDCSEX-TEST
L X ShowError EDCSEX failed


;****** 4. EDSMALLMEM.midas ********
L X Boot
L A19 Val 0
L X Confirm
L X Load EDSMALLMEM;

L B0 Addr REVISION
L B1 Addr RUN-TIME
L B2 Addr PASSCOUNT
L B3 Addr MAXPASS
L B4 Addr SUBTEST;
L B9 Addr XA;
L B10 Addr TESTCOUNTER;
L B11 Addr CURRENTPATTERN;
L B16 Addr CS0TEST;
L B17 Addr CS1TEST
L B18 Addr CS2TEST
L B19 Addr TMEMTEST

L C9 Addr PATTERN
L C10 Addr RESULT
L C11 Addr MEMADDR
L C13 Addr STARTWORD
L C14 Addr ENDWORD
L C16 Addr PATTERNCHOICE;
L C17 Addr SHORTLOOP;

L X DisplayOn;
L X TimeOut 100000
L X Go START
L X Skip 1
L X ShowError EDSMALLMEM didn’t halt
L A18 SkipE PASSED-EDSMALLMEM-TEST
L X ShowError EDSMALLMEM failed


;****** 5. EDFIELD.midas ********
L X Boot
L A19 Val 0
L X Confirm
L X Load EDFIELD;

L B0 Addr REVISION
L B1 Addr RUN-TIME
L B2 Addr PASSCOUNT
L B3 Addr MAXPASS
L B4 Addr SUBTEST
L B5 Addr INNERLOOPCOUNTER
L B8 Addr FDESCR
L B9 Addr STARTBIT
L B10 Addr ENDBIT
L B11 Addr LENGTH
L B14 Addr CURRENTPATTERN
L B15 Addr XB
L B16 Addr SIMRESULT
L B17 Addr RESULT

L C13 Addr RANDFLAG
L C15 Addr LOOPWITHIN

L X DisplayOn;
L X TimeOut 100000
L X Go START
L X Skip 1
L X ShowError EDFIELD didn’t halt
L A18 SkipE PASSED-EDFIELD-TEST
L X ShowError EDFIELD failed


;****** 6. EDCYM.midas ********
L X Boot
L A19 Val 0
L X Confirm
L X Load EDCYM;

L B0 Addr REVISION;
L B1 Addr RUN-TIME;
L B2 Addr PASSCOUNT;
L B3 Addr MAXPASS;
L B4 Addr SUBTEST;
L B7 Addr XA;
L B8 Addr FNUM;
L B9 Addr OPERAND;
L B11 Addr INNERLOOPCOUNTER;
L B14 Addr LDFTEST;
L B15 Addr DISPATCHTEST;
L B16 Addr LSHTEST;
L B17 Addr LCYTEST;
L B18 Addr LHMASKTEST;
L B19 Addr ZEROTEST;

L C7 Addr MYRESULT;
L C8 Addr RESULT;
L C9 Addr APCRESULT;
L C11 Addr CS0;
L C12 Addr CS1;
L C13 Addr CS2;
L C14 Addr CSP;
L C16 Addr SHORTLOOP;

L X DisplayOn;
L X TimeOut 100000
L X Go START
L X Skip 1
L X ShowError EDCYM didn’t halt
L A18 SkipE PASSED-EDCYM-TEST

L X ShowError EDCYM failed


;****** 7. EDTNF.midas ********
L X Boot
L A19 Val 0
L X Confirm
L X Load EDTNF;

L B0 Addr REVISION;
L B1 Addr RUN-TIME;
L B2 Addr PASSCOUNT;
L B3 Addr MAXPASS;

L B9 Addr RSTACK;
L B10 Addr TPAGE;
L B11 Addr CSADDRESS;
L B12 Addr RESULT;
L B13 Addr BYTECODE;
L B14 Addr SHOULDBE;
L B15 Addr FLAGR;

L X DisplayOn;
L X TimeOut 100000
L X Go START
L X Skip 1
L X ShowError EDTNF didn’t halt
L A18 SkipE PASSED-EDTNF-TEST

L X ShowError EDTNF failed



;****** 8. EDBITBLT.midas ********
L X Boot
L A19 Val 0
L X Confirm
L X Load EDBITBLT;

L B0 Addr REVISION;
L B1 Addr RUN-TIME;
L B2 Addr PASSCOUNT;
L B3 Addr MAXPASS;
L B4 Addr SUBTEST;
L B6 Addr DEST0;
L B7 Addr SIMDEST0;
L B8 Addr DEST1;
L B9 Addr SIMDEST1;
L B10 Addr DEST2;
L B11 Addr SIMDEST2;
L B12 Addr DEST3;
L B13 Addr SIMDEST3;
L B14 Addr LOOPCOUNT;
L B15 Addr SIMLOOPCOUNT;
L B16 Addr RESULT;
L B17 Addr SIMRESULT;
L B18 Addr MNBR;
L B19 Addr SIMNBR;

L C6 Addr SBREG;
L C7 Addr SIMSB;
L C8 Addr DBREG;
L C9 Addr SIMDB;
L C12 Addr SRC0;
L C13 Addr SRC1;
L C14 Addr SRC2;
L C15 Addr SRC3;
L C18 Addr LOOPON;

L X DisplayOn;
L X TimeOut 100000
L X Go START
L X Skip 1
L X ShowError EDBITBLT didn’t halt
L A18 SkipE PASSED-EDBITBLT-TEST
L X ShowError EDBITBLT failed


;****** 9. EDTimEx.midas ********
L X Boot
L A19 Val 0
L X Confirm
L X Load EDTIMEX;

L B0 Addr REVISION
L B1 Addr RUN-TIME
L B2 Addr PASSCOUNT
L B3 Addr MAXPASS
L B4 Addr SUBTEST
L B6 Addr INNERCOUNT
L B7 Addr MAXINNERCOUNT
L B9 Addr TSLOT0
L B10 Addr TSLOT
L B11 Addr EXPECTEDSLOT
L B12 Addr RTIMER

L X DisplayOn;
L X TimeOut 100000
L X Go START
L X Skip 1
L X ShowError EDTIMEX didn’t halt
L A18 SkipE PASSED-EDTIMEX-TEST
L X ShowError EDTIMEX failed


;****** 10. EDTASK.midas ********
L X Boot
L A19 Val 0
L X Confirm
L X Load EDTASK;

L B0 Addr REVISION;
L B1 Addr RUN-TIME;
L B2 Addr PASSCOUNT;
L B3 Addr MAXPASS;
L B4 Addr SUBTEST;
L B6 Addr DBTEST;
L B7 Addr MISCTEST;
L B8 Addr PCFTEST;
L B9 Addr RRTEST;
L B10 Addr SBTEST;
L B11 Addr STKTEST;
L B13 Addr FIELDMASK;
L B14 Addr INITIALSTKP;
L B16 Addr EXPECTEDSTKP;
L B17 Addr RESULT;
L B18 Addr TARGETVALUE;

L C16 Addr SHORTLOOP;
L C17 Addr NEWRAND;

L X DisplayOn;
L X TimeOut 100000
L X Go START
L X Skip 1
L X ShowError EDTASK didn’t halt
L A18 SkipE PASSED-EDTASK-TEST
L X ShowError EDTASK failed


;****** 11. EDMemEx.midas ********
L X Boot
L A19 Val 0
L X Confirm
L X Load EDMEMEX;

L B0 Addr REVISION;
L B1 Addr RUN-TIME;
L B2 Addr PASSCOUNT;
L B3 Addr MAXMAPPASS;
L B4 Addr MAXMEMPASS;
L B5 Addr SUBTEST;
L B7 Addr LOWMAPADDR;
L B8 Addr HIGHMAPADDR;
L B9 Addr LOWMEMADDR;
L B10 Addr HIGHMEMADDR;
L B12 Addr WBUF0;
L B13 Addr RBUF0;
L B14 Addr WBUF1;
L B15 Addr RBUF1;
L B16 Addr WBUF2;
L B17 Addr RBUF2;
L B18 Addr WBUF3;
L B19 Addr RBUF3;

L C7 Addr CRASHCODE;
L C8 Addr SYNDROME;
L C9 Addr BLOCK;
L C10 Addr CARDNUMBER;
L C12 Addr CURRENTLOC;
L C13 Addr CURRENTPAGE;
L C14 Addr CURRENTPATTERN;
L C15 Addr PAGECOUNT;
L C17 Addr CONTROLREG;
L C18 Addr PATTERNCHOICE
L C19 Addr SHORTLOOP;

L X DisplayOn;
L X TimeOut 100000000
L X Go START
L X Skip 1
L X ShowError EDMEMEX didn’t halt

L A18 SkipE FOUND.ONE.96K
L X Skip .mem2;
L X ShowError FOUND.ONE.96K
L X Skip .mempass ;

.mem2 L A18 SkipE FOUND.TWO.96K
L X Skip .mem3;
L X ShowError FOUND.TWO.96K
L X Skip .mempass ;

.mem3 L A18 SkipE FOUND.THREE.96K
L X Skip .mem4;
L X ShowError FOUND.THREE.96K
L X Skip .mempass ;

.mem4 L A18 SkipE FOUND.FOUR.96K
L X Skip .mem5;
L X ShowError FOUND.FOUR.96K
L X Skip .mempass ;

.mem5 L A18 SkipE FOUND.FIVE.96K
L X Skip .mem6;
L X ShowError FOUND.FIVE.96K
L X Skip .mempass ;

.mem6 L A18 SkipE FOUND.SIX.96K
L X Skip .mem7;
L X ShowError FOUND.SIX.96K
L X Skip .mempass ;

.mem7 L A18 SkipE FOUND.SEVEN.96K
L X Skip .mem8;
L X ShowError FOUND.SEVEN.96K
L X Skip .mempass ;

.mem8 L A18 SkipE FOUND.EIGHT.96K
L X Skip .memsick;
L X ShowError FOUND.EIGHT.96K
L X Skip .mempass ;

.memsick L X ShowError INCORRECT.NO.OF.STORAGE.BOARDS

.mempass L X TimeOut 100000000
L X Continue
L X Skip 1
L X ShowError EDMEMEX didn’t halt
L A18 SkipE PASSED-EDMEMEX-TEST
L X ShowError EDMEMEX failed


;****** 12. EDMemAbort.midas ********
;NOTE: Since EDMemEx was just run, we don’t need to run it. The map is set up
.memabortstart L X Run-Prog NULL ; Clear the breakpoint and symbol tables in Midas
L X Confirm
L X Load EDMEMABORT;
L X DisplayOn;

L B0 Addr REVISION;
L B1 Addr RUN-TIME;
L B2 Addr PASSCOUNT;
L B3 Addr MAXPASS;
L B4 Addr SUBTEST;
L B5 Addr TESTCOUNTER;

L C11 Addr CURRENTPAGE;
L C12 Addr CURRENTLOC;
L C13 Addr XA;
L C14 Addr TYPEREG;
L C16 Addr EXPSTACK;
L C17 Addr TEMPREG;
L C18 Addr PAGECOUNT;
L C19 Addr SHORTLOOP;

L X DisplayOn;
L X TimeOut 1000000
L X Go START
L X Skip 1
L X ShowError EDMEMABORT didn’t halt
L A18 SkipE PASSED-EDMEMABORT-TEST
L X ShowError EDMEMABORT failed


;****** 13. EDPackets.midas ********


;****** 14. EDRDCD.midas ********


;****** 15. EDUTVFC1.midas ********


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


;passed completed EDPROC test
L X ShowError PASSED-EDPROC-TEST


;Loop back for over-night test
;L X BackSkip .procstart;