DataMuseum.dk

Presents historical artifacts from the history of:

Philips Data Systems

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Philips Data Systems

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦62a091ca2⟧

    Length: 7728 (0x1e30)
    Notes: pts_type(SC)
    Names: »LOG.SC«

Derivation

└─⟦38a30a456⟧ Bits:30009662 Philips computer tape "600104"
    └─⟦this⟧ »OD-KOM/LOG.SC« 

PTS(SC)

 IDENT LOG 840130 EV OD-KOM 
 DDUM KMD08 
 PDIV 
 ENTRY WRITLO 
 ENTRY ELOPST 

 EXT PRJOUR 
 EXT RAREAD 
 EXT RAWRIT 
 EXT INCSLT 
 EXT FRM1EL 
 EXT FRM2EL 
 EXT FRM3EL 
 EXT FRM4EL 
 EXT FRMXEL 

 INCLUDE EQUATE 
	EJECT

WRITLO PROC P 

 TBF TSPOOL,WRTL090 QUIT IF EL.JOURNAL OFF

WRTL010 
 PERF ROOM	SEL IF ROOM ON DISK
 BNOK WRTL070 NO ROOM ON DISK 
* ROOM ON DISK
 CBNE P,CBIN0,WRTL050 SEL IF TRANSACTION
* TRANSACTION 
 PERF FRM1EL GET FORMAT LINE 1
 PERF WRITLIN WRITE LINE 1
 BNOK WRTL080 ERROR IF NOK

 PERF FRM2EL GET FORMAT LINE 2
 PERF WRITLIN WRITE LINE 2
 BNOK WRTL080 ERROR IF NOK

 PERF FRM3EL GET FORMAT LINE 3
 PERF WRITLIN WRITE LINE 3
 BNOK WRTL080 ERROR IF NOK

 PERF FRM4EL GET FORMAT LINE 4
 PERF WRITLIN WRITE LINE 4
 BNOK WRTL080 ERROR IF NOK
 B WRTL060

* NOT A TRANSACTION 
WRTL050 
 PERF FRMXEL,P GET SPECIAL FORMAT 
 PERF WRITLIN WRITE SPECIAL LINE
 BNOK WRTL080 ERROR IF NOK

WRTL060			OK
 CMP CBIN0,CBIN0
 B WRTL090

* NOT ROOM ON DISK
WRTL070 
 PERF PRJOUR PRINT AS MUCH AS POSSIBLE
 B WRTL010 AND TRY AGAIN

* DISK ERROR
WRTL080 
 PERF PRJOUR TRY TO PRINT 
 BNOK WRTL010 MAK KEY, TRY AGAIN

* NO MORE ON DISK 
 CLEAR TSPOOL 
 MOVE TTSPARE3,=C'.'
 CMP CBIN0,CBIN1 SET NOK, 
			PRINT ON JOURNAL 

WRTL090 
 RET
 PEND 


	EJECT

WRITLIN PROC

* WRITE ONE LINE TO SPOOL AREA

 MOVE TSELBUF,=X'0000' CLEAR BUFFER 
 MOVE GSWBIN1,CBIN0 
 EDSUB TSELBUF,GSWBIN1,GTSTRFMT EDIT DATA INTO BUFFER 
 CBL GSWBIN1,CBIN3,WRLIRET NO DATA IN LINE
 PERF RAWRIT,DK06,=D'6',TSELBUF,TWELSLUT
 BNOK WRLINOK 

WRLIOK
 PERF INCSLT UPDATE POINTER 
WRLIRET 
 CMP CBIN0,CBIN0
 RET
WRLINOK 
 PERF INCSLT UPDATE POINTER 
 CMP CBIN1,CBIN0
 RET
 PEND 
	EJECT
ROOM PROC 

* TEST IF ROOM FOR AT LEAST 5 RECORDS 

 MOVE GSWBIN1,TWELSLUT USE TEMP AREA
 ADD GSWBIN1,CBIN5
 CBG TWELSTRT,TWELSLUT,ROOM50 START BEFORE SLUT?
 CBNG GSWBIN1,TWELMAX,ROOMOK YES, STILL ROOM
 SUB GSWBIN1,TWELMAX SWAP AROUND
 CBL GSWBIN1,TWELSTRT,ROOMOK BEFORE START 
 B ROOMNOK ELSE NO ROOM 

ROOM50			SLUT BEFORE START
			(SWAP AROUND)
 CBL GSWBIN1,TWELSTRT,ROOMOK BEFORE START?
ROOMNOK			NO
 CMP CBIN1,CBIN0
 RET

ROOMOK
 CMP CBIN0,CBIN0
 RET
 PEND 


	EJECT

ELOPST PROC 

 SET CPFLG NO KOR KEY ON SCREEN 
 SET TERRSKIP SKIP ERRMES ON JTTAPE 

 TBF CSPOOL,ELOP90 QUIT IF NO EL.JOURNAL

 MOVE TWELPNT,TWELMAX SAVE MAX
 MUL TWELMAX,TTASKNR SET MAX
 MOVE TWELMIN,TWELMAX 
 SUB TWELMIN,TWELPNT
 ADD TWELMIN,CBIN1 SET MIN

 MOVE TWELPNT,TWELMIN POINTER 

 MOVE GSWBIN1,=W'60'
 PERF RAREAD,DK06,=D'6',TSELBUF,GSWBIN1,TWELPNT 
 BNOK ELOP10 ASSUME NOT USED
 CBE GTWBCD1,=D'4',ELOP10 NO DATA 
 B ELOP50 

ELOP10			1. RECORD NOT USED 
 CLEAR TSPOOL CLEAR EL.JOURNAL ON 
 PERF THRFREE CHECK THRU FREE 
 PERF THRUSED CHECK THRU USED 
 B ELOP90 

ELOP50			1. RECORD USED 
 SET TSPOOL SET EL.JOURNAL ON 
 PERF THRUSED CHECK THRU USED 
 PERF THRFREE CHECK THRU FREE 

ELOP90
 TBF TSPOOL,ELOP99
 MOVE TTSPARE3,=C'*' EL. JOURNAL ON 
ELOP99

 CLEAR CPFLG
 CLEAR TERRSKIP 

 RET
 PEND 


	EJECT

THRFREE PROC

* CHECK THRU FREE RECORDS 

THRFR10 
 ADD TWELPNT,CBIN1 INCREMENT POINTER
 CBG TWELPNT,TWELMAX,THRFR90 THRU RECORDS?
 MOVE GSWBIN1,=W'60' NO CHECK IF NEXT IS FREE 
 PERF RAREAD,DK06,=D'6',TSELBUF,GSWBIN1,TWELPNT 
 BNOK THRFR10 ASSUME NOT USED 
 CBE GTWBCD1,=D'4',THRFR10
 SET TSPOOL RECORD USED 

THRFR90			SET START 
 SUB TWELPNT,CBIN1
 MOVE TWELSTRT,TWELPNT
 RET
 PEND 


	EJECT

THRUSED PROC

* CHECK THRU USED RECORDS 

THRUS10 
 ADD TWELPNT,CBIN1 INCREMENT POINTER
 CBG TWELPNT,TWELMAX,THRUS80 THRU RECORDS?
 MOVE GSWBIN1,=W'60' NO, CHECK IF NEXT IS USED
 PERF RAREAD,DK06,=D'6',TSELBUF,GSWBIN1,TWELPNT 
 BNOK THRUS10 ASSUME USED 
 CBNE GTWBCD1,=D'4',THRUS10 
 B THRUS85

THRUS80 
 MOVE TWELSLUT,TWELMIN
 B THRUS90

THRUS85 
 MOVE TWELSLUT,TWELPNT

THRUS90 
 RET
 PEND 


 END
!!~ 

Full view