|
|
DataMuseum.dkPresents historical artifacts from the history of: Philips Data Systems |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Philips Data Systems Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 13610 (0x352a)
Notes: pts_type(SC)
Names: »TOSS00.SC«
└─⟦110b7ed5e⟧ Bits:30009664 Philips computer tape "600106"
└─⟦this⟧ »TOOLS/TOSS00.SC«
└─⟦bdcaa0fa2⟧ Bits:30009700 Philips computer tape "600999"
└─⟦this⟧ »TOOLS/TOSS00.SC«
IDENT TOSS00 TOSSUT INTERFACE 9.2 820917 ************************************************************************* * DETTE PROGRAM ER VENLIGST STILLET TIL R]DIGHED AF THOMAS SCHREITER * * PDS, ZUERICH * * DET INDEHOLDER DIVERSE INTERFACERUTINER FOR KALD AF TOSSUTILITIES * * FRA CREDITPROGRAMMER. * ********************************************************************** PDS ZUERICH * DESCRIPTION: * INTERFACE FOR TOSS UTILITIES * CDD * CFF * DLF * CRF * BIX * RIX * SRT * PVC * RVN - READ VOLUME NAME ENTRY CDD ENTRY CFF ENTRY DLF ENTRY CRF ENTRY BIX ENTRY RIX ENTRY SRT ENTRY PVC ENTRY RVN EXTRN I:EVA0 EXTRN T:FDSP EXTRN I:RT1 EXTRN COPVOL EXTRN CRVOL EXTRN COPFIL EXTRN DLFILE EXTRN CRFILE EXTRN BINDEX EXTRN RINDEX EXTRN SORTF EXTRN CONPAR EXTRN PRVTOC FC2 EQU /30 FILECODE CTW FC3 EQU /80 FILECODE LP LOADF EQU 50 LOADFACTOR FOR RIX INDEX FILE * FORM STATEMENTS BYTE FORM 8,8 CALL FORM 16=/F6A1,16 BUF1 RES 3280 BUF2 RES 205 RES 2600 ADDITIONAL SORT WORK AREA REGA12 DATA 0 SAVE AREA FOR REG A12 RC DATA 0 SAVEAREA FOR RETURNCODE ECB DATA 0 DATA BUF2 DATA 410 DATA 0 RCODE DATA 0 DATA 0 DATA 0 SRTST DATA BUF1 SRTEN DATA REGA12-BUF1 EJECT * PARAMETER BLOCKS * COPY DISC TO DISC PBCDD EQU * CDD DATA BUF1,BUF2 BYTE 0,FC2 FCCDD BYTE 0,0 VN1CDD DATA ' ' VN2CDD DATA ' ' RCDD DATA 0 PBCRV EQU * DATA BUF1,BUF2 BYTE 0,FC2 FCCRV BYTE 0,0 VNCRV DATA ' ' DATA 50 BYTE 1,1 * COPY FILE TO FILE PBCFF EQU * CFF DATA BUF1,BUF2 DATA 0 FCCFF BYTE 0,0 PCFF DATA 0 * DELETE FILE PBDLF EQU * DLF DATA BUF1,BUF2 BYTE 0,FC2 BYTE 'S',0 FNDLF DATA ' ' VN1DLF DATA ' ' DATA ' ' DATA ' ' DATA ' ' * CREATE FILE PBCRF EQU * CRF DATA BUF1,BUF2 BYTE 0,FC2 BYTE 'S',0 FNCRF DATA ' ' VN1CRF DATA ' ' DATA ' ' DATA ' ' DATA ' ' CRDCRF DATA ' ' DATA '36' DATA '5 ' BFCRF EQU *-1 RLCRF DATA 0 KACRF DATA 0 NIFCRF BYTE 0,0 NRCRF DATA 0 * BUILD INDEX FILES PBBIX EQU * BIX DATA BUF1,BUF2 DATA 0 FCBIX BYTE 0,0 DATA ' ' BYTE 'D','D' KABIX DATA 0 KLBIX DATA 0 * REORGANIZE INDEX FILES PBRIX EQU * RIX DATA BUF1,BUF2 BYTE 0,FC2 FC3RIX BYTE 0,0 FC5RIX BYTE 0,0 DATA ' ' BYTE 'D',0 DATA 0 DATA LOADF LOADFACTOR DATA 0 NORRIX DATA 0 * SORT PBSRT EQU * SRT DATA 0,0 BYTE 0,FC2 FC3SRT BYTE 0,0 FC5SRT BYTE 0,0 DATA 0 BYTE 0,1 DATA 0,0 DATA CONPAR BYTE 'D','D' CWASRT DATA 0 CWALSR DATA 0 BYTE 5,0 DATA 0 DATA 0 DATA 0,0,0,0 NSKSRT DATA 0 KASRT DATA 0,0,0,0,0 DATA 0,0,0,0,0 DATA 0,0,0,0,0 NKCSRT DATA 0,0,0,0,0 DATA 0,0,0,0,0 DATA 0,0,0,0,0 * PRINT VTOC PBPVC EQU * PVC DATA BUF1,BUF2 DATA 0 FCPVC BYTE FC3,0 EJECT * COPY DISK TO DISC * CALL CDD,IV,OV,FC1,FC2,R,A1 * CDD NAME * IV INPUTVOLUMENAME (STRG, 6 BYTES) * OV OUTPUTVOLUMENAME (STRG, 6 BYTES) * FC1 INPUTFILECODE (INTEGER, X'F0' - X'F3') * FC2 OUTPUTFILECODE (INTEGER, X'F0 - X'F3') * R ROERGFLAG (1=WITH, 0=WITHOUT) * WENN 1, WIRD ZUERST EIN CRV AUSGEFUEHRT * A1 RETURNCODES (BIN) * 0 NO ERROR * 1 INPUT I/O ERROR * 2 OUTPUT I/O ERROR * 3 VOLUMENAME ERROR * 4 OUTPUT DISC NOT EMPTY * 5 VTOC OVERFLOW * 6 DISC OVERFLOW * 7 FAULTY DISC FORMAT * 8 FLEX DISC WRITE PROTECTED (CDD) * 9 DISK NOT OPERABLE * 10 BADSPOT ON TRACK 0 * 11 MORE THAN 5 BADSPOTS * 12 DISC I/O ERROR (CRV) * 13 FLEX DISC WRITE PROTECTED (CRV CDD EQU * LDKL A8,VN1CDD CALL STVN00 STORE NAME 1 LDKL A8,VN2CDD CALL STVN00 LDKL A1,FCCDD CALL PARA00 CALL PARA00 LDKL A1,RCDD+1 CALL PARA00 LDR A2,A2 RF(Z) CDD200 JP IF NOREORG LDKL A9,VN2CDD LDKL A8,VNCRV CALL STVN00 STORE VOLUMENAME LD A1,FCCDD ST A1,FCCRV STORE FILE CODE ST A12,REGA12 SAVE A12 LDKL A12,PBCRV CALL CRVOL LD A12,REGA12 LDR A1,A1 RF(NZ) CDD500 JP IF ERROR CDD200 EQU * ST A12,REGA12 LDKL A12,PBCDD CALL COPVOL LD A12,REGA12 RF CDD900 CDD500 EQU * ADK A1,8 CDD900 EQU * CALL RC00 RF RT2 EJECT * COPY FILE TO FILE * CALL CFF,FN1,FN2,P,A1 * CFF NAME * FN1 INPUTFILENAME * FN2 OUTPUTFILENAME * P PACK (1=YES,0=NO) * A1 RETURNCODES (BIN) * 0 NO ERROR * 1 DISK NOT OPERABLE * 2 DISC I/O ERROR * 3 FAULTY RECORD LENGTH * 4 OUTPUT FILE TOO SMALL * 5 OUTPUT FILE NOT EMPTY * 6 FILE ORG. ERROR CFF EQU * LDKL A1,FCCFF CALL FC00 INPUTFILE CALL FC00 OUTPUTFILE LDKL A1,PCFF+1 CALL PARA00 PARAMETER PACK ST A12,REGA12 SAVE A12 LDKL A12,PBCFF CALL COPFIL LD A12,REGA12 CALL RC00 RF RT2 EJECT * DELETE FILES * CALL DLF,FN,VN,A1 * 0 NO ERROR * 1 DISC I/O ERROR * 2 VOLUME UNKNOWN * 3 FILE UNKNOWN * 4 NO FREE ENTRY * 5 FLEX DISC WRITE PROTECTED DLF EQU 0 LDKL A8,FNDLF CALL STFN00 STORE FILENAME LDKL A8,VN1DLF CALL STVN00 VOLUME NAME ST A12,REGA12 LDKL A12,PBDLF CALL DLFILE LD A12,REGA12 CALL RC00 RETURNCODES RF RT2 EJECT * CREATE FILES * CALL CRF,FN,VN,BF,RL,KA,NIF,NR,A1 CRF EQU * LDKL A8,FNCRF CALL STFN00 FILENAME LDKL A8,VN1CRF CALL STVN00 VOLUMENAME CALL I:EVA0 BLOCKFACTOR LC A1,1,A9 SC A1,BFCRF LDKL A8,RLCRF CALL STBN00 RECORDLENGTH LDKL A1,KACRF+1 CALL PARA00 KEYADDRESS LDKL A1,NIFCRF CALL PARA00 LDKL A8,NRCRF CALL STBN00 ST A12,REGA12 LDKL A12,PBCRF CALL CRFILE LD A12,REGA12 CALL RC00 RF RT2 EJECT BIX EQU * LDKL A1,FCBIX CALL FC00 CALL FC00 LDKL A1,KABIX+1 CALL PARA00 LDKL A1,KLBIX+1 CALL PARA00 ST A12,REGA12 LDKL A12,PBBIX CALL BINDEX LD A12,REGA12 CALL RC00 RT2 EQU * RF RT1 EJECT RIX EQU * LDKL A1,FC3RIX CALL FC00 FN1 CALL FC00 FN2 CALL FC00 FN3 LDKL A8,NORRIX CALL STBN00 NOR ST A12,REGA12 LDKL A12,PBRIX CALL RINDEX LD A12,REGA12 CALL RC00 RF RT1 EJECT SRT EQU * LDKL A1,FC3SRT CALL FC00 FN1 CALL FC00 FN2 CALL FC00 FN3 LDKL A1,NSKSRT+1 CALL PARA00 LDR A3,A2 SAVE NSK LDKL A1,KASRT+1 SRT100 EQU * CALL PARA00 KA1.KA15 ADK A1,1 SUK A3,1 RB(P) SRT100 LDKL A1,NKCSRT+1 LD A3,NSKSRT NR OF KEYS SRT200 EQU * CALL PARA00 KL1.KL15 ADK A1,1 SUK A3,1 RB(P) SRT200 LD A1,SRTST START OF SORTAREA ST A1,CWASRT LD A2,SRTEN END OF SORTAREA ST A2,CWALSR LENGTH OF WORKAREA ST A12,REGA12 LDKL A12,PBSRT CALL SORTF LD A12,REGA12 CALL RC00 RETURNCODES RF RT1 EJECT PVC EQU * LDKL A1,FCPVC CALL PARA00 ST A12,REGA12 LDKL A12,PBPVC CALL PRVTOC LD A12,REGA12 CALL RC00 RF RT1 EJECT * CALL RVN,FC,VN,A1 RVN EQU * LDKL A8,ECB LDKL A1,ECB+1 CALL PARA00 LDK A7,/81 LKM DATA 1 CALL I:EVA0 LDK A1,5 RVN100 EQU * LC A2,BUF2+2,A1 SUK A5,1 SCR A2,A5 SUK A1,1 RB(NN) RVN100 LD A1,RCODE RETURNCODE RF(Z) RVN900 LDK A1,1 ANY ERROR RVN900 EQU * CALL RC00 RT1 EQU * ABL I:RT1 EJECT STORE VOLUMENAME INTO PARABLOCK A9=ITEM START A8=VNSTART STVN00 EQU * CALL I:EVA0 LDK A3,5 LENGTH STVN10 EQU * LDK A2,1 STVN20 EQU * LCR A1,A9 SCR A1,A8 ADR A9,A2 ADR A8,A2 SUK A3,1 RB(NN) STVN20 RTN A14 STORE FILENAME INTO PB A9=ITEMSTART A8=FN START STFN00 EQU * CALL I:EVA0 LDK A3,7 RB STVN10 STORE BINARY INTO PARA A9=ITEMSTART A8=PARABLOCK ADDRESS STBN00 EQU * CALL I:EVA0 LDK A3,1 RB STVN10 GET PARA FROM CREDIT A1=ADDRESS IN PARABLOCK PARA00 EQU * LDK A2,0 LCR A2,A12 GET PARA ADKL A12,1 SCR A2,A1 ADK A1,1 RTN A14 GET FILECODE FROM ECB A1=ADDRESS IN PARABLOCK FC00 EQU * CALL T:FDSP LC A2,1,A8 SCR A2,A1 ADK A1,1 RTN A14 RETURNCODE RC00 EQU * ST A1,RC CALL I:EVA0 LD A1,RC STR A1,A9 RTN A14 END