; Load DUS-III from the tape. ; Set up the log(s). set -N console debug=CHAINREAD-debug.log set -N console log=CHAINREAD.log set imba debug=csrw;data set gic debug set cpp debug set dc debug=cmd;inco;state ; Establish the initial environment. echo echo Configuring the simulation environment. set CPU 512K,CIS set console DEL=177 set IMBA ENABLED break delay 30 milliseconds attach DC0 scratch.7933.disc 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" ; do chained reads on device 0 unit 0 ; ; CC( 0) = --0DH (Request Status opcode) ; CC( 1) = --18H (Set Length opcode) ; CC( 2) = 0000H \ ; CC( 3) = 0800H / 2048 bytes ; CC( 4) = 02--H (Locate and Write opcode) ; CC( 5) = 3C01H (Set Burst Last opcode, 1 block) ; CC( 6) = --18H (Set Length opcode) ; CC( 7) = 0000H \ ; CC( 8) = 0800H / 2048 bytes ; CC( 9) = 1000H \ ; CC(10) = 0000H | Set Address 0 ; CC(11) = 0000H / ; CC(12) = 0000H (Locate and Read opcode) ; ; Line 10 go until "\r\n> " ; reply "DB BB,10,0\r" go until "\r\n> " ; reply "DB CC,13,0\r" go until "\r\n> " ; reply "DB DD,1024,0\r" go until "\r\n> " ; reply "DB EE,1024,0\r" go until "\r\n> " ; reply "DB FF,1024,0\r" go until "\r\n> " ; reply "ASSIGN CC(0),!0D,!18,!0000,!0800,!0200,!3C01\r" go until "\r\n> " ; reply "ASSIGN CC(6),!18,!0000,!0800,!1000,!0000,!0000,!0000\r" go until "\r\n> " ; reply "ASSIGN DD(0),(256),!1111\r" go until "\r\n> " ; reply "ASSIGN DD(256),(256),!2222\r" go until "\r\n> " ; reply "ASSIGN DD(512),(256),!3333\r" go until "\r\n> " ; reply "ASSIGN DD(768),(256),!4444\r" go until "\r\n> " ; reply "LET CHANNEL:=11,DEVICE:=0\r" go until "\r\n> " ; reply "BSIO ZZ\r" go until "\r\n> " ; reply "DSJ 150\r . QSTAT REPORTING\r" ; Line 150 go until "\r\n> " ; reply "WR !5,CC(0),1,,R . REQUEST STATUS COMMAND\r" go until "\r\n> " ; reply "WAIT\r" go until "\r\n> " ; reply "RR !E,BB(0),20 . REQUEST STATUS EXECUTION\r" go until "\r\n> " ; reply "WAIT\r" go until "\r\n> " ; reply "DSJ 200\r . QSTAT REPORTING\r" ; Line 200 go until "\r\n> " ; reply "WR !5,CC(1),6,,R . LOCWRITE COMMAND\r" go until "\r\n> " ; reply "WAIT\r" go until "\r\n> " ; reply "WR !E,DD(0),2048 . LOCWRITE EXECUTION\r" go until "\r\n> " ; reply "WAIT\r" go until "\r\n> " ; reply "DSJ 250\r . QSTAT REPORTING\r" ; Line 250 go until "\r\n> " ; reply "WR !5,CC(6),13,,R . LOCREAD COMMAND\r" go until "\r\n> " ; reply "WAIT\r" go until "\r\n> " ; reply "RR !E,EE(0),512,DC=3 . LOCREAD EXECUTION (CHAINED RECORD)\r" go until "\r\n> " ; reply "RR !E,EE(256),512,DC=2\r" go until "\r\n> " ; reply "RR !E,EE(512),512,DC=1\r" go until "\r\n> " ; reply "RR !E,EE(768),512,DC=0\r" go until "\r\n> " ; reply "WAIT\r" go until "\r\n> " ; reply "DSJ 330,330 . QSTAT REPORTING\r" ; Line 330 go until "\r\n> " ; reply "WR !5,CC(5),2 . SET BURST COMMAND\r" go until "\r\n> " ; reply "WAIT\r" go until "\r\n> " ; reply "DSJ 360\r . QSTAT REPORTING\r" ; Line 360 go until "\r\n> " ; reply "WR !5,CC(6),13,,R . LOCREAD COMMAND\r" go until "\r\n> " ; reply "WAIT\r" go until "\r\n> " ; reply "RB !E,FF(0),512,256,DC=3 . LOCREAD EXECUTION (CHAINED BURST)\r" go until "\r\n> " ; reply "RB !E,FF(256),768,256,DC=2\r" go until "\r\n> " ; reply "RB !E,FF(640),256,256,DC=1\r" go until "\r\n> " ; reply "RB !E,FF(768),512,256,DC=0\r" go until "\r\n> " ; reply "JUMP 440 . END ON EOI\r" go until "\r\n> " ; reply "JUMP 370 . END ON BURST\r" go until "\r\n> " ; reply "WAIT\r" go until "\r\n> " ; reply "DSJ 460,460 . QSTAT REPORTING\r" ; Line 460 go until "\r\n> " ; reply "IN H\r" go until "\r\n> " ; reply "RSIO\r" go until "\r\n> " ; reply "CB DD(0),EE(0),1024\r" go until "\r\n> " ; reply "PRINT \"RECORD BUFFER COMPARE INDEX is \";INDEX\r" go until "\r\n> " ; reply "CB DD(0),FF(0),1024\r" go until "\r\n> " ; reply "PRINT \"BURST BUFFER COMPARE INDEX is \";INDEX\r" go until "\r\n> " ; reply "END\r" go until "\r\n> " ; reply "RUN\r" ; Exit go until "\r\n> " ; reply "EXIT\r" go until "?" ; reply "YES\r" go until "\r\n:" exit