Kernel 0.92

This commit is contained in:
Rémy GIBERT 2018-12-15 21:34:55 +01:00
parent e1011e4ae9
commit 5d04ad0cf2
7 changed files with 284 additions and 262 deletions

View File

@ -5,8 +5,10 @@ AUTO 4,1
ECHO *** A2osX INIT Script ***
SET PS1='$PWD'
# Main Screen
# INSDRV CONSOLE.DRV
# STARTPROC GETTY /DEV/CON ${ROOT}SBIN/LOGIN
GETTY /DEV/TTY1 ${ROOT}SBIN/LOGIN &
GETTY /DEV/TTY2 ${ROOT}SBIN/LOGIN &
GETTY /DEV/TTY3 ${ROOT}SBIN/LOGIN &
GETTY /DEV/TTY4 ${ROOT}SBIN/LOGIN &
# Serial Login
#INSDRV SSC.DRV 9600,N,8,1,X
#INSDRV SSC.I.DRV 9600,N,8,1,X

View File

@ -14,6 +14,7 @@ K.OF.MAX .EQ 32
K.FLT.MAX .EQ 4
K.EVT.MAX .EQ 4
K.SCR.MAX .EQ 6
K.TTY.MAX .EQ 4
*--------------------------------------
ZPDRV .EQ $20 32 bytes
ZPLIB .EQ $40 32 bytes
@ -45,7 +46,7 @@ A2osX.SLEEP .EQ $BD10
* $BEE0->$BEEF : Public Variables
*--------------------------------------
A2osX.ASCREEN .EQ $BEE0 Active Screen
A2osX.SCRNDEVS .EQ $BEE1 -> $BEE4 (5 screen devices)
A2osX.SCRNDEVS .EQ $BEE1 -> $BEE5 (5 screen devices)
A2osX.CPUTYPE .EQ $BEE6
A2osX.CPUSPEED .EQ $BEE7 WORD, (->255.99 Mhz)
@ -60,7 +61,7 @@ A2osX.RANDOM16 .EQ $BEEE WORD
*--------------------------------------
A2osX.KCONFIG .EQ $BEF0
A2osX.HZ .EQ $BEF0 5/6 for 50/60Hz
A2osX.TTYDEVS .EQ $BEF1 K.SCR.MAX = 6 !
A2osX.TTYDEVS .EQ $BEF1 K.TTY.MAX = 4 !
A2osX.F .EQ $BEF8
A2osX.F.CHROOT .EQ %10000000 ChRooting to /RAMx
A2osX.F.PMODE .EQ %01000000 Preemptive Mode

View File

@ -122,8 +122,11 @@ CS.RUN.LOOP0 >LDYA L.ENV.TERM
bra .1 no data sent, loop
.2 >PUSHWI K.VER
>PUSHBI 2
.2 >LDA.G ArgDev
>SYSCALL ArgV
>PUSHYA
>PUSHWI K.VER
>PUSHBI 4
>LDYA L.MSG.GREETINGS
>SYSCALL printf
@ -320,7 +323,7 @@ OptionList >PSTR "Ee"
OptionVars .DA #bExitOnClose,#bExitOnClose
MSG.USAGE .AS "Usage : GETTY <DEV> <PROGRAM>\r\n"
.AZ " -E : Exit on disconnect\r\n"
MSG.GREETINGS .AZ "\r\nA2osX-GeTTY %d.%d\r\n"
MSG.GREETINGS .AZ "\r\nA2osX-GeTTY %d.%d on %s\r\n"
*--------------------------------------
TELNETOPTS .DA #IAC,#WILL,#TELOPT.BINARY
.DA #IAC,#WILL,#TELOPT.ECHO

View File

@ -155,6 +155,7 @@ S.DCB.TTY.CURCHAR .EQ 8
S.DCB.TTY.bINVERSE .EQ 9
S.DCB.TTY.bLINEWRAP .EQ 10
S.DCB.TTY.bTITLE .EQ 13
S.DCB.TTY.OUTTAIL .EQ 14
S.DCB.TTY.OUTHEAD .EQ 15
S.DCB.TTY.INBUFFER .EQ 16

View File

@ -145,14 +145,14 @@ Kernel.Init3 sta SETALTZP
>LDYAI MSG.Prefix
>SYSCALL printf
* lda KBD
* bpl .1
* sta KBDSTROBE
* cmp #146 CTRL-R for Maintenance mode
* bne .1
lda KBD
bpl .1
sta KBDSTROBE
cmp #146 CTRL-R for Maintenance mode
bne .1
>PUSHBI 0
>LDYAI MSG.CTRLD
>LDYAI MSG.CTRLR
>SYSCALL printf
>PUSHBI 0 PS Flags
@ -672,11 +672,9 @@ IrqMgrInit.TClock
sta $c080,y
lda #$40
sta SET80STORE
sta CLRPAGE2
sta $478,x
sta $7f8,x
sta CLR80STORE
lda #64
sta CORE.TickPerSec
@ -1069,7 +1067,7 @@ MSG.IRQ.POLL .AZ " Polling Mode."
MSG.EVT .AZ "Event Manager..."
MSG.TSK .AZ "Task Manager..."
MSG.Prefix .AZ "Root:%s\r\n"
MSG.CTRLD .AZ "Ctrl-D Pressed, entering Maintenance mode..."
MSG.CTRLR .AZ "Ctrl-R Pressed, entering ROOT mode..."
MSG.ETCINIT .AZ "Executing ETC/INIT Script:%s "
MSG.StartupErr .AZ "Failed : [$%h]\r\n"
MSG.Init3.OK .AZ "OK\r\nA2osX[Stage3]:Complete.\r\n"

View File

@ -16,6 +16,11 @@ ZPScrBaseL1 .BS 2
ZPScrBaseL2 .BS 2
ZPTmpWord .BS 2
ZPTmpBool .BS 1
*--------------------------------------
bActive .BS 1
bCsiInNum .BS 1
CsiParamCnt .BS 1
CsiParams .BS 4
.ED
*--------------------------------------
DRV.TERM cld
@ -33,7 +38,7 @@ DRV.TERM cld
*--------------------------------------
DRV.TERM.STATUS >STYA ZPIOCTL
jsr GetIOCTLBuf
jsr DRV.TERM.GetIOCTLBuf
ldy #S.IOCTL.STATCODE
lda (ZPIOCTL),y
@ -81,7 +86,9 @@ DRV.TERM.OPEN ldx #0 DEV.ID in A
sec
rts
.2 pha DEV.ID in A
.2 sta A2osX.SCRNDEVS,x
pha
jsr DRV.TERM.GetDCB
@ -146,7 +153,7 @@ DRV.TERM.CLOSE jsr DRV.TERM.GetDCB
*--------------------------------------
DRV.TERM.READ >STYA ZPIOCTL
jsr GetIOCTLBufAndCnt
jsr DRV.TERM.GetIOCTLBufAndCnt
jsr DRV.TERM.GetDCB
@ -160,7 +167,7 @@ DRV.TERM.READ >STYA ZPIOCTL
ldy #S.DCB.TTY.bCURON
eor (ZPDCBPtr),y
beq .1
jsr CURBLNK
.1 lda OPENAPPLE
@ -171,7 +178,7 @@ DRV.TERM.READ >STYA ZPIOCTL
sta KBDSTROBE
and #$7F
ldx KeyRemapped
.2 cmp KeyRemapped,x
beq .3
@ -181,23 +188,22 @@ DRV.TERM.READ >STYA ZPIOCTL
bra .7 and flush
.3 lda KeyRemappedIdx,x
tay
tax
.4 lda KeyRemappedTbl,y
.4 lda KeyRemappedTbl,x
beq .7 end of remap....flush
jsr Char.Out.Put
iny
inx
bra .4
.6 ldy #S.DCB.TTY.OUTHEAD
.6 ldy #S.DCB.TTY.OUTTAIL
lda (ZPDCBPtr),y
dey OUTTAIL
cmp (ZPDCBPtr),y
iny
cmp (ZPDCBPtr),y OUTHEAD
beq .9 no char in output buffer...
.7 stz .8+1
jsr GetIOCTLBufAndCnt
.70 inc ZPCount
bne .71
@ -229,7 +235,7 @@ DRV.TERM.READ >STYA ZPIOCTL
*--------------------------------------
DRV.TERM.WRITE >STYA ZPIOCTL
jsr GetIOCTLBufAndCnt
jsr DRV.TERM.GetIOCTLBufAndCnt
jsr DRV.TERM.GetDCB
@ -240,7 +246,7 @@ DRV.TERM.WRITE >STYA ZPIOCTL
inc ZPCount+1
beq .8
.2 ldy #S.DCB.TTY.MODE
.2 ldy #S.DCB.TTY.MODE
lda (ZPDCBPtr),y
tax
@ -357,11 +363,12 @@ DRV.TERM.ESC lda (ZPBufPtr)
clc
rts
.1 lda #0
.1 lda #0 y = #S.DCB.TTY.MODE
sta (ZPDCBPtr),y
ldx #EscCodes.Cnt-1
lda (ZPBufPtr)
.2 cmp EscCodes,x
beq .3
dex
@ -373,9 +380,9 @@ DRV.TERM.ESC lda (ZPBufPtr)
.3 txa
asl
tax
jmp (J.EscCodes,x)
*--------------------------------------
J.EscCodes .DA Scroll.Dn M
jmp (.4,x)
.4 .DA Scroll.Dn M
.DA Scroll.Up D
.DA RESET c
*--------------------------------------
@ -388,7 +395,7 @@ DRV.TERM.CSI ldy #S.DCB.TTY.INBUFFER
lda (ZPBufPtr)
sta (ZPDCBPtr),y
cmp #64 End of Seq ?
bcs COUT.ExecEscSeq
bcs DRV.TERM.CSI.Exec
cpy #S.DCB.TTY.INBUFFER.MAX-1 buffer full?
bne .8
@ -400,12 +407,11 @@ DRV.TERM.CSI ldy #S.DCB.TTY.INBUFFER
.8 clc
rts
COUT.ExecEscSeq stz EscSeqParamCnt
stz bEscSeqInNum
DRV.TERM.CSI.Exec
stz CsiParamCnt
stz bCsiInNum
ldy #S.DCB.TTY.INBUFFER EscSeq Ptr
lda (ZPDCBPtr),y
tay
.10 stz ZPTmpWord
stz ZPTmpWord+1
@ -418,19 +424,23 @@ COUT.ExecEscSeq stz EscSeqParamCnt
cmp #'9'+1
bcs .2
dec bEscSeqInNum
dec bCsiInNum
and #$0F
pha
lda ZPTmpWord
ldy ZPTmpWord+1
ldx ZPTmpWord+1
asl ZPTmpWord param=param*10
rol ZPTmpWord+1
asl ZPTmpWord
rol ZPTmpWord+1
clc
adc ZPTmpWord
sta ZPTmpWord
tya
txa
adc ZPTmpWord+1
sta ZPTmpWord+1
asl ZPTmpWord
@ -444,30 +454,34 @@ COUT.ExecEscSeq stz EscSeqParamCnt
inc ZPTmpWord+1
bra .1
.2 bit bEscSeqInNum
.2 bit bCsiInNum
bpl .3
stz bEscSeqInNum
stz bCsiInNum
lda #255
ldx ZPTmpWord+1
bne .21
lda ZPTmpWord
.21 ldx EscSeqParamCnt
sta EscSeqParam,x
inc EscSeqParamCnt
.21 ldx CsiParamCnt
sta CsiParams,x
inc CsiParamCnt
.3 lda (ZPDCBPtr),y
cmp #';'
beq .10
pha
lda #0
ldy #S.DCB.TTY.MODE
sta (ZPDCBPtr),y
ldx #EscSeqCmds.Cnt-1
pla
ldx #CsiCodes.Cnt-1
.4 cmp EscSeqCmds,x
.4 cmp CsiCodes,x
beq .5
dex
bne .4
@ -478,15 +492,178 @@ COUT.ExecEscSeq stz EscSeqParamCnt
.5 txa
asl
tax
jmp (J.EscSequences,x)
jmp (.8,x)
.8 .DA Csi.LWEnable h
.DA Csi.LWDisable l
.DA Csi.DispAttr m
.DA Csi.Query n
.DA Csi.Scroll r
.DA Csi.Erase K
.DA Csi.Home H
*--------------------------------------
J.EscSequences .DA Esc.LWEnable h
.DA Esc.LWDisable l
.DA Esc.DispAttr m
.DA Esc.Query n
.DA Esc.Scroll r
.DA Esc.Erase K
.DA Esc.Home H
Csi.LWEnable sec
.HS 90 BCC
*--------------------------------------
Csi.LWDisable clc
ldx CsiParamCnt
beq .8
dex
bne .8
lda CsiParams
eor #7
bne .8
ror
ldy #S.DCB.TTY.bLINEWRAP
sta (ZPDCBPtr),y
.8 clc
rts
*--------------------------------------
Csi.DispAttr ldx CsiParamCnt
beq .8
.1 lda CsiParams-1,x
bne .2
jsr RESETATTR
bra .7
.2 eor #7
bne .8
ldy #S.DCB.TTY.bINVERSE
sta (ZPDCBPtr),y
.7 dex
bne .1
.8 clc
rts
*--------------------------------------
Csi.Query ldx CsiParamCnt
beq .8
dex
bne .8
lda CsiParams
cmp #6
bne .8
lda #C.ESC
jsr Char.Out.Put
lda #'['
jsr Char.Out.Put
ldy #S.DCB.TTY.CV
lda (ZPDCBPtr),y
inc
jsr Decimal.Out
lda #';'
jsr Char.Out.Put
ldy #S.DCB.TTY.CH
lda (ZPDCBPtr),y
inc
jsr Decimal.Out
lda #'R'
jsr Char.Out.Put
.8 clc
rts
*--------------------------------------
Csi.Scroll ldy CsiParamCnt
bne .1
lda #0
ldx #23
bra .8
.1 cpy #2
bne .9
lda CsiParams
dec
ldx CsiParams+1
dex
.8 ldy #S.DCB.TTY.SCROLLTOP
sta (ZPDCBPtr),y
iny S.DCB.TTY.SCROLLBOT
txa
sta (ZPDCBPtr),y
.9 clc
rts
*--------------------------------------
Csi.Erase ldx CsiParamCnt
bne .1
jmp CLREOL
.1 lda CsiParams
cmp #1
bne .2
jmp CLRSOL
.2 cmp #2
bne .9
jmp CLRLINE
.9 clc
rts
*--------------------------------------
Csi.Home lda CsiParamCnt
bne .1
ldy #S.DCB.TTY.CH
sta (ZPDCBPtr),y
iny
sta (ZPDCBPtr),y
clc
rts
.1 ldx #1
lda CsiParams
beq .2
ldx #24
cmp #24
bcs .2
tax
.2 dex
txa
ldy #S.DCB.TTY.CV
sta (ZPDCBPtr),y
dec CsiParamCnt
beq .8
ldx #1
lda CsiParams+1
beq .3
ldx #80
cmp #80
bcs .3
tax
.3 dex
txa
ldy #S.DCB.TTY.CH
sta (ZPDCBPtr),y
.8 clc
rts
*--------------------------------------
DRV.TERM.IAC ldy #S.DCB.TTY.INBUFFER
lda (ZPDCBPtr),y
@ -534,7 +711,6 @@ J.COUT.IAC.CMDS .DA COUT.IAC.SB
.DA COUT.IAC.WONT
.DA COUT.IAC.DO
.DA COUT.IAC.DONT
.DA 0 end of relocation
*--------------------------------------
COUT.IAC.SB cmp #TELOPT.TTYPE
bne .9
@ -544,12 +720,12 @@ COUT.IAC.SB cmp #TELOPT.TTYPE
cmp #SB.SEND
bne .9
ldy #0
ldx #0
.1 lda SB.IS.TTYPE,y
.1 lda SB.IS.TTYPE,x
jsr Char.Out.Put
iny
cpy #SB.IS.TTYPE.LEN
inx
cpx #SB.IS.TTYPE.LEN
bne .1
.9 bra RESET.MODE
@ -648,6 +824,13 @@ RESET jsr RESET.MODE
lda #23
sta (ZPDCBPtr),y
lda #S.DCB.TTY.OUTBUFFER
ldy #S.DCB.TTY.OUTTAIL
sta (ZPDCBPtr),y
iny
sta (ZPDCBPtr),y
jsr DRV.TERM.CLRSCR
*--------------------------------------
RESETATTR lda #$80
@ -664,12 +847,12 @@ J.CtrlChars .DA ENQ 5
.DA FS 21
.DA ESC 27
*--------------------------------------
ENQ ldy #0
ENQ ldx #0
.1 lda ENQ.String,y
.1 lda ENQ.String,x
beq .8
jsr Char.Out.Put
iny
inx
bne .1
.8 clc
@ -729,7 +912,7 @@ SCROLL.UP ldy #S.DCB.TTY.SCROLLTOP
tax
.1 jsr SETUP.L1X
.1 jsr DRV.TERM.SETUP.L1X
inx
@ -782,7 +965,7 @@ SCROLL.DN ldy #S.DCB.TTY.SCROLLBOT
tax
.1 jsr SETUP.L1X
.1 jsr DRV.TERM.SETUP.L1X
dex
@ -796,175 +979,13 @@ SCROLL.DN ldy #S.DCB.TTY.SCROLLBOT
clc
rts
*--------------------------------------
Esc.LWEnable sec
.HS 90 BCC
*--------------------------------------
Esc.LWDisable clc
ldx EscSeqParamCnt
beq .8
dex
bne .8
lda EscSeqParam
eor #7
bne .8
ror
ldy #S.DCB.TTY.bLINEWRAP
sta (ZPDCBPtr),y
.8 clc
rts
*--------------------------------------
Esc.DispAttr ldx EscSeqParamCnt
beq .8
.1 lda EscSeqParam-1,x
bne .2
jsr RESETATTR
bra .7
.2 eor #7
bne .8
ldy #S.DCB.TTY.bINVERSE
sta (ZPDCBPtr),y
.7 dex
bne .1
.8 clc
rts
*--------------------------------------
Esc.Query ldx EscSeqParamCnt
beq .8
dex
bne .8
lda EscSeqParam
cmp #6
bne .8
lda #C.ESC
jsr Char.Out.Put
lda #'['
jsr Char.Out.Put
ldy #S.DCB.TTY.CV
lda (ZPDCBPtr),y
inc
jsr Decimal.Out
lda #';'
jsr Char.Out.Put
ldy #S.DCB.TTY.CH
lda (ZPDCBPtr),y
inc
jsr Decimal.Out
lda #'R'
jsr Char.Out.Put
.8 clc
rts
*--------------------------------------
Esc.Scroll ldy EscSeqParamCnt
bne .1
lda #0
ldx #23
bra .8
.1 cpy #2
bne .9
lda EscSeqParam
dec
ldx EscSeqParam+1
dex
.8 ldy #S.DCB.TTY.SCROLLTOP
sta (ZPDCBPtr),y
iny S.DCB.TTY.SCROLLBOT
txa
sta (ZPDCBPtr),y
.9 clc
rts
*--------------------------------------
Esc.Erase ldx EscSeqParamCnt
bne .1
jmp CLREOL
.1 lda EscSeqParam
cmp #1
bne .2
jmp CLRSOL
.2 cmp #2
bne .9
jmp CLRLINE
.9 clc
rts
*--------------------------------------
Esc.Home lda EscSeqParamCnt
bne .1
ldy #S.DCB.TTY.CH
sta (ZPDCBPtr),y
iny
sta (ZPDCBPtr),y
clc
rts
.1 ldx #1
lda EscSeqParam
beq .2
ldx #24
cmp #24
bcs .2
tax
.2 dex
txa
ldy #S.DCB.TTY.CV
sta (ZPDCBPtr),y
dec EscSeqParamCnt
beq .8
ldx #1
lda EscSeqParam+1
beq .3
ldx #80
cmp #80
bcs .3
tax
.3 dex
txa
ldy #S.DCB.TTY.CH
sta (ZPDCBPtr),y
.8 clc
rts
*--------------------------------------
CUROFF ldy #S.DCB.TTY.bCURON
lda (ZPDCBPtr),y
beq CUREXIT.RTS
CURBLNK bit bActive
bpl CURBLNK1
bmi CURBLNK1
ldy #S.DCB.TTY.bCURON
lda (ZPDCBPtr),y
@ -1042,12 +1063,12 @@ Decimal.Out stz ZPTmpWord
*--------------------------------------
Char.Out.Put30 ora #$30
Char.Out.Put pha
Char.Out.Put pha save char
ldy #S.DCB.TTY.OUTHEAD
lda (ZPDCBPtr),y
pha
pha save actual HEAD
inc
cmp #S.DCB.TTY.OUTBUFFER.MAX
@ -1055,9 +1076,9 @@ Char.Out.Put pha
lda #S.DCB.TTY.OUTBUFFER
.1 dey
.1 dey OUTTAIL
cmp (ZPDCBPtr),y
cmp (ZPDCBPtr),y HEAD+1 = TAIL ?
beq .9 CS, full!
iny
@ -1073,9 +1094,9 @@ Char.Out.Put pha
pla
rts
*--------------------------------------
Char.Out.Get ldy #S.DCB.TTY.OUTHEAD
Char.Out.Get ldy #S.DCB.TTY.OUTTAIL
lda (ZPDCBPtr),y
dey OUTTAIL
iny OUTHEAD
cmp (ZPDCBPtr),y
beq .9 CS
@ -1116,7 +1137,7 @@ DRV.TERM.GetActive
.1 ror bActive
rts
*--------------------------------------
GetIOCTLBufAndCnt
DRV.TERM.GetIOCTLBufAndCnt
ldy #S.IOCTL.BYTECNT
lda (ZPIOCTL),y
@ -1127,7 +1148,8 @@ GetIOCTLBufAndCnt
eor #$ff
sta ZPCount+1
GetIOCTLBuf ldy #S.IOCTL.BUFPTR
DRV.TERM.GetIOCTLBuf
ldy #S.IOCTL.BUFPTR
lda (ZPIOCTL),y
sta ZPBufPtr
iny
@ -1136,16 +1158,16 @@ GetIOCTLBuf ldy #S.IOCTL.BUFPTR
rts
*--------------------------------------
SETUP.L1X clc
DRV.TERM.SETUP.L1X
ldy #S.FD.DEV.BUFPTR
lda BUF.BASEL,x
adc (pFD),y
lda (pFD),y
clc
adc BUF.BASEL,x
sta ZPBufBaseL1
iny
lda BUF.BASEH,x
adc (pFD),y
lda (pFD),y
adc BUF.BASEH,x
sta ZPBufBaseL1+1
bit bActive
@ -1214,8 +1236,8 @@ CtrlChars.Cnt .EQ *-CtrlChars
*--------------------------------------
EscCodes .AZ "MDc"
EscCodes.Cnt .EQ *-EscCodes
EscSeqCmds .AS "hlmnrKH"
EscSeqCmds.Cnt .EQ *-EscSeqCmds
CsiCodes .AS "hlmnrKH"
CsiCodes.Cnt .EQ *-CsiCodes
ENQ.String .AZ "XTERM"
*--------------------------------------
KeyRemapped .HS 05080A0B0D15 L,D,U,CR,R
@ -1227,8 +1249,6 @@ KeyRemappedUP .HS 1B5B4100 esc[A
KeyRemappedCR .HS 0D0A00 crlf
KeyRemappedRGHT .HS 1B5B4300 esc[C
*--------------------------------------
TELOPS.STATUS
*--------------------------------------
WILLDO .DA #TELOPT.BINARY,#TELOPT.SGA
WILLDO.CNT .EQ *-WILLDO
WILLDONT .DA #TELOPT.TSPEED,#TELOPT.LINEMODE,#TELOPT.STATUS
@ -1247,11 +1267,6 @@ SB.IS.NAWS .DA #IAC,#SB,#TELOPT.NAWS,#SB.IS
.DA #IAC,#SE
SB.IS.NAWS.LEN .EQ *-SB.IS.NAWS
*--------------------------------------
bActive .BS 1
bEscSeqInNum .BS 1
EscSeqParamCnt .BS 1
EscSeqParam .BS 4
*--------------------------------------
DRV.TERM.DIB .DA #S.DIB.S.WRITE+S.DIB.S.READ
.DA #0,#0,#0
>PSTR "A2osX VT100 TERM"

View File

@ -3,8 +3,9 @@ PREFIX
AUTO 4,1
*--------------------------------------
DRV.TERM.CLRSCR ldx #23
.1 jsr SETUP.L1X
sta SET80STORE
.1 jsr DRV.TERM.SETUP.L1X
lda #" "
@ -48,6 +49,7 @@ DRV.TERM.CLRSCR ldx #23
rts
*--------------------------------------
DRV.TERM.SCRCPY ldx #0
sta SET80STORE
.1 ldy #S.FD.DEV.BUFPTR
lda (pFD),y
@ -71,7 +73,7 @@ DRV.TERM.SCRCPY ldx #0
sta SETREADAUX
ldx #79
ldx #78
ldy #39
sta SETPAGE2
@ -82,7 +84,7 @@ DRV.TERM.SCRCPY ldx #0
dey
bpl .2
ldx #78
ldx #79
ldy #39
sta CLRPAGE2
@ -118,7 +120,7 @@ SetCharAtYX cmp #$40
.1 pha
phy
jsr SETUP.L1X
jsr DRV.TERM.SETUP.L1X
ply
pla
@ -137,7 +139,7 @@ SetCharAtYX cmp #$40
pla
bcs .2
sta SET80STORE
sta SETPAGE2
.2 sta (ZPScrBaseL1),y
sta CLRPAGE2
@ -147,7 +149,7 @@ GetCharAtCurPos ldy #S.DCB.TTY.CV
lda (ZPDCBPtr),y
tax
jsr SETUP.L1X
jsr DRV.TERM.SETUP.L1X
ldy #S.DCB.TTY.CH
lda (ZPDCBPtr),y
@ -179,7 +181,7 @@ COPY.XtoL1 ldy #79
sta ZPScrBaseL2
lda SCR.BASEH,x
sta ZPScrBaseL2+1
sta SET80STORE
sta SETPAGE2
jsr .6