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

⟦38b720253⟧

    Length: 7976 (0x1f28)
    Notes: pts_type(SC)
    Names: »INTVMA.SC«

Derivation

└─⟦c47f25c27⟧ Bits:30009688 Philips computer tape "600318"
    └─⟦this⟧ »M:KMDV/INTVMA.SC« 

PTS(SC)

	IDENT INTVMA 	REL 8.2 78-09-15  870105040820 

* 
*************************************************** 
* 
*   PHILIPS TERMINAL SYSTEM PTS 
* 
*   INTVMA = INTERRUPT VECTORS AND SYSTEM START 
*            MONITOR AND APPLICATION ON ONE CAS 
* 
* 
* 
* 
* 
*************************************************** 



* 
* 
*   THIS MODULE CONTAINS HARDWARE INTERRUPT VECTORS,
*   COMMUNICATION VECTOR TABLE,STACK AREA 
*   AND MONITOR INITIALIZATION. 
* 
* 









	EJECT


	ENTRY	CVTMSZ	MEMORY SIZE 
	ENTRY	CVTSTB	STACK BASE
	ENTRY	CVTSBA	ADDRESS TO START OF BUFFER POOL 
	ENTRY	CVTEBA	ADDRESS TO END OF BUFFER POOL 
	ENTRY	CVTINP	INTERPRETER ADDRESS TABLE 
	ENTRY	CVTDK	START UP DISC
	ENTRY	CVTAPA	APPLICATION ADDRESS 
	ENTRY	CVTAPS	APPLICATION START ADDRESS 
	ENTRY	CVTCLK	REAL TIME CLOCK 
	ENTRY	LOOP	IDLE LOOP 
	ENTRY	INIM40	MONCON ENTRY
	ENTRY	CVTLSB	SEGMENT LOAD BLOCK TABLE ADDRESS
	ENTRY	FREPAR	FREE PARTITION POINTER
	ENTRY	PARLEN	PARTITION LENGTH
	ENTRY	NUMPAR	NUMBER OF PARTITIONS

	EXTRN	IHPFAR	POWER FAIL / AUTO RESTART 
	EXTRN	IHLKM	LKM INTERRUPT
	EXTRN	IHRTC	REAL TIME CLOCK
	EXTRN	IHTC	CASSETTE TAPE 
	EXTRN	IHSOP	SYSTEM OPERATORS PANEL 
**
**
	EXTRN	CHLT1	LOCAL CHANNEL UNIT NO. 1 
	EXTRN	IHFD	FLOPPY DISCEN 
	EXTRN	ILLINT	ILLEGAL INTERRUPT 
	EXTRN	HALT	HALT ROUTINE

	EXTRN	TCTAB
	EXTRN	TTB:ID	TASK IDENTIFICATION 
	EXTRN	TTB:ST	TASK STATUS AND LEVEL 
	EXTRN	PRUN	TTAB FOR RUNNING PROGRAM
	EXTRN	INIMON	MONITOR INITIALIZATION ROUTINE
	EXTRN	BUG	BUGGER 
	EXTRN	PFINIT	INIT AFTER MASTER CLEAR 
* 


CHCR	EQU	/0E	CHCR DEVICE ADDRESS
SOP	EQU	/2E	SOP DEVICE ADDRESS
X:A	EQU	0	
SEGLEN	EQU	X:A	SEGMENT LENGTH IN BYTES
X:B	EQU	0 
NUMPAR	EQU	X:B	NUMBER OF PARTITIONS 
*    BY SETTING X:A NOT EQUAL TO ZERO, UNLOAD IS NOT
*    PERFORMED ON CASSETTE AFTER THE APPLICATION LOADING
* 
X:C	EQU	0 
UNLOAD	EQU	1

REL0	EQU	*
	EJECT

* 
*	INTERRUPT VECTORS 
* 

	DATA	IHPFAR	      0
	DATA	IHLKM	      1 
	DATA	IHRTC	      2 
	DATA	ILLINT	      3
	DATA	ILLINT	      4
	DATA	ILLINT	      5
	DATA	ILLINT	      6
         DATA     ILLINT
	DATA	IHTC	      8
	DATA	IHSOP	      9 
         DATA     ILLINT
         DATA     ILLINT
         DATA     ILLINT
         DATA     ILLINT
	DATA	CHLT1	     14 
	DATA	IHFD	     15
         DATA     ILLINT
         DATA     ILLINT
         DATA     ILLINT
         DATA     ILLINT
         DATA     ILLINT
         DATA     ILLINT
	DATA	ILLINT	     22
         DATA     ILLINT
	DATA	CHLT1	     24 
         DATA     ILLINT
         DATA     ILLINT
         DATA     ILLINT
	DATA	ILLINT	     28
	DATA	ILLINT	     29
	DATA	IHFD	     30
	DATA	ILLINT	     31
	DATA	ILLINT	     32
	DATA	ILLINT	     33
         DATA     ILLINT
         DATA     ILLINT
	DATA	ILLINT	     36
	DATA	ILLINT	     37
	DATA	ILLINT	     38
	DATA	ILLINT	     39
         DATA     ILLINT
         DATA     ILLINT
	DATA	ILLINT	     42
	DATA	ILLINT	     43
         DATA     ILLINT
	DATA	ILLINT	     45
	DATA	ILLINT	     46
	DATA	ILLINT	     47
	DATA	ILLINT	     48
	DATA	ILLINT	     49
	DATA	ILLINT	     50
	DATA	ILLINT	     51
	DATA	ILLINT	     52
	DATA	ILLINT	     53
	DATA	ILLINT	     54
	DATA	ILLINT	     55
	DATA	ILLINT	     56
	DATA	ILLINT	     57
	DATA	ILLINT	     58
	DATA	ILLINT	     59
	DATA	ILLINT	     60
	DATA	ILLINT	     61
	DATA	ILLINT	     62
	DATA	TRAP	TRAP ROUTINE 
	HLT
	EJECT

* 
*	SYSTEM HALTS
* 

	HLT
	HLT




* 
*	COMMUNICATION VECTOR TABLE
* 

CVTMSZ	DATA	0	MEMORY SIZE 
CVTSTB	DATA	STB	STACK BASE
CVTSBA	DATA	0	START OF BUFFER AREA
CVTEBA	DATA	0	END OF BUFFER AREA
CVTINP	DATA	0	INTERPPRETER TABLE ADDRESS
	RF	INIT
	RF	BUGG
CVTAPA	DATA	0	APPLICATION ADDRESS 
CVTAPS	DATA	0	APPLICATON START ADDRESS
CVTCLK	DATA	0	REAL TIME CLOCK 
CVTLSB	EQU	*
CVTDK	EQU	* 
FREPAR	EQU	*
PARLEN	EQU	*
	EJECT

* 
*	INIMON AND BUGGER ENTRIES 
* 

INIT	LDKL	A1,INIMON	INITIALIZE AND START APPL 
	RF	BRANCH

BUGG	LDKL	A13,/90	START BUGGER
	LDKL	A14,-8
	AD	A14,CVTAPA
	LDKL	A1,BUG
BRANCH	ABR(NZ)	A1 
	HLT
TRAP	LDKL	A1,/D	HALT PARAMETER
	CF	A15,HALT
	EJECT

* 
*	SUBROUTINE TO EXECUTE CHCR COMMAND
* 

CHCREX	CIO	A1,1,CHCR
	SST	A3,CHCR
	RB(NA)	*-2 
	RTN	A8 
	EJECT

* 
*	INITIALIZATION ENTRY
* 

INIM	LDK	A6,CHCREX-REL0	LOAD CHCREX SUBR ADDRESS
	LDR	A8,P	AND STACK BASE
	ST	A9,CVTAPA	SAVE APPL ADDRESS 
	ADR	A14,A9	CALC APPL LINK BASE 





* 
*	COMPUTE MEMORY SIZE 
* 

	LDKL	A1,/5555
	LDKL	A2,4094 
INIM30	SUKL	A2,4096 
	LDR*	A3,A2	SAVE CONTENTS 
	STR	A1,A2	CHECK IF MEMORY
	CWR*	A1,A2 
	RB(NE)	INIM30

	STR	A3,A2	RESTORE CONTENTS 
	ADK	A2,2 
	ST	A2,CVTMSZ	MEMORY SIZE TO CVT
	SUK	A2,2 
	ST	A2,CVTEBA	END OF BUFFER POOL
	EJECT

* 
*	LOAD APPLICATION
* 

	LDKL	A1,/0400	IND LOAD ON SOP
	OTR	A1,0,SOP 
	LDKL	A12,INIM20	INSTRUCTION AFTER APL
	ABR	A2	PERFORM APL 

INIM20	EQU	*
	IFT	UNLOAD=0 
	LDK	A1,/F
	CFR	A8,A6
	XIF

	ST	A9,CVTSBA	SET ADDRESS TO BEGINNING OF BUFFER POOL 
	ST	A13,CVTAPS	SAVE START ADDRESS 
	EJECT

* 
*	INITIALIZE STACK
* 

INIM40	LD	A15,CVTSTB	LOAD STACK BASE
	LDKL	A1,LOOP 
	STR	A1,A15 
	LDKL	A1,/FC00
	STR	A1,A15	ADJUST STACK FOR LOOP 
	SUKL	A15,28
	LDK	A1,0 
	STR	A1,A15 
	EJECT

* 
*	FIND FIRST USER TASK
* 

	LD	A1,TCTAB	TCTAB ADDRESS
	LDR*	A4,A1	TCTAB LENGTH
INIM50	ADK	A1,2 
	SUK	A4,2 
	RF(NZ)	INIM60
	HLT		NO USER TASK FOUND

INIM60	LDR*	A5,A1	TTAB ADDRESS
	LD	A2,TTB:ID,A5	TASK IDENTIFICATION
	RB(N)	INIM50	MONITOR TASK
	ST	A5,PRUN	SET TTAB FOR RUNNING PROGRAM
	CMR	A5 
	LD	A7,TTB:ST,A5	GET USER LEVEL 
	SRC	A7,6 
	EJECT

* 
*	START SYSTEM
* 

	LDKL	A13,WAITIS
	STR	A13,A15	STORE USER START ADDRESS 
	STR	A7,A15	AND LEVEL ON STACK
	ABL	PFINIT	INITIALIZE DEVICES
	RES	80 
STB	EQU	*-2	STACK BASE



* 
*	IDLE LOOP 
* 

LOOP	RB	* 
WAITIS	EQU	*
	LDKL	A8,10 
	LKM
	DATA	6 
	LDK	A1,0	EXIT PARAMETER = CASSETTE 
	ABI	CVTAPS 

	END	INIM 

Full view