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

⟦be62dee05⟧

    Length: 4472 (0x1178)
    Notes: pts_type(SC)
    Names: »ADM45.SC«

Derivation

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

PTS(SC)

 IDENT ADM45 840130 EV OD-KOM 
 DDUM KMD08 



* THIS MODULE TAKES HAND OF ALL ADMINISTRATION
* REGARDING THE SPOOLING SYSTEM.









 PDIV 

 ENTRY A45ELJ 
 ENTRY PRJOUR 
 ENTRY INCSTR 
 ENTRY INCSLT 


 EXT ADMRET 
 EXT KBTEST 
 EXT RAREAD 
 EXT RADEL
 EXT WRITLO 
 EXT WRITJT 


 INCLUDE EQUATE 
 EJECT
A45ELJ			START POINT
			EL.JOURNAL ON OR OFF 
 TBF CSPOOL,ADM4590 QUIT IF NOT ALLOWED 
 TBT TSPOOL,ADM4510 SEL IF ALREADY ON 
 SET TSPOOL NO, SEL EL. JOURNAL ON
 MOVE TTSPARE3,=C'*'
 B ADM4590
ADM4510			EL. JOURNAL ON
 PERF PRJOUR EMPTY PRINT BUFFER FIRST 
 BNOK ADM4590 NOT EMPTY 
 CLEAR TSPOOL EMPTY, SET EL. JOURNAL OFF
 MOVE TTSPARE3,=C'.'
ADM4590 
 B ADMRET 
	EJECT

PRJOUR PROC		PRINT JOURNAL

 PERF WRITJT,=W'16' START EL. JOURNAL 

PRJ05 
 PERF KBTEST CHECK KEYBOARD 
 BOK PRJ95 STOP IF MAK KEY

PRJ10			CONTINUE, NOT MAK KEY 
 PERF INCSTR READY TO PRINT NEXT
 BOK PRJ20 MORE LINES TO PRINT
* NOW ALL LINES PRINTED 

 PERF WRITJT,=W'17' SLUT EL. JOURNAL

 CMP CBIN0,CBIN0 FINISHED 
 B PRJ100 


PRJ20			MORE TO PRINT 
 MOVE GSWBIN1,=W'60' LENGTH 
 PERF RAREAD,DK06,=D'6',TSELBUF,GSWBIN1,TWELSTRT READ LINE
 BOK PRJ50
*  ERROR
 B PRJ60

PRJ50 
 WAIT KJTAPE
 WRITE .NW,KJTAPE,TSELBUF PRINT LINE
PRJ60 
 PERF RADEL,DK06,TWELSTRT,=D'6' 
 CMP CBIN1,CBIN0 NOT FINISHED 

PRJ90 
 BNOK PRJ05 

PRJ95 

 PERF WRITJT,=W'17' SLUT EL. JOURNAL

 CMP CBIN1,CBIN0

PRJ100
 RET
 PEND 


	EJECT

INCSTR PROC 

* INCREMENT POINTER TWELSTRT
* (CIRCULAR WITHIN TWELMIN,TWELMAX

 MOVE GSWBIN1,TWELSTRT
 ADD GSWBIN1,CBIN1 INCREMENT
 CBNG GSWBIN1,TWELMAX,INCSTR20 OUT OF LIMIT?
 MOVE GSWBIN1,TWELMIN YES, SET TO START 
INCSTR20
 CBNE GSWBIN1,TWELSLUT,INCSTR90 BUFFER FREE?
 CMP CBIN1,CBIN0 NO, SET NOK, 
			NO CHANGE OF TWELSTRT
 RET
INCSTR90			YES, BUFFER FREE 
 MOVE TWELSTRT,GSWBIN1 UPDATE TWELSTRT
 CMP CBIN0,CBIN0
 RET
 PEND 
	EJECT

INCSLT PROC 

* INCREMENT POINTER TWELSLUT
* (CIRCULAR WITHIN TWELMIN,TWELMAX

 MOVE GSWBIN1,TWELSLUT
 ADD GSWBIN1,CBIN1 INCREMENT
 CBNG GSWBIN1,TWELMAX,INCSLT20 OUT OF LIMIT?
 MOVE GSWBIN1,TWELMIN YES, SET TO START 
INCSLT20
 CBNE GSWBIN1,TWELSTRT,INCSLT90 CICRL. BUFFER FULL? 
 CMP CBIN1,CBIN0 YES, SET NOK,
			NO CHANGE OF TWELSLUT
 RET
INCSLT90			CIRCL BUF NOT FULL 
 MOVE TWELSLUT,GSWBIN1 UPDATE TWELSLUT
 CMP CBIN0,CBIN0
 RET
 PEND 
 END

Full view