*20 /MAY 7, 1971 /DANIEL GRAY /THIS PROGRAM WAS WRITTEN TO INTERFACE /THE PDP-12 WITH THE MESSY DICK PUNCH /AND READER. IT IS WRITTEN TO HANDLE /GLEN MARTINS DATA FORMAT, BUT CAN BE /EASILY CHANGED TO BE MORE FLEXIBLE. /PROGRAM ACCEPTS TTY INPUT IN FORMAT /-H000H000H...-. CARRIAGE RETURN /WORKS AND RUBOUT WILL REMOVE PREVIOUS /ENTRIES. AFTER ALL DATA IS INPUT, /TURN ON TTY PUNCH AND HIT PERIOD ON /TTY. THE PROGRAM PUNCHES OUT THE DATA /WITH PARITY IN THE 8 BIT, ALWAYS /MAKING THE NUMBER OF BITS EVEN. /SOURCE PROGRAM IS AS FOLLOWS: / / CLR IOB 6032 /KCC IOB 6046 /TLS ESF LDF 1 LIF 0 JMP D1 / / PMODE *20 CRLF=JMS . 0 CLA CLL TAD CR TYPE CLA CLL TAD LF TYPE CLA CLL JMP I .-10 TYPE=JMS . 0 TSF JMP .-1 TLS JMP I .-4 PD1, LINC LMODE JMP D1 CLN, PDP PMODE CLA CLL JMP I .+1 OUTPUT / / N20A, -20 N20B, -20 CR, 215 LF, 212 NR, -322 PR, 322 NM, -315 NCLN, -272 PCLN, 272 INC, 0 P200, 200 TEMP, 0 M5, -5 MTR, 0 RN, 43 NRN, -43 BSL, 37 NBSL, -37 MRTSW, 0 IDISP, DISP INDEX, 0 TR, 0 F, 2000 / / *200 CLA CLL TAD M5 DCA MTR BEGIN, CLA CLL TAD F DCA INDEX TAD BSL DCA I INDEX DCA TR INPUT, KSF JMP .-1 KRB SZA JMP T CRLF TAD RN DCA I INDEX ISZ INDEX TAD BSL DCA I INDEX TAD INDEX SNA JMP I IDISP CLA CLL ISZ TR TAD MTR TAD TR SNA JMP I IDISP KSF JMP .-1 KRB SNA JMP .-4 T, TYPE DCA TEMP DCA INC TAD TEMP RAL SZL ISZ INC CLL SZA JMP .-5 TAD INC RAR SNL JMP .+5 CLA CLL TAD P200 TAD TEMP DCA TEMP CLA CLL TAD TEMP DCA I INDEX ISZ INDEX TAD BSL DCA I INDEX JMP INPUT OUTPUT, CLA CLL TAD F DCA INDEX CLA CLL TAD N20A DCA N20B TYPE ISZ N20B JMP .-2 MO, CLA CLL TAD I INDEX ISZ INDEX TAD NRN SNA JMP OUTPUT+3 TAD RN TAD NBSL SNA JMP PD1 TAD BSL TYPE JMP MO DISP, KCC LINC LMODE START, SET I 16 3777 SET I 14 0 SET I 13 -5 LDA I 340 STC VERT JMP D2 D2R, CLR SET I 1 20 CONT, CLR SAM 0 SCR 1 ADA I 2377 SAE 16 SKP JMP CUR CURR, LDA I 16 BCL I 7700 SAE I 37 SKP JMP START SAE I 43 JMP .+5 XSK I 13 SKP JMP START JMP RET ROL 1 ADA I ZSTART STC 17 LDA I VERT, 0 DSC 17 DSC I 17 LDA I 4 ADM 1 XSK I 14 LDA 14 SAE I 50 JMP CONT LDA I 20 ADM VERT RET, SET I 14 0 LDA I -40 ADM VERT LDA I 20 STC 1 JMP CONT CUR, SET I 15 -3 LDA I -4 ADM 1 LDA VERT DSC I 4177 DSC I 0 DSC I 0 DSC I 7741 LDA I -14 ADM 1 XSK I 15 JMP CUR+2 CLR IOB 6034 /KRS AZE I JMP CURR SAE I 272 SKP JMP CLN PDP PMODE KSF SKP JMP .+3 LINC LMODE JMP CURR PMODE KRB DCA TEMP DCA INC TAD TEMP RAL SZL ISZ INC CLL SZA JMP .-5 TAD INC RAR SNL JMP .+5 CLA CLL TAD P200 TAD TEMP DCA TEMP CLA CLL TAD TEMP LINC LMODE STA I 16 JMP CURR D1, SET I 10 T1-1+4000 LDA I 320 STC UP SET I 1 20 LDH I 10 SAE I 34 JMP UP-5 LDA I -40 ADM UP SET I 1 20 JMP UP+3 ROL 1 ADA I ZSTART-1 STC 11 LDA I UP, 0 DSC I 11 DSC I 11 KST SKP JMP K1 LDA I 4 ADM 1 LDA 10 SAE I T2-1+4000 JMP D1+7 JMP D1 D2, SET I 10 T2-1+4000 LDA I -240 STC UP2 SET I 1 20 LDH I 10 SAE I 34 JMP UP2-5 LDA I -40 ADM UP2 SET I 1 20 JMP UP2+3 ROL 1 ADA I ZSTART-1 STC 11 LDA I UP2, 0 DSC I 11 DSC I 11 LDA I 4 ADM 1 LDA 10 SAE I T3-1+4000 JMP D2+7 JMP D2R K1, PDP PMODE KRB SZA JMP .+3 JMP I .+1 200 TAD NR SNA JMP I IDISP TAD PR TAD NM SZA JMP .+6 LAS CMA DCA MTR JMP I .+1 BEGIN LINC LMODE JMP D1 T1, TEXT [!!!!TURN PUNCH OFF!!!!\LOAD TAPE.\HIT M TO DUPE TRIALS. NUM=(8)RSW.\HIT R TO VIEW LAST TRIALS.\TURN ON TAPE READER FOR INPUT. [ T2, TEXT [DO CORRECTIONS.\PUNCH ON.\HIT COLON.\!!!!READER OFF!!!! [ T3, 0 /PATTERN WORDS FOR CHAR DISPL. ZSTART, 4522 /AT SIGN 1645 4477 /A 7744 5177 /B 2651 4136 /C 2241 4177 /D 3641 4577 /E 4145 4477 /F 4044 4136 /G 2645 1077 /H 7710 7741 /I 0041 4142 /J 4076 1077 /K 4324 177 /L 301 3077 /M 7730 3077 /N 7706 4177 /O 7741 4477 /P 3044 4276 /Q 376 4477 /R 3146 5121 /S 4651 4040 /T 4077 177 /U 7701 176 /V 7402 677 /W 7701 1463 /X 6314 770 /Y 7007 4543 /Z 6151 4177 /[ 0000 2040 /\ 0410 0 /] 7741 2000 /^ 2077 3410 /BACK ARROW 1010 0 /SPACE 0 7500 /! 0 6006 /" 60 3614 /NUMBER SIGN 1436 7721 /DOLLAR SIGN 4677 1446 /% 6130 5166 /& 0523 5000 /APOSTROPHY 60 4136 /( 0 0 /) 3641 2050 /* 50 404 /+ 437 605 /, 0 404 /- 404 1 /. 0 601 // 4030 4136 /0 3641 2101 /1 177 4523 /2 2151 4122 /3 2651 2414 /4 477 5172 /5 651 1506 /6 4225 4443 /7 6050 5126 /8 2651 5120 /9 3651 4200 /: 0 2601 /; 0 2410 /< 0042 1212 /= 1212 4200 /> 1024 4020 /? ZZEND, 2055 /END OF PATRNS TABLE