mirror of
https://github.com/PDP-10/its.git
synced 2026-01-13 15:27:28 +00:00
Make DDT use the meta bit as an Altmode.
If the terminal has a meta key, use it as an Altmode prefix. To make echoing look good, turn off ITS echoing and do it manually.
This commit is contained in:
parent
8a98838e29
commit
656c2a01e9
@ -6966,9 +6966,20 @@ TYI: CALL TYOFRC ;.LISTEN IS SUPPOSED TO FORCE OUTPUT.
|
||||
TYI3: CALL HAKKAM ;DO HAKKAH RQ'S, SAY DO ANY MORE WHEN QUEUED.
|
||||
SETZM CTLZFL
|
||||
SKIPGE D,TTYUNR
|
||||
.IOT TYIC,D
|
||||
.IOT TYIFC,D ;READ FULL CHAR SET INPUT CHANNEL
|
||||
SKIPE METAP
|
||||
JRST [TRZ D,%TXTOP+%TXSUP ;CLEAR TOP AND SUPER
|
||||
TRZE D,%TXCTL ;IF CONTROL BIT SET,
|
||||
TRZ D,140 ;CONVERT TO ASCII.
|
||||
TRZN D,%TXMTA
|
||||
JRST .+1
|
||||
MOVEM D,TTYUNR ;META BIT SET, SAVE CHAR FOR LATER.
|
||||
MOVEI D,33 ;RETURN ALTMODE.
|
||||
JRST TYI4]
|
||||
SETOM TTYUNR
|
||||
setzm hakok ;defer HAKKAH rq's again.
|
||||
TYI4: setzm hakok ;defer HAKKAH rq's again.
|
||||
skipe echop
|
||||
pushj p,echo ;Echo character.
|
||||
skipn tthelp ;If [HELP] isn't desired
|
||||
caie d,%txtop+"H ; help key becomes question mark
|
||||
caia
|
||||
@ -6999,6 +7010,15 @@ TYI3: CALL HAKKAM ;DO HAKKAH RQ'S, SAY DO ANY MORE WHEN QUEUED.
|
||||
popj p,
|
||||
jrst popj1
|
||||
|
||||
echo: caie d,^I ;TAB and LF don't echo.
|
||||
cain d,^J
|
||||
popj p,
|
||||
cain d,^L ;FF clears screen.
|
||||
jrst formfa
|
||||
caie d,177 ;Rubout doesn't echo.
|
||||
.iot tyoc,d
|
||||
popj p,
|
||||
|
||||
;IF THE CHAR IN D IS ^V, ^W, ^B, ^E OR ^S, PROCESS IT AND DON'T SKIP.
|
||||
;OTHERWISE SKIP.
|
||||
TYI3B: cain d,^B
|
||||
@ -10571,6 +10591,10 @@ IOCOPN: TSOPEN TYOC,[[21,,'TTY]]
|
||||
tlnn i4,%toers ;if the TTY is erasible
|
||||
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.
|
||||
TLNE I4,%TOMVU
|
||||
AOS GETTY
|
||||
TLZ C,%TSSAI+%TSROL+%TSMOR
|
||||
@ -10588,6 +10612,11 @@ IOCOPN: TSOPEN TYOC,[[21,,'TTY]]
|
||||
TLNE I4,%TOERS
|
||||
SETZM NOERASE ;NOERASE IS SET IF TTY IS A STORAGE TUBE.
|
||||
MOVEM C,TTYSTS
|
||||
SKIPE ECHOP ;Turn off echoing by ITS.
|
||||
JRST [ MOVE C,[171717,,171717]
|
||||
ANDM C,TTYST1
|
||||
ANDM C,TTYST2
|
||||
JRST .+1 ]
|
||||
TSCALL TTYSB1
|
||||
MOVE C,GETTY
|
||||
MOVEM C,PCPNTF
|
||||
@ -10596,8 +10625,8 @@ IOCOPN: TSOPEN TYOC,[[21,,'TTY]]
|
||||
|
||||
TTYSB1: SETZ ? 'TTYSET
|
||||
%CLIMM,,TYOC
|
||||
[232222,,222222]
|
||||
[230222,,220222]
|
||||
TTYST1
|
||||
TTYST2
|
||||
SETZ TTYSTS
|
||||
|
||||
TTYGYP: SETZ
|
||||
@ -17385,6 +17414,8 @@ TTYMXH: 0 ;TTY's horizontal size
|
||||
OSPEED: 0 ;TTY's OSPEED variable
|
||||
ISPEED: 0 ;TTY's ISPEED variable
|
||||
SMARTS: 0 ;TTY's SMARTS variable
|
||||
TTYST1: 232222,,222222
|
||||
TTYST2: 230222,,220222
|
||||
TTYSTS: 0 ;NORMAL TTYSTS; **MORE** ENABLED.
|
||||
TTYSCM: 0 ;TTYCOM SAVED HERE TO RESTORE STATE OF OCO AT %SAVEX
|
||||
SCROLL: 0 ;-1 IFF TTY IS IN SCROLL MODE.
|
||||
@ -17598,6 +17629,8 @@ JPDLP: 004400,,JPDLB+1 ;POINTER INTO JPDL
|
||||
JPDLB: BLOCK JPDLL
|
||||
JPDLE::
|
||||
JPDLC: 0 ;# OF VALID ENTRIES IN JPDL (BETWEEN 0 AND JPDLL)
|
||||
METAP: 0 ;WINNING META KEY
|
||||
ECHOP: 0 ;DO ECHOING
|
||||
|
||||
VARIAB
|
||||
DDTEND: INFORM [Start of SYMTAB space]\.-1
|
||||
Loading…
x
Reference in New Issue
Block a user