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

⟦8b22c5ea6⟧

    Length: 7814 (0x1e86)
    Notes: pts_type(SC)
    Names: »RGSUB3.SC«

Derivation

└─⟦f445cacdf⟧ Bits:30009666 Philips computer tape "600111"
    └─⟦this⟧ »NJ-AMT/RGSUB3.SC« 

PTS(SC)

	IDENT RGSUB3 	02.03.XXX.1
 DDUM KMD08 
 PDIV 
* 
 ENTRY ASGVOL 
 ENTRY CLSVOL 
 ENTRY CYLINE 
 ENTRY CYOUT
 ENTRY CYWRT
 ENTRY CYRD 
 ENTRY CYTRP
* 
 EXT ABORT
 EXT ASSG 
 EXT RAWRIT 
 EXT RAREAD 
 EXT SPLIN8 
 EXT CLEAR8 
 EXT GRASPV 
 EXT FRMXVO 
 EXT CRVO 
* 
 INCLUDE EQUATE 
 EJECT
ASGVOL PROC VOL 
********************
* 
*          ASSIGN ROUTINE - PER VOLUME
* 
*          ASSIGNS ALL FILES ON SPECIFIED VOLUME
* 
*          IF VOL=0, ONLY CONFIGURATION DATA SET
* 
* 
*          CALL:     PERF ASGVOL,<VOLUME NUMBER>
* 
********************
* 
 IB VOL,		C 
		ASG100,ASG200,ASG300,ASG400 
 CBNE VOL,CBIN0,ASGNOK
* 
ASG000			ASSIGN CONF DATASET
 PERF ASSG,CBIN1,DK01,CBIN1 
 B ASGRET 
* 
ASG100			ASSIGN ALL FILES - VOLUME 1
 PERF ASSG,CBIN1,DK01,CBIN1 CONF DATASET
 BNOK ASGRET
 PERF ASSG,CBIN1,DK03,CBIN3 CYCLE DATASET 
 BNOK ASGRET
 PERF ASSG,CBIN1,DK04,CBIN4 KT PLAN 
 BNOK ASGRET
 TBF CGLREGFL,ASGRET
 MOVE CGLRECNR,=D'0'
 PERF ASSG,CBIN1,DK05,CBIN5 OLD REGSET
 BNOK ASGRET
 MOVE CGLRECNR,TTGLREC
 B ASGRET 
* 
ASG200			ASSIGN ALL FILES - VOLUME 2
 PERF ASSG,CBIN2,DK02,CBIN2 REG DATASET 
 B ASGRET 
* 
ASG300			ASSIGN ALL FILES - VOLUME 3
 B ASGOK
* 
ASG400			ASSIGN ALL FILES - VOLUME 4
 B ASGOK
* 
ASGNOK
 CMP CBIN1,CBIN0
 RET
* 
ASGOK 
 CMP CBIN0,CBIN0
ASGRET
 RET
 PEND 
* 
 EJECT
CLSVOL PROC VOL 
********************
* 
*          CLOSE ROUTINE - PER VOLUME 
* 
*          CLOSES ALL FILES ON SPECIFIED VOLUME 
* 
*          CALL:     PERF CLSVOL,<VOLUME NUMBER>
* 
********************
* 
 IB VOL,		C 
		CLS100,CLS200,CLS300,CLS400 
 B CLSRET 
* 
CLS100			CLOSE ALL FILES - VOLUME 1 
 DSC0 DK01,CLOSE
 DSC0 DK02,CLOSE
 DSC0 DK04,CLOSE
 TBF CGLREGFL,CLS150
 DSC0 DK05,CLOSE
CLS150
 DSC0 FD01,UNLOD
 B CLSRET 
* 
CLS200			CLOSE ALL FILES - VOLUME 2 
 DSC0 DK02,CLOSE
 DSC0 FD02,UNLOD
 B CLSRET 
* 
CLS300			CLOSE ALL FILES - VOLUME 3 
 B CLSRET 
* 
CLS400			CLOSE ALL FILES - VOLUME 4 
 B CLSRET 
* 
CLSRET
 RET
 PEND 
* 
 EJECT
CYLINE PROC 
********************
* 
*          WRITE ONE LINE TO CYCLE DATASET
* 
*          ON ENTRY     DATA IN SEPARATE FIELDS 
* 
*          ON EXIT      CR= OK  DATA WRITTEN TO CYSET 
*                       CR=NOK  DATA NOT WRITTEN TO CYSET 
*                       E.G. ERROR ON DISK
*                            DATASET FULL 
*                            WAITED TOO LONG FOR BUFFER 
* 
********************
 MOVE GSWBIN1,CCYSIZE 
 MUL GSWBIN1,GTUWB
 CBNL GTCYOUT,GSWBIN1,CYLINNOK
 MOVE GSWBIN1,=W'32'
CYLIN000
 TBF CCYPFLG,CYLIN010 WAIT FOR BUFFER 
 DELAY CBIN2
 SUB GSWBIN1,CBIN2
 CBL GSWBIN1,CBIN0,CYLINNOK 
 B CYLIN000 
* 
CYLIN010
 SET CCYPFLG RESERVE BUFFER 
 MOVE CCYBUF,=X'00' CLEAR BUFFER
 EDIT CCYBUF,GTSTRFMT 
 PERF RAWRIT,DK03,=D'3',CCYBUF,GTCYOUT
 BNOK CYLIN100
 ADD GTCYOUT,CBIN1
 CLEAR CCYPFLG RELEASE BUFFER 
 CMP CBIN0,CBIN0
 RET
* 
CYLIN100
 CLEAR CCYPFLG RELEASE BUFFER 
CYLINNOK
 CMP CBIN1,CBIN0
 RET
 PEND 
* 
 EJECT
CYOUT PROC
********************
* 
*          WRITE OUT THE WHOLE CONTENT OF CYSET 
*          (LESS THAN ONE PAGE) 
* 
********************
 TBT GTCYWRTF,CYOUT050
 TBT TTTSTFLG,CYOUT005
 SET TTTSTFLG 
 PERF SPLIN8,CBIN5,CBIN2
 PERF GRASPV
 PERF CLEAR8
CYOUT005
 MOVE TTLINNR,TTCYKPOS
 TBF GTCYTRPF,CYOUT010
 SUB GTCYOUT,CBIN1 ADJUST FOR TRP LINE, -TOTAL
CYOUT010
 MOVE GSWBIN1,TTLINNR 
 DSC1 KVOUCH,POS,GSWBIN1
 CBNL GTCYIN,GTCYOUT,CYOUT050 
 PERF CYRD
 SUB TTLINNR,=D'2'
 WAIT KVOUCH
 B CYOUT010 
* 
CYOUT050
 RET
 PEND 
* 
 EJECT
CYWRT PROC
********************
* 
*          WRITE A LINE ON CYCLE DATASET
*          IN NOK  EMPTY THE CYCLE DATASET TO VOUCHER 
*                  AND WRITE LINE TO VOUCHER
* 
********************
 PERF CYLINE WRITE LINE TO CYSET
 BNOK CYWRT100
 SUB TTLINNR,=D'2'
 CBL TTLINNR,=D'4',CYWRT010 IF PAGE FULL
 CMP CBIN0,CBIN0 OK 
 RET
* 
CYWRT010
 MOVE GSWSTR9,=C'TRP ' NEW PAGE 
 PERF FRMXVO,CBIN2
 PERF CYLINE
 SET GTCYTRPF INITIATE PRINT
 CMP CBIN0,CBIN0 OK 
 RET
* 
CYWRT100
 PERF CYOUT 
 SET GTCYWRTF 
 CMP CBIN1,CBIN0
 RET
 PEND 
* 
 EJECT
CYRD PROC 
********************
* 
*          READ ONE LINE FROM CYCLE DATASET AND 
*          WRITE IT TO VOUCHER
* 
*          VOUCHER SHOULD BE POSITIONED BEFORE PRINT
* 
********************
CYRD000 
 TBF CCYPFLG,CYRD010
 DELAY CBIN2 WAIT FOR CYCLE BUFFER
 B CYRD000
CYRD010 
 SET CCYPFLG RESERVE CYCLE BUFFER 
 MOVE GSWBIN1,=W'128' SET LENGTH
 PERF RAREAD,DK03,=D'3',CCYBUF,GSWBIN1,GTCYIN 
 BNOK CYRDNOK 
 EDWRT .NW,KVOUCH,CYEDT 
 CLEAR CCYPFLG
 B CYRD100
CYRDNOK 
 ADD GTCYIN,CBIN1 
 CLEAR CCYPFLG
 PERF CRVO
 CMP CBIN1,CBIN0 NOK
 RET
* 
CYRD100 
 WAIT KVOUCH
 PERF CRVO
 ADD GTCYIN,CBIN1 
 CMP CBIN0,CBIN0 OK 
 RET
 PEND 
* 
* 
CYEDT FRMT
 FCOPY CCYBUF 
 FMEND
* 
 EJECT
CYTRP PROC
********************
* 
*          PRINT A WHOLE PAGE 
* 
*          AND WRITE TRANSPORT LINE FIRST ON CYSET
* 
********************
 TBF GTCYTRPF,CYTRP200
 TBT GTCYWRTF,CYTRP100 T=ALREADY WRITTEN
 CLEAR GTCYTRPF 
 CLEAR TTTSTFLG 
 PERF CYOUT 
 WAIT KVOUCH
 DSC0 .NW,KVOUCH,RLEAS
 CLEAR TTTSTFLG 
 MOVE GSWSTR9,=C'TRP '
 PERF FRMXVO,CBIN2
 MOVE GTCYIN,GTUWB
 SUB GTCYIN,CBIN1 
 MUL GTCYIN,CCYSIZE 
 ADD GTCYIN,CBIN1 
 MOVE GTCYOUT,GTCYIN
 MOVE TTLINNR,TTCYKST 
 MOVE TTCYKPOS,TTLINNR
 PERF CYLINE
 BNOK CYTRP100
 B CYTRP150 
* 
CYTRP100
 CLEAR GTCYTRPF 
 SET GTCYWRTF 
 PERF SPLIN8,CBIN3,CBIN2 ASK FOR 'NY SIDE'
 PERF GRASPV GRASP
 MOVE TTCYKPOS,TTCYKST
 MOVE TTLINNR,TTCYKST POSITION VOUCHER
 MOVE GSWBIN1,TTLINNR 
 DSC1 KVOUCH,POS,GSWBIN1
 MOVE GSWSTR9,=C'TRP ' SET UP TRANSPORT LINE
 PERF FRMXVO,CBIN2
 EDWRT KVOUCH,GTSTRFMT WRITE TRP LINE 
* 
CYTRP150
 SUB TTLINNR,=D'2'
CYTRP200
 RET
 PEND 
* 
 END

Full view