.TITLE DKCK / / 5 FEB 74 (PDH) MAKE MORE DIAGNOSTIC OUTPUT / 1 FEB 74 - PAUL HENDERSON / / PROGRAM TO TRY TO ILLUSTRATE A POSSIBLE DISK DATA TRANSFER PROBLEM / TTO=-12 DK=2 .SCOM=100 / .IODEV TTO,DK / .GLOBL PACK / .DEFIN PUT,ARG LLS!1000 3 /SHIFT NEXT CHARACTER FROM MQ XOR (60 /GENERATE ASCII DAC ARG .ENDM / DKCK .INIT TTO,1,DKCK LAC* (.SCOM+3 CMA TAD (1 TAD* (.SCOM+2 / (.SCOM+2) - (.SCOM+3) = - (FREE CORE) DAC WC1 / 2'S COMPLEMENT OF SIZE OF FREE CORE DAC WC2 /USE AS WORD COUNT FOR .TRAN'S LAC* (.SCOM+2 /GET 1ST FREE ADDRESS DAC CA1 DAC CA2 /USE AS BUFFER START ADDRESS / NEWPAT LAC (222202 / TAD PATERN B1 DAC PATERN /SAVE IT LAC CA1 DAC PNT /POINT TO START OF BUFFER LAC WC1 DAC COUNT /INITIALIZE COUNTER LAC PATERN FILL DAC* PNT /FILL BUFFER WITH PATTERN ISZ PNT ISZ COUNT JMP FILL / B2 NOP .INIT DK,1,DKCK TR1 .TRAN DK,1,101,0,0 /WRITE OUT BUFFER CA1=TR1+3 WC1=TR1+4 JMS SHOW /DISPLAY PATTERN IN REGISTER LIGHTS .WAITR DK,SHOW+1 LAC CA1 DAC PNT /INITIALIZE POINTER & COUNTER LAC WC1 DAC COUNT LAC PATERN /INITIALIZE WITH COMPLEMENT OF PATERN CMA REFILL DAC* PNT /NOW INITIALIZE BUFFER BEFORE READING ISZ PNT ISZ COUNT JMP REFILL / B3 NOP .INIT DK,0,DKCK TR2 .TRAN DK,0,101,0,0 CA2=TR2+3 WC2=TR2+4 JMS SHOW .WAITR DK,SHOW+1 / LAC CA1 DAC PNT LAC WC1 DAC COUNT LAC (HEAD /POINT ERROR ROUTINE AT HEADER ANNOUNCEMENT DAC ERROR CHECK LAC* PNT /NOW CHECK READ IN VALUES AGAINST SAD PATERN /WHAT WAS WRITTEN OUT SKP JMP* ERROR RETURN ISZ PNT ISZ COUNT JMP CHECK B4 NOP JMP NEWPAT /DATA CHECKS OUT. TRY NEW PATTERN / ERROR XX / HEAD LAC PATERN LMQ PUT P1 PUT P2 /CONVERT PATTERN TO IMAGE ASCII PUT P3 PUT P4 PUT P5 PUT P6 LAC (P1 DAC PCK1+1 LAC (TELPAT /INITIALIZE PACK ROUTINE DAC PCK1+2 PCK1 JMS* PACK 0; 0 SMA JMP PCK1 .WRITE TTO,2,HDR,0 LAC (BODY /NOW SET UP FOR ERROR ANNOUNCEMENT DAC ERROR / BODY LAC PNT /GET ADDRESS LMQ LLS 3 PUT A1 PUT A2 PUT A3 /CONVERT ADDRESS PUT A4 PUT A5 LAC* PNT /GET BAD DATA LMQ PUT D1 PUT D2 PUT D3 PUT D4 /CONVERT BAD DATA PUT D5 PUT D6 LAC (A1 DAC PCK2+1 LAC (ERRS+2 DAC PCK2+2 PCK2 JMS* PACK 0; 0 SMA JMP PCK2 .WAIT TTO /WAIT FOR LINE BUFFER TO BE FREE .WRITE TTO,2,ERRS,0 /WRITE OUT ADDRESS & BAD DATA JMP RETURN / HDR HD-.*400+2; 0; .ASCII ' LOC BAD PATTERN=' TELPAT .BLOCK 4 HD=. / ERRS ER-.*400+2; 0 .BLOCK 6 ER=. / P1;P2;P3;P4;P5;P6; 15 A1;A2;A3;A4;A5; 40; 40;D1;D2;D3;D4;D5;D6; 15 / SHOW XX LAW -10 DAC COUNT LAC PATERN .REPT 200 SHOW2 IOT ISZ COUNT JMP SHOW2 JMP* SHOW / PATERN;PNT;COUNT .END DKCK