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

⟦889402240⟧

    Length: 14396 (0x383c)
    Notes: pts_type(SC)
    Names: »XMESG.SC«

Derivation

└─⟦35fda6e03⟧ Bits:30009701 Philips computer tape "BARCLAY"
    └─⟦this⟧ »DEMO6800/XMESG.SC« 
└─⟦e276fd206⟧ Bits:30009696 Philips computer tape "600413"
    └─⟦this⟧ »DEMO6800/XMESG.SC« 
└─⟦f350e1b7a⟧ Bits:30009678 Philips computer tape "600219"
    └─⟦this⟧ »PTSDEMO/XMESG.SC« 

PTS(SC)

         IDENT    XMESG                 ERROR- AND MESSAGECONTROL 
	DDUM	DEMODD
	PDIV 
	EXPROC	XAKBIN
	EXPROC	XCLAMP
	EXPROC	ZMRDF 
 ENTRY XDMSG
 ENTRY XEERR
	ENTRY	XFERR1 
         ENTRY   XHERAS 
************************************************************************
* *
*   PROCEDURE:     XDMSG*
*   PARAMETER:*
*      PWMSGNR (INPUT):  NUMBER OF THE MESSAGE TO BE DISPLAYED.*
*   FUNCTIONAL DESCRIPTION:*
*      THE MESSAGE INDICATED BY PWMSGNR IS READ FROM THE FORMAT*
*      FILE AND DISPLAYED ON THE FIRST LINE OF THE DISPLAY.*
*   WORKVARIABLE:*
*      WW1*
* *
************************************************************************
XDMSG	PROC	PWMSGNR			
	PLIT	PWMSGNR 
XD000					
**
* READ FORMAT FROM FORMATFILE*
**
	PERF	XHERAS	ERASE SCREEN 
	MOVE	WW1,PWMSGNR			
	PERF	ZMRDF,WW1,KW1	READ INTO FCBUFFER
	EDWRT	SPDSSCRN,FCBUFFER
XD999					
	RET				
	PEND				
************************************************************************
* *
*   PROCEDURE:     XEERR*
*   PARAMETERS:*
*      PWERRNR (INPUT): NUMBER OF THE ERROR OR MESSAGE TO BE DISPLAYED*
*      XWANSWER (INP):  WHAT KIND OF ANSWER MUST BE REQUESTED.*
*   FUNCTIONAL DESCRIPTION:*
*      THIS IS AN INTERMEDIATE ROUTINE TO MAKE IT POSSIBLE TO GIVE*
*      THE ERROR (MESS) NUMBER AS A LITERAL.*
*      CONTROL IS IMMEDIATELY PASSED TO XFERR1.*
*   VARIABLE USED:*
*      SPBINW4: USED TO CONTAIN THE ERROR (MESS) NUMBER HELD IN*
*               PWERRNR*
* *
************************************************************************
XEERR	PROC	PWERRNR,XWANSWER			
	PLIT	PWERRNR 
	PBIN	XWANSWER
XE000					
	MOVE	SPBINW4,PWERRNR			
	PERF	XFERR1,SPBINW4,XWANSWER			
XE999					
	RET				
	PEND				
************************************************************************
**
*   PROCEDURE:     XFERR1*
*   PARAMETERS:*
*      PWERRNR (INPUT): NUMBER OF THE ERROR OR MESSAGE TO BE DISPLAYED*
*      XWANSWER (INP):  INDICATES WHAT KIND OF ANSWER THE OPERATOR*
*                       MUST GIVE TO THE ERROR (MESS) DISPLAYED.*
*   FUNCTIONAL DESCRIPTION:*
*      BASICALLY AN ERROR OR MESSAGE IS READ FROM THE FORMAT-FILE*
*      AND DISPLAYED ON THE LAST LINE OF THE SCREEN.*
*      FURTHER ACTIONS ARE CONTROLLED BY XWANSWER AS FOLLOWS:*
*        VALUE OF XWANSWER:        ACTION TO BE TAKEN:*
*            0:   ERROR LAMP IS LIT;*
*                 REQUEST NO ANSWER FROM THE OPERATOR.*
*            1:   ERROR LAMP IS LIT;*
*                 THE OPERATOR MAY ONLY ANSWER 'CANCEL'*
*            2:   ERROR LAMP IS LIT;*
*                 THE OPERATOR MAY ONLY ANSWER 'CANCEL' OR 'CLEAR'*
*            3:   MESSAGE LAMP IS LIT;*
*                 THE OPERATOR MAY ONLY ANSWER 'CANCEL' OR 'CONT'*
* *
*      IF XWANSWER IS NOT ZERO THEN THE MESSAGE OR ERROR IS ERASED*
*      FROM THE SCREEN AND THE ERROR/MESSAGE LAMP IS EXTINGUISHED*
*      AFTER A SATISFACTORY ANSWER HAS BEEN GIVEN BY THE OPERATOR.*
*      IF XWANSWER = 0 THEN THE CALLING ROUTINE MUST TAKE CARE OF*
*      GETTING THE ANSWER, ERASING THE ERROR/MESSAGE AND LAMPS.*
* *
************************************************************************
XFERR1	PROC	XWERRNR,XWANSWER			
	PBIN	XWERRNR,XWANSWER
XF000					
	EDWRT	SPDSSCRN,FMTBELL			
* 
*   IF XWANSWER = 3, MESSAGE-LAMP SHOULD BE BURNING,
*   DO NOT LIGHT ERROR-LAMP 
* 
	CBE	XWANSWER,KW3,XF010 
	PERF	XCLAMP,KW3,KW1	ERROR LAMP ON
	B	XF020
XF010 
	PERF	XCLAMP,KW2,KW1	MESSAGE LAMP ON
XF020 
	MOVE	WW1,SPLSTLNE	CALCULATE DSC1 PARAMETER		
	MUL	WW1,=W'256'	SHIFT 2 POS. FOR LAST ROW		
	ADD	WW1,=W'1'	COLUMN 1		
	DSC1	SPDSSCRN,6,WW1	SET CURSOR		
* 
* READ ERROR OR MESSAGE FROM THE FORMATFILE 
* 
	PERF	ZMRDF,XWERRNR,KW1	READ INTO FCBUFFER
	EDWRT	SPDSSCRN,FCBUFFER
	CBE	XWANSWER,KW0,XF999	NO ANSWER EXPECTED		
**
* ANSWER EXPECTED*
**
XF050					
	PERF	XAKBIN,=W'0'	WAIT FOR ANSWER		
	IB	XWANSWER,XF100,XF200,XF300
**
* CANCEL EXPECTED*
**
XF100 
	CBE	SPBINW2,KWCANCEL,XF990			
	B	XF050			
**
* CANCEL OR CLEAR EXPECTED
**
XF200					
	CBE	SPBINW2,KWCANCEL,XF990			
	CBE	SPBINW2,KWCLEAR,XF995			 
	B	XF050			
* 
* CANCEL OR CONT EXPECTED 
* 
XF300 
	CBE	SPBINW2,KWCANCEL,XF990 
	CBE	SPBINW2,KWCONT,XF995 
	B	XF050
**
* CANCEL PRESSED*
**
XF990					
	SET	SBCANCEL			
XF995 
	MOVE	WW1,SPLSTLNE
	ERASE	0,WW1,WW1	ERASE LAST LINE
	PERF	XCLAMP,KW3,KW0	ERROR LAMP OFF 
	PERF	XCLAMP,KW2,KW0	MESSAGE LAMP OFF 
XF999					
	RET				
	PEND				
************************************************************************
**
* SOUND BELL
**
************************************************************************
FMTBELL	FRMT				
	FSL				
	FILLR	X'07',1	BELL		
	FMEND				
************************************************************************
* *
*   PROCEDURE:     XHERAS*
*   FUNCTIONAL DESCRIPTION:*
*      ERASE THE SCREEN.*
* *
************************************************************************
XHERAS   PROC 
XH000 
         EDWRT   SPDSSCRN,FMTERASE
XH999 
         RET
         PEND 
************************************************************************
**
* ERASE SCREEN
**
************************************************************************
FMTERASE	FRMT				
	FCOPY	=X'2031'	ERASE SCREEN		
	FMEND				
************************************************************************
	END

Full view