100 JMS MODNXT /GET ANOTHER 110 DCA TM3 /SAVE AS THIRD TIME CHARACTER 120 EJECT 130 ASCHAR, JMS MODNXT /GET NEXT CHARACTER 140 SNA /SKIP IF NOT END OF THE MESSAGE 150 JMP GOTEOM /JUMP IF IT IS 160 AND (200) /CHECK BAD BIT 170 SZA CLA /SKIP IF OFF 180 JMP GOTBAD /BARF 190 JMP ASCHAR /THROW AWAY AND GET ANOTHER 200 210 GOTEOM, JMS MODNXT /GET NEXT 220 JMP EOMIN /CONTINUE THERE 230 240 GOTFX, TAD MTEMP /GET THE CHARACTER 250 DCA XTEMP /SAVE IT 260 MOVE; CURPTR; XBEGT /SAVE FOR PRINTING LATER 270 GETFY, JMS MODNXT /GET ANOTHER CHARACTER 280 / AND (300) /JUST RANGE BITS 290 / SZA CLA /SKIP IF VALID 300 / JMP GOTBAD /BARF 310 / TAD MTEMP /GET THE CHARACTER 320 TAD (-24) /COMPARE TO LIMIT 330 SMA CLA /SKIP IF OK 340 JMP GOTBAD /BARF 350 TAD MTEMP /GET THE CHARACTER 360 DCA YPOS1 /USE AS FIRST "Y" POSITION 370 TAD XTEMP /GET PREVIOUS POSITION 380 DCA XPOS1 /USE AS FIRST "X" POSITION 390 ISZ LIGHT /LIGHT IS ON 400 ISZ INTENS /LIGHT IS BRIGHT NOW! 410 ISZ BAR /BAR IS DOWN NOW 420 GETSX, JMS MODNXT /GET NEXT CHARACTER 430 TAD (-300) /COMPARE TO 300 CODE 440 SNA /SKIP IF DIFFERENT 450 JMP I (GOT300) /JUMP IF A MATCH 460 TAD (-242+300) /COMPARE TO 242 470 SNA /SKIP IF DIFFERENT 480 JMP GOT242 /JUMP IF A MATCH 490 TAD (242) /RESTORE THE CHARACTER 500 AND (300) /JUST RANGE BITS 510 TAD (-100) /COMPARE TO DESIRED COMBINATION 520 SZA CLA /SKIP IF OK 530 JMP GOTBAD /BARF 540 TAD MTEMP /GET THE CHARACTER 550 AND (77) /JUST POSITION BITS 560 DCA XTEMP /SAVE FOR LATER 570 EJECT 580 GETSY, JMS MODNXT /GET THE NEXT CHARACTER 590 AND (300) /JUST RANGE BITS 600 TAD (-100) /COMPARE TO DESIRED COMBINATION 610 SZA CLA /SKIP IF OK 620 JMP GOTBAD /BARF 630 TAD MTEMP /GET THE CHARACTER 640 TAD (-124) /COMPARE TO LEGAL VALUE 650 SMA CLA /SKIP IF OK 660 JMP GOTBAD /BARF 670 TAD MTEMP /GET THE CHARACTER 680 AND (77) /JUST POSITION BITS 690 DCA YPOS2 /SAVE AS SECOND "Y" POSITION 700 TAD XTEMP /GET PREVIOUS POSITION 710 DCA XPOS2 /SAVE AS SECOND "X" POSITION 720 JMP I (GETTX) /CONTINUE THERE 730 740 TM1, .-. /TIME 750 TM2, .-. /VALUE 760 TM3, .-. /TEMPORARIES 770 780 PAGE 790 EJECT 800 GETTX, JMS MODNXT /GET NEXT CHARACTER 810 TAD (-300) /COMPARE TO 300 CODE 820 SNA /SKIP IF DIFFERENT 830 JMP GOT300 /JUMP IF IT MATCHES 840 TAD (-242+300) /COMPARE TO 242 CODE 850 SNA /SKIP IF DIFFERENT 860 JMP I (GOT242) /JUMP IF IT MATCHES 870 TAD (242) /RESTORE THE CHARACTER 880 AND (300) /JUST RANGE BITS 890 TAD (-100) /COMPARE TO DESIRED COMBINATION 900 SZA CLA /SKIP IF OK 910 JMP I (GOTBAD) /BARF 920 TAD MTEMP /GET THE CHARACTER 930 AND (77) /JUST POSITION BITS 940 DCA XTEMP /SAVE FOR LATER 950 GETTY, JMS MODNXT /GET NEXT CHARACTER 960 AND (300) /JUST RANGE BITS 970 TAD (-100) /COMPARE TO DESIRED COMBINATION 980 SZA CLA /SKIP IF IT MATCHES 990 JMP I (GOTBAD) /BARF 1000 TAD MTEMP /GET THE CHARACTER 1010 TAD (-124) /COMPARE TO LEGAL RANGE 1020 SMA CLA /SKIP IF OK 1030 JMP I (GOTBAD) /BARF 1040 TAD MTEMP /GET THE CHARACTER 1050 AND (77) /JUST POSITION BITS 1060 DCA YPOS1 /SAVE AS LATEST "Y" POSITION 1070 TAD XTEMP /GET THE PREVIOUS POSITION 1080 DCA XPOS1 /SAVE AS LATEST "X" POSITION 1090 ISZ POS3SW /INDICATE THIRD X,Y PRESENT 1100 GETEND, JMS MODNXT /GET NEXT CHARACTER 1110 TAD (-300) /COMPARE TO 300 CODE 1120 SNA /SKIP IF DIFFERENT 1130 JMP GOT300 /JUMP IF IT MATCHES 1140 TAD (-242+300) /COMPARE TO 242 CODE 1150 SNA CLA /SKIP IF DIFFERENT 1160 JMP I (GOT242) /JUMP IF IT MATCHES 1170 JMP I (GOTBAD) /BARF ON ANYTHING ELSE 1180