| 1 | /******************************************************************** |
| 2 | /******************************************************************** |
| 3 | / ASYNCHRONOUS DISPLAY OUTPUT SUPPORT |
| 4 | |
| 5 | / THE DISPLAY OPERATES IN AN INTERRUPT DRIVEN MANNER IN ITS OWN |
| 6 | / THREAD. IF THERE IS NO DISPLAY OPERATION PENDING, IT FALLS |
| 7 | / ASLEEP. |
| 8 | |
| 9 | DINIT, 0 / CALLED BY MAIN THREAD |
| 10 | TCF / CLEAR TELEPRINTER FLAG |
| 11 | DCA DTMP / SAVE AC FOR A LITTLE MOMENT |
| 12 | TAD PDPROC / GET POINTER TO DISPLAY PROCESS ENTRY |
| 13 | DCA TTOUT / GENERATE RETURN ADDRESS |
| 14 | DCA TTAC |
| 15 | DCA TTL |
| 16 | DCA DFLAGS / CLEAR DISPLAY COMMAND FLAGS |
| 17 | TAD DTMP / RESTORE CALLER'S AC |
| 18 | JMP I DINIT / RETURN TO CALLING THREAD |
| 19 | |
| 20 | DSUB, 0 / SUBMIT A FLAG TO SET |
| 21 | CMA |
| 22 | DCA TMP / SAVE INVERSE OF FLAG |
| 23 | CLL / CLEAR LINK |
| 24 | TAD DFLAGS |
| 25 | SNA |
| 26 | CML / LINK INDICATES RESTART NOW |
| 27 | CMA |
| 28 | AND TMP |
| 29 | CMA |
| 30 | DCA DFLAGS / NEW DFLAGS HAVE BEEN INSTALLED. |
| 31 | SZL / SKIP IF NO LINK |
| 32 | SPF / SET TTO FLAG -> DISPLAY RESUME |
| 33 | ION |
| 34 | JMP I DSUB |
| 35 | |
| 36 | /************************************************* |
| 37 | DPROC, / ENTRY POINT TO THE DISPLAY PROCESS. |
| 38 | /.... |
| 39 | |
| 40 | / TEST, SLEEP, RESTART |
| 41 | CLA CLL |
| 42 | TAD DFLAGS |
| 43 | SZA |
| 44 | JMP DPROC / WORK TO DO |
| 45 | TFC / CLEAR FLAG, NO WORK TO DO. |
| 46 | JMS TTOUT / DUMMY TYPING WITHOUT TLS |
| 47 | JMP DPROC / AND JUMP BACK TO START OF THREAD |
| 48 | |
| 49 | |
| 50 | |
| 51 | |
| 52 | PDPROC, DPROC / POINTER TO DISPLAY PROCESS |
| 53 | TTAC, 0 |
| 54 | TTL, 0 |
| 55 | DTMP, 0 |
| 56 | |
| 57 | /******************************************************************** |
| 58 | / TELETYPE OUTPUT HANDLER AND MANAGEMENT |
| 59 | |
| 60 | |
| 61 | TTOUT, 0 / SEND CHARACTER - CALLED FROM DISPLAY THREAD! |
| 62 | TSF / IF NO FLAG - GO SLEEPING ONLY |
| 63 | SKP |
| 64 | TLS / GET IT OUT! |
| 65 | DCA TTAC / SAVE AC, JUST POLITE |
| 66 | RAR |
| 67 | DCA TTL / SAVE LINK, STILL POLITE |
| 68 | JMP IEND / END OF INTERRUPT HANDLING |
| 69 | TTOHAN, TAD TTL |
| 70 | RAL |
| 71 | TAD TTAC |
| 72 | JMP I TTOUT / RESUME DISPLAY THREAD |