//RTS-8 DEMO TASK10 CUR=10 TASK=10 INIWT=RUNWT FIELD CUR%10 *200 // THE WHOLE PURPOSE OF THIS TASK IS TO ENABLE THE // INTERRUPTS FROM THE "SET" BUTTON AND TO RUN TASK #17 START, CAL; SENDW /CALL RTS8, SEND AND WAIT UDC SETINT CAL; SEND /CALL RTS8, SEND AND WAIT CLOCK DELAY TAD TABLE DCA JULY24 /FANCY WORK AREA TAG1, ISZ JULY24 TAD I JULY24 SNA /TEST FOR END OF TTY MESSAGES JMP TAG2 /DONE !!! DCA TAG3 /STORE POINTER CAL; SENDW /CALL RTS8, SEND AND WAIT TTY TAG3, MESG1 JMP TAG1 TAG2, CAL; SUSPND /CALL RTS8, SUSPEND THIS TASK JMP START JULY24, 0 TABLE, . MESG1 MESG2 MESG3 MESG4 MESG5 MESG6 0 /*****MUST BE AT END OF TABLE ***** DELAY, ZBLOCK 3 3017 /RUN #17 NEXT TICK THEN TWICE A SECOND 0;1 0;HERTZ%2 SETINT, ZBLOCK 3 ECT /UDC ENABLE CONTACT INTARRUPTS 5000 /CONTACT 10(10) WORD 0 2017 /RUN TASK #17 EVERY EVENT ZBLOCK 4 MESG1, ZBLOCK 3 0 0 TEXT /******WELCOME TO THE RTS-8 DEMO******/ MESG2, ZBLOCK 3 0 0 TEXT /THE PURPOSE IS TO DEMONSTRATE SETPOINT CONTROL / MESG3, ZBLOCK 3 0 0 TEXT /VIA THE UDC DIGITAL INPUT AND CONTACT INTERRUPT MODULES AND RTS-8. / MESG4, ZBLOCK 3 0 0 TEXT /A PERIODIC SCAN OF ANALOG INPUT CAN BE REQUISTED VIA THE CONSOLE AND/ MESG5, ZBLOCK 3 0 0 TEXT /THE MCR. THE TIME, DATE, AND SYSTEM STATUS MAY ALSO BE DISPLAYED./ MESG6, ZBLOCK 3 0 0 TEXT / ENVOKE THE MCR WITH ^C/ //RTS-8 DEMO TASK14 CUR2=10 TASK2=14 INIWT2=RUNWT FIELD CUR2%10 *4400 START2, CAL; SENDW /CALL RTS8, SEND AND WAIT UDC ANIN TAD DATAIN CLL RAR /DIVIDE BY 2 (.5) DCA TEMP1 TAD TEMP1 CLL RAR CLL RAR /DIVIDE BY 4 (.125) TAD TEMP1 /ADD (.5+.125=.625) TAD CONST1 /SUBTRACT CORRECTION DCA TEMP1 DCA CHAR1 DCA CHAR2 TAD TEMP1 TAD ONEC SPA JMP .+3 ISZ CHAR1 JMP .-4 TAD (144 TAD (-12 SPA JMP .+3 ISZ CHAR2 JMP .-4 TAD (12 DCA CHAR3 TAD CHAR1 CLL RTL; RTL TAD CHAR2 CLL RTL; RTL TAD CHAR3 CMA DCA DISPLY CAL; SENDW UDC BCDLIT CAL; SUSPND JMP START2 BCDLIT, ZBLOCK 3 DO 5 DISPLY, 0 ZBLOCK 4 ANIN, ZBLOCK 3 AI 17 /ANALOG INPUT CHANNEL 400 DATAIN, 0 /DATA IN FROM A/D ZBLOCK 2 AIERR, 0 CHAR1, 0 CHAR2, 0 CHAR3, 0 TEMP1, 0 DECIMAL ONEC, -100 OCTAL CONST1, 7370 /3777%12 PAGE //RTS-8 DEMO TASK17 CUR3=10 TASK3=17 INIWT3=RUNWT FIELD CUR3%10 VALVE=1 POINT=2 *4000 //THE WHOLE PURPOSE OF THIS TASK IS TO TEST THE DIRECTION // OF THE INTERRUPT THAT RAN THIS TASK. IF THE INTERRUPT //WAS "ON" THEN RUN TASK #17 START3, CAL; SENDW /CALL RTS8, SEND AND WAIT UDC COSEX /TEST CHANGE OF STATE AC0002 AND DCOS SNA CLA JMP NOPE CAL; SENDW /CALL RTS8, SEND AND WAIT UDC /UDC HANDLER DSPLIN /POINTER TO DATA SET TAD A1 CMA /INVERT FOR SILLY DISPLAYS DCA B1 CAL; SENDW /CALL RTS8, SEND AND WAIT UDC /UDC HANDLER BCDOUT /BDC DISPLAY TAD A1 /FETCH THUMBWHEEL DATA AND (7400 /MASK FOR HUNDREDS CLL RTL; RTL; RAL JMS SUMMER HNDRED DCA WORK TAD A1 /FETCH THUMBWHEEL DATA AND (360 /MASK FOR TENS CLL RTR; RTR JMS SUMMER TENS TAD WORK DCA WORK TAD A1 /FETCH THUMBWHEEL DATA AND (17 /MASK FOR UNITS TAD WORK /ADD SUM AND (1777 /SEND TO SUB-CHANNEL ZERO DCA WORK /SET FOR ANALOG OUTPUT CAL; SENDW /CALL RTS8, SEND AND WAIT UDC /UDC HANDLER BCOUT CAL; SENDW /CALL RTS8, SEND AND WAIT UDC RECORD NOPE, CAL; SENDW /CALL RTS8, SEND AND WAIT UDC /UDC HANDLER C CAL; SUSPND JMP START3 SUMMER, 0 TAD I SUMMER /ADD TABLE BASE DCA COUNT /USE AS ADDRESS TAD I COUNT /FETCH TABLE ENTRY ISZ SUMMER /STEP RETURN POINTER JMP I SUMMER COUNT, 0 DSPLIN, ZBLOCK 3 DI /UDC DIGITAL INPUT VALVE /UDC CHANNEL FOR "VALVE" A1, 0 ZBLOCK 4 BCDOUT, ZBLOCK 3 DO 5 B1, 0 ZBLOCK 4 C, ZBLOCK 3 DO 7 7000 /TURN BITS "ACCEPT" AND "AC POWER ON" ZBLOCK 4 RECORD, ZBLOCK 3 DO 10 300 /RELAYS FOR B-C TEMP TO RECORDER ZBLOCK 4 BCOUT, ZBLOCK 3 AO 14 /UDC CHANNEL FOR "B-C SETPOINT" WORK, 0 ZBLOCK 4 COSEX, ZBLOCK 3 CS 0 DCOS, 0 ZBLOCK 3 DCOER, 0 *4200 DECIMAL HNDRED, 0;102;205;307 409;511;614 716;818;921 TENS, 0;10;20;31;41 51;61;72;82;92 OCTAL $