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

⟦9936d66b0⟧

    Length: 10952 (0x2ac8)
    Notes: pts_type(SC)
    Names: »DSKERR.SC«

Derivation

└─⟦48601905a⟧ Bits:30009668 Philips computer tape "600121"
    └─⟦this⟧ »S:DU/DSKERR.SC« 
└─⟦79fbed147⟧ Bits:30009697 Philips computer tape "600414"
    └─⟦this⟧ »S:DU/DSKERR.SC« 
└─⟦d2a299635⟧ Bits:30009698 Philips computer tape "600415"
    └─⟦this⟧ »S:DU/DSKERR.SC« 

PTS(SC)

	IDENT	DSKERR	UPD 80-03-24/CHST 
			UPD 80-03-19/CHST
*************************** 
*                         * 
*  ERROR-MESSAGE ROUTINE  * 
*  APPL-ROUTINES          * 
*                         * 
*************************** 
	DDUM	DDINIT
	PDIV 
	ENTRY	DSKERR 
	ENTRY	APP
* 
	EXT	DERR 
	EXT	CLOFIL 
	EXT	GETVOL 
	EXT	CHANFC 
* 
DSKERR	PROC	ERRCODE 
	MOVE	DEBINW4,ERRCODE 
	DISPLAY	0,W1,W0
	PERF	DERR
	PERF	CLOFIL
	RET
	PEND 
	EJECT
APP	PROC
	IB	DEBINW3	APPL-VALUE	C
		A1,A2,A3		C 
		A4,A5,A6		C 
		A7,A8,A9		C 
		A10,A11,A12		C
		A13,A14,A15 
	MOVE	DEBINW4,W2	'UNDEFINED ERROR'
	B	ANOK 
****************
*  APPL-ERRORS
****************
A3E 
	MOVE	DEBINW4,W3	'I/O-ERROR'
	B	ANOK 
A6E	MOVE	DEBINW4,W6	'ILLEGAL VALUE' 
	B	ANOK 
A11E
	MOVE	DEBINW4,W11	'VOL-NAME MUST BE SYSVOL' 
ANOK
	MOVE	DEBINW3,W3	NOT OK 
AERR
	RET
	PEND 
AOK	MOVE	DEBINW3,W0	OK
	B	AERR 
	EJECT
A1
*************** 
*  YES OR NO  * 
*************** 
	XCOPY	STR1A,W0,W1,DEINPUT,W0 
	CBE	STR1A,=C'Y',AA11 
	CBE	STR1A,=C'N',AA11 
	B	A6E
AA11
	MOVE	DEBINW2,W17	ENT-KEY 
	B	AOK
* 
* 
A2	XCOPY	STR1A,W0,W1,DEINPUT,W0	APPL=2
	CBE	STR1A,=C'1',A21	SYSTEMFILE 
	CBE	STR1A,=C'2',AOK	USERFILE 
	CBE	STR1A,=C'3',AOK	USERDEFINED-FILE 
	B	A6E
A21 
	CBE	PRNUM,=D'3',AOK	IF DELETE FILE 
	CBE	VOLNAM,SYSVOL,AOK
	B	A11E	'VOL-NAME MUST BE "SYSVOL"' 
	EJECT
********************************
*  NO. OF RECORDS - SYSTEMFILE
********************************
A3
	MOVE	BCD13A,DEINPUT
	CBG	BCD13A,=D'32767',A6E	MAX.VALUE FOR BIN-FIELD 
	MOVE	BIN1,BCD13A 
	CBE	BIN1,W0,A32
	CBL	BIN1,W20,A6E 
A32 
	MOVE	BIN2,FRESEC 
	CBE	BIN1,W0,A34
	CBG	BIN1,BIN2,A6E
	B	AOK
A34 
	MOVE	NOREC,BIN2
	MOVE	DEINPUT,NOREC 
	DISPLAY	1,W2,W2
	B	AOK
	EJECT
******************************
*  NO. OF RECORDS - USERFILE + USERDEFINED FILE  *
**************************************************
A4
	CBNE	FTYPE,=D'3',A41 
*	USERDEFINED FILE
*	RSIZE = SIZE OF RECORDS 
*	BLFACT = BLOCKING FACTOR
*	NOREC = NO. OF RECORDS
*	FRESEC = NO. OF FREE RECORDS ON SPEC. VOLUME
* 
	MOVE	BIN1,RSIZE
	ADD	BIN1,W1
	MOVE	BIN2,BLFACT 
	MUL	BIN1,BIN2
	MOVE	BIN3,W0 
* 
A40 
* 
	ADD	BIN3,W1
	SUB	BIN1,SECLEN
	BP	A40 
* 
*	BIN3 = NO. OF RECORDS NEADED FOR EACH BLOCK 
* 
	MOVE	BIN1,FRESEC 
	DIV	BIN1,BIN3
* 
*	BIN1 = MAX NO. OF BLOCKS TO BE CREATED ON SPEC VOLUME 
* 
	MUL	BIN2,BIN1
	BP	A411
	BZ	A411
* OVERFLOW... 
	MOVE	BIN2,=W'32767'
* 
*	BIN2 = MAX NO. OF RECORDS FOR SPEC FILE 
* 
	B	A411 
A41 
	MOVE	BIN2,FRESEC 
	MOVE	BIN3,BLFACT 
	DIV	BIN2,BIN3	USERFILE 
A411
	MOVE	BCD13A,DEINPUT
	CBG	BCD13A,=D'32767',A6E	MAX.VALUE FOR BIN-FIELD 
	MOVE	BIN1,BCD13A 
	CBNE	BIN1,W0,A45 
	MOVE	NOREC,BIN2
	MOVE	DEINPUT,NOREC 
	DISPLAY	1,W3,W3	USERFILE 
	B	AOK
A45 
	CBL	BIN1,W20,A6E 
	CBG	BIN1,BIN2,A6E
	B	AOK
	EJECT
***************** 
*  CREATE FILE
*  UNIT NO. 0-9 
***************** 
A5
	MOVE	BCD2A,DEINPUT 
	MOVE	FCOD,BCD2A
	PERF	AUNIT 
	ERASE	1,W2,W2	ERASE ON SCREEN
	CALL	CHANFC,DISK,FCOD	CHANGE FILE-CODE 
	CALL	GETVOL,DISK,SYSBUF,VOLNAM,RETCOD	GET VOLUME-NAME
	CMP	RETCOD,W0
	BNE	A3E
	DISPLAY	2,W1,W1	VOL-NAME 
	B	AOK
	EJECT
* 
*      FILE NAME   MAX 8 CHAR.
*      LEADING SPACES ARE IGNORED 
A6
	MOVE	FILNAM,DEINPUT
	CBE	FILNAM,SYSFIL,A6E
	CBE	FILNAM,USEFIL,A6E
A62 
	MOVE	STR15A,=X'20'	SPACE 
	INSRT	DEINPUT,DEBINW1,W8,STR15A,W0 
A64 
	MOVE	DEBIN4,W0 
	MATCH	DEINPUT,DEBIN4,W1,STR15A,W0,W1 
	BNOK	AOK	NO LEADING SPACES 
	DLETE	DEINPUT,W0,W1	DELEATE LEADING SPACES 
	B	A64
	EJECT
***************** 
*  PROGRAM NO.  * 
***************** 
A7
	MOVE	DEBINW2,W17	IND. ENTER-KEY
	MOVE	BCD2A,DEINPUT	PROGRAM NO. 
	MOVE	BIN1,BCD2A
	IB	BIN1,AOK,AOK,AOK,AOK,A6E,A6E,AOK,AOK,A6E
	B	A6E
	EJECT
******************* 
*  CREATE VOLUME  * 
*  UNIT NO. 0-9   * 
******************* 
A8
	MOVE	BCD2A,DEINPUT 
	MOVE	FCOD,BCD2A
	PERF	AUNIT 
	CALL	CHANFC,DISK,FCOD
	CALL	GETVOL,DISK,SYSBUF,VOLNAM,RETCOD	GET VOLUME-NAME
	ERASE	1,W2,W2
	CBNE	RETCOD,W0,A93 
	DISPLAY	2,W1,W1	FINP-FIELD 
	B	AOK
	EJECT
*************************** 
*  COPY DISK OR FILE :    * 
*    INPUT UNIT NO.       * 
*************************** 
A9
	MOVE	BCD2A,DEINPUT 
	MOVE	FCOD,BCD2A
	PERF	AUNIT 
	ERASE	1,W2,W2
	MOVE	FCOD1,FCOD
	XCOPY	PBLOCK,W6,W1,FCOD,W1	FC INPUT DISK 
	CALL	CHANFC,DISK,FCOD
	CALL	GETVOL,DISK,SYSBUF,VOLNAM,RETCOD	GET VOLUME-NAME
	CBNE	RETCOD,W0,A93 
	DISPLAY	2,W1,W1	FINP-FIELD 
A91 
	CBE	PRNUM,=D'5',A92	IF COPY USERFIL
	CBE	PRNUM,=D'7',A92	IF CHANGE VOLUME-NAME
*  COPY SYSFIL OR SYSVOL  * 
	CBNE	VOLNAM,SYSVOL,A94 
A92 
	B	AOK
A93 
	B	A3E
A94 
	B	A11E 
	EJECT
*************************** 
*  COPY DISK OR FILE :    * 
*    OUTPUT UNIT NO.      * 
*************************** 
A10 
	MOVE	STR1A,DEINPUT 
	CBNE	STR1A,UNIT,A101 
	B	A6E
A101
	MOVE	BCD2A,STR1A 
	MOVE	FCOD,BCD2A
	PERF	AUNIT 
	ERASE	1,W4,W4
	MOVE	FCOD2,FCOD
	XCOPY	PBLOCK,W7,W1,FCOD,W1	FC OUTPUT DISK
	CALL	CHANFC,DISK,FCOD
	CALL	GETVOL,DISK,SYSBUF,VOLNAM,RETCOD	GET VOLUME-NAME
	CBNE	RETCOD,W0,A93 
	DISPLAY	2,W2,W2	FINP-FIELD 
	B	A91
	EJECT
********************************
*  USERDEFINED FILE            *
*  SIZE OF RECORDS             *
********************************
A11 
	MOVE	RSIZE,DEINPUT 
	MOVE	BIN1,RSIZE
	CBL	BIN1,W1,A111 
	CBG	BIN1,=W'2047',A111 
*    SIZE OF RECORDS IS IN THE INTERVAL 1-2047
	B	AOK
A111
	B	A6E
* 
**************************
*  USERFILE              *
*  NO.OF SECTORS/RECORD  *
**************************
A12 
	MOVE	BLFACT,DEINPUT
	MOVE	BIN1,BLFACT 
	CBE	BIN1,W0,A111 
	B	AOK
	EJECT
************************
*   DISC TYPE          *
************************
*      INPUT:  DISC TYPE, 1-9 
*      OUTPUT: DISC TYPE IN DEBIN3
*              STORAGE TYPE IN DEBIN2 
*      INPUT                     OUPPUT,DEBIN3   DEBIN2 
*       1 PTS-6875,2.5MB,PACKED         1        3
*       2 PTS-6875,2.5MB,UNPACKED       1        2
*       3 PTS-6876,5MB,PACKED           2        3
*       4 PTS-6876,5MB,UNPACKED         2        2
*       5 PTS-8863,MINI FIX             3        -
*       6 PTS-6877,80MB                 4        -
*       7 VACANT
*       8 PTS-6879,0.25MB,FLEXIBLE DISC 8        -
*       9 PTS-    ,1MB,FLEXIBLE DISC    9        -
* 
A13 
	MOVE	ACK(W2),DEINPUT 
	MOVE	DEBIN3,ACK(W2)
	IB	DEBIN3,A131,A132,A133,A134		C 
		A135,A135,A6E,AOK,AOK 
	B	A6E
A131
	MOVE	DEBIN3,W1	DISC TYPE 
	MOVE	DEBIN2,W3	PACKED
	B	AOK
A132
	MOVE	DEBIN3,W1	DISC TYPE 
	MOVE	DEBIN2,W2	UNPACKED
	B	AOK
A133
	MOVE	DEBIN3,W2	DISC TYPE 
	MOVE	DEBIN2,W3	PACKED
	B	AOK
A134
	MOVE	DEBIN3,W2	DISC TYPE 
	MOVE	DEBIN2,W2	UNPACKED
	B	AOK
A135
	SUB	DEBIN3,W2	DISC TYPE =3 OR 4
	B	AOK
	EJECT
***************** 
*  VOLUME-NAME  * 
***************** 
A14 
	B	A62
	EJECT
***************************** 
*     BLOCKING FACTOR      1-255
***************************** 
A15 
	MOVE	BLFACT,DEINPUT
	MOVE	BIN1,BLFACT 
	CBL	BIN1,W1,A111 
	CBG	BIN1,=W'255',A111
	MOVE	BIN2,RSIZE
	ADD	BIN2,W1
	MUL	BIN2,BIN1
	BP	A151
	B	A111 
A151
	CBG	BIN2,=W'2048',A111 
*       SIZE OF RECORDS   1-2047
*       BLOCKING FACTOR   1-255 
*       (SIZE OF RECORDS + 1) * BLOCKING FACTOR   1-2048
	B	AOK
	EJECT
**************************************
*     THE CONECTION BETWEEN UNIT NO AND DISC
*     IS DONE IN DATA DIVISION AND IS DESCRIBED 
*     IN SYSTEM GENERATION
*  UNIT NO. :  0-9
**************************************
* 
AUNIT	PROC
	XCOPY	FCOD,W1,W1,DUNIT,FCOD
	RET
	PEND 
	END

Full view