1
0
mirror of https://github.com/PDP-10/its.git synced 2026-01-31 14:02:09 +00:00

Port TENTH to KA10 and PDP-6.

This commit is contained in:
Lars Brinkhoff
2019-06-05 08:36:12 +02:00
parent f79066ccb8
commit 03625b1c5a

View File

@@ -3,16 +3,23 @@ TITLE TENTH
EXPUNGE .SWAP,.BEGIN,.END,.ELSE,.I
IFNDEF TS,TS==0
IFNDEF KA,KA==0
IFNDEF KS,KS==1
IFN TS+KA+KS-1,.ERR Must assemble for one of TS, KA, or KS.
X=14 ; pointer into code/parameter field
PC=15 ; the interpreter's program counter
PP=16 ; parameter stack pointer
P=17 ; return stack pointer
IFE TS,[
IFN KS,[
APR=0
CTYIN=32
CTYOUT=33
]
IFN KA,[
TTY=120
]
IFN TS,[
TYIC==1
TYOC==2
@@ -30,7 +37,7 @@ WORDBUF: 0 ? .=.+10
WORDBP: 440700,,WORDBUF+1
START:
IFE TS, SETZM CTYIN
IFN KS, SETZM CTYIN
IFN TS,[
.OPEN TYIC,[.UAI,,'TTY]
.LOSE
@@ -53,15 +60,20 @@ IFN TS,[
; print ASCII character in AC 0 - changes AC 0
PUTCHAR:
IFE TS,[
IFN KS,[
IORI 0,400 ; valid bit
MOVEM 0,CTYOUT
CONO APR,12000 ; 10000 = set flags, 2000 = interrupt flag
SKIPE CTYOUT ; wait for transmission to complete
JRST .-1
]
IFN KA,[
CONSZ TTY,20
JRST .-1
DATAO TTY,0
]
IFN TS, .IOT TYOC,0
CAIE 0,IFE TS,[400\]^J
CAIE 0,IFN KS,[400\]^J
POPJ P,
MOVEI 0,^M
JRST PUTCHAR
@@ -121,7 +133,7 @@ PRNTNSP:
; reads one character into AC 0
GETCH:
IFE TS,[
IFN KS,[
CONO APR,12000 ; 10000 = set flags, 2000 = interrupt flag
MOVE 0,CTYIN
CAIN 0,0
@@ -129,6 +141,11 @@ IFE TS,[
SETZM CTYIN
TRZ 0,400
]
IFN KA,[
CONSO TTY,40
JRST .-1
DATAI TTY,0
]
IFN TS, .IOT TYIC,0
CAIN 0,^M
MOVEI 0,^J