; Load DUS-III from the tape. ; ; Section 7 is skipped, as it does write/rewind/read in an infinite loop. ; Set up the log(s). set -N console log=D7970.S68.log ; set -N console debug=D7970-debug.S68.log ; set imba debug=csrw;data set gic debug=xfer set cpp debug=opnd set ma debug=cmd;inco ; Establish the initial environment. ; ; Tape must be REALTIME to place erase gap at BOT. ; Otherwise fails Step 112 because BOT and Tape Mark both assert. ; ; Reel size must be set. Otherwise, Step 219 fails to detect EOT. echo echo Configuring the simulation environment. set CPU 512K,CIS set console DEL=177 set IMBA ENABLED set GIC CHANNEL=12 set MA CHANNEL=12,REALTIME set MA0 REEL=600 set MA1 REEL=600 set MA2 REEL=600 set MA3 REEL=600 break delay 30 milliseconds echo echo echo ----------------------------- echo Diagnostic Utility System III echo ----------------------------- echo echo Loading DUS-III. ; Cold load the DUS-III tape. attach -e -r MS0 DUS-III.tape boot MS0 echo echo Configuring the diagnostic. deposit SWCH 2 ; Load and start the diagnostic. ; ; The diagnostic loads from tape and then waits for a . echo echo Starting the diagnostic. reply "\r" delay 2 seconds go until "\r\n:" ; reply "AID\r" go until "\r\n> " ; reply "LOAD D7970S68\r" ; Correct the AID bug that uses the wrong DRT format. ; ; The DEPOSITs exchange the LOAD Q+2 and LLBL 153 instructions. deposit 01.037541 033553 deposit 01.037545 041402 ; Execute diagnostic section 6. go until "0 " ; reply "RUN\r" go until "7970E CHANNEL NUMBER? " ; reply "12\r" go until "7970E DEVICE NUMBER? " ; reply "0\r" ; Respond to "SECTION 6 (INTERACTIVE). ENTER: 0-EXECUTE, 1-SKIP" ; "? " go until "? " ; reply "0\r" ; Respond to "PUT A MAGNETIC TAPE WITH WRITE RING ONTO UNIT UNDER TEST" ; " AND PUSH LOAD, ON-LINE AND UNIT#0" go until ">" echo echo echo sim> attach -N MA0 scratch.tape echo sim> go echo attach -N MA0 scratch.tape echo ">" reply "GO\r" ; Respond to "RESET ANY ANOTHER TAPE UNIT CONNECTED TO THE SAME CONTROLLER" go until ">" ; set MA1 OFFLINE ; set MA2 OFFLINE ; set MA3 OFFLINE reply "GO\r" ; Respond to "PUSH RESET" go until ">" echo echo echo sim> set MA0 OFFLINE echo sim> go echo set MA0 OFFLINE echo ">" reply "GO\r" ; Respond to "PUSH ON-LINE" go until ">" echo echo echo sim> set MA0 ONLINE echo sim> go echo set MA0 ONLINE echo ">" reply "GO\r" ; Respond to "PUSH UNIT 1" go until ">" echo echo echo sim> detach MA0 echo sim> attach MA1 scratch.tape echo sim> go echo detach MA0 attach MA1 scratch.tape echo ">" reply "GO\r" ; Respond to "PUSH RESET" go until ">" echo echo echo sim> set MA1 OFFLINE echo sim> go echo set MA1 OFFLINE echo ">" reply "GO\r" ; Respond to "PUSH ON-LINE" go until ">" echo echo echo sim> set MA1 ONLINE echo sim> go echo set MA1 ONLINE echo ">" reply "GO\r" ; Respond to "PUSH UNIT 2" go until ">" echo echo echo sim> detach MA1 echo sim> attach MA2 scratch.tape echo sim> go echo detach MA1 attach MA2 scratch.tape echo ">" reply "GO\r" ; Respond to "PUSH RESET" go until ">" echo echo echo sim> set MA2 OFFLINE echo sim> go echo set MA2 OFFLINE echo ">" reply "GO\r" ; Respond to "PUSH ON-LINE" go until ">" echo echo echo sim> set MA2 ONLINE echo sim> go echo set MA2 ONLINE echo ">" reply "GO\r" ; Respond to "PUSH UNIT 3" go until ">" echo echo echo sim> detach MA2 echo sim> attach MA3 scratch.tape echo sim> go echo detach MA2 attach MA3 scratch.tape echo ">" reply "GO\r" ; Respond to "PUSH RESET" go until ">" echo echo echo sim> set MA3 OFFLINE echo sim> go echo set MA3 OFFLINE echo ">" reply "GO\r" ; Respond to "PUSH ON-LINE" go until ">" echo echo echo sim> set MA3 ONLINE echo sim> go echo set MA3 ONLINE echo ">" reply "GO\r" ; Respond to "PUSH UNIT 0,1,2, AND 3" go until ">" echo echo echo sim> detach MA3 echo sim> attach MA0 scratch.tape echo sim> detach MA0 echo sim> attach MA1 scratch.tape echo sim> detach MA1 echo sim> attach MA2 scratch.tape echo sim> detach MA2 echo sim> attach MA3 scratch.tape echo sim> go echo detach MA3 attach MA0 scratch.tape detach MA0 attach MA1 scratch.tape detach MA1 attach MA2 scratch.tape detach MA2 attach MA3 scratch.tape echo ">" reply "GO\r" ; Respond to "PUSH UNIT 0" go until ">" echo echo echo sim> detach MA3 echo sim> attach MA0 scratch.tape echo sim> go echo detach MA3 attach MA0 scratch.tape echo ">" reply "GO\r" ; Respond to "PUSH UNIT 1" go until ">" echo echo echo sim> detach MA0 echo sim> attach MA1 scratch.tape echo sim> go echo detach MA0 attach MA1 scratch.tape echo ">" reply "GO\r" ; Respond to "PUSH UNIT 2" go until ">" echo echo echo sim> detach MA1 echo sim> attach MA2 scratch.tape echo sim> go echo detach MA1 attach MA2 scratch.tape echo ">" reply "GO\r" ; Respond to "PUSH UNIT 3" go until ">" echo echo echo sim> detach MA2 echo sim> attach MA3 scratch.tape echo sim> go echo detach MA2 attach MA3 scratch.tape echo ">" reply "GO\r" ; Respond to "PLEASE REMOVE WRITE RING AND REMOUNT TAPE." go until ">" echo echo echo sim> detach MA3 echo sim> attach -R MA3 scratch.tape echo sim> go echo detach MA3 attach -R MA3 scratch.tape echo ">" reply "GO\r" ; Respond to "CHECK IF RESET LIGHT IS ON! THEN:" ; ; "PUT TAPE WITH WRITE RING ONTO DRIVE, AND PUSH LOAD, ON-LINE" ; "AND UNIT 0" ; ; The diagnostic has issued a Rewind Offline command, and the tape is moving. ; Before dismounting the tape to add the write ring, we must wait for the rewind ; to complete. As the simulator has no method of doing this, we wait for a ; period of time consistent with the rewind distance to ensure that the tape has ; stopped before we dismount and remount the tape. go until ">" go for 5 seconds echo echo echo sim> detach MA3 echo sim> attach MA0 scratch.tape echo sim> go echo detach MA3 attach MA0 scratch.tape echo ">" reply "GO\r" ; Respond to "IS TESTED UNIT#0 MASTER? (Y/N)" ; "? " go until "? " ; reply "Y\r" ; Respond to "TURN-OFF THE POWER ON TAPE UNIT" go until ">" echo echo echo [Power is off] echo set MA0 OFFLINE echo ">" reply "GO\r" ; Respond to "TURN-ON THE POWER ON TAPE UNIT AND PUSH LOAD AND ON-LINE" go until ">" reset -P MA set MA0 ONLINE echo echo echo [Power is on] echo echo ">" reply "GO\r" ; Respond to "SECTION 6 (INTERACTIVE). ENTER: 0-EXECUTE, 1-SKIP" ; "? " go until "? " ; reply "1\r" ; Respond to "SECTION 7 (MAINTENANCE WRITE/READ). ENTER: 0-EXECUTE, 1-SKIP" ; "? " go until "? " ; reply "1\r" ; Respond to "SECTION 8 (TAPE MEDIA TEST). ENTER: 0-EXECUTE, 1-SKIP" ; "? " go until "? " ; reply "0\r" ; Respond to "PUT A MAGNETIC TAPE WITH WRITE RING ONTO UNIT UNDER TEST" ; " AND PUSH LOAD, ON-LINE AND UNIT#0" go until ">" ; reply "GO\r" ; Respond to "RESET ANY ANOTHER TAPE UNIT CONNECTED TO THE SAME CONTROLLER" go until ">" ; reply "GO\r" ; Respond to "TEST SECTION 8 (STEPS 801-814) IS COMPLETE" go until ">" ; reply "GO ,,1\r" ; Exit go until "0 " ; reply "EXIT\r" go until "?" ; reply "YES\r" go until "\r\n:" detach MA0 delete scratch.tape exit