100 ISZ COMP /BUMP PAST ARGUMENT 110 SPA SNA CLA /THRESHOLD > ABSOLUTE VALUE OF (BUFF1-BUFF2)? 120 ISZ COMP /YES, JUST TAKE SINGLE SKIP RETURN 130 JMP I COMP /RETURN TO APPROPRIATE 140 150 COM, .-. /COMP TEMPORARY 160 EJECT 170 PAGE 180 190 XLOAD, .-. /LOAD A WORD ROUTINE 200 CAM /CLEAN UP 210 TAD I XLOAD /GET ARGUMENT 220 DCA LOADADR /SAVE IT 230 ISZ XLOAD /BUMP PAST ARGUMENT 240 TAD I LOADADR /GET ADDRESS PORTION 250 DCA ADDRESS /SAVE IT 260 ISZ LOADADR /BUMP TO BLOCK NUMBER 270 TAD I LOADADR /GET BLOCK NUMBER 280 SHL; 5+EAESET-1 /ADJUST IT 290 DCA TRIM /SAVE IT 300 TAD VMBLK2 /GET CURRENT BLOCK NUMBER 310 CIA /INVERT FOR TEST 320 TAD TRIM /COMPARE TO DESIRED BLOCK NUMBER 330 SNA CLA /SKIP IF DIFFERENT 340 JMP INCORE /OK TO JUST LOAD IT 350 TAD TRIM /RESTORE 360 DCA VMBLK2 /SAVE AS NEW BLOCK NUMBER 370 TAD STORFLG /ANY BODY DISTURB 380 SNA CLA /OLD BUFFER? 390 JMP NOSAVE /NO, DON'T SAVE IT BACK 400 JMS I [SYSIO] /\ 410 0 / \YES, SAVE BACK 420 10+UNIT+WRITE / /ON I/O UNIT 430 VMBLK1, .-. // 440 NOSAVE, TAD VMBLK2 /\ 450 CLL / \ 460 TAD BLIMIT / >CHECK FOR END OF TAPE 470 SZL CLA / / 480 JMP I [SBOOT] // 490 TAD VMBLK2 /SETUP NEXT 500 DCA VMBLK1 /BUFFER DUMP 510 JMS I [SYSIO] /READ IN 520 0 /NEW BUFFER 530 10+UNIT /FROM I/O UNIT 540 VMBLK2, 7777 /THIS MAKES IT INITIALIZE! 550 DCA STORFLG /CLEAR STORE FLAG (WATCH OUT) 560 TAD I LOADADR /GET BUFFER NUMBER 570 TAD [TRMBUF] /MAKE IT ABSOLUTE 580 DCA LOADADR /SAVE AS STATUS ADDRESS 590 TAD I LOADADR /GET STATUS 600 SNA CLA /WAS IT READ IN BEFORE? 610 JMS TRIM /NO, TRIM IT 620 INCORE, CDF 10 /\ 630 TAD I ADDRESS / >NOW ACTUALLY GET THE WORD 640 CDF 00 // 650 JMP I XLOAD /RETURN 660 670 LOADADR,.-. /LOAD TEMPORARY 680 EJECT 690 TRIM, .-. /BUFFER TRIM ROUTINE 700 TAD VMBLK1 /GET GROUP NUMBER 710 SNA CLA /SKIP IF NOT FIRST ONE 720 XLIST OFF 730 IFNZRO CHAN < 740 XLIST ON 750 NL0002 /AVOID WIPING OUT BLOCK INFORMATION 760 XLIST OFF> 770 IFZERO CHAN < 780 XLIST ON 790 NL0004 /AVOID WIPING OUT BLOCK INFORMATION 800 XLIST OFF> 810 XLIST ON 820 DCA TRMPTR /SET-UP POINTER 830 CDF 10 /USE FIELD 1 840 XLIST OFF 850 IFNZRO CHAN < 860 XLIST ON 870 TRMLUP, ISZ TRMPTR /SKIP PAST X WORD 880 TAD I TRMPTR /GET A Y WORD 890 AND [177] /TRIM IT 900 DCA I TRMPTR /STORE IT BACK 910 XLIST OFF > 920 IFZERO CHAN < 930 XLIST ON 940 TRMLUP, TAD I TRMPTR /GET X WORD 950 AND [1777] /JUST A-D BITS 960 DCA I TRMPTR /STORE IT BACK 970 ISZ TRMPTR /BUMP TO NEXT 980 TAD I TRMPTR /GET Y WORD 990 AND [1777] /JUST A-D BITS 1000 DCA I TRMPTR /STORE IT BACK 1010 ISZ TRMPTR /BUMP TO TIME WORD 1020 ISZ TRMPTR /BUMP TO MODEM WORD 1030 NL3777 /SET MASK 1040 AND I TRMPTR /REMOVE SLOW-PHASE BIT 1050 DCA I TRMPTR /STORE IT BACK 1060 XLIST OFF > 1070 XLIST ON 1080 ISZ TRMPTR /BUMP AND COUNT 1090 JMP TRMLUP /JUMP BACK UNLESS DONE 1100 CDF 00 /BACK TO FIELD 0 1110 ISZ STORFLG /INDICATE MODIFICATION 1120 ISZ I LOADADR /INDICATE IN TABLE ALSO 1130 JMP I TRIM /RETURN 1140 1150 TRMPTR, .-. /MUST BE ZERO INITIALLY! 1160 1170 XSTORE, .-. /STORE ROUTINE 1180 DCA STRVAL /SAVE VALUE 1190 TAD I XSTORE /GET ARGUMENT 1200 DCA STORADR /PASS IT TO LOAD 1210 ISZ XSTORE /BUMP PAST ARGUMENT 1220 LOAD /DO A DUMMY 1230 STORADR,.-. /LOAD CALL 1240 CLA /THROW IT AWAY 1250 TAD STRVAL /GET VALUE 1260 CDF 10 /\ 1270 DCA I ADDRESS / >STORE IT 1280 CDF 00 // 1290 ISZ STORFLG /INDICATE MODIFICATION 1300 JMP I XSTORE /RETURN 1310 1320 STRVAL, .-. /STORE STORAGE 1330 1340 SCAN, .-. /SCAN FOR BEGIN ROUTINE