From f185e2b74ea49ea64811f7265293bab729a6a286 Mon Sep 17 00:00:00 2001 From: Lars Brinkhoff Date: Thu, 2 Aug 2018 12:41:20 +0200 Subject: [PATCH] Fix IOPUSH UUO and .CALL scribbling random memory location. At some point, AIOPUSH was changed not to load B from (R). On top of that, the call to AIOPP1 clobbers B. This makes TYIIOP unhappy, because it expects B to retain the information from AIOPUSH. Since R is unchanged, we can just restore B in AIOPP1. --- src/system/{ts3tty.400 => ts3tty.401} | 1 + 1 file changed, 1 insertion(+) rename src/system/{ts3tty.400 => ts3tty.401} (99%) diff --git a/src/system/ts3tty.400 b/src/system/ts3tty.401 similarity index 99% rename from src/system/ts3tty.400 rename to src/system/ts3tty.401 index 14361a79..56c2c5b5 100755 --- a/src/system/ts3tty.400 +++ b/src/system/ts3tty.401 @@ -3337,6 +3337,7 @@ STATY2: CAIL B,TIBS-10. TYOIOP: TDZA A,A ;OUUTPUT CHNL. TYIIOP: MOVEI A,TYIMSK-TYOMSK ;INPUT CHNL, SET TYIMSK INSTEAD TYOMSK. CONO PI,CLKOFF ;TO PREVENT TELETYPE (IF CONSOLE) FROM MOVING AROUND + MOVE B,(R) ;GET I/O CHANNEL WORD JUMPGE B,TYIOP1 ;JUMP IF OPEN AS DEVICE SKIPGE TTYTBL(U) ;IF PROCEDURE DOESN'T HAVE CONSOLE, JRST CLKONJ ;THEN THAT'S ALL