link 2 points to the associated text buffer
@: address is LQFy, shortened to '@' y = F or I or X
@ -5 LUNy
@ +0 MSTATy status word of the control bank
MEDIUy bit 1-3: medium: 0 disk, 1 T tape, normal
2 K disk, 3 TK tape, user
4 C disk, 5 TC tape, channel
6 M memory
IFIFOy bit 4-6: file fmt: 0 native
1 X exchange sequential
2 D direct-access
3 M memory
4 A alfa
IDAFOy bit 7: data fmt: 0 native, 1 exchange
IACMOy bit 8-10: access: 0 F Fortran
1 Y special
2 L c library
3 C channel
bit 11: read permission
bit 12: write permission
bit 13-14: NEOF = 0, 1, 2, or 3
bit 15: option S for separate d/ss
IUPAKy bit 16: option U for unpacked d/ss
@ 1 IADOPy Channel: adr of user routine
Memory: current memory pointer
@ 2 IACTVy last activity:
= 0 file unused 10 switch input to output
or: rewind to over-write
or: new output file connected
1 read start-of-run 11 write start-of-run
2 read d/s 12 write d/s
3 read end-of-run 13 write d/s, buffer flushed
4 read Zebra end-of-file 14 write end-of-run
5 read system end-of-file 15 write end-of-file
6 read end-of-data 16 write end-of-data
7 attempted read beyond 17 attempted write beyond EoD
8 rewind after read 18 rewind after write for input
or: new input file connected
@ 3 INCBFy incr. to go to the buffer param.: LBPARy = LQFy + INCBFy
@ 4 LOGLVy logging level
@ 5 MAXREy native mode: maximum logical record size
exchange file format: physical record size
@ 6
@ 8 Memory: LMEM: User memory starts at IQ(LMEM)
@ 9 Memory: NWMEM: Size of the user memory
@+11 number of system file marks
@ 12 number of Zebra EoF signals
@ 13 number of end-of-run records
@ 14 number of start-of-run records
@ 15 number of pilot records
@ 16 number of non-empty d/s
@ 17 number of empty d/s
@ 18 number of errors
@ 19 number of Mwords read/written
@ 20 number of words read/written (up to 1 M)
@ 21 number of good logical records
@ 22 number of good physical records (exchange file format)
@ 23 number of steering blocks (exchange file format)
@ 24 number of conversion problems (exchange data format)
@ 26 input: last read status returned
@ 27 input: LRTYP status of last record read
@ 28 number of pilots printed by last statistic message
@ 29 current run number
@ 30 input: pending: 0 nothing, 1 EoF, 2 st/end of run
@ 31 DsA word 1: record # for current d/s
@ 32 DsA word 2: offset
@ 33 current record number for direct-access
if -ve: FZINXT called, reset from previous
@ 34 saved DsA word 1 of the direct access table
@ 35 word 2
@ 41 NWTB, number of table words
@ 42 NWBK, number of words of bank material
@ 43 LENTRY, entry adr to d/s
@ 50 NWIOI, number of words in I/O characteristic
@ 51 -> 66 I/O characteristic for last user header vector
@ 68 NWSEG, number of words in the segment table
@ 69 ->128 last segment table read
@130 NTBE, number of early table words (only if native file format)
@131 -> 170 early table
buffer parameters in the control bank, LBPARI = LQFI + INCBFI
-9 non-zero if last LR abended
next physical record ready in the buffer if N4ENDI not zero
-7 expected next PhR number
-6 zero if current block is steering,
= 1 if last fast block in burst, =2 if last-but-one, etc
-5 number of fast blocks to follow current block
-4 N4SKII, # of words to be skipped before next transmission
-3 N4RESI, # of words still to be read for current LR
-2 N4DONI, # of words of the current buffer already done
-1 N4ENDI, # of words in buffer before start of next LR
if = buffer-size: record continues in next PhR
LBPARI+0 maximum size of buffer, file words
+1 expected size of PhR, machine words
+2 displacement from LBPAR to start-of-buffer LSTO
+3 off-set from start-of-buffer to read position for packed records
+4 off-set for writing
LSTO = LBPARI + IQ(LBPARI+2)
LSTO -1 space for left half of double-precision number spanning PhRs
LSTO +0 start-of-buffer: read (if 32-bit machine) or unpack into here
@ 37 limit: Mega-words
@ 38 limit: words
@ 39 original parameter from FZLIMI
buffer parameters in the control bank, LBPARX = LQFX + INCBFX
-6 zero if current block is steering,
= 1 if last fast block in burst, =2 if last-but-one, etc
-5 number of fast blocks to follow current block
-4
-3 N4RESX, # of words still to be done for current LR
-2 N4DONX, # of words of the current buffer already done
-1
LBPARX+0 maximum size of buffer, file words
+1 size of PhR, machine words
+2 displacement from LBPAR to start-of-buffer LSTO
+3 off-set for input
+4 off-set for output
LSTO = LBPARX + IQ(LBPARX+2)
-1 free to allow packing with shift
LSTO +0 start-of-buffer for accumulation
last buffer-word + 1:
space for right half of a double-precision number
spanning physical records