*DECK SCFLTAB 
          IDENT  SCFLTAB
          SST 
          B1=1
          TITLE  SCFLTAB - SCRATCH FILE TABLES
*CALL     COBIOM
* 
**        SCFLTAB - SCRATCH FILE TABLES 
* 
*         SETS UP THE FITS FOR SCRATCH FILES
*         WHEN ADDING A FILE, IT IS ONLY NECESSARY TO PUT IT IN 
*                THE ECHO LIST. 
*         THE ARRAY OF FILE POINTERS HAS THE TOTAL COUNT AS THE FIRST 
*         WORD (GENERATED)
* 
*         ALL FILES ARE WORD ADDRESS. 
* 
*         THE METHOD OF NO BUFFER NEEDED IF THE RECORD AREA IS
*         A MULTIPLE OF A PRU AND THE WORD ADDRESS IS A PRU BOUNDARY IS 
*         USED, SO ONLY A DUMMY BUFFER IS PROVIDED (IT IS ZERO LENGTH)
* 
 FCOUNT   SET    0
          USE    BLKA 
          ENTRY  SCFLLST     SCRATCH FILE TABLE 
 SCFLLST  DATA   0           FILE COUNT PUT HERE
 ECH1     ECHO   ,P=(4A,4B,4C,4D,4E,4F,4G,4H,4I,4J) 
          USE 
 ZZZZZ_P  RFILEB 1,0,(RTP=U)
 FCOUNT   SET    FCOUNT+1 
          USE    BLKA 
          VFD    42/7HZZZZZ_P,18/ZZZZZ_P
 ECH1     ENDD
          USE    BLKA 
          ORG    SCFLLST
          VFD    60/FCOUNT   SET COUNT OF FILES 
          USE 
  
          ENTRY  RLSCRF 
  
 RLSCRF   DATA   0
          SB1    1
          SX0    774B 
          SA3    SCFLLST     GET COUNT OF FILES 
          SB3    X3          SAVE IN B3 
          SB2    B1          FOR INDEX INTO FILE TABLE
          SX6    B1 
          SA6    NEXTFIL
 RLSLOOP  SA2    B2+SCFLLST  GET NEXT FILE IN TABLE 
          SA4    X2          GET   FIRST WORD OF FET
          BX4    X0*X4       EXTRACK CODE AND STATUS
          ZR     X2,RLSLP2   JIF FILE NEVER USED
          STORE  X2,FIRST=0  SO COBIO WILL NOT TRY TO RELEASE BUFFER
          STORE  X2,R=NO     CLEAR RANDOM BIT 
          SX2    X2          CLEAR OUT JUNK 
          RETRN  X2          VIA COBIO
 RLSLP2   SB2    B2+B1       BUMP INDEX 
          LT     B2,B3,RLSLOOP     JIF MORE TO GO 
          SB2    B1          RESET COUNTER
 RLSLP3   SA2    B2+SCFLLST  GET NEXT FILE AGAIN
          SA4    X2          GET FET+0 AGAIN
          LX4    60-1        POSITION COMPLETE BIT
          NG     X4,RLSLP4   JIF NO OUTSTANDING REQUEST ON FILE 
          SX2    X2 
          RECALL X2          WAIT TILL REQUEST COMPLETE 
 RLSLP4   STORE  X2,FIRST=1  FIX THE POINTERS SO THAT NEXT TIME 
          STORE  X2,IN=1           WE CAN USE THE FILES AGAIN 
          STORE  X2,OUT=1 
          STORE  X2,LIMIT=1 
          STORE  X2,R=YES 
          SA1    X2          GET FET + 0
          SX0    774B 
          BX6    -X0*X1      CLEAR CODE AND STATUS
          SA6    A1 
          SB2    B2+B1       BUMP INDEX 
          LT     B2,B3,RLSLP3      JIF MORE TO GO 
          EQ     RLSCRF      EXIT 
          ENTRY  NEXTFIL
 NEXTFIL  DATA   1           NEXT AVAILABLE FILE TO ASGN - USED VIRTUAL 
          END 
