File MOPCMD.PA (PAL assembler source file)

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

/1
/
/
/%R	READ THE OPERATOR PUSHBUTTONS ON THE MOP
/
/%TW	THIS ROUTINE IS CALLED FROM THE INTERRUPT HANDLER
/	"INTHDR" WHEN ANY OPERATOR REQUEST PUSH BUTTON ON
/	THE MOP IS PRESSED.  THE DATA IN THE PUSH BUTTON
/	REGISTER (DR8 CODE 56) IS SAVED AND THE DATA
/	DECODE ROUTINE "MOPDEC" IS CALLED.
/
/%TD	THE INTERRUPT ON THE PUSH BUTTON REGISTER CARD IS
/	DISABLED UNTIL ALL OF THE CURRENT DATA IS DECODED
/	AND PROCESSED.  THIS FORCES THE OPERATOR
/	REQUESTS TO BE PROCESSED IN SEQUENCE AND INSURES
/	THAT NO REQUESTS ARE LOST.  THE INDIVIDUAL PUSH
/	BUTTONS ARE BACK LITE AS EACH REQUEST IS 
/	PROCESSED, INFORMING THE OPERATOR THAT HIS REQUEST
/	WAS HONORED.
/
/
MOPCMD, CLB
	DBRI56		/READ THE MOP PUSHBUTTON BUFFER.
	AND (7770)
	DBCI56		/CLEAR THE PUSHBUTTON BUFFER.
	DCA MOPDAT	/SAVE THE OPERATOR REQUESTS FOR DECODING
			/LATER BY "MOPDEC".
	DBDI56		/DISABLE THE MOP INTERRUPT FOR NOW.
	JMS MOPDEC	/GO DECODE AN OPERATOR REQUEST.
	JMP INTRET	/RETURN THRU THE INTERRUPT RELEASE.

/2 / / /%R DECODE OPERATOR PUSHBUTTON REQUESTS / /%TW CALLED FROM "MOPCMD" WHEN A MOP OPERATOR PUSH / BUTTON IS PRESSED, THIS SEGMENT DECODES AND / PROCESSES THE OPERATOR REQUESTS. "MOPDEC" ALSO / BACK LIGHTS THE DECODED SWITCH TO ACKNOWLEDGE / THE OPERATOR REQUEST. / /%TD WHEN A SWITCH LITE IS / TURNED ON, THE INDICATOR TIMER "LP13" IS / ENABLED AND WILL TURN THE INDICATOR OFF AFTER / A PRESET INTERVAL. IF MORE PUSH BUTTON DATA / EXISTS WHEN AN INDICATOR IS TURNED OFF, "LP13" / WILL CALL THIS ROUTINE TO CONTINUE THE DECODING / PROCESS. THIS METHOD INSURES THAT ALL CURRENT / REQUESTS ARE PROCESSED ONCE BEFORE ANY REQUEST / IS HONORED A SECOND TIME. / / MOPDEC, 0 CLB TAD MOPDAT /IS BIT 0 SET ? (END-OF-ROLL SUMMARY). CLL RAL MQL SNL CLA JMP .+4 /NO, GO ON. JMS EORCTR /YES, GO FORCE THE END-OF-ROLL SUMMARY. CLB STL RAR JMP MOPD3 /GO LIGHT THE PUSHBUTTON INDICATOR. SWP /IS BIT 1 SET ? (MAMUAL SAMPLE). CLL RAL SWP SNL CLA JMP .+4 /NO, GO ON. ISZ MANSMF /YES, INCREMENT THE MANUAL SAMPLE FLAG. CLB STL RTR JMP MOPD3 /GO LIGHT THE PUSHBUTTON INDICATOR. SWP /IS BIT 2 SET ? (MAMUAL REJECT). CLL RAL SWP SNL CLA JMP .+4 /NO, GO ON. ISZ MANRJF /YES, INCREMENT THE MANUAL REJECT FLAG. TAD P1000 JMP MOPD3 /GO LIGHT THE PUSHBUTTON INDICATOR.
/3 SWP /IS BIT 3 SET ? CLL RAL SWP SNL CLA JMP .+3 /NO, GO ON. TAD P400 /YES, FOR USE LATER. JMP MOPD3 /GO LIGHT THE PUSHBUTTON INDICATOR. SWP /IS BIT 4 SET ? (COUNT/HOLD). CLL RAL SWP SNL CLA JMP MOPD1 /NO, GO ON. NOP /**** COULD BE REMOVED. TAD P200 /YES, TURN OFF THE HOLD INDICATOR. DBCO56 CLB TAD CTHOLD /IS THE COUNT/HOLD FLAG SET NOW ? SNA CLA /YES, CLEAR THE FLAG TO SHOW "COUNT" MODE. CLB STL IAC /NO, SET THE FLAG TO SHOW "HOLD" MODE. DCA CTHOLD SNL /ARE WE NOW ENTERING COUNT/HOLD ? JMP .+4 /NO, GO ON. TAD PROCNT /YES, SAVE THE ACTIVE PRODUCT TRAY SHEET DCA CTSAVE /COUNTER FOR WHEN WE RESUME "COUNT" MODE. JMP .+3 TAD CTSAVE /RESTORE THE ACTIVE PRODUCT TRAY SHEET DCA PROCNT /COUNTER AS IT WAS BEFORE ENTERING "HOLD". TAD P200 /IS THE COUNT-HOLD FLAG SET NOW ? SNL JMP MOPD3+1 /NO, REMOVE THE C/H BIT FROM "MOPDAT". JMP MOPD3 /TURN ON THE HOLD INDICATOR. MOPD1, SWP /IS BIT 5 SET ? (MACHINE CHECK). CLL RAL SWP SNL CLA JMP MOPD2 /NO, GO ON. ISZ MCKFLG /YES, SET THE MACHINE CHECK FLAG. TAD PROCNT /SET UP TO FORCE 5 EXTRA SHEETS INTO THE TAD (-5) /ACTIVE PRODUCT TRAY. DCA PROCNT CDI 20 JMS I (MCHECK) /GO SET UP THE MACHINE CHECK MESSAGE. TAD P100 JMP MOPD3 /GO LIGHT THE PUSHBUTTON INDICATOR.
/4 MOPD2, SWP /IS BIT 6 SET ? CLL RAL SWP SNL CLA JMP .+3 /NO, GO ON. TAD P40 /YES, FOR USE LATER. JMP MOPD3 /GO LIGHT THE PUSHBUTTON INDICATOR. SWP /IS BIT 7 SET ? CLL RAL SWP SNL CLA JMP .+3 /NO, GO ON. TAD P20 /YES, FOR USE LATER. JMP MOPD3 /GO LIGHT THE PUSHBUTTON INDICATOR. SWP /IS BIT 8 SET ? (TOP OF FORM RESET). SNA CLA JMP MOPD4 /NO, GO ON. CDF 20 /YES, RESET THE SAMPLE TALLEY LINE DCA I (DWLINE) /COUNTER. CDF 0 TAD P10 MOPD3, DBSO56 /TURN ON THE SERVICED INDICATOR. CMA AND MOPDAT /REMOVE THE SERVICED BIT FROM THE DCA MOPDAT /OPERATOR REQUEST DATA. MOPD4, TAD (-50) /SET UP THE INDICATOR "ON" TIMER. THE DCA MOPCLK /TIMER WILL BE HANDLED BY "LP13". JMP I MOPDEC /RETURN. 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