/UTILITIES FOR RTAPE,WTAPE FOR THE TD8E CONTROLLER. / / (1) OPEN FILE FOR READ. / ROPEN(IUNIT,FILENAME,ISTARTBLOCK,INOBLOCKS,IER) / / (2) OPEN NEW FILE FOR WRITE. / WOPEN(IUNIT,FILENAME,ISTARTBLOCK,INOBLOCKS,IER) / / (3) CLOSE PREVIOUSLY OPENED FILE. / WCLOSE(IUNIT,FILENAME,INOBLOCKS,IER|) / / OPDEF TADI 1400 OPDEF DCAI 3400 OPDEF JMPI 5400 ENTRY ROPEN ENTRY WOPEN ENTRY WCLOS / PARAMETER UNPACKING ROUTINE.. ARGAD, 0 GETARG, 0 /GETS NEXT ARGUMENT IN FORTRAN /GENERATED PARAMETER STRING. GTCDF1, HLT /REPLACED BY CDF TADI ROPEN# /GET PARAM DATA FIELD DCA GTCDF2 INC ROPEN# /BUMP LIST ADDRESS TADI ROPEN# /GET THE PARAMETER ADDRESS. DCA ARGAD /SAVE FOR INDIRECT INC ROPEN# GTCDF2, HLT /REPLACED BY CDF TADI ARGAD /PASS THE VALUE IN THE ACC JMPI GETARG /ADIOS M.F....... /COMMON CODE FOR GETTING THE FIRST TWO PARAMS. COMMON, 0 JMS GETARG /GET THE UNIT NUMBER CLL RAR /DETERMINE WHICH UNIT SZL CLA TAD (3 /DTA1 IS LOGICAL #4 IAC /DTA0 IS LOGICAL #1 DCA DEVIC JMS GETARG /NOW GET THE FILE NAME DCA NAME INC ARGAD /WHICH CONSISTS OF THREE TADI ARGAD /WORDS AND AN ASSUMED DCA NAME# /EXTENSION OF .DA INC ARGAD TADI ARGAD DCA NAME1 TAD NAMAD /SET UP ADDRES POINTER DCA ARG1 /TO THIS NAME IN ARG1. DCA EROR /CLEAR ERROR STATUS JMP I COMMON /EXEUNT THE PLACE / COMMON CALL TO THE USR FOR THE FUNCTION DESIRED.. CALLEM, 0 TAD DEVIC /DEVICE NUMBER IN THE ACC 6212 /CHANGE INSTRUCTION FIELD TO 1 JMS I USR FCODE, 0 /FUNCTION CODE WORD ARG1, 0 ARG2, 0 INC EROR /SET ERROR FLAG JMP I CALLEM /SO MUCH FOR THAT PART. / A FEW DATA CELLS AND CONSTANTS. EROR, 0 DEVIC, 0 /THE DEVICE NUMBER USR, 7700 NAMAD, NAME NAME, BLOCK 2 NAME1, 0 0401 /ASSUMED EXTENSION OF .DA / COMMON ROUTINE TO RETURN THE LAST TWO PARAMETERS. RETRNM, 0 CLA CLL JMS GETARG /GET IT ALL SET UP BY GETTING CLA /THE PARAMETER, THEN JUST PUT TAD ARG1 /IN THE RETURNED VALUE. DCAI ARGAD /PASS BACK THE START BLOCK JMS GETARG CLA TAD ARG2 /AND THE NUMBER OF BLOCKS. CIA /AS A POSITIVE NUMBER DCAI ARGAD JMP I RETRNM /ZOOM ON GANG. / ENTRY FOR READ FILE OPEN (ROPEN) ROPEN, BLOCK 2 CLA CLL IAC RAL /FUNCTION CODE IS 2 ROPE1, DCA FCODE TAD ROPEN /SET UP PARAMETER FETCH DCA GTCDF1 JMS COMMON /UNPACK THE PARAMETERS JMS CALLEM /CALL THE USR JMS RETRNM /RETURN THE FILE INFORMATION SPLIT, JMS GETARG /AND THE ERROR STATUS CLA TAD EROR DCAI ARGAD RETRN ROPEN /AND SPLIT. / ENTRY FOR WRITE FILE OPEN (WOPEN) WOPEN, BLOCK 2 TAD WOPEN /MOVE CALLING PARAMETERS DCA ROPEN TAD WOPEN# DCA ROPEN# TAD (3 /FUNCTION CODE IS 3 JMP ROPE1 /AND THE REST IS THE SAME / ENTRY FOR CLOSING PREVIOUSLY OPENED WRITE FILE (WCLOS) WCLOS, BLOCK 2 TAD WCLOS /JUGGLE THE CALLING PARAMS DCA ROPEN TAD WCLOS# DCA ROPEN# CLA CLL IAC RTL /FUNCTION CODE IS 4 DCA FCODE TAD ROPEN /SET UP PARAMETER FETCH DCA GTCDF1 JMS COMMON /GET FIRST TWO PARAMS JMS GETARG /AND THE FILE LENGTH DCA ARG2 JMS CALLEM /CALL THE USR JMP SPLIT /THATS ALL.... END