X-Git-Url: http://gitweb.hachti.de/?a=blobdiff_plain;ds=sidebyside;f=sw%2Fsrc%2Flife%2Ftype.pa;fp=sw%2Fsrc%2Flife%2Ftype.pa;h=93ab58d487c5261a2be469568251c075945150d5;hb=81e70d488b71bf995c459ca3a02c025993460ffa;hp=0000000000000000000000000000000000000000;hpb=07ec0278333ed187ac242dedcff13c56cf1b0b91;p=pdp8.git diff --git a/sw/src/life/type.pa b/sw/src/life/type.pa new file mode 100644 index 0000000..93ab58d --- /dev/null +++ b/sw/src/life/type.pa @@ -0,0 +1,72 @@ +/******************************************************************** +/******************************************************************** +/ ASYNCHRONOUS DISPLAY OUTPUT SUPPORT + +/ THE DISPLAY OPERATES IN AN INTERRUPT DRIVEN MANNER IN ITS OWN +/ THREAD. IF THERE IS NO DISPLAY OPERATION PENDING, IT FALLS +/ ASLEEP. + +DINIT, 0 / CALLED BY MAIN THREAD + TCF / CLEAR TELEPRINTER FLAG + DCA DTMP / SAVE AC FOR A LITTLE MOMENT + TAD PDPROC / GET POINTER TO DISPLAY PROCESS ENTRY + DCA TTOUT / GENERATE RETURN ADDRESS + DCA TTAC + DCA TTL + DCA DFLAGS / CLEAR DISPLAY COMMAND FLAGS + TAD DTMP / RESTORE CALLER'S AC + JMP I DINIT / RETURN TO CALLING THREAD + +DSUB, 0 / SUBMIT A FLAG TO SET + CMA + DCA TMP / SAVE INVERSE OF FLAG + CLL / CLEAR LINK + TAD DFLAGS + SNA + CML / LINK INDICATES RESTART NOW + CMA + AND TMP + CMA + DCA DFLAGS / NEW DFLAGS HAVE BEEN INSTALLED. + SZL / SKIP IF NO LINK + SPF / SET TTO FLAG -> DISPLAY RESUME + ION + JMP I DSUB + +/************************************************* +DPROC, / ENTRY POINT TO THE DISPLAY PROCESS. + /.... + + / TEST, SLEEP, RESTART + CLA CLL + TAD DFLAGS + SZA + JMP DPROC / WORK TO DO + TFC / CLEAR FLAG, NO WORK TO DO. + JMS TTOUT / DUMMY TYPING WITHOUT TLS + JMP DPROC / AND JUMP BACK TO START OF THREAD + + + + +PDPROC, DPROC / POINTER TO DISPLAY PROCESS +TTAC, 0 +TTL, 0 +DTMP, 0 + +/******************************************************************** +/ TELETYPE OUTPUT HANDLER AND MANAGEMENT + + +TTOUT, 0 / SEND CHARACTER - CALLED FROM DISPLAY THREAD! + TSF / IF NO FLAG - GO SLEEPING ONLY + SKP + TLS / GET IT OUT! + DCA TTAC / SAVE AC, JUST POLITE + RAR + DCA TTL / SAVE LINK, STILL POLITE + JMP IEND / END OF INTERRUPT HANDLING +TTOHAN, TAD TTL + RAL + TAD TTAC + JMP I TTOUT / RESUME DISPLAY THREAD