File USERCD.PA (PAL assembler source file)

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

/ USER COMMAND DISPATCH				9-JUL-91
/
/
/
/	U   U   SSSS  EEEEE  RRRR    CCCC  DDDD
/	U   U  S      E      R   R  C      D   D
/	U   U  S      E      R   R  C      D   D
/	U   U   SSS   EEEE   RRRR   C      D   D
/	U   U      S  E      R R    C      D   D
/	U   U      S  E      R  R   C      D   D
/	 UUU   SSSS   EEEEE  R   R   CCCC  DDDD
/
/
/

/
/EDIT HISTORY:
/
/30-AUG-90	(LHN)
/	1) USE PARAMETER FOR INTERLOCK MESSAGE
/
/28-MAY-91	(LHN)
/	1) ADDED "INSPON" AND "NOINSP" COMMANDS
/
/
/12-JUN-91	(LHN)		FOR VERSION 4
/	1)  DELETED LIST, PSM, CH1, CH2 AND CH3 COMMANDS
/	2)  CHANGED TTYST CALL TO TTY
/	3)  ADDED LPTON, NOLPT, COMOM AND NOCOM COMMANDS
/

/
/
/	THIS TASK DECODES AND EXECUTES USER
/	LEVEL TELETYPE COMMANDS
/
/


	TASK=	USERCD
	CUR=	USERFLD
	INIWT=	0
	VERS=	4


	TASK2=	EXIT
	CUR2=	CUR
	INIWT2=	0
	VERS2=	3


	FIELD CUR%10
	*USERLOC

/ START, CLB CAL RECEIVE MADDR, 0 DCA MSGFLD+1 AC0002 TAD MADDR DCA MADDR JMS MSGFLD /IS THIS A NULL MESSAGE ? TAD I MADDR CDF CUR SPA SNA CLA JMP USERXT /YES, JUST EXIT. TAD (CMDLST-7) DCA USERB /SET UP A POINTER TO COMMAND LIST USER1, CLB TAD (7) /INCREMENT THE LIST POINTER TAD USERB /TO THE NEXT ENTRY. DCA USERB IAC TAD USERB DCA USERC TAD I USERC /AT END OF COMMAND LIST ? SNA CLA JMP USERER /YES, LOG ERROR. TAD MADDR /RESET THE MESSAGE POINTER. DCA USERD USER2, TAD I USERC /GET THE NEXT COMMAND CHARACTER. SNA CLA /THIS COMMAND FINISHED ? JMP USER1 /YES, TRY THE NEXT COMMAND. JMS MSGFLD /GET THE NEXT MESSAGE CHARACTER. TAD I USERD ISZ USERD CDF CUR CIA /CHECK NEXT COMMAND CHARACTER. TAD I USERC ISZ USERC SZA CLA JMP USER1 /NO MATCH, TRY NEXT COMMAND. JMS MSGFLD /IS NEXT CHAR A TERMINATOR? TAD I USERD CDF CUR SMA SZA CLA JMP USER2 /NO, GO COMPARE SOME MORE
/ TAD I USERB /YES, MATCH FOUND, GET COMMAND DCA USERB / ADDRESS AND GO THERE. STL JMP I USERB USERER, CDF CUR CAL SEND TTY USERMG USERXT, CDF CUR CLB TAD MSGFLD+1 DCA USERX1 TAD (-5) TAD MADDR CAL POST USERX1, 0 JMP START MSGFLD, 0 HLT JMP I MSGFLD USERMG, ZBLOCK 3 0 0 TEXT "INVALID COMMAND" /USERA, 0 /LOCAL STORAGE USERB, 0 USERC, 0 USERD, 0
/ / /%RT EXIT FROM MAST AND RETURN TO OS/8 / /%TW WHENEVER THE USER ENTERS THE "EXIT" COMMAND, / MCR WILL RUN THIS TASK. IF MAST IS IN TEST MODE, / CONTROL WILL BE RETURNED TO OS/8. IF MAST IS NOT / IN TEST MODE, THE COMMAND IS IGNORED. / / START2, CLB CAL SUSPND /SLEEP 'TIL NEEDED. DBRI50 /ARE WE IN TEST MODE ? AND (0040) SZA CLA JMP START2 /NO, IGNORE THE COMMAND. CAL /ASK "INLOCK" TO OPEN THE "MAST SEND / MONITOR" INTERLOCK INLOCK EXTINL CAL /ASK THE CRT HANDLER TO RESTORE SENDW / THE VT220 CURSOR CRT EXTCRT CAL /WAIT FOR .5 SECONDS TO BE SURE SENDW / THE VT220 CURSOR IS RESTORED CLOCK EXTCLK IOF /SHUT MAST DOWN AND RESTART OS/8 CAF CDF CIF 0 JMP I (7600) / EXTINL, ZBLOCK 3 /OPEN "MAST MONITOR" INTERLOCK MSTINL / WITHOUT A MESSAGE EXTCRT, ZBLOCK 3 CRTV02 /TEXT TO RESTORE THE VT220 CURSOR EXTCLK, ZBLOCK 3 /WAIT FOR .5 SECONDS 0 0 62 /500 MS -> .5 SECONDS
/ PAGE
/ / / COMMAND LIST / / CMDLST, CMDP1 "? ZBLOCK 5 CMDP2 "S /"S" FOR SAMPLE GATE ZBLOCK 5 CMDP3 "R /"RA" FOR REJECT A GATE "A ZBLOCK 4 CMDP4 "R /"RB" FOR REJECT B GATE "B ZBLOCK 4 CMDP5 "P /"PC" FOR PRODUCT C GATE "C ZBLOCK 4 CMDP6 "P /"PA" FOR PRODUCT B GATE "A ZBLOCK 4 CMDP7 "P /"PB" FOR PRODUCT A GATE "B ZBLOCK 4 CMDP8 "N /"NONE" TO GET OUT OF STACKER TEST "O "N "E ZBLOCK 2
/ CMDP9 "I /"INSPON" TO TURN ON INSPECTION "N "S "P "O "N CMDP10 "N /"NOINSP" TO TURN INSPECTION OFF "O "I "N "S "P
/ CMDP11 "L /"LPTON" TO ENABLE SAMPLE TALLEY PRINTER "P "T "O "N 0 CMDP12 "N /"NOLPT" TO DISABLE TALLEY PRINTER "O "L "P "T 0 CMDP13 "C /"COMON" TO ENABLE GATEWAY COMMUNICATIONS "O "M "O "N 0 CMDP14 "N /"NOCOM" TO DISABLE GATEWAY COMMUNICATIONS "O "C "O "M 0 / / / USERER /END OF COMMAND LIST ZBLOCK 6 PAGE
/ / / COMMAND PROCESSOR SEQUENCES / / CMDP1, CLB JMP USERXT CMDP2, RAL /SAMPLE GATE CMDP3, RAL /REJECT A GATE CMDP4, RAL /REJECT B GATE CMDP5, RAL /PRODUCT C GATE CMDP6, RAL /PRODUCT A GATE CMDP7, RAL /PRODUCT B GATE CDF 10 DCA I (STAKWD) DBRI50 /ARE WE IN TEST MODE ? AND (0040) SZA CLA JMP USERER /NO, SAY ERROR. CLB IAC / YES, SET THE STACKER DCA I (STAKFG) /MAINTENANCE FLAG. JMP USERXT /AND EXIT.
/ CMDP8, CLB CDF 10 DCA I (STAKWD) /TURN OFF STACKER TEST DCA I (STAKFG) JMP USERXT CMDP9, CLB /TURN ON INSPECTION IOF /FIRST, CLEAR ANY "OLD" DEFECT BITS DBRI50 / THEN ENABLE CHANNEL 2 AND (0017) DBCI50 ION CLB TAD (CH2DEF) CAL UNBARG USERWT JMP USERXT CMDP10, CLB /TURN INSPECTION OFF TAD (CH2DEF) /DISABLE CHANNEL 2 CAL BLKARG USERWT JMP USERXT CMDP11, CLB IAC /ENABLE THE SAMPLE TALLEY PRINTER DCA ENBLPT JMP USERXT CMDP12, CLB /DISABLE THE SAMPLE TALLEY PRINTER DCA ENBLPT JMP USERXT CMDP13, CLB IAC /ENABLE THE GATEWAY COMMUNICATIONS DCA ENBCOM JMP USERXT CMDP14, CLB /DISABLE THE GATTEWAY COMMUNICATIONS DCA ENBCOM JMP USERXT PAGE NOPUNCH /F4COMM FOLLOWS XLIST 1



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