*20 PMODE *200 START, CLA CLL TAD K1000 CLLR LAS AND K7 SNA JMP .-3 CLCA DCA RNDMNO CLLR CLAB TAD K5100 CLLR CLA CLLR JMS I INIT JMP I CHG CHG, CHDSPL K5100, 5100 /MASKING SUBROUTINE *400 MASK, 0 /HOLDS RET ADR CLA TAD LMASK DCA NTIME /SET UP ISZ LOOP TAD I MSPOT /MASK H.C. INTO DCA 1 /LINC BETA-1 REG TAD VERCO /VERT. COOR. MASKON, LINC LMODE DSC I 0 /DISP MASK PW 7777 /FOUND HERE PDP PMODE ISZ NTIME /MORE MASK AREA? JMP MASKON /MORE MASK JMP I MASK /RETURN LMASK, -6 /-NO. MASK WORDS NTIME, 0 MSPOT, HCMASK /ADR OF MASK HC /WINDOW DISPLAY SUBROUTINE WINDOW, 0 /HOLDS RET AD CLA TAD WSIZE DCA NTIME /SET UP ISZ LOOP TAD I WSPOT /PUT WINDOW HC DCA 1 /INTO LINC B-2 TAD I TEXTSP /ADR-1 OF FIRST DCA 10 /INTO AUTO IND WNEXT, TAD I 10 /GET NEXT CHAR DCA CHAR TAD CHAR TAD M56 /END OF STRING? SZA CLA JMP .+2 JMP I WINDOW /RETURN TAD CHAR CLL RAL /DOUBLE CODE TAD PWTABL /AD PW TABLE DCA 2 /INTO LINC B-2 TAD VERCO /VERT. CO. LINC LMODE DSC 2 /DISPLAY PWS DSC I 2 PDP PMODE ISZ NTIME /DONE? JMP .+2 JMP I WINDOW /RETURN CLA TAD 1 TAD HORSP DCA 1 /INCR H.C. JMP WNEXT /DO NEXT CHAR HORSP, 2 /H. INC. -8 WSIZE, -1 /-WINDOW SIZE WSPOT, HCWIND /AD OF WINDOW HC TEXTSP, LOCHAR /AD OF 1ST CHAR VERCO, 0 /VERT. COOR. PWTABL, PATRN-2 /AD-2 OF PW TAB CHAR, 0 M56, -56 /-STOP CODE /DISPLAY SEGMENT *600 CHDSPL, CLA TAD C1777 /FIRST TEXT LOC DCA LOCHAR TAD C1777 DCA SH1 TAD C50 DCA SH2 STA DCA SH3 JMS I SHUFEL TAD C36 DCA RNDM3 JMS I RNDM1 CLA IAC TAD C1777 TAD RNDM2 DCA LOC TAD I LOC DCA LOC1 TAD COND DCA RNDM3 JMS I RNDM1 TAD RNDM2 TAD COND1 DCA COND2 TAD I COND2 DCA KEY TAD K100 DCA RNDM3 /RAN NO 0-99 DCA RSLT /BINARY VAR JMS I RNDM1 TAD RNDM2 /GET R NO TAD M74 SMA CLA JMP .+4 /NO TARGET ISZ RSLT TAD KEY DCA I LOC TAD I C2036 DCA LOC2 TAD C56 DCA I C2036 WAIT, LINC LMODE SNS 1 /STOP IF SS 1=1 HLT SNS 0 /SKIP FOR FULL ESF /HERE FOR HALF PDP PMODE TAD IHCMSK /INIT MASK HC DCA HCMASK TAD IHORCO /INIT WINDOW HC DCA HCWIND CLLR /CLEAR CLOCK TAD KLOCKP / CLLR /LOAD CLOCK JMS I MASKIT /MASK THRU PAUSE CLCA /CLOCK READING TAD PAUSET SPA CLA /DONE PAUSING? JMP .-4 /CONT PAUSE GO, CLLR /CLEAR CLOCK TAD KLOCK CLLR /LOAD CLOCK JMS I MASKIT /DO LEADING MASK JMS I SHOWIT /WINDOW DISP CLCA /CLOCK READING TAD DISPON SPA CLA /LONG ENOUGH? JMP .-5 CLLR /CLEAR CLOCK TAD KLOCK CLLR /LOAD CLOCK JMS I MASKIT /MASK DURING OFF CLCA /CLOCK READING TAD DISPOF SPA CLA /OFF TIME JMP .-4 /CONT OFF TAD MOVE TAD HCMASK /INCR MASK HC DCA HCMASK TAD MOVE TAD HCWIND DCA HCWIND /INCR WINDOW HC /CHECK FOR SLIDE PAST END-STRING TAD SLIDE DCA SKIP /ISZ LOOP SLIP, ISZ LOCHAR /SLIDE ONE SPOT TAD I LOCHAR TAD MM56 /CHECK FOR E-STR SZA CLA JMP .+2 JMP I RESULT ISZ SKIP /ANOTHER SLIDE? JMP SLIP /SLIDE AGAIN JMP GO /DONE SLIDING QUIT, TAD LOC2 DCA I C2036 TAD LOC1 DCA I LOC JMP CHDSPL *130 C2036, 2036 LOC, 0 RSLT, 0 TIPE, TIPEX RESULT, TYPE LOC1, 0 K100, 144 M74, -112 LOC2, 0 KEY, 13 /K COND, 1 COND1, 2060 COND2, 0 C36, 36 C50, 50 SLIDE, -1 /-WINDOW SLIDE C56, 56 LOCHAR, 0 SKIP, 0 IHCMSK, 40 /INIT MASK HC HCMASK, 0 IHORCO, 74 /INIT WINDOW HC HCWIND, 0 MM56, -56 /-STOP CODE MASKIT, MASK SHOWIT, WINDOW DISPON, -50 /WINDOW ON TIME DISPOF, -50 /WINDOW OFF TIME MOVE, 0 /INCR HCS PAUSET, -310 /PAUSE TIME KLOCK, 4100 /COUNT MSEC KLOCKP, 5100 /COUNT HSEC C1777, 1777 /2000=TEXT *3000 TYPE, CLA TAD KCR JMS I TIPE TAD KLF JMS I TIPE TAD C260 TAD RSLT JMS I TIPE TAD KSP JMS I TIPE TAD LOC AND C70 CLL RTR RAR TAD C260 JMS I TIPE TAD LOC AND K7 TAD C260 JMS I TIPE TAD KSP JMS I TIPE TAD KEY TAD C300 JMS I TIPE JMP I QUIT1 QUIT1, QUIT C70, 70 C300, 300 C260, 260 KSP, 240 KLF, 212 KCR, 215 TIPEX, 0 /OUTPUT SUBR TLS TSF JMP .-1 CLA JMP I TIPEX *1002 /PATTERN WORDS FOR CHAR DISPL. PATRN, 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 500 /APOSTROPHY 6 4163 /( 0 0 /) 6341 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 /? 2055 *1400 K777, 777 INITX, 0 JMS I IRX CLA TAD RNDMNO AND K777 / CIA / DCA INDEX / JMS I RNX / ISZ INDEX / JMP .-2 / JMP I INITX /DONE RNDM, 0 /RN IN 0,RNDM3 JMS I RNX /36 BIT RN JMS I RMNDR /REMAINDR RNDM3 CLA JMP I RNDM /DONE M36, -44 / IDX1, 0 / R1X, 0 / R2X, 0 / R3X, 0 / RMNDRX, 0 /GET RMNDR CLA / DCA RNDM2 / TAD R1 / DCA R1X / TAD R2 / DCA R2X / TAD R3 / DCA R3X / TAD M36 / DCA IDX1 /FOR 36 BITS RMN1, CLA / TAD RNDM2 / CLL / RAL / DCA RNDM2 /SHIFT LEFT 1 TAD R1X / CLL / RAL / DCA R1X /SHIFT LEFT 1 RAL /GET LINK TAD RNDM2 / DCA RNDM2 / TAD R2X / CLL / RAL / DCA R2X / RAL /GET LINK TAD R1X / DCA R1X / TAD R3X / CLL / RAL / DCA R3X / RAL /GET LINK TAD R2X / DCA R2X /SHIFTS DONE TAD RNDM3 /NUMBER MOD CIA / TAD RNDM2 / SPA / JMP .+2 / DCA RNDM2 /SUB,REPLACE ISZ IDX1 /CHECK INDEX JMP RMN1 /CONTINUE JMP I RMNDRX /RMNDR IN RNDM2 SHUFL, 0 /SHUFFLES SHUFL1, CLA / TAD SH2 /LENGTH DCA RNDM3 / JMS I RNDM1 /GET RN CLA / TAD SH3 /BLOCK SIZE DCA INDEX6 / TAD SH1 /ARRY-1 SHUF1, TAD RNDM2 /ADD TO ARRY ISZ INDEX6 /N X M DONE? JMP SHUF1 /CONTINUE DCA TEMP /DONE,IN TEMP TAD TEMP / DCA 14 / TAD TEMP / DCA 15 / TAD SH1 / DCA 16 / TAD SH1 / DCA 17 / TAD SH3 / DCA INDEX6 /-BLOCK SIZE SHUF2, TAD I 14 / DCA TEMP / TAD I 16 / DCA I 15 / TAD TEMP / DCA I 17 / ISZ INDEX6 / JMP SHUF2 / CLA CMA /AC=-1 TAD SH2 /LENGTH-1 SZA / JMP .+2 / JMP I SHUFL /DONE DCA SH2 /NEW LENGTH TAD SH3 /BLOCK SIZE,- CIA /+BLOCK SIZE TAD SH1 /ADD ARRAY DCA SH1 /NEW START JMP SHUFL1 /CONTINUE PAGE IR, 0 / JMP IR1 / RN, 0 / CLA / TAD R3 / RAL / AND K7400 / DCA T3 / TAD R2 / AND K177 / TAD T3 / RTL / RTL / RAL / DCA T1 / TAD R3 / AND K177 / RTL / RTL / RAL / TAD R2 / DCA T2 / SZL / ISZ T1 / NOP / TAD R3 / CLL RAL / SZL / ISZ T2 / SKP / ISZ T1 / NOP / CLL / TAD R3 / DCA R3 / TAD R2 / RAL / SZL / ISZ T1 / NOP / CLL / TAD T2 / DCA R2 / TAD R1 / RAL / TAD R1 / TAD T1 / DCA R1 / TAD R1 / JMP I RN / HLT /NOT USED IR1, CLA IAC / DCA R3 / DCA R2 / DCA R1 / JMP I IR / K177, 177 / K7400, 7400 / T1, 0 / T2, 0 / T3, 0 / PAGE 0 *20 K7, 7 / K1000, 1000 RNDMNO, 0 / SH1, 0 / SH2, 0 / SH3, 0 / INDEX1, 0 / INDEX, 0 / R1, 0 / R2, 0 / R3, 0 / RNDM3, 0 / TEMP, 0 / RNDM2, 0 / INIT, INITX / SHUFEL, SHUFL / RNDM1, RNDM / RMNDR, RMNDRX / RNX, RN / IRX, IR / INDEX6, 0 / *2000 2 2 3 3 7 7 11 11 12 12 16 16 17 17 21 21 22 22 23 23 25 25 26 26 27 27 30 30 31 31 61 61 63 63 65 65 66 66 67 67 *2060 1 6 13 24 71 10 15 20 32 64