Commit | Line | Data |
---|---|---|
81e70d48 PH |
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 |