File FOCINT.PA (PAL assembler source file)

Directory of image this file is from
This file as a plain text file

/INITIAL DIALOGUE FOR PS/8 FOCAL

	*176
	INIT

	*4000
INIT,	TAD (TELPCH
	DCA 176
	DCA TELSW
	CDF
	TAD I (207	/MOVE LENGTH OF INITIAL DIALOGUE
	CDF 10
	DCA BUFR	/(JUST IN CASE)
	ION
	PUSHJ
		DO+1
	IOF
	TAD (4300	/"#@" FOR SYSTEM STATUS
	JMS LOOKUP
	CLA CLL CMA
	TAD PT1
	DCA PT1
	FINT		/GET SYSTEM STATUS VARIABLE
	FGET I PT1
	FPUT INITMP	/SAVE IT FOR LATER
	FEXT
	TAD FLAC+1	/IF IT'S ZERO, INITIAL DIALOGUE WASN'T THERE
	SNA CLA
	JMP SECRET	/ASSUME STANDARD FEATURES
CHKLOG,	TAD (100	/"A@" (KEEP SIN & COS)
	JMS LOOKUP
	SZA CLA
	JMP CHKSIN
	JMS CHANGE	/KILL ALL EXTENDED FUNCTIONS
		SINADD-1
	TAD (5377	/SET VARIABLE BOTTOM
	JMP CHKFIL-1
CHKSIN,	TAD (200	/"B@" (KEEP ALL FUNCTIONS)
	JMS LOOKUP
	SZA CLA
	JMP CHKFIL
	JMS CHANGE	/KILL LOG, EXP, ATN
		LOGADD-1
	TAD (5177	/AND RESET BOTTOM
	DCA BOTTOM
CHKFIL,	TAD (400	/"D@" (FILE COMMANDS)
	JMS LOOKUP
	SZA CLA
	JMP CHKSP
	JMS CHANGE	/KILL FILE COMMANDS
		FILADD-1
CHKSP,	TAD (500	/"E@" (LEADING SPACE IN TYPE [FOR FILES])
	JMS LOOKUP
	SZA CLA
	JMP CHKEQ
	JMS CHANGE
		SPADD-1
CHKEQ,	TAD (700	/"G@" ('=' IN TYPE)
	JMS LOOKUP
	SNA CLA		/REVERSE SENSE ON NON-STANDARD FEATURES
	JMP CHKCOL
	JMS CHANGE
		EQADD-1
CHKCOL,	TAD (1000	/"H@" (FOR ':' IN ASK)
	JMS LOOKUP
	SNA CLA
	JMP CHKAMP
	JMS CHANGE
		COLADD-1
CHKAMP,	TAD (1100	/"I@" (FOR & INSTEAD OF E)
	JMS LOOKUP
	SNA CLA
	JMP CHKPRC
	JMS CHANGE
		AMPADD-1
CHKPRC,	TAD (300	/"C@" (EXTENDED PRECISION)
	JMS LOOKUP
	SZA CLA
	JMP SECRET
	JMS CHANGE
		FORADD-1
	TAD (-31
	DCA LOOKUP
	TAD (7270
	DCA 10
	TAD (FORFIN-1
	DCA 11
	TAD I 11
	DCA I 10
	ISZ LOOKUP
	JMP .-3
SECRET,	TAD END
	DCA LASTV	/ERASE VARIABLES
	TAD (4100
	JMS LOOKUP	/CREATE THE THREE SECRET VARIABLES
	TAD (4200
	JMS LOOKUP
	TAD (4300
	JMS LOOKUP
	CLA CLL CMA
	TAD PT1
	DCA PT1		/BACKUP PT1
	FINT		/RESTORE SYSTEM SECRET VARIABLE
	FGET INITMP
	FPUT I PT1
	FEXT
	TAD LASTV
	DCA END		/MAKE THEM SECRET
	JMP I .+1
	2214		/ERASE ALL TEXT

INITMP,	ZBLOCK 4	/HOLDING AREA FOR '#'

	PAGE

LOOKUP, 0 DCA ADD PUSHJ GS1 ISZ PT1 TAD I PT1 /PICK UP FIRST SIGNIFICANT WORD JMP I LOOKUP CHANGE, 0 TAD I CHANGE ISZ CHANGE DCA 10 CLOOP, TAD I 10 SNA JMP I CHANGE DCA T2 TAD I 10 DCA I T2 JMP CLOOP /THESE ARE THE LISTS TO PATCH FOCAL TO YOUR CUSTOMIZED SPECS FORADD, 70 5 117 7775 5526 7772 5527 7 5310 3756 5314 3756 5320 3756 6143 7771 6277 3147 6402 3047 6540 3043 6736 27 7036 5263 7105 2047 7072 3047 7260 7751 0 FORFIN, 1042 1046 3256 7004 1045 1041 7420 5304 3045 1256 3046 7200 1254 7004 3254 1200 7004 3200 2255 5267 1254 3046 1200 3045 5661 FILADD, PUSHB /PATCH PUSHB MPUSHA-1+13 PUSHB1 /PATCH PUSHB1 5576+13 1201 /PATCH COMGO 2725 0 SINADD, 405 2725 406 2725 LOGADD, 402 2725 403 2725 404 2725 0 COLADD, 1216 1371 /'TAD ALIST' 1217 JMS I ECHOP 0 SPADD, 6001 CLA CLL /DON'T PRINT LEADING SPACE 6002 CLA CLL 0 EQADD, 6001 1335 /'TAD PEQ' 6002 PRINTC 6135 0275 /PRINT LEADING '=' 0 AMPADD, 5662 7532 6133 246 6301 7532 0 PAGE



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search