/ VC8E *TV* HANDLER FOR A STORAGE SCOPE (DTB, CRW, JVZ) /THIS HANDLER USES A STANDARD VC8E INTERFACE TO PRODUCE /OUTPUT ON A TEKTRONIX 611/613 STORAGE SCOPE. THE MODI- /FICATION IS TO CHANGE THE X- AND Y-AXES TO RUN FROM 0- /1777 RATHER THAN -777 TO +777. THIS REQUIRES REVERSING /THE SIGN BIT (BIT 2). THE INTERFACE IS ASSUMED TO HAVE /BITS 6-8 OF THE ENABLE REGISTER ASSIGNED TO THE STORAGE /SCOPE FUNCTIONS AS IS TRUE OF LATER VERSIONS. /THE HANDLER OUTPUTS CHARACTERS UNTIL THE SCREEN IS FULL /THEN WAITS FOR KEYBOARD INPUT BEFORE ERASING EVERYTHING /TYPING *CTRL/C* WILL CAUSE AN IMMEDIATE RETURN TO THE /OS/8 KEYBOARD MONITOR. /NOTE: THE *MQ* REGISTER IS USED BY THE DISPLAY ROUTINE. /ACKNOWLEDGEMENTS: THIS HANDLER BENEFITS FROM THE MANY /HOURS OF HARD WORK BY DANIEL T. BROWN & CRAIG R. WYSS /OF THE DEPT. OF PHYSIOLOGY AND BIOPHYSICS AT THE UNIV. /OF WASHINGTON. DISD=6052 DILX=6053 DILY=6054 DIXY=6055 DILE=6056 /PARAMETER BLOCK FOR *BUILD*: PAGE 0 -1 DEVICE VC8E DEVICE TV 1300;4175 ZBLOCK 2 PAGE 1 START, 0 /POINTS TO THE NEXT PAGE CLA STL RTL RDF TAD CDF0 /COMPUTE THE RETURN *CDI* DCA CDIX TAD I CRT /ARG1 SMA /CHECK FOR A *READ* JMP EXIT K377, AND (70 TAD CDF0 DCA CDFX /BUFFER FIELD TAD I CRT RAL /MULTIPLY BY 2 AND EXIT /GET WORD COUNT STL CMA RAR /NEGATE & DIVIDE BY 2 DCA WCNT ISZ CRT TAD I CRT /ARG2 DCA BUFF /BUFFER ADDRESS JMP BEGIN TEMP, 0 LOOP, JMS GETC /UNPACK THE BUFFER DCA TEMP JMS GETC /FIRST TWO CHARACTERS ARE EASY CLL RTR RTR TAD TEMP /HERE*S HOW WE GET THE THIRD RTR RTR BEGIN, JMS PUTC /SETS THE D.F. THE FIRST TIME ISZ WCNT JMP LOOP WCNT, 0 EXIT, 7600 /*CLA* ISZ CRT /PASS THE BLOCK NUMBER ISZ CRT /AND THE ERROR RETURN ISZ CRT CDIX, CDF CIF JMP I CRT /**RETURN** GETC, 0 /READ THE BUFFER TAD I BUFF JMS PUTC /AND WRITE IT OUT TAD I BUFF AND .+2 /GET THE UPPER FOUR BITS ISZ BUFF 7400 /= *NOP* JMP I GETC BUFF, 0 M6, -6 MLF, -12 K177, 177 WAIT, KSF /WAIT AT THE BOTTOM OF A PAGE JMP .-1 CIA /GET *34* DILE /PUSH THE *ERASE* BUTTON KRB /CLEAR THE FLAG AND K177 /REMOVE PARITY TAD MCC SNA CLA /CTRL/C? JMP I EXIT /-> 7600 DISD /WAIT A WHILE... JMP .-1 TAD C1744 JMP LF+5 /AND START FROM THE TOP AGAIN LF, DCA X /RESET THE X POSITION TAD Y TAD M40 /MOVE DOWNWARD A LINE SPA JMP WAIT /AC=XX34 DCA Y M40, SMA SZA CLA /EFFECTIVE *JMP CDFX* PUTC, 0 /CHARACTER CHECKS CDF0, CDF 0 /FOR ACCESS TO PAGE 2 AND K177 SNA JMP CDFX /IGNORE NULLS TAD MLF SNA /NEW LINE? JMP LF /YES - *CR* IS IGNORED TAD M20 SNA /END OF FILE? JMP EXIT /YES TAD M6 SPA /NON-PRINTING? USE A SPACE M20, SMA SZA SNL CLA /=212-232; EFFECTIVE *SKP* CLL RAL /X2 TAD START /PLUS BEGINNING DCA ADDR /= PATTERN ADDRESS JMS OUTC /WRITE THE BIT PATTERN JMS OUTC JMS PLTC /PLUS A LITTLE SPACE CDFX, CDF /FOR ACCESS TO THE BUFFER JMP I PUTC MQL=7421 OUTC, 0 /WRITE TWO VERTICAL LINES ISZ ADDR C1744, TAD I ADDR /FIELD 0, OF COURSE MQL JMS PLTC /PRINT THE DOTS JMS PLTC JMP I OUTC ADDR, 0 CNTR, 0 PLTC, 0 /NOW FOR SOME ACTION! TAD M6 DCA CNTR /6 DOTS HIGH STL IAC RAL /=3 TAD X /SET THE X-COORDINATE DILX DCA X /SAVE FOR THE NEXT COLUMN SWP=7521 TAD Y DOTS, DILY /SET THE Y-COORDINATE TAD C4 /ADVANCE AND SAVE SWP SPA /READ THE PATTERN DIXY /INTENSIFY CLL RAL SWP /SWAP AND SAVE AGAIN ISZ CNTR /COUNT THE DOTS JMP DOTS CLA /REMOVE VERTICAL VALUE JMP I PLTC C4, +4 MCC, -3 X, 0 /INITIAL VALUES Y, TAD I ADDR /PRACTICALLY FS *400-3 CRT, "A&77 /HERE*S THE ENTRY POINT! JMS START /GET THE ADDRESS OF PAGE 2 PAGE 2 0000 /SPACE 0000 5600 /! 0000 0303 /" 0000 1477 /# 7714 5652 /$ 7772 2313 /% 6462 7652 /& 7752 0300 /' 0000 3641 /( 0000 4136 /) 0000 0005 /* 0205 1034 /+ 1000 0040 /, 3000 1010 /- 1000 4000 /. 0000 2010 // 0402 3641 /0 4136 4442 /1 7740 4261 /2 5146 2145 /3 5321 1710 /4 1077 4745 /5 4531 7750 /6 5070 6111 /7 0503 2255 /8 5522 0705 /9 0577 2400 /: 0000 0040 /; 3200 1024 /< 4200 1212 /= 1200 4224 /> 1000 0255 /? 0300 7775 /@ 4577 7611 /A 1176 7745 /B 4532 3641 /C 4122 7741 /D 4136 7745 /E 4541 7705 /F 0501 7741 /G 5173 7710 /H 1077 4177 /I 4100 2040 /J 4037 7714 /K 2241 7740 /L 4040 7702 /M 0277 7706 /N 3077 7741 /O 4177 7705 /P 0502 3641 /Q 6176 7715 /R 2542 2245 /S 5122 0177 /T 0100 3740 /U 4037 1720 /V 4037 7730 /W 3077 4136 /X 3641 0374 /Y 7403 6151 /Z 4543 7741 /[ 0000 0204 /\ 1020 4177 /] 0000 0436 /^ 0400 0416 /_ 3704 $