File: PXGETC.SB of Tape: Sources/Other/new-14
(Source file text)
/ FUNCTION IGETC(IARG) / IARG=-1: REREAD FILE TO OLD POSITION / IARG=0: INITIALIZE FILE, IARG=1: GET NEXT CHAR / LAP \JPLOT, COMMN 3000 \JEXTR, COMMN 2600 \JCHRS, COMMN 1400 \ICOMM, COMMN 1 \FNAME, COMMN 3 \IGREC, COMMN 1 \IGCHR, COMMN 1 \IDUDS, COMMN 33 \IDASH, COMMN 1 \IDSHC, COMMN 1 \IDSHP, COMMN 1 \X0, COMMN 3 \Y0, COMMN 3 \FAKTX, COMMN 3 \FAKTY, COMMN 3 \IFONT, COMMN 1 \DXW, COMMN 3 \DYW, COMMN 3 \DXH, COMMN 3 \DYH, COMMN 3 / /1000 FORMAT (72A1) \1000, 5067 6201 6151 0 / DUMMY \IARG \IARG, BLOCK 2 \I, BLOCK 1 IGETP, BLOCK 1 ITEXP, \ITEXT / ENTRY IGETC IGETC, BLOCK 2 TAD I IGETC DCA \IARG INC IGETC# TAD I IGETC DCA \IARG# INC IGETC# / IF (IARG)10,20,30 TAD I \IARG SNA JMP \20 SPC JMP \10 JMP \30 / / REPOSITION RECORD / /10 DO 15 I=1,IGREC \10, DCA \I ^A, ISZ \I TAD \I CIA TAD \IGREC SPC JMP \30 /15 READ(4,1000) ITEXT \15, CALL 2,READ ARG (4 ARG \1000 CMA CALL 2,IOH ARG 110 ARG \ITEXT CALL 1,IOH ARG 0 JMP ^A / / FRESH FILE / \20, DCA \IGREC \25, DCA \IGCHR / READ(4,1000) ITEXT CALL 2,READ ARG (4 ARG \1000 CMA CALL 2,IOH ARG 110 ARG \ITEXT CALL 1,IOH ARG 0 / IGREC=IGREC+1 INC \IGREC / / RECORD EXHAUSTED ? / \30, TAD (110 CIA TAD \IGCHR SMA CLA JMP \25 /35 IGETC=ITEXT(IGCHR+1) \35, TAD \IGCHR TAD ITEXP DCA IGETP TAD I IGETP 7002 /BSW TAD (40 AND (77 INC \IGCHR RETRN IGETC PAGE \ITEXT, (110 /DON'T LIKE LONG LISTING (REALLY 110) PAGE END