From ff66523bb076a246c2fc159f0f76947bd6f84fc1 Mon Sep 17 00:00:00 2001 From: Julian Blake Kongslie Date: Sat, 29 Oct 2022 12:55:08 -0700 Subject: Control register values should not be "unsigned int" --- programs/echo.pal | 64 +++++-------------------------------------------------- 1 file changed, 5 insertions(+), 59 deletions(-) (limited to 'programs') diff --git a/programs/echo.pal b/programs/echo.pal index 16d8fda..4e59623 100644 --- a/programs/echo.pal +++ b/programs/echo.pal @@ -1,67 +1,13 @@ / vim: set sw=8 noexpandtab : -*000 - -INTRET, 0 - JMP GOTINT - -INPUTY, 1000 / Address of youngest byte in input buffer -INPUTO, 1000 / Address of oldest byte in input buffer - *200 - -/ Main program enables keyboard interrupt, then enters echo loop - KIE - ION -LOOP, TSF / Call ECHO if printer is ready +LOOP, TSF JMS ECHO JMP LOOP ECHO, 0 - TAD INPUTO - CMA IAC / Negate - TAD INPUTY - SNA / Abandon echo if input buffer is empty (n.b. or full, because we don't have wrap bits) - JMP I ECHO - TAD I INPUTO / Read from input buffer - TLS / Print - JMS FIXO +WAIT, KSF + JMP WAIT + KRB + TLS JMP I ECHO - -GOTINT, KSF / Skip reading keyboard if nothing was typed - JMP NOIN - DCA SAVED - KRB / Read from keyboard - DCA I INPUTY / Write to input buffer - JMS FIXY - CLA - TAD SAVED -NOIN, RMF - ION - JMP I INTRET - -/ Wrap INPUTY pointer at 2000 back to 1000 -FIXY, 0 - TAD INPUTY - TAD [-2000] - SZA - JMP I FIXY - CLA - TAD [1000] - DCA INPUTY - JMP I FIXY - -/ Wrap INPUTO pointer at 2000 back to 1000 -FIXO, 0 - TAD INPUTO - TAD [-2000] - SZA - JMP I FIXO - CLA - TAD [1000] - DCA INPUTO - JMP I FIXO - -*300 - -SAVED, 0 -- cgit v1.2.3