100 JMS I PSYSIO/[SYSIO] /CALL I/O ROUTINES 110 PFFBUFF,FILBUFFER /FILE ADDRESS 120 PFFFUN, 20^100+WRITE+00+.-. /UNIT BITS WILL BE FILLED IN 130 PFFBLK, .-. /BLOCK NUMBER WILL BE FILLED IN 140 ISZ FILCNT /BUMP UP CREATION COUNT 150 PFFEMPT,JMS PFFINITIALIZE /RE-INITIALIZE THE FILE POINTERS 160 PFFDOLL,DOLBLK+.-. /UNIT BITS FROM "SBTFUN" WILL BE FILLED IN 170 144 /INITIAL LINE NUMBER 180 12 /LINE NUMBER INCREMENT 190 SKP /DO NOT TAKE SKIP RETURN 200 PFFOK, ISZ PFFOUT /BUMP TO OK RETURN 210 TAD PFFLATEST /GET LATEST CHARACTER 220 DCA PFFPREVIOUS /SAVE AS PREVIOUS CHARACTER FOR NEXT TIME 230 JMP I PFFOUT /RETURN TO CALLER 240 250 PFFOEOL,.-. / OUTPUT ROUTINE 260 JMS PFFSTORE /OUTPUT CHARACTER 270 ISZ PFFPTR /BUMP PAST LAST WORD 280 DCA I PFFPTR /STORE TENTATIVE 290 TAD PFFNUMBER /GET LATEST LINE NUMBER 300 DCA I PFFLPTR /STORE OVER (FORMER) DUMMY LINE VALUE 310 JMS PFFLINE /UPDATE FILE POINTERS AND CREATE NEW DUMMY PAIR 320 JMP I PFFOEOL /RETURN 330 EJECT 340 / P?S/8 FIXED FILE INITIALIZE ROUTINE. 350 360 / CALL WITH: 370 380 / JMS I (PFFINITIALIZE) /CALL ROUTINE 390 / BLOCK+UNIT /FILE ARGUMENT ([BLOCK&7770] + [UNIT&7]) 400 / NUMBER /INITIAL LINE NUMBER 410 / INCREMENT /LINE NUMBER INCREMENT 420 / RETURN /ALWAYS RETURNS HERE 430 440 PFFINIT,.-. /FIXED FILE INITIALIZE ROUTINE 450 TAD I PFFINITIALIZE /GET FILE ARGUMENT 460 AND [7770] /JUST BLOCK BITS 470 DCA PFFBLK /STORE IN-LINE 480 TAD I PFFINITIALIZE /GET IT AGAIN 490 AND [7] /JUST UNIT BITS 500 TAD (20^100+WRITE) /FORM WRITE FUNCTION 510 DCA PFFFUN /STORE IN-LINE 520 ISZ PFFINITIALIZE /BUMP TO NEXT ARGUMENT 530 TAD I PFFINITIALIZE /GET INTIAL LINE NUMBER 540 DCA PFFNUMBER /STASH IT 550 ISZ PFFINITIALIZE /BUMP TO NEXT ARGUMENT 560 TAD I PFFINITIALIZE /GET LINE NUMBER INCREMENT 570 DCA PFFINCREMENT /STASH IT 580 ISZ PFFINITIALIZE /BUMP PAST ARGUMENT 590 TAD PFFBUFFER/(FILBUFFER) /SETUP THE 600 DCA PFFPTR /TEXT POINTER 610 TAD (PFFLEFT) /INITIALIZE 620 DCA PFFPUT /CO-ROUTINE 630 TAD [FILBUFFER+3777] /INITIALIZE 640 DCA PFFLPTR /LINE POINTER 650 JMS PFFLINE /CREATE INITIAL FILE POINTERS 660 DCA PFFPREVIOUS /INITIALIZE PREVIOUS CHARACTER TO 670 JMP I PFFINITIALIZE /RETURN 680 690 PFFLINE,.-. /LINE POINTERS UPDATE ROUTINE 700 NL7775 /BACKUP TO 710 TAD PFFLPTR /PREVIOUS PAIR 720 DCA PFFLPTR /STORE BACK 730 TAD PFFLPTR /GET THE POINTER 740 DCA I [FILBUFFER+3777] /STORE LATEST PAIR POINTER 750 TAD PFFPTR /GET LATEST TEXT POINTER 760 DCA I [FILBUFFER+3776] /STORE IN FREE TEXT POINTER 770 TAD PFFPTR /GET TEXT POINTER 780 DCA I PFFLPTR /STORE AS FREE TEXT POINTER IN DUMMY PAIR 790 ISZ PFFLPTR /BUMP TO DUMMY LINE ADDRESS 800 NL7777 /GET DUMMY LINE VALUE 810 DCA I PFFLPTR /STORE IN DUMMY LINE HOLDER 820 JMP I PFFLINE /RETURN 830 EJECT 840 PFFSTOR,.-. /CHARACTER INSERTION ROUTINE 850 JMP I PFFPUT /GO WHERE YOU SHOULD 860 870 PFFPUT, PFFLEFT /EXIT ROUTINE; INITIALIZED FOR FIRST CHARACTER 880 DCA I PFFPTR /STORE LATEST WORD 890 JMP I PFFSTORE /RETURN TO THEIR CALLER 900 910 PFFLEFT,STL RTL;STL RTL;STL RTL /SHIFT LEFT WITH GARBAGE 920 JMS PFFPUT /STORE IT AND GET ANOTHER CHARACTER 930 DCA PFFINITIALIZE /SAVE LATEST CHARACTER 940 TAD I PFFPTR /GET PREVIOUS AND GARBAGE 950 AND PF7700/(7700) /REMOVE GARBAGE 960 TAD PFFINITIALIZE /ADD ON LATEST 970 JMS PFFPUT /STORE BOTH AND GET ANOTHER 980 ISZ PFFPTR /BUMP TO NEXT PAIR 990 JMP PFFLEFT /KEEP GOING 1000 1010 PFFINCR,.-. /LINE NUMBER INCREMENT FOR FIXED FILES 1020 PFFLPTR,.-. /FIXED FILE INFORMATION PAIR POINTER 1030 PFFNUMB,.-. /LATEST LINE NUMBER FOR FIXED FILES