|
|
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: 7732 (0x1e34)
Notes: pts_type(SC)
Names: »SPOOL.SC«
└─⟦22f4dea89⟧ Bits:30009702 Philips computer tape "DOS_PTS_4.2_M_FL"
└─⟦this⟧ »NJ-AMT/SPOOL.SC«
└─⟦dab19bdd7⟧ Bits:30009677 Philips computer tape "600218"
└─⟦this⟧ »NJ-AMT/SPOOL.SC«
IDENT SPOOL 831026 EV DDUM KMD08 PDIV ENTRY SAINIT EXT MASK EXT CRF INCLUDE EQUATE EJECT SAINIT TBT SKEDOK,SPOOL10 DELAY CBIN3 B SAINIT SPOOL10 * SET NO TIME OUT FOR FIRST READ MOVE SSBINW1,=W'-1' NO TIME OUT DSC1 SII,X'0B',SSBINW1 DSC1 SIO,X'0B',SSBINW1 MOVE SSBINW1,=W'134' READ SII,ICIBUF,SSBINW1 FIRST READ BNOK SPOOL10 * SET TIME OUT FOR FOLLOWING READS GETID TASKID XCOPY SSBINW9,CBIN0,CBIN2,TASKID,CBIN0 SUB SSBINW9,=C'S@' SSBINW9=TIME OUT VALUE MOVE SSBINW9,TIMOUT(SSBINW9) DSC1 SII,X'0B',SSBINW9 DSC1 SIO,X'0B',SSBINW9 B SPOOL30 SPOOL20 NOT FIRST READ MOVE SSBINW1,=W'134' READ SII,ICIBUF,SSBINW1 BNERR SPOOL30 XSTAT SII,SSBINW1 GET EXT. STATUSBYTE MOVE SSBINW2,CBIN7 TEST FOR BIT 9 = TIMEOUT CALL MASK,SSBINW1,SSBINW2 BNZ SPOOL20 BRANCH IF BIT CLEARED * TIMEOUT HAS ACCURRED CBE SSCURFIL,=C' ',SPOOL10 NO FILE ACTIVE SET AUTOCLOS B SP2120 GO AND CLOSE FILE SPOOL30 CBL SSBINW1,CBIN2,SPOOL20 INVALID LENGTH MOVE CALLING,ICIBUF TASKID XCOPY SSBINW1,CBIN0,CBIN2,ICIBUF,CBIN2 FUNCTION XCOPY SSBINW2,CBIN0,CBIN2,ICIBUF,CBIN4 LENGTH MOVE RETTASK,=C'S0' TBF SPASGERR,SP0000 ASSIGNERROR B SPOOLER1 EJECT SP0000 IB SSBINW1,SP9000,SP2000,SP3000 B SP9000 SP2000 * WE NOW HAVE A PRINTLINE WHICH HAS TO BE * WRITTEN TO THE DISK CBNE SSCURFIL,=C' ',SP2100 SPOOLFILE ACTIVATED? * NO CURRENT FILE YET SP2060 MOVE SSSTRG4,=X'00' FIND PLACE FOR NEW FILE MOVE SSBINW4,CBIN0 MOVE SSBINW7,CUSEDLN MATCH CUSED,SSBINW4,SSBINW7,SSSTRG4,CBIN0,CBIN4 BNOK SPOOLER2 XCOPY CUSED,SSBINW4,CBIN2,CALLING,CBIN0 TASKID ADD SSBCDCUR,=D'1' NEW CURRENT FILE MOVE SSBINW6,SSBCDCUR ADD SSBINW4,CBIN2 XCOPY CUSED,SSBINW4,CBIN1,SSBINW6,CBIN1 FILEID SET CSAVEIX EDIT SSCURFIL,FMCURFIL SPOOLXXX ADD SSBINW4,CBIN1 MOVE SSSTRG1,=C'F' BEING FILLED XCOPY CUSED,SSBINW4,CBIN1,SSSTRG1,CBIN0 ** CREATE FILE VIA TOSSUTILITIES MOVE PBLK,=X'00' EDIT PBLK,FRMCRF CALL CRF,PBLK,RC1,RC2 CBNE RC1,CBIN0,SPOOLDEL PERF SENDMSG,CBIN1,CALLING MOVE ASVOL,CVOL(CBIN1) ASSIGN SPOOL,1,SSBINW1,SSCURFIL,ASVOL BNOK SPOOLDEL MOVE SSSTRG2,=C'11' FORM FEED XCOPY ICIBUF,CBIN6,CBIN2,SSSTRG2,CBIN0 SP2100 * NOW SEQ.WRITE CAN BE DONE MOVE TDISKBUF,CBLANKS CLEAR BUFFER XCOPY SSBINW2,CBIN0,CBIN2,ICIBUF,CBIN4 GET LENGTH XCOPY TDISKBUF,CBIN0,SSBINW2,ICIBUF,CBIN6 WRITE SPOOL,TDISKBUF BOFL SP2120 BNOK SP2120 SP2110 B SPOOLRET SP2120 * SEGMENT FILLED. * THIS SEGMENT IS TO BE CLOSED. * IF IT WAS BECAUSE OF OVERFLOW (AUTOCLOS=FALSE) * A NEW ONE IS TO BE CREATED AND THE MASTERINDEX * MUST BE UPDATED DSC0 SPOOL,CLOSE CLOSE CURRENT FILE MOVE SSBCD4,SSCURFIL CURRENT FILE MOVE SSBINW2,SSBCD4 MOVE SSBINW1,CBIN0 MOVE SSBINW3,CBIN0 SP2130 XCOPY SSSTRG4,CBIN0,CBIN4,CUSED,SSBINW1 XCOPY SSBINW3,CBIN1,CBIN1,SSSTRG4,CBIN2 FILEID CBNE SSBINW3,SSBINW2,SP2140 MOVE SSSTRG1,CBLANKS TBF AUTOCLOS,SP2135 CBG SSBINW9,=W'200',SP2135 TIME OUT VALUE LESS THAN 20 SECONDS HAS OCCURRED, MUST BE HARDCOPY MEANING: SET PRINT MOVE SSSTRG1,=C'P' SP2135 XCOPY SSSTRG4,CBIN3,CBIN1,SSSTRG1,CBIN0 XCOPY CUSED,SSBINW1,CBIN4,SSSTRG4,CBIN0 SET CSAVEIX B SP2150 SP2140 ADD SSBINW1,CBIN4 CBL SSBINW1,CUSEDLN,SP2130 SP2150 TBF AUTOCLOS,SP2060 CLEAR AUTOCLOS MOVE SSCURFIL,CBLANKS CLEAR CURRENT FILE B SPOOL10 EJECT SP3000 * EXPLICIT CLOSE DSC0 SPOOL,CLOSE CLOSE FILE MOVE SSBCD4,SSCURFIL CURRENT FILE MOVE SSBINW2,SSBCD4 MOVE SSBINW1,CBIN0 MOVE SSBINW3,CBIN0 SP3010 XCOPY SSSTRG4,CBIN0,CBIN4,CUSED,SSBINW1 XCOPY SSBINW3,CBIN1,CBIN1,SSSTRG4,CBIN2 FILEID CBNE SSBINW3,SSBINW2,SP3020 XCOPY SSSTRG4,CBIN3,CBIN1,CBLANKS,CBIN0 XCOPY CUSED,SSBINW1,CBIN4,SSSTRG4,CBIN0 SET CSAVEIX B SP3030 SP3020 ADD SSBINW1,CBIN4 CBL SSBINW1,CUSEDLN,SP3010 SP3030 MOVE SSCURFIL,CBLANKS B SPOOLRET SP9000 B SPOOLER6 EJECT SPOOLDEL DELETE ENTRY SUB SSBINW4,CBIN3 ADJUST TO START MOVE SSSTRG4,=X'00' XCOPY CUSED,SSBINW4,CBIN4,SSSTRG4,CBIN0 MOVE SSCURFIL,CBLANKS SUB SSBCDCUR,=D'1' * B SPOOLER2 SPOOLER1 MOVE ICOBUF,=C'1' ASSIGN ERROR B SPOOLERR SPOOLER2 MOVE ICOBUF,=C'2' I/O ERROR B SPOOLERR SPOOLER6 MOVE ICOBUF,=C'6' UNDEFINED FUNCTION B SPOOLERR SPOOLERR SET CIGNORE B SPOOLRT1 SPOOLRET MOVE ICOBUF,=C'0' SPOOLRT1 MOVE SSSTRG2,ICOBUF RWRITE SIO,SSSTRG2,RETTASK B SPOOL20 EJECT SENDMSG PROC P,ADR EDIT ICOBUF,MSGFRM(P) CBL ADR,=C'TC',SENDM90 SENDM10 MOVE SSBINW2,ADR RWRITE SIO,ICOBUF,SSBINW2 BERR SENDM10 SENDM90 RET PEND MSGFRM FTABLE MSG1 MSG1 FRMT FILLR ' ',1 FCOPY ='SPOOLFILE ' FMEL '999',SSBCDCUR FTEXT ' OPRETTET.' FILLR X'00',40 FMEND EJECT FRMCRF FRMT FILLR X'00',4 BUF1,BUF2 FILLR X'00',1 FC1 FILLR X'00',1 PRINT DEVICE FILLR 'S',1 FILEORG FILLR X'00',1 FCOPY SSCURFIL FILENAME FCOPY CVOL(CBIN1) VOLUMENAME FILLR ' ',18 UNUSED VOLUMENAMES FMEL '999999',CMASKDAT FILLR '0',3 RET.PERIOD FILLR X'02',1 BLOCKFACTOR FILLR X'00',1 RECLEN FILLR X'86',1 - FILLR X'00',3 KEYADR+NO.INDEXFILES FILLR X'00',1 FTEXT X'01F4' 500 RECORDS FILLR X'00',6 FMEND FMCURFIL FRMT FTEXT 'SPOOL' FMEL '999',SSBCDCUR FMEND END