/"SUPER" DATA MANIPULATION AND / OSCILLOSCOPE PROGRAM / / QAINIT=1000 QARFSH=1053 ANSWER=2340 /SEGMENT 3 OPR=0500 KRB=6036 M11=13 M44=14 / SEGMNT 2 / *13 / -11 -44 0 0 0 NOP /READ Q & A INTO NOP /QTRS 2 AND 3 JMP RESET JMP ORIG DSPLAY, SET I 2 0777 SET I 3 3377 LDA I 3 DIS I 2 /DISPLAY AT EVERY OTHER SCOPE XSK I 2 /ADDRESS JMP DSPLAY+4 KST I /TTY KEY BEEN STRUCK? JMP KEYBRD /YES; SNS 5 /DISPLAY A ZERO REFERENCE? JMP BASELN SNS 4 /DISPLAY THE CURSOR? /SCOP12 FOR THE PDP-12 /DATA MANIPULATION AND OSCILLOSCOPE PROGRAM /COPYRIGHT FEBRUARY 1970 /DIGITAL EQUIPMENT CORPORATION /MAYNARD, MASSACHUSETTS /WRITTEN BY ROBERT M. HUGHES /FROM SEVERAL OTHER PROGRAMS BY SEVERAL OTHER AUTHORS; / / / / *13 M32, -32 M300, -300 0 0 0 NOP NOP JMP RESET JMP ORIG DSPLAY, SET I 2 0777 SET I 3 3377 LDA I 3 DIS I 2 /DISPLAY AT EVERY OTHER SCOPE ADDRESS; XSK I 2 JMP DSPLAY+4 KST I JMP KEYBRD SNS 5 /DISPLAY A ZERO REFERENCE? JMP BASELN SNS 4 /DISPLAY THE CURSOR? JMP CURSOR JMP DSPLAY KEYBRD, IOB KRB SAE I CRTN, 212 SKP JMP NRTN SAE I EXTRA, 0 SKP JMP DSPLAY /THIS CAN BE REPLACED; ADD M300 APO /KBD > 300? JMP DSPLAY /NO ADD M32 /YES APO I /IS KBD=332 OR LESS? JMP DSPLAY ADA I 32+.+2+JMP STC .+1 JMP KA, JMP A KB, JMP B KC, JMP DSPLAY KD, JMP D KE, JMP DSPLAY KF, JMP F KG, JMP DSPLAY KH, JMP H KI, JMP INT KJ, JMP DSPLAY KK, JMP DSPLAY KL, JMP L KM,Y KO, JMP ORIG KP, JMP P KQ, JMP DSPLAY KR, JMP R KS, JMP S KT, JMP DSPLAY KU, JMP DSPLAY KV, JMP DSPLAY KW, JMP W KX, JMP XTRNAL KY, JMP DSPLAY KZ, JMP DSPLAY NRTN, JMP DSPLAY /THIS WILL BE REPLACED BY A "JMP ENTER" AT RUN TIME; / / A, SET I 3 3377 RSW APO I JMP.+4 COM BSE I 4000 ADM I 3 XSK 3 JMP A+2 JMP DSPLAY / B, SET I 2 0777 SET I 3 3377 LDA I 3 APO JMP BNEG DIS I 2 AZE I JMP .+5 ADA I 7776 DIS 2 JMP .-5 BDONE, XSK I 2 JMP B+4 KST /KST FOR DEMO MONITOR JMP B JMP KEYBRD BNEG, DIS I 2 AZE I JMP BDONE ADA I 1 DIS 2 JMP BNEG+1 / D, SET I 3 3400 SET I 4 3377 LDA 3 COM ADA I 3 STA I 4 XSK 3 JMP D+4 JMP DSPLAY / F, SET I 2 3376 SET I 3 3377 SET I 4 3400 LDA I 3 ROL 1 ADA I 2 ADA I 4 SCR 2 STA 3 XSK 4 JMP F+6 JMP DSPLAY / H, SET I 1 3374 SET I 2 3375 SET I 3 3376 SET I 4 3377 SET I 5 3400 SET I 6 3401 SET I 7 3402 SET I 10 3403 SET I 11 2377 HRPT, LDA I 4 ADA I 1 ADA I 2 ADA I 3 ADA I 5 ADA I 6 ADA I 7 ADA I 10 SCR 3 COM ADA 4 STA I 11 XSK 10 JMP HRPT SET I 11 2377 SET I 3 3377 LDA I 11 STA I 3 XSK 3 JMP .-3 JMP DSPLAY / INT, SET I 3 3377 ADM I 3 XSK 3 JMP .-2 JMP DSPLAY / L, SET I 3 3377 LDA I 3 ROL 1 STA 3 XSK 3 JMP L+2 JMP DSPLAY / ORIG, SET I 2 2777 SET I 3 3377 LDA I 2 STA I 3 XSK 3 JMP .-3 JMP DSPLAY / P, SET I 3 3377 LDA I 3 COM STA 3 XSK 3 JMP P+2 JMP DSPLAY / R, JMP QAINIT TXTRDE!6000 ANSWER JMP QARFSH SET I 17 ANSWER SET I 16 -3 CLR RRPT, ROL 3 STC READ+1 LDH I 17 BCL I 7770 ADD READ+1 XSK I 16 JMP RRPT ADA I 6000 STC READ+1 ADD READ+1 ADA I 1000 STC READ+3 LDA I 17 BCL I 7776 ROL 3 ADA I 0700 STC READ ADD READ STC READ+2 READ, 0700 6000 0700 7000 JMP DSPLAY / S, SET I 3 3377 LDA I 3 SCR 1 STA 3 XSK 3 JMP S+2 JMP DSPLAY / W, JMP QAINIT TXTWRC!6000 ANSWER JMP QARFSH SET I 17 ANSWER SET I 16 -3 CLR WRPT, ROL 3 STC WRITE+1 LDH I 17 BCL I 7770 ADD WRITE+1 XSK I 16 JMP WRPT ADA I 7000 STC WRITE+1 LDA I 17 BCL I 7776 ROL 3 ADA I 0704 STC WRITE WRITE, 0704 7000 JMP DSPLAY / XTRNAL, JMP QAINIT TXTSAM!6000 ANSWER JMP QARFSH / SET I 2 ANSWER LDH I 2 BCL I 7770 ROL 3 STC CHANNL LDH I 2 BCL I 7770 ADM I CHANNL, 0000 ADA I 7740 APO I JMP XTRNAL LDH I 2 /ADVANCE XR(2) CLR SET I 3 -3 CONVRT, MUL I 12 STC DLYMLT LDH I 2 BCL I 7760 ADD DLYMLT FLO I JMP XTRNAL XSK I 3 JMP CONVRT STA I DLYMLT, 0 ADA I -1777 APO I JMP XTRNAL / CLR ADD CHANNL ADA I SAM STA SAMPLE-1 STA SAMNN STA SLOPE STC SYNCSAM LDA I JMP ENTER STC NRTN / /ON CHANNL NN ENTER, CLR ADD DLYMLT COM ADA I 1777 STA 17 STC 16 / SET I 3 2777 SET I 2 0777 SYNC, SET I 10 -10 SET I 4 0777 JMP RESET /DISABLE FAST SAMPLE KST I /KST FOR DEMO MONITOR JMP KEYBRD SAM 4 /GET THRESH-HOLD SCR 1 STC THRESH SYNCSAM,SAM /GET CHANNL NN STA I /INITIATE CHANNL NN LAST, 0 SCR 1 ADD BIAS DIS I 4 COM ADD THRESH SNS I 1 COM APO /CHANNL NN > THRESH-HOLD? JMP SLOPE /YES LDA I /NO THRESH, 0 /DISPLAY THRESH-HOLD DIS I 4 XSK I 10 JMP .-2 JMP SYNC / / SLOPE, SAM /SAMPLE CHANNL NN COM ADD LAST SNS 1 /DO YOU WANT A POSITIVE SLOPE? COM /YES APO JMP SYNC /SLOPE IS NOT AS REQUESTD / /OK; LETS GO!!! / SETUP, LDA I 0140 /DISABLE TTY INTERRUPT ESF /ENABLE FAST SAMPLE SAM /INITIATE SAM ON CHANNL NN SAMPLE, SAM 0 /GET CHANNL NN SCR 1 /INITIATE SAMPLE OF KNOB 00 ADD BIAS STA I 3 DIS I 2 SAMNN, SAM /GET KNOB 00; SCR 2 /INITIATE SAM ON CHANNL NN STC BIAS XSK I 2 /INCREMENT XR(2) JMP DELAY SNS 0 /TERMINATE SAMPLING? JMP SYNC-4 /NO;CONTINUE JMP RESET /YES; DISABLE FAST SAMPLE JMP ORIG /SAVE LAST TRACE / BIAS, 0 / DELAY, KST I JMP SYNC+4 XSK I 16 JMP EXIT+1 SET 16 17 EXIT, JMP SAMPLE SET I 15 -3 XSK I 15 JMP .-1 JMP DELAY / / RESET, LDA I 1600 ESF /DISABLE FAST SAMPLE JMP 0 / / X=4 Y=5 / / CURSOR, SAM 5 /RANGE IS 7000 TO 0777 ADA I 1000 /RANGE IS 0001 TO 1777 BCL I 0001 /RANGE IS 0000 TO 1776 STA X /HORIZ. COORD OF CURSOR SCR 1 /RANGE IS 000 TO 377 ADA I 3400 /RANGE IS 3400 TO 3777 STA Y /ADDRESS OF DATUM WHICH / /CURSOR IS POINTING AT; / SET I 2 /CURSOR DISPLAY SUB-ROUTINE -7 LDA Y ZAPP, ADA I /UP THREE POINTS 3 DIS X XSK I 2 JMP ZAPP / / / / SAM 2 /RANGE IS 7000 TO 0777 BCL I 7000 /RANGE IS 0000 TO 0777 STC 1 SAM 6 STC VERT LDA Y /GET DATUM WHICH CURSOR STA I /IS POINTING AT VALUE, 0 APO JMP NEG POS, SET I 6 PLUS!2000 JMP .+5 NEG, COM STC VALUE SET I 6 MINUS!2000 / / JMP VERT-1 / / ADD VALUE ROL 3 JMP DSCNUM /GET FIRST NUMBER ADD VALUE ROL 6 JMP DSCNUM /GET SECOND DIGIT ADD VALUE ROR 3 JMP DSCNUM /GET THIRD DIGIT ADD VALUE JMP DSCNUM /GET LAST DIGIT JMP DSPLAY /ALL DONE; GET ON BACK / / / / DSCNUM, BCL I -7 ROL 1 ADA I ZERO!2000 STC 6 LDA I VERT, 0 DSC 6 DSC I 6 LDA I 10 ADD 1 STC 1 JMP 0 / / / / BASELN, LDA 0 STC 1 SET I 5 0777 DIS I 5 XSK I 5 JMP .-2 JMP 1 / / / / / / SEGMNT 3 TXTRDE, TEXT "F F READ F H RETRIEVE DATA FROM: F F BLOCK <3 H F UNIT <1\" / TXTWRC, TEXT "F F WRITE F H SAVE DATA AT: F F BLOCK <3 H F UNIT <1\" / TXTSAM, TEXT "F F SAMPLE DATA F F ON CHANNEL<2 F F EVERY <4X50 USEC.\" / / / / PLUS, 1000 1034 MINUS, 1000 1010 ZERO, 4536 /0 3651 2100 /1 0177 4321 /2 3145 4122 /3 2651 2414 /4 0477 5172 /5 4651 2516 /6 0245 4740 /7 6070 / / / /