1
0
mirror of https://github.com/PDP-10/its.git synced 2026-01-14 07:40:05 +00:00

DDT should not read from the %TIFUL channel when %TOFCI isn't set.

Even if %TOFCI isn't set, a %TIFUL channel can return characters with
bucky bits.  A terminal input source such SUPDUP can insert 12-bit
characters with the intelligent terminal protocol, using the ^\ escape
character.
This commit is contained in:
Lars Brinkhoff 2019-02-22 14:02:53 +01:00
parent 8a5119bb54
commit 7929aa3304

View File

@ -6965,9 +6965,11 @@ TYI: CALL TYOFRC ;.LISTEN IS SUPPOSED TO FORCE OUTPUT.
JUMPE D,CPOPJ
TYI3: CALL HAKKAM ;DO HAKKAH RQ'S, SAY DO ANY MORE WHEN QUEUED.
SETZM CTLZFL
SKIPGE D,TTYUNR
.IOT TYIFC,D ;READ FULL CHAR SET INPUT CHANNEL
SKIPE METAP
SKIPL D,TTYUNR
JRST TYI4
SYSCAL IOT,[TYIC2 ? D]
.VALUE
TYI4: SKIPE METAP
JRST [TRZ D,%TXTOP+%TXSUP ;CLEAR TOP AND SUPER
TRZE D,%TXCTL ;IF CONTROL BIT SET,
TRZ D,140 ;CONVERT TO ASCII.
@ -6975,9 +6977,9 @@ TYI3: CALL HAKKAM ;DO HAKKAH RQ'S, SAY DO ANY MORE WHEN QUEUED.
JRST .+1
MOVEM D,TTYUNR ;META BIT SET, SAVE CHAR FOR LATER.
MOVEI D,33 ;RETURN ALTMODE.
JRST TYI4]
JRST TYI5]
SETOM TTYUNR
TYI4: setzm hakok ;defer HAKKAH rq's again.
TYI5: setzm hakok ;defer HAKKAH rq's again.
skipe echop
pushj p,echo ;Echo character.
skipn tthelp ;If [HELP] isn't desired
@ -10592,9 +10594,11 @@ IOCOPN: TSOPEN TYOC,[[21,,'TTY]]
tlnn i4,%toovr ; or can't be overwritten,
setom erase ; ^PX and friends will win!
TLNE I4,%TOFCI ;CAN TTY DO FULL 12-BIT CHARACTER SET?
AOSA METAP ; META KEY WINS
CAIA
AOS ECHOP ; DO ECHOING.
JRST [ AOS METAP ; META KEY WINS
AOS ECHOP ; DO ECHOING.
MOVEI I3,TYIFC
MOVEM I3,TYIC2
JRST .+1 ]
TLNE I4,%TOMVU
AOS GETTY
TLZ C,%TSSAI+%TSROL+%TSMOR
@ -17630,6 +17634,7 @@ JPDLB: BLOCK JPDLL
JPDLE::
JPDLC: 0 ;# OF VALID ENTRIES IN JPDL (BETWEEN 0 AND JPDLL)
METAP: 0 ;WINNING META KEY
TYIC2: TYIC ;INPUT CHANNEL FOR TYI
ECHOP: 0 ;DO ECHOING
VARIAB