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

⟦e44466348⟧

    Length: 11044 (0x2b24)
    Notes: pts_type(SC)
    Names: »DENT29.SC«

Derivation

└─⟦48601905a⟧ Bits:30009668 Philips computer tape "600121"
    └─⟦this⟧ »S:DE/DENT29.SC« 
└─⟦d2a299635⟧ Bits:30009698 Philips computer tape "600415"
    └─⟦this⟧ »S:DE/DENT29.SC« 

PTS(SC)

 IDENT DENT29 PRR 1.0 76-10-29/DALI 
 DDUM DEDDIV
 PDIV 
 ENTRY DENDUP 
 ENTRY DEEDIT 
 ENTRY DELAST 
 EXT DERECS 
 EXT DEACC
 EXT DECLRN 
 EXT DECLRD 
 EXT DERR 
 EXT TESTB TEST FOR A BIT IN A BIN
 EXT GETDUP LOOK FOR DUPLICATION- 
			STRING FOR CURRENT FIELD 
 EXT DEDISC DISC HANDLING ROUTINE 
 EXT ATTDB ASSEMBLY SUBROUTINE ATTDB -
			ATTACH DESCRIPTORBLOCK 
 EXT ATTWB ASSEMBLY SUBROUTINE ATTWB -
			ATTACH WORKBLOCK 
 EXT EMPTYT 
 EXT TYPET ASSEMBLY SUBROUTINE TYPET -
			RETURNS ITEM-TYPE. 
			1=BIN,2=BCD,3=STRG 
 EXT DEPOOL POOL HANDLING ROUTINE 
 EXT MASK 
 EXT DELOCK 
 EXT DEPRUT 
 INCLUDE DELITT 
 EJECT
******************************************
* THIS ROUTINE HANDLE THE KEY FOR 
* DUPLICATION AND EXECUTE THE 
* AUTOMATIC DUPLICATION WHEN
* THE KEEP KEY HAS BEEN PRESSED 
******************************************
DENDUP PROC 
 CLEAR BOOL5
 CALL GETDUP,BPOOL(W1),BIN11,BIN12,BIN13
 BOK KDUP05 
KDUP03
 CBE DEBINW2,W3,KDUP35 JUMP IF AUTODUP
 DUPL DEINPUT 
 BNZ KDUP40 
 SET BOOL5
 B KDUP30 
KDUP05
 MOVE BIN9,W5 
 MATCH VALSTR,BIN9,W8,BPOOL(BIN11),BIN12,W1 
			LOOK IF DUPL FROM VALUESET 
 BNOK KDUP40 JUMP IF NOT
 CBE BIN9,W5,KDUP25 JUMP IF DATE
 SUB BIN9,W8 ADJUST FOR THE OTHER 
 BL KDUP40
 ADD BIN12,W1 GET ITEMNUMBER
 MOVE BIN8,W0 
 XCOPY BIN8,W1,W1,BPOOL(BIN11),BIN12
 ADD BIN12,W1 
 MOVE BCD3A,BIN8
 CBNE BIN9,W4,KDUP25 JUMP IF NOT VALUESET 
 MOVE BIN8,W18 LOOK IF ELEMENTNUMBER
 MATCH VALSTR,BIN8,W1,BPOOL(BIN11),BIN12,W1 
 BOK KDUP20 
KDUP10 PERF DELAST,W5,DEKTAB7 
 IB DEBINW2,KDUP60,KDUP60,KDUP60,KDUP10 
 SUB DEBINW1,W1 
 BZ KDUP10
 COPY DEINPUT,DEBINW1,W1,HEX00,W0 DELETE ENTER-KEY
 MOVE BCD13A,DEINPUT
 MOVE ELMNO,BCD13A
 CBE ELMNO,W0,KDUP10
 B KDUP15 
KDUP20
 ADD BIN12,W1 
 XCOPY ELMNO,W1,W1,BPOOL(BIN11),BIN12 
KDUP15
 MOVE TABLE,BCD3A 
 MOVE STR1A,=C'T' 
 DLETE TABLE,W0,W2
 INSRT TABLE,W2,W1,HEX00,W0 
 INSRT TABLE,W0,W1,STR1A,W0 
 PERF DEDISC,W24 GET VALUSET
 BNOK KDUP50
	CALL	ATTWB,BPOOL(PINDTB),W8,W11
	CALL	ATTDB,BPOOL(PINDTB),W0,W11
 MOVE BIN10,W0
 XCOPY BIN10,W1,W1,RPOOL(PINDTB),W17
 SUB ELMNO,BIN10
 ADD ELMNO,W1 
KDUP25
 PERF DEEDIT,BIN9 
 CBE PINDTB,W0,KDUP30 JUMP IF NOT VALUESET
 PERF DEPOOL,W6,PINDTB,BIN10,STRG10A
 MOVE PINDTB,W0 
KDUP30
 CALL EMPTYT,:FMTITEM 
 BNZ KDUP32 JUMP IF EMPTY 
 GETABX DEBINW3 
 ERASE 9,DEBINW3,DEBINW3
KDUP32
 UPDFLD 1,DEINPUT UPDATE FIELD WITH DISPLAYING
 MOVE DEBINW2,W2
 CLEAR BOOL5
 BNZ KDUP38 
KDUP35
 SET DOOL5
KDUP38
 CMP W1,W1 OK 
 RET
KDUP40
 MOVE DEBINW4,W0 INDICATE ILLEGAL EOI-KEY 
KDUP50
 MOVE DEBINW2,W0
KDUP60
 CMP W1,W0
 RET
 PEND 
 EJECT
***************************************** 
* 
*THIS PROCEDURE EDIT ITEMS FOR VALIDATIONS
*INTO THE ITEM DEINPUT. 
*LEGAL FUNCTIONCODES AREX.
* <FC> = 0  ACCUMULATORS
*      = 1  SYSTEMVARIABELS 
*      = 2  USERVARIABELS 
*      = 3  FIELDS WITHIN CURRENT FORMAT
*      = 4  VALUESETS 
*      = 5 DATE 
*      = 6  VALUESETINDEX (ELEMENTNO) 
* 
***************************************** 
DEEDIT PROC FC
 MOVE BIN10,W1 LENGTHADJUSTER 
 MOVE DEINPUT,HEX00 
 MOVE BIN7,W0 
 IB FC,DED300,DED330,DED200,DED100,DED170,DED160
 MOVE DEINPUT,ACK(BIN8) 
 B DED390 
DED100
 CALL TESTB,BPOOL(PINDTB),W2
 BNZ DED150 JUMP IF BCD 
 XCOPY BIN7,W1,W1,BPOOL(PINDTB),W1
 COPY DEINPUT,W0,BIN7,FDVBCD(ELMNO),W0
 RET
DED150
 MOVE DEINPUT,FDVBCD(ELMNO) 
 RET
	EJECT
* 
*       VALUE SET INDEX (ELEMENTNO) 
* 
DED160
	MOVE	BCD3A,VSEIND	BINCONV=>BCD 
	MOVE	DEINPUT,BCD3A	BCDCONV=>STRG 
	RET
DED170
 MOVE DEINPUT,DATE
 DLETE DEINPUT,W0,W1
 B DED400 
DED200
 TBF DOOLA,DED210 JUMP IF NOT BALANCE 
 MOVE DEINPUT,:FMTITEM
 B DED400 
DED210
* LOOK FOR TYPE OF ITEM BY USING TYPET
 CALL TYPET,BIN7,X.PSEUDO,X.WB10,BIN8 
 CBE BIN7,W2,DED250 JUMP IF BCD 
 MOVE BIN7,W0 
 EDSUB DEINPUT,BIN7,FORMF 
 B DED390 
DED250
 CON X.MOVE,DEINPUT,X.PSEUDO,X.WB10,BIN8
 B DED400 
DED300
 EDSUB DEINPUT,BIN7,FORMS 
 B DED350 
DED330
 EDSUB DEINPUT,BIN7,FORMU 
DED350
 MOVE DEBINW1,BIN7
 RET
DED390
 MOVE BIN10,W0
DED400
 MOVE DEBINW1,W0
 MOVE BIN7,=W'80' 
 MATCH DEINPUT,DEBINW1,BIN7,HEX00,W0,W1 
DED450
 SUB DEBINW1,BIN10
 BNN DED470 JUMP IF NOT MINUS 
 MOVE DEBINW1,W0
DED470
 RET
 PEND 
 EJECT
************************************* 
* DISPLAY AND READ OF FUNCTION-KEYS * 
* ENTERED ON THE LAST LINE.         * 
************************************* 
DELAST PROC FC,$KEYT
 MOVE BIN15,FC
LASTD0 MOVE DEBINW4,W24 
 ERASE 0,DEBINW4,DEBINW4
 EDWRT DEDSSCRN,FLAST(FC) 
LAST05
 MOVE DEBINW1,W0
LASTD1
 IB FC,LPROG,LDEL,LDEL,LINS,LVAL,LINS,LASRET2		C
		LASRET3,LASVER,LASRET2
 B LINS 
LPROG 
 MOVE DEBINW1,SYMREC(W12) GET MAX SYMB.LENGTH 
 CBG DEBINW1,W0,LPROG2
 MOVE DEBIW2,W2 SIMULATE CANCEL 
 ERASE 0,DEBINW4,DEBINW4
 B LASVER 
LPROG2
 KI DEDSDYKB,DEINPUT,$KEYT,DEBINW1,DEBINW2
 B LAST50 
LVAL
 MOVE DEBINW1,W2
 B LPROG2 
LDEL
LINS
 MOVE DEBINW1,W1
LASTD2
 KI .NE,DEDSDYKB,DEINPUT,$KEYT,DEBINW1,DEBINW2
LAST50
	PERF	DELOCK,W1,DEBINW2 
	IB	DEBINW3,POWOFF,LASTER,LASTD0
	B	LASTD3 
* 
* NOK. NOTICE THAT INCORRECT LENGTH IS OKEY 
* 
LASTER
 XSTAT DEDSDYKB,DEBINW3 
 CALL MASK,DEBINW3,W8 
 BZ LASBEL
 MOVE DEBINW2,W5
 B PROEN2 
LASTD3
 IB FC,LASRET,LASRET,LAST06,LASRET,LASRET		C
		LAST06,LAST06,LAST06,LAST06,LAST06		C 
		LASRET,LASRET,LASRET
LAST06
 IB DEBINW2,LASBEL,LASBEL,LASBEL
 SUB DEBINW2,W3 ADJUST EOI0KEY
 B LASRET 
LASBEL
 EDWRT DEDSSCRN,BELL ACOUSTIC ALARM 
 B LAST05 
LASKOP
 MOVE DEBINW3,W1
 PRINT DEDSPRT,DEBINW3,W0 
 B LASTD0 
LASVER
 EDWRT DEDSSCRN,BELL ACOUSTIC ALARM 
 B LASRET3
* 
* POWER OFF 
* 
POWOFF
 DISPLAY 0,W1,W0
 B LASTD0 
* 
PROEN2
 IB FC,LASTUT,LASTD0,LASTD0,LASTD0,LASTUT 
LASTUT
 ADD DEBINW1,W1 
LASRET
 ERASE 0,DEBINW4,DEBINW4
LASRET2 
 RET
LASRET3 
 THOME
 RET
 PEND 
	EJECT
* 
*        FORMATS
* 
FLAST FTABLE FPROG,FDEL1,FDEL2,FLIN1,FLVAL,FLINS,FRECOV		C
		FCORR,FVER,FRECO2,FFORCE,FCONV0,FCONV1
FPROG FRMT
 FSL
 FLOW 
 FCOPY =C'SYMBOLIC:'
 FMEND
FDEL1 FRMT
 FSL
 FLOW 
 FTEXT 'CONFIRM RECORD DELETE:' 
 FMEND
FDEL2 FRMT
 FLINK FDEL3
 FTEXT 'DELETED'
 FMEND
FLINS FRMT
 FLINK FDEL3
 FTEXT 'INSERTED' 
 FMEND
FDEL3 FRMT
 FSL
 FLOW 
 FCOPY =C'RECORD' 
 FILLR ' ',1
 FMEL 'TTTT9',BCD13A
 FILLR ' ',1
 FMEND
FLVAL FRMT
 FSL
 FLOW 
 FTEXT 'DUPL FROM ' 
 FCOPY =C'VALUESET' 
 FTEXT ' T:'
 FMEL 'XX',BCD3A
 FILLR ' ',1
 FCOPY =C'ELEMENT'
 FCOPY =C'NUMBER' 
 FILLR ':',1
 FMEND
FLIN1 FRMT
 FSL
 FLOW 
 FTEXT 'CONFIRM RECORD INSERT'
 FMEND
FRECOV FRMT 
 FSL
 FLOW 
 FTEXT 'RECOVERY OF ' 
 FCOPY =C'JOB'
 FILLR ':',1
 FCOPY JOBNAME
 FILLR ' ',1
 FCOPY =C'BATCH'
 FILLR ':',1
 FCOPY BATCH
 FTEXT ' RUNNING.'
 FMEND
FCORR FRMT
 FSL
 FLOW 
 FTEXT 'RECORD CORRECTION'
 FMEND
FVER FRMT 
 FSL
 FLOW 
 FTEXT 'RECORD MUST BE VERIFIED'
 FMEND
FRECO2 FRMT 
 FSL
 FTEXT 'RECOVERY RUNNING.'
 FMEND
FFORCE FRMT 
 FSL
 FCOPY =C'CONFIRM ' 
 FTEXT 'FREEZING OF BATCH ' 
 FCOPY BATCH
 FMEND
FCONVA FRMT 
 FCOPY =C'CONFIRM ' 
 FTEXT 'CONVERSION OF ALL BATCHES ' 
 FMEND
FCONV0 FRMT 
 FSL
 FLINK FCONVA 
 FTEXT 'ON UNIT:U'
 FMEL 'X',USERFILE
 FMEND
FONV2 
FCONV1 FRMT 
 FSL
 FLINK FCONVA 
 FTEXT 'WITHIN JOB:'
 FCOPY JOBNAME
 FMEND
FORMF FRMT
 FCTL X'C0',X.PSEUDO,X.WB10,BIN8
 FMEND
FORMS FRMT
 FCOPY SYSV(BIN8) 
 FMEND
FORMU FRMT
 FCOPY USEV(BIN8) 
 FMEND
BELL FRMT 
 FSL
 FILLR X'07',1
 FMEND
* 
 END

Full view