2018-12-11 16:41:25 +00:00
|
|
|
|
NEW
|
2019-05-15 05:46:12 +00:00
|
|
|
|
AUTO 3,1
|
2018-12-11 16:41:25 +00:00
|
|
|
|
*--------------------------------------
|
2023-04-22 18:58:37 +00:00
|
|
|
|
CURBLNK.SPEED .EQ 2
|
2018-12-11 16:41:25 +00:00
|
|
|
|
*--------------------------------------
|
2023-04-22 18:58:37 +00:00
|
|
|
|
.DUMMY
|
2018-12-14 16:19:05 +00:00
|
|
|
|
.OR ZPDRV
|
|
|
|
|
ZPIOCTL .BS 2
|
|
|
|
|
ZPBufPtr .BS 2
|
2020-05-04 20:46:21 +00:00
|
|
|
|
ZPDCBPtr .BS 2
|
2021-03-15 20:45:22 +00:00
|
|
|
|
ZPCnt .BS 2
|
2020-01-10 15:58:47 +00:00
|
|
|
|
|
2021-03-15 20:45:22 +00:00
|
|
|
|
ZPBufBL1 .BS 2
|
|
|
|
|
ZPBufBL2 .BS 2
|
|
|
|
|
ZPScrBL1 .BS 2
|
|
|
|
|
ZPScrBL2 .BS 2
|
2020-01-10 15:58:47 +00:00
|
|
|
|
*--------------------------------------
|
2020-05-04 20:46:21 +00:00
|
|
|
|
bActive .BS 1
|
2020-01-11 17:13:27 +00:00
|
|
|
|
|
2023-04-22 18:58:37 +00:00
|
|
|
|
ZPTmpX .BS 1
|
2019-05-15 15:30:46 +00:00
|
|
|
|
ZPTmpChar .BS 1
|
2020-01-10 15:58:47 +00:00
|
|
|
|
|
2021-03-15 20:45:22 +00:00
|
|
|
|
CsiH .BS 1
|
|
|
|
|
CsiPCnt .BS 1
|
|
|
|
|
CsiP .BS 4
|
2018-12-14 16:19:05 +00:00
|
|
|
|
.ED
|
2018-12-11 16:41:25 +00:00
|
|
|
|
*--------------------------------------
|
2020-02-06 16:23:59 +00:00
|
|
|
|
TERMX .DA TERMX.STATUS
|
|
|
|
|
.DA A2osX.BADCALL
|
|
|
|
|
.DA A2osX.BADCALL
|
|
|
|
|
.DA A2osX.BADCALL
|
|
|
|
|
.DA TERMX.CONTROL
|
|
|
|
|
.DA A2osX.BADCALL
|
|
|
|
|
.DA TERMX.OPEN
|
|
|
|
|
.DA TERMX.CLOSE
|
|
|
|
|
.DA TERMX.READ
|
|
|
|
|
.DA TERMX.WRITE
|
|
|
|
|
*--------------------------------------
|
2020-05-04 20:46:21 +00:00
|
|
|
|
TERMX.STATUS tya
|
|
|
|
|
beq .1
|
2020-01-10 15:58:47 +00:00
|
|
|
|
|
2021-05-04 17:31:21 +00:00
|
|
|
|
cmp #S.IOCTL.S.GETDIB
|
2019-02-20 16:07:43 +00:00
|
|
|
|
bne .3
|
2020-01-10 15:58:47 +00:00
|
|
|
|
|
2018-12-12 16:32:33 +00:00
|
|
|
|
ldy #S.DIB-1
|
2023-04-22 18:58:37 +00:00
|
|
|
|
.HS 2C BIT ABS
|
2018-12-12 16:32:33 +00:00
|
|
|
|
.1 ldy #3
|
2018-12-11 16:41:25 +00:00
|
|
|
|
|
2020-01-10 15:58:47 +00:00
|
|
|
|
sta CLRWRITEAUX
|
|
|
|
|
|
2020-02-06 16:23:59 +00:00
|
|
|
|
.2 lda TERMX.DIB,y
|
2018-12-17 14:24:39 +00:00
|
|
|
|
sta (ZPBufPtr),y
|
2018-12-12 16:32:33 +00:00
|
|
|
|
dey
|
|
|
|
|
bne .2
|
2019-11-14 14:48:12 +00:00
|
|
|
|
|
2021-05-04 17:31:21 +00:00
|
|
|
|
ldy #S.DCB.TTY.S
|
2018-12-13 16:39:24 +00:00
|
|
|
|
lda (ZPDCBPtr),y
|
2018-12-14 07:32:20 +00:00
|
|
|
|
sta (ZPBufPtr)
|
2018-12-11 16:41:25 +00:00
|
|
|
|
clc
|
|
|
|
|
rts
|
2019-11-14 14:48:12 +00:00
|
|
|
|
|
2021-05-04 17:31:21 +00:00
|
|
|
|
.3 cmp #S.IOCTL.S.EOF
|
2019-02-20 16:07:43 +00:00
|
|
|
|
bne .9
|
|
|
|
|
|
2020-02-06 16:23:59 +00:00
|
|
|
|
jsr TERMX.ISOPENED
|
|
|
|
|
beq TERMX.OPEN.E
|
2019-11-14 14:48:12 +00:00
|
|
|
|
|
2021-04-29 11:56:34 +00:00
|
|
|
|
jsr TERMX.CBLNK
|
2023-05-01 07:35:39 +00:00
|
|
|
|
|
2019-02-20 16:07:43 +00:00
|
|
|
|
ldy #S.DCB.TTY.OUTTAIL
|
|
|
|
|
lda (ZPDCBPtr),y
|
2019-02-21 06:29:41 +00:00
|
|
|
|
iny
|
2019-05-16 15:51:19 +00:00
|
|
|
|
eor (ZPDCBPtr),y OUTHEAD
|
2021-07-24 20:42:23 +00:00
|
|
|
|
bne .8
|
2018-12-11 16:41:25 +00:00
|
|
|
|
|
2019-02-20 16:07:43 +00:00
|
|
|
|
bit bActive
|
2019-05-16 15:51:19 +00:00
|
|
|
|
bpl .7
|
2019-11-14 14:48:12 +00:00
|
|
|
|
|
2023-05-01 07:35:39 +00:00
|
|
|
|
jsr TERMX.CheckOA
|
2019-05-16 15:51:19 +00:00
|
|
|
|
bmi .7
|
2019-11-14 14:48:12 +00:00
|
|
|
|
|
2019-02-20 16:07:43 +00:00
|
|
|
|
bit KBD
|
2019-05-16 15:51:19 +00:00
|
|
|
|
bmi .8
|
2019-02-20 16:07:43 +00:00
|
|
|
|
|
2023-05-01 07:35:39 +00:00
|
|
|
|
.7 lda #$ff EOF = TRUE
|
2019-05-16 15:51:19 +00:00
|
|
|
|
.HS 2C BIT ABS
|
2023-05-01 07:35:39 +00:00
|
|
|
|
.8 lda #0 EOF = FALSE
|
2019-02-20 16:07:43 +00:00
|
|
|
|
clc
|
|
|
|
|
rts
|
2019-11-14 14:48:12 +00:00
|
|
|
|
|
2018-12-11 16:41:25 +00:00
|
|
|
|
.9 lda #MLI.E.BADCTL
|
2019-11-14 14:48:12 +00:00
|
|
|
|
.HS 2C BIT ABS
|
2020-02-06 16:23:59 +00:00
|
|
|
|
TERMX.OPEN.E lda #MLI.E.OPEN
|
2018-12-11 16:41:25 +00:00
|
|
|
|
sec
|
|
|
|
|
rts
|
|
|
|
|
*--------------------------------------
|
2020-05-04 20:46:21 +00:00
|
|
|
|
TERMX.OPEN jsr TERMX.ISOPENED
|
2020-02-06 16:23:59 +00:00
|
|
|
|
bne TERMX.OPEN.E
|
2019-11-14 14:48:12 +00:00
|
|
|
|
|
2021-07-24 20:42:23 +00:00
|
|
|
|
lda (ZPDCBPtr) #S.DCB.TTY.DEVID
|
|
|
|
|
tax
|
2023-04-22 18:58:37 +00:00
|
|
|
|
|
2022-01-31 21:48:25 +00:00
|
|
|
|
lda IO.hFD in ZPTMP
|
2023-01-21 21:53:55 +00:00
|
|
|
|
|
2020-03-12 07:46:43 +00:00
|
|
|
|
sta CLRWRITEAUX
|
|
|
|
|
sta A2osX.SCRNDEVS,x
|
|
|
|
|
sta SETWRITEAUX
|
2018-12-14 16:19:05 +00:00
|
|
|
|
|
2021-05-04 17:31:21 +00:00
|
|
|
|
ldy #S.DCB.TTY.S
|
2018-12-13 16:39:24 +00:00
|
|
|
|
lda (ZPDCBPtr),y
|
2018-12-11 16:41:25 +00:00
|
|
|
|
ora #S.DIB.S.OPENED
|
2020-02-06 16:23:59 +00:00
|
|
|
|
ora TERMX.DIB+S.DIB.S
|
2018-12-13 16:39:24 +00:00
|
|
|
|
sta (ZPDCBPtr),y
|
2023-04-22 18:58:37 +00:00
|
|
|
|
jsr TERMX.RIS
|
2018-12-11 16:41:25 +00:00
|
|
|
|
*--------------------------------------
|
2020-02-06 16:23:59 +00:00
|
|
|
|
TERMX.CONTROL lda (ZPDCBPtr) #S.DCB.TTY.DEVID
|
2021-07-24 20:42:23 +00:00
|
|
|
|
|
2020-03-12 07:46:43 +00:00
|
|
|
|
sta CLRWRITEAUX
|
|
|
|
|
sta A2osX.ASCREEN
|
|
|
|
|
sta SETWRITEAUX
|
2021-07-24 20:42:23 +00:00
|
|
|
|
|
2018-12-17 14:24:39 +00:00
|
|
|
|
sta SETTEXT
|
2021-07-24 20:42:23 +00:00
|
|
|
|
sta CLRMIXED
|
2018-12-17 14:24:39 +00:00
|
|
|
|
|
2020-02-06 16:23:59 +00:00
|
|
|
|
jsr TERMX.SCRCPY
|
2023-01-21 21:53:55 +00:00
|
|
|
|
|
2021-07-24 20:42:23 +00:00
|
|
|
|
lda #0
|
2021-09-07 12:32:31 +00:00
|
|
|
|
ldy #S.DCB.TTY.bTITLE
|
2018-12-17 07:02:03 +00:00
|
|
|
|
sta (ZPDCBPtr),y
|
2018-12-11 16:41:25 +00:00
|
|
|
|
clc
|
|
|
|
|
rts
|
|
|
|
|
*--------------------------------------
|
2021-07-24 20:42:23 +00:00
|
|
|
|
TERMX.CLOSE jsr TERMX.ISOPENED
|
2018-12-11 16:41:25 +00:00
|
|
|
|
beq .9
|
2019-11-14 14:48:12 +00:00
|
|
|
|
|
2020-02-06 16:23:59 +00:00
|
|
|
|
lda TERMX.DIB+S.DIB.S
|
2018-12-13 16:39:24 +00:00
|
|
|
|
sta (ZPDCBPtr),y
|
2020-01-10 15:58:47 +00:00
|
|
|
|
|
2021-07-24 20:42:23 +00:00
|
|
|
|
lda (ZPDCBPtr) #S.DCB.TTY.DEVID
|
|
|
|
|
tax
|
2018-12-11 16:41:25 +00:00
|
|
|
|
|
2020-03-12 07:46:43 +00:00
|
|
|
|
sta CLRWRITEAUX
|
|
|
|
|
stz A2osX.SCRNDEVS,x
|
|
|
|
|
sta SETWRITEAUX
|
2021-07-24 20:42:23 +00:00
|
|
|
|
|
2018-12-11 16:41:25 +00:00
|
|
|
|
clc
|
|
|
|
|
rts
|
2020-01-10 15:58:47 +00:00
|
|
|
|
|
2018-12-14 16:19:05 +00:00
|
|
|
|
.9 lda #MLI.E.IO
|
2018-12-11 16:41:25 +00:00
|
|
|
|
sec
|
|
|
|
|
rts
|
|
|
|
|
*--------------------------------------
|
2021-05-04 17:31:21 +00:00
|
|
|
|
TERMX.ISOPENED ldy #S.DCB.TTY.S
|
2019-11-14 14:48:12 +00:00
|
|
|
|
lda (ZPDCBPtr),y
|
|
|
|
|
bit #S.DIB.S.OPENED
|
|
|
|
|
rts
|
|
|
|
|
*--------------------------------------
|
2020-02-06 16:23:59 +00:00
|
|
|
|
TERMX.READ bit bActive is screen active?
|
2018-12-14 16:19:05 +00:00
|
|
|
|
bpl .6 no....go check flush...
|
2021-09-07 12:32:31 +00:00
|
|
|
|
|
2021-04-29 11:56:34 +00:00
|
|
|
|
jsr TERMX.CBLNK
|
2018-12-11 16:41:25 +00:00
|
|
|
|
|
2023-05-01 07:35:39 +00:00
|
|
|
|
jsr TERMX.CheckOA
|
|
|
|
|
bmi .6 Open apple key, not for us...
|
2018-12-17 07:02:03 +00:00
|
|
|
|
|
2018-12-11 16:41:25 +00:00
|
|
|
|
lda KBD
|
|
|
|
|
bpl .6
|
2023-04-22 18:58:37 +00:00
|
|
|
|
|
2018-12-11 16:41:25 +00:00
|
|
|
|
sta KBDSTROBE
|
|
|
|
|
|
|
|
|
|
and #$7F
|
2020-02-10 16:24:49 +00:00
|
|
|
|
cmp #C.ESC
|
2023-05-01 07:35:39 +00:00
|
|
|
|
bne .1
|
2021-07-24 20:42:23 +00:00
|
|
|
|
|
2020-02-10 16:24:49 +00:00
|
|
|
|
lda #3
|
2020-02-14 07:21:56 +00:00
|
|
|
|
|
2023-05-01 07:35:39 +00:00
|
|
|
|
.1 ldx #KeyMap.Cnt-1
|
2019-12-04 13:46:58 +00:00
|
|
|
|
|
2021-04-29 11:56:34 +00:00
|
|
|
|
.2 cmp KeyMap,x
|
2018-12-11 16:41:25 +00:00
|
|
|
|
beq .3
|
2019-12-04 13:46:58 +00:00
|
|
|
|
|
2021-07-24 20:42:23 +00:00
|
|
|
|
dex
|
2019-05-25 19:24:07 +00:00
|
|
|
|
bpl .2
|
2019-12-04 13:46:58 +00:00
|
|
|
|
|
2019-05-25 19:24:07 +00:00
|
|
|
|
cmp #C.CR
|
|
|
|
|
bne .21
|
|
|
|
|
|
2021-05-09 17:04:44 +00:00
|
|
|
|
jsr TERMX.COUT
|
2023-04-22 18:58:37 +00:00
|
|
|
|
ldy #S.DCB.TTY.bLNM
|
2019-05-25 19:24:07 +00:00
|
|
|
|
lda (ZPDCBPtr),y
|
|
|
|
|
bpl .7
|
2019-12-04 13:46:58 +00:00
|
|
|
|
|
2019-05-25 19:24:07 +00:00
|
|
|
|
lda #C.LF
|
2021-09-07 12:32:31 +00:00
|
|
|
|
|
2023-04-22 18:58:37 +00:00
|
|
|
|
.21 jsr TERMX.COUT no remap....send char....
|
2018-12-11 16:41:25 +00:00
|
|
|
|
bra .7 and flush
|
2019-12-04 13:46:58 +00:00
|
|
|
|
|
2023-04-22 18:58:37 +00:00
|
|
|
|
.3 jsr TERMX.ESCCSI
|
|
|
|
|
|
|
|
|
|
lda CsiCodes,x
|
2021-05-09 17:04:44 +00:00
|
|
|
|
jsr TERMX.COUT
|
2023-04-22 18:58:37 +00:00
|
|
|
|
|
2019-05-25 19:24:07 +00:00
|
|
|
|
bra .7
|
2021-07-24 20:42:23 +00:00
|
|
|
|
|
2018-12-15 20:34:55 +00:00
|
|
|
|
.6 ldy #S.DCB.TTY.OUTTAIL
|
2018-12-13 16:39:24 +00:00
|
|
|
|
lda (ZPDCBPtr),y
|
2019-10-11 20:05:54 +00:00
|
|
|
|
iny
|
|
|
|
|
cmp (ZPDCBPtr),y OUTHEAD
|
2018-12-11 16:41:25 +00:00
|
|
|
|
beq .9 no char in output buffer...
|
2019-12-04 13:46:58 +00:00
|
|
|
|
|
2018-12-11 16:41:25 +00:00
|
|
|
|
.7 stz .8+1
|
2020-01-10 15:58:47 +00:00
|
|
|
|
|
2021-03-15 20:45:22 +00:00
|
|
|
|
.70 inc ZPCnt
|
2018-12-11 16:41:25 +00:00
|
|
|
|
bne .71
|
2019-12-04 13:46:58 +00:00
|
|
|
|
|
2021-03-15 20:45:22 +00:00
|
|
|
|
inc ZPCnt+1
|
2018-12-11 16:41:25 +00:00
|
|
|
|
beq .8
|
2019-12-04 13:46:58 +00:00
|
|
|
|
|
2023-04-22 18:58:37 +00:00
|
|
|
|
.71 ldy #S.DCB.TTY.OUTTAIL
|
|
|
|
|
lda (ZPDCBPtr),y
|
|
|
|
|
iny OUTHEAD
|
|
|
|
|
cmp (ZPDCBPtr),y
|
|
|
|
|
beq .8
|
2019-12-04 13:46:58 +00:00
|
|
|
|
|
2023-04-22 18:58:37 +00:00
|
|
|
|
tay
|
|
|
|
|
lda (ZPDCBPtr),y
|
|
|
|
|
pha
|
|
|
|
|
tya
|
|
|
|
|
inc
|
|
|
|
|
cmp #S.DCB.TTY.OUTBUF.MAX
|
|
|
|
|
bne .72
|
|
|
|
|
|
|
|
|
|
lda #S.DCB.TTY.OUTBUF
|
|
|
|
|
|
|
|
|
|
.72 ldy #S.DCB.TTY.OUTTAIL
|
|
|
|
|
sta (ZPDCBPtr),y
|
|
|
|
|
pla
|
2023-04-29 11:47:59 +00:00
|
|
|
|
|
2018-12-11 16:41:25 +00:00
|
|
|
|
ldy .8+1
|
2020-01-11 17:13:27 +00:00
|
|
|
|
sta CLRWRITEAUX
|
2018-12-11 16:41:25 +00:00
|
|
|
|
sta (ZPBufPtr),y
|
2020-01-11 17:13:27 +00:00
|
|
|
|
sta SETWRITEAUX
|
2018-12-11 16:41:25 +00:00
|
|
|
|
iny
|
|
|
|
|
sty .8+1
|
|
|
|
|
bra .70
|
2019-12-04 13:46:58 +00:00
|
|
|
|
|
2018-12-11 16:41:25 +00:00
|
|
|
|
.8 lda #$ff SELF MODIFIED
|
2021-07-24 20:42:23 +00:00
|
|
|
|
|
2020-01-11 17:13:27 +00:00
|
|
|
|
sta CLRWRITEAUX
|
2021-07-24 20:42:23 +00:00
|
|
|
|
|
2018-12-11 16:41:25 +00:00
|
|
|
|
ldy #S.IOCTL.BYTECNT
|
|
|
|
|
sta (ZPIOCTL),y
|
|
|
|
|
iny
|
|
|
|
|
lda #0
|
|
|
|
|
sta (ZPIOCTL),y
|
|
|
|
|
clc
|
|
|
|
|
rts
|
2019-12-04 13:46:58 +00:00
|
|
|
|
|
2019-05-12 20:45:11 +00:00
|
|
|
|
.9 lda #E.NODATA
|
|
|
|
|
* sec
|
2018-12-11 16:41:25 +00:00
|
|
|
|
rts
|
|
|
|
|
*--------------------------------------
|
2020-02-06 16:23:59 +00:00
|
|
|
|
TERMX.WRITE jsr TERMX.CUROFF
|
2019-11-14 14:48:12 +00:00
|
|
|
|
|
2021-03-15 20:45:22 +00:00
|
|
|
|
.1 inc ZPCnt
|
2018-12-12 16:32:33 +00:00
|
|
|
|
bne .2
|
2019-11-14 14:48:12 +00:00
|
|
|
|
|
2021-03-15 20:45:22 +00:00
|
|
|
|
inc ZPCnt+1
|
2019-05-25 19:24:07 +00:00
|
|
|
|
beq .8
|
2019-11-14 14:48:12 +00:00
|
|
|
|
|
2021-05-04 17:31:21 +00:00
|
|
|
|
.2 ldy #S.DCB.TTY.M
|
2018-12-13 16:39:24 +00:00
|
|
|
|
lda (ZPDCBPtr),y
|
2018-12-12 16:32:33 +00:00
|
|
|
|
tax
|
|
|
|
|
jsr .3
|
2018-12-11 16:41:25 +00:00
|
|
|
|
|
2018-12-12 16:32:33 +00:00
|
|
|
|
inc ZPBufPtr
|
|
|
|
|
bne .1
|
2021-07-27 16:21:58 +00:00
|
|
|
|
|
2018-12-12 16:32:33 +00:00
|
|
|
|
inc ZPBufPtr+1
|
|
|
|
|
bra .1
|
2018-12-11 16:41:25 +00:00
|
|
|
|
|
2018-12-12 16:32:33 +00:00
|
|
|
|
.3 jmp (.4,x)
|
2018-12-17 07:02:03 +00:00
|
|
|
|
|
2023-04-22 18:58:37 +00:00
|
|
|
|
.4 .DA TERMX.CIN
|
2020-02-06 16:23:59 +00:00
|
|
|
|
.DA TERMX.ESC
|
|
|
|
|
.DA TERMX.CSI
|
|
|
|
|
.DA TERMX.IAC
|
|
|
|
|
.DA TERMX.G0
|
|
|
|
|
.DA TERMX.G1
|
2019-11-14 14:48:12 +00:00
|
|
|
|
|
2019-05-25 19:24:07 +00:00
|
|
|
|
.8 clc
|
|
|
|
|
rts
|
2018-12-11 16:41:25 +00:00
|
|
|
|
*--------------------------------------
|
2023-04-22 18:58:37 +00:00
|
|
|
|
TERMX.CIN jsr TERM.GetBufByte
|
2018-12-12 16:32:33 +00:00
|
|
|
|
|
|
|
|
|
cmp #IAC
|
2018-12-11 16:41:25 +00:00
|
|
|
|
bne .1
|
2019-11-14 14:48:12 +00:00
|
|
|
|
|
2021-05-04 17:31:21 +00:00
|
|
|
|
lda #S.DCB.TTY.M.IAC
|
2021-03-15 20:45:22 +00:00
|
|
|
|
jmp TERMX.SETM
|
2019-11-14 14:48:12 +00:00
|
|
|
|
|
2018-12-17 07:02:03 +00:00
|
|
|
|
.1 cmp #C.DEL
|
2023-04-22 18:58:37 +00:00
|
|
|
|
beq TERMX.DEL
|
2019-11-14 14:48:12 +00:00
|
|
|
|
|
2018-12-11 16:41:25 +00:00
|
|
|
|
cmp #C.SPACE
|
2018-12-17 14:24:39 +00:00
|
|
|
|
bcs .8
|
2019-11-14 14:48:12 +00:00
|
|
|
|
|
2018-12-17 14:24:39 +00:00
|
|
|
|
ldx #CtrlChars.Cnt-1
|
2018-12-11 16:41:25 +00:00
|
|
|
|
|
2018-12-17 14:24:39 +00:00
|
|
|
|
.2 cmp CtrlChars,x
|
|
|
|
|
beq .3
|
2019-11-14 14:48:12 +00:00
|
|
|
|
|
2018-12-17 14:24:39 +00:00
|
|
|
|
dex
|
|
|
|
|
bpl .2
|
2019-11-14 14:48:12 +00:00
|
|
|
|
|
2018-12-17 14:24:39 +00:00
|
|
|
|
clc
|
|
|
|
|
rts
|
2019-11-14 14:48:12 +00:00
|
|
|
|
|
2018-12-17 14:24:39 +00:00
|
|
|
|
.3 txa
|
|
|
|
|
asl
|
|
|
|
|
tax
|
|
|
|
|
jmp (.4,x)
|
|
|
|
|
|
2023-04-22 18:58:37 +00:00
|
|
|
|
.4 .DA TERMX.ENQ
|
|
|
|
|
.DA TERMX.BS
|
|
|
|
|
.DA TERMX.LF
|
|
|
|
|
.DA TERMX.FF
|
|
|
|
|
.DA TERMX.CR
|
|
|
|
|
.DA TERMX.SO
|
|
|
|
|
.DA TERMX.SI
|
|
|
|
|
.DA TERMX.SETM.ESC
|
2020-02-06 16:23:59 +00:00
|
|
|
|
*--------------------------------------
|
2019-05-12 20:45:11 +00:00
|
|
|
|
.8 jsr SetCharAtCurPos
|
2018-12-11 16:41:25 +00:00
|
|
|
|
*--------------------------------------
|
2023-04-29 11:47:59 +00:00
|
|
|
|
TERMX.FS ldy #S.DCB.TTY.bDECAWM
|
|
|
|
|
lda (ZPDCBPtr),y
|
|
|
|
|
asl
|
|
|
|
|
|
|
|
|
|
.HS 89 BIT IMM
|
|
|
|
|
|
|
|
|
|
TERMX.CUF clc
|
|
|
|
|
|
|
|
|
|
php
|
|
|
|
|
|
|
|
|
|
ldy #S.DCB.TTY.CH
|
2018-12-13 16:39:24 +00:00
|
|
|
|
lda (ZPDCBPtr),y
|
2019-05-29 15:21:14 +00:00
|
|
|
|
inc
|
|
|
|
|
sta (ZPDCBPtr),y
|
|
|
|
|
cmp #80
|
2023-04-29 11:47:59 +00:00
|
|
|
|
bcc .7
|
2018-12-11 16:41:25 +00:00
|
|
|
|
|
2023-04-29 11:47:59 +00:00
|
|
|
|
plp
|
|
|
|
|
bcc .8
|
2021-07-24 20:42:23 +00:00
|
|
|
|
|
2023-04-22 18:58:37 +00:00
|
|
|
|
jmp TERMX.NEL
|
2019-05-25 19:24:07 +00:00
|
|
|
|
|
2023-04-29 11:47:59 +00:00
|
|
|
|
.7 plp
|
2020-02-06 16:23:59 +00:00
|
|
|
|
|
2023-04-29 11:47:59 +00:00
|
|
|
|
.8 clc
|
2019-05-25 19:24:07 +00:00
|
|
|
|
rts
|
2023-04-29 11:47:59 +00:00
|
|
|
|
*--------------------------------------
|
|
|
|
|
TERMX.BS
|
|
|
|
|
TERMX.CUB ldy #S.DCB.TTY.CH
|
2019-05-25 19:24:07 +00:00
|
|
|
|
lda (ZPDCBPtr),y
|
2023-04-29 11:47:59 +00:00
|
|
|
|
beq TERMX.BS.8
|
2019-05-25 19:24:07 +00:00
|
|
|
|
|
|
|
|
|
dec
|
|
|
|
|
sta (ZPDCBPtr),y
|
|
|
|
|
|
2023-04-29 11:47:59 +00:00
|
|
|
|
TERMX.BS.8 clc
|
2018-12-11 16:41:25 +00:00
|
|
|
|
rts
|
|
|
|
|
*--------------------------------------
|
2023-04-22 18:58:37 +00:00
|
|
|
|
TERMX.DEL ldy #S.DCB.TTY.CH
|
2018-12-13 16:39:24 +00:00
|
|
|
|
lda (ZPDCBPtr),y
|
2018-12-11 16:41:25 +00:00
|
|
|
|
beq .1
|
2019-11-14 14:48:12 +00:00
|
|
|
|
|
2018-12-12 16:32:33 +00:00
|
|
|
|
dec
|
2018-12-13 16:39:24 +00:00
|
|
|
|
sta (ZPDCBPtr),y
|
2018-12-11 16:41:25 +00:00
|
|
|
|
bra .3
|
|
|
|
|
|
2019-12-04 13:46:58 +00:00
|
|
|
|
.1 ldy #S.DCB.TTY.CV
|
2018-12-13 16:39:24 +00:00
|
|
|
|
lda (ZPDCBPtr),y
|
2023-04-22 18:58:37 +00:00
|
|
|
|
beq TERMX.BS.8
|
2023-01-21 21:53:55 +00:00
|
|
|
|
|
2018-12-12 16:32:33 +00:00
|
|
|
|
dec
|
2018-12-13 16:39:24 +00:00
|
|
|
|
sta (ZPDCBPtr),y
|
2018-12-12 16:32:33 +00:00
|
|
|
|
|
2019-12-04 13:46:58 +00:00
|
|
|
|
ldy #S.DCB.TTY.CH
|
2018-12-11 16:41:25 +00:00
|
|
|
|
lda #79
|
2018-12-13 16:39:24 +00:00
|
|
|
|
sta (ZPDCBPtr),y S.DCB.TTY.CH
|
2023-04-22 18:58:37 +00:00
|
|
|
|
|
2019-11-14 14:48:12 +00:00
|
|
|
|
.3 lda #C.SPACE
|
2018-12-11 16:41:25 +00:00
|
|
|
|
jmp SetCharAtCurPos
|
|
|
|
|
*--------------------------------------
|
2023-04-22 18:58:37 +00:00
|
|
|
|
TERMX.CR lda #0
|
2018-12-17 14:24:39 +00:00
|
|
|
|
ldy #S.DCB.TTY.CH
|
|
|
|
|
sta (ZPDCBPtr),y
|
2018-12-11 16:41:25 +00:00
|
|
|
|
clc
|
|
|
|
|
rts
|
2018-12-17 07:02:03 +00:00
|
|
|
|
*--------------------------------------
|
2023-04-22 18:58:37 +00:00
|
|
|
|
TERMX.SO sec
|
2019-05-15 15:30:46 +00:00
|
|
|
|
.HS 90 BCC
|
|
|
|
|
*--------------------------------------
|
2023-04-22 18:58:37 +00:00
|
|
|
|
TERMX.SI clc
|
2019-05-15 15:30:46 +00:00
|
|
|
|
ldy #S.DCB.TTY.bG0G1
|
|
|
|
|
ror
|
|
|
|
|
sta (ZPDCBPtr),y
|
|
|
|
|
clc
|
|
|
|
|
rts
|
|
|
|
|
*--------------------------------------
|
2021-05-04 17:31:21 +00:00
|
|
|
|
TERMX.ESC jsr TERM.GetBufByte y = #S.DCB.TTY.M
|
2018-12-12 16:32:33 +00:00
|
|
|
|
|
2018-12-11 16:41:25 +00:00
|
|
|
|
ldx #EscCodes.Cnt-1
|
2023-04-22 18:58:37 +00:00
|
|
|
|
|
2018-12-11 16:41:25 +00:00
|
|
|
|
.2 cmp EscCodes,x
|
|
|
|
|
beq .3
|
2023-04-22 18:58:37 +00:00
|
|
|
|
|
2018-12-11 16:41:25 +00:00
|
|
|
|
dex
|
|
|
|
|
bpl .2
|
2019-12-04 13:46:58 +00:00
|
|
|
|
|
2023-04-22 18:58:37 +00:00
|
|
|
|
bra TERMX.SETM.0
|
2018-12-11 16:41:25 +00:00
|
|
|
|
|
2019-05-15 15:30:46 +00:00
|
|
|
|
.3 phx
|
|
|
|
|
jsr .4
|
|
|
|
|
plx
|
|
|
|
|
lda EscModes,x
|
2021-03-15 20:45:22 +00:00
|
|
|
|
bra TERMX.SETM
|
2019-12-04 13:46:58 +00:00
|
|
|
|
|
2019-05-15 15:30:46 +00:00
|
|
|
|
.4 txa
|
2018-12-11 16:41:25 +00:00
|
|
|
|
asl
|
|
|
|
|
tax
|
2019-05-15 15:30:46 +00:00
|
|
|
|
jmp (.5,x)
|
2019-12-04 13:46:58 +00:00
|
|
|
|
|
2023-04-22 18:58:37 +00:00
|
|
|
|
.5 .DA TERMX.DECSC 7
|
|
|
|
|
.DA TERMX.DECRC 8
|
|
|
|
|
.DA TERMX.IND D
|
|
|
|
|
.DA TERMX.NEL E
|
|
|
|
|
.DA TERMX.RI M
|
|
|
|
|
.DA TERMX.RIS c
|
2021-05-04 17:31:21 +00:00
|
|
|
|
.DA TERMX.RTS [
|
|
|
|
|
.DA TERMX.RTS (
|
|
|
|
|
.DA TERMX.RTS )
|
2021-07-24 20:42:23 +00:00
|
|
|
|
*--------------------------------------
|
2023-04-22 18:58:37 +00:00
|
|
|
|
TERMX.SETM.ESC lda #S.DCB.TTY.M.ESC
|
|
|
|
|
.HS 2C BIT ABS
|
|
|
|
|
TERMX.SETM.0 lda #0
|
2021-05-04 17:31:21 +00:00
|
|
|
|
TERMX.SETM ldy #S.DCB.TTY.M
|
2019-05-15 15:30:46 +00:00
|
|
|
|
sta (ZPDCBPtr),y
|
2021-04-29 11:56:34 +00:00
|
|
|
|
ldy #S.DCB.TTY.INBUF
|
2023-04-29 11:47:59 +00:00
|
|
|
|
tya
|
2019-05-15 15:30:46 +00:00
|
|
|
|
sta (ZPDCBPtr),y
|
2023-04-29 11:47:59 +00:00
|
|
|
|
|
|
|
|
|
TERMX.SETM.8 clc
|
2021-05-04 17:31:21 +00:00
|
|
|
|
rts
|
2018-12-11 16:41:25 +00:00
|
|
|
|
*--------------------------------------
|
2021-04-29 11:56:34 +00:00
|
|
|
|
TERMX.CSI ldy #S.DCB.TTY.INBUF
|
2018-12-13 16:39:24 +00:00
|
|
|
|
lda (ZPDCBPtr),y
|
|
|
|
|
inc
|
|
|
|
|
sta (ZPDCBPtr),y
|
|
|
|
|
tay
|
2021-07-24 20:42:23 +00:00
|
|
|
|
|
2020-02-06 16:23:59 +00:00
|
|
|
|
jsr TERM.GetBufByte
|
2021-07-24 20:42:23 +00:00
|
|
|
|
|
2018-12-13 16:39:24 +00:00
|
|
|
|
sta (ZPDCBPtr),y
|
2018-12-11 16:41:25 +00:00
|
|
|
|
cmp #64 End of Seq ?
|
2020-02-06 16:23:59 +00:00
|
|
|
|
bcs TERMX.CSI.Exec
|
2023-04-22 18:58:37 +00:00
|
|
|
|
|
2021-04-29 11:56:34 +00:00
|
|
|
|
cpy #S.DCB.TTY.INBUF.MAX-1 buffer full?
|
2023-04-29 11:47:59 +00:00
|
|
|
|
bne TERMX.SETM.8
|
2019-10-16 20:42:21 +00:00
|
|
|
|
|
2023-04-29 11:47:59 +00:00
|
|
|
|
jmp TERMX.SETM.0
|
2018-12-11 16:41:25 +00:00
|
|
|
|
|
2021-03-15 20:45:22 +00:00
|
|
|
|
TERMX.CSI.Exec stz CsiH
|
|
|
|
|
stz CsiPCnt
|
2019-10-11 20:05:54 +00:00
|
|
|
|
|
2021-04-29 11:56:34 +00:00
|
|
|
|
lda #S.DCB.TTY.INBUF+1 EscSeq Ptr
|
2019-07-12 14:51:57 +00:00
|
|
|
|
clc
|
|
|
|
|
adc ZPDCBPtr
|
|
|
|
|
sta ZPPtr2
|
2019-10-11 20:05:54 +00:00
|
|
|
|
|
2021-04-29 11:56:34 +00:00
|
|
|
|
lda /S.DCB.TTY.INBUF+1
|
2019-07-12 14:51:57 +00:00
|
|
|
|
adc ZPDCBPtr+1
|
|
|
|
|
sta ZPPtr2+1
|
2019-10-11 20:05:54 +00:00
|
|
|
|
|
2019-07-12 14:51:57 +00:00
|
|
|
|
lda (ZPPtr2)
|
2019-05-25 19:24:07 +00:00
|
|
|
|
cmp #'?'
|
2019-07-12 14:51:57 +00:00
|
|
|
|
bne .2
|
2019-05-25 19:24:07 +00:00
|
|
|
|
|
2021-03-15 20:45:22 +00:00
|
|
|
|
sta CsiH
|
2019-10-11 20:05:54 +00:00
|
|
|
|
|
2021-05-04 17:31:21 +00:00
|
|
|
|
.1 jsr SHARED.NextCP2
|
2019-07-28 20:39:30 +00:00
|
|
|
|
|
2021-04-29 11:56:34 +00:00
|
|
|
|
.2 jsr MATH.Dec2ACC32
|
2019-07-12 14:51:57 +00:00
|
|
|
|
bcs .5
|
2018-12-11 16:41:25 +00:00
|
|
|
|
|
2021-05-04 17:31:21 +00:00
|
|
|
|
jsr SHARED.AddY2P2
|
2018-12-11 16:41:25 +00:00
|
|
|
|
lda #255
|
2019-07-12 14:51:57 +00:00
|
|
|
|
ldx ACC32+1
|
|
|
|
|
bne .3
|
2018-12-11 16:41:25 +00:00
|
|
|
|
|
2019-07-12 14:51:57 +00:00
|
|
|
|
lda ACC32
|
|
|
|
|
|
2021-03-15 20:45:22 +00:00
|
|
|
|
.3 ldx CsiPCnt
|
|
|
|
|
sta CsiP,x
|
|
|
|
|
inc CsiPCnt
|
2018-12-11 16:41:25 +00:00
|
|
|
|
|
2019-07-12 14:51:57 +00:00
|
|
|
|
lda (ZPPtr2)
|
2018-12-11 16:41:25 +00:00
|
|
|
|
cmp #';'
|
2019-07-12 14:51:57 +00:00
|
|
|
|
beq .1
|
2018-12-11 16:41:25 +00:00
|
|
|
|
|
2023-04-29 11:47:59 +00:00
|
|
|
|
.5 jsr TERMX.SETM.0
|
2019-10-11 20:05:54 +00:00
|
|
|
|
|
2019-07-12 14:51:57 +00:00
|
|
|
|
lda (ZPPtr2)
|
2018-12-15 20:34:55 +00:00
|
|
|
|
ldx #CsiCodes.Cnt-1
|
2018-12-11 16:41:25 +00:00
|
|
|
|
|
2019-07-12 14:51:57 +00:00
|
|
|
|
.6 cmp CsiCodes,x
|
|
|
|
|
beq .7
|
2021-07-24 20:42:23 +00:00
|
|
|
|
|
2018-12-11 16:41:25 +00:00
|
|
|
|
dex
|
2019-10-16 20:42:21 +00:00
|
|
|
|
bpl .6
|
2021-07-24 20:42:23 +00:00
|
|
|
|
|
2018-12-11 16:41:25 +00:00
|
|
|
|
clc
|
|
|
|
|
rts
|
|
|
|
|
|
2019-07-12 14:51:57 +00:00
|
|
|
|
.7 txa
|
2018-12-11 16:41:25 +00:00
|
|
|
|
asl
|
|
|
|
|
tax
|
2018-12-15 20:34:55 +00:00
|
|
|
|
jmp (.8,x)
|
|
|
|
|
|
2023-04-22 18:58:37 +00:00
|
|
|
|
.8 .DA TERMX.CUx A
|
|
|
|
|
.DA TERMX.CUx B
|
|
|
|
|
.DA TERMX.CUx C
|
|
|
|
|
.DA TERMX.CUx D
|
|
|
|
|
.DA TERMX.CUP H
|
|
|
|
|
.DA TERMX.ED J
|
|
|
|
|
.DA TERMX.EL K
|
|
|
|
|
.DA TERMX.HVP f
|
|
|
|
|
.DA TERMX.SM h
|
|
|
|
|
.DA TERMX.RM l
|
|
|
|
|
.DA TERMX.SGR m
|
|
|
|
|
.DA TERMX.DSR n
|
|
|
|
|
.DA TERMX.DECSTBM r
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
* LNM : ESC [ 20
|
|
|
|
|
* DECAWM : ESC [ ? 7
|
2021-09-07 12:32:31 +00:00
|
|
|
|
* CUR : ESC [ ? 25
|
|
|
|
|
*--------------------------------------
|
2023-04-22 18:58:37 +00:00
|
|
|
|
TERMX.SM sec
|
2021-07-24 20:42:23 +00:00
|
|
|
|
.HS 90 BCC
|
2018-12-15 20:34:55 +00:00
|
|
|
|
*--------------------------------------
|
2023-04-22 18:58:37 +00:00
|
|
|
|
TERMX.RM clc
|
2019-05-25 19:24:07 +00:00
|
|
|
|
|
2021-03-15 20:45:22 +00:00
|
|
|
|
ldx CsiPCnt
|
2019-05-25 19:24:07 +00:00
|
|
|
|
beq .99
|
2021-07-24 20:42:23 +00:00
|
|
|
|
|
2018-12-15 20:34:55 +00:00
|
|
|
|
dex
|
2019-05-25 19:24:07 +00:00
|
|
|
|
bne .99
|
2021-07-24 20:42:23 +00:00
|
|
|
|
|
2021-03-15 20:45:22 +00:00
|
|
|
|
lda CsiP
|
2021-09-07 12:32:31 +00:00
|
|
|
|
ldx CsiH
|
2019-05-25 19:24:07 +00:00
|
|
|
|
php
|
|
|
|
|
bne .1
|
2019-10-11 20:05:54 +00:00
|
|
|
|
|
2023-04-22 18:58:37 +00:00
|
|
|
|
cmp #20 bLNM
|
2019-05-25 19:24:07 +00:00
|
|
|
|
bne .98
|
|
|
|
|
|
2023-04-22 18:58:37 +00:00
|
|
|
|
ldy #S.DCB.TTY.bLNM
|
2019-05-25 19:24:07 +00:00
|
|
|
|
bra .8
|
2021-09-07 12:32:31 +00:00
|
|
|
|
*--------------------------------------
|
|
|
|
|
.1 cpx #'?'
|
2019-05-25 19:24:07 +00:00
|
|
|
|
bne .98
|
|
|
|
|
|
2021-09-07 12:32:31 +00:00
|
|
|
|
cmp #7
|
|
|
|
|
bne .2
|
2019-10-11 20:05:54 +00:00
|
|
|
|
|
2023-04-22 18:58:37 +00:00
|
|
|
|
ldy #S.DCB.TTY.bDECAWM
|
2021-09-07 12:32:31 +00:00
|
|
|
|
bra .8
|
2023-05-16 16:53:52 +00:00
|
|
|
|
*--------------------------------------
|
|
|
|
|
.2 eor #25
|
2021-09-07 12:32:31 +00:00
|
|
|
|
bne .98
|
2019-10-11 20:05:54 +00:00
|
|
|
|
|
2021-09-07 12:32:31 +00:00
|
|
|
|
ldy #S.DCB.TTY.bCURON
|
|
|
|
|
plp
|
2023-04-29 11:47:59 +00:00
|
|
|
|
|
2023-05-16 16:53:52 +00:00
|
|
|
|
ror A = 0
|
2019-05-25 19:24:07 +00:00
|
|
|
|
sta (ZPDCBPtr),y
|
2023-05-16 16:53:52 +00:00
|
|
|
|
bmi .3 let it starts blinking..
|
2023-01-21 21:53:55 +00:00
|
|
|
|
|
2021-09-07 12:32:31 +00:00
|
|
|
|
jsr TERMX.CUROFF
|
2023-05-16 16:53:52 +00:00
|
|
|
|
|
|
|
|
|
.3 clc
|
2019-05-25 19:24:07 +00:00
|
|
|
|
rts
|
|
|
|
|
|
2021-09-07 12:32:31 +00:00
|
|
|
|
.8 plp
|
|
|
|
|
ror
|
|
|
|
|
sta (ZPDCBPtr),y
|
2023-01-21 21:53:55 +00:00
|
|
|
|
|
2023-05-16 16:53:52 +00:00
|
|
|
|
clc
|
2021-09-07 12:32:31 +00:00
|
|
|
|
rts
|
|
|
|
|
|
2019-10-03 06:25:27 +00:00
|
|
|
|
.98 plp
|
2019-05-25 19:24:07 +00:00
|
|
|
|
.99 clc
|
2018-12-15 20:34:55 +00:00
|
|
|
|
rts
|
2018-12-11 16:41:25 +00:00
|
|
|
|
*--------------------------------------
|
2023-04-29 11:47:59 +00:00
|
|
|
|
TERMX.SGR lda CsiPCnt
|
2023-01-21 21:53:55 +00:00
|
|
|
|
beq .10
|
2018-12-15 20:34:55 +00:00
|
|
|
|
|
2023-01-21 21:53:55 +00:00
|
|
|
|
ldx #0
|
2021-03-15 15:00:27 +00:00
|
|
|
|
|
2021-03-15 20:45:22 +00:00
|
|
|
|
.1 lda CsiP,x
|
2018-12-15 20:34:55 +00:00
|
|
|
|
bne .2
|
2021-03-15 15:00:27 +00:00
|
|
|
|
|
2023-01-21 21:53:55 +00:00
|
|
|
|
jsr .10
|
2018-12-15 20:34:55 +00:00
|
|
|
|
bra .7
|
|
|
|
|
|
2023-04-29 11:47:59 +00:00
|
|
|
|
.2 cmp #7
|
2019-05-12 20:45:11 +00:00
|
|
|
|
bne .7
|
2018-12-15 20:34:55 +00:00
|
|
|
|
|
2023-04-29 11:47:59 +00:00
|
|
|
|
jsr .11
|
2021-03-15 15:00:27 +00:00
|
|
|
|
|
|
|
|
|
.7 inx
|
2021-03-15 20:45:22 +00:00
|
|
|
|
dec CsiPCnt
|
2018-12-15 20:34:55 +00:00
|
|
|
|
bne .1
|
|
|
|
|
|
|
|
|
|
.8 clc
|
|
|
|
|
rts
|
2023-01-21 21:53:55 +00:00
|
|
|
|
|
2023-04-29 11:47:59 +00:00
|
|
|
|
.10 sec
|
|
|
|
|
.HS 90 BCC
|
|
|
|
|
.11 clc
|
|
|
|
|
|
|
|
|
|
lda #0
|
|
|
|
|
ror
|
2023-01-21 21:53:55 +00:00
|
|
|
|
ldy #S.DCB.TTY.bNORMAL
|
|
|
|
|
sta (ZPDCBPtr),y
|
2023-04-29 11:47:59 +00:00
|
|
|
|
|
2023-01-21 21:53:55 +00:00
|
|
|
|
rts
|
2018-12-15 20:34:55 +00:00
|
|
|
|
*--------------------------------------
|
2023-04-22 18:58:37 +00:00
|
|
|
|
TERMX.DSR ldx CsiPCnt
|
2018-12-15 20:34:55 +00:00
|
|
|
|
beq .8
|
2023-01-21 21:53:55 +00:00
|
|
|
|
|
2018-12-15 20:34:55 +00:00
|
|
|
|
dex
|
|
|
|
|
bne .8
|
|
|
|
|
|
2021-03-15 20:45:22 +00:00
|
|
|
|
lda CsiP
|
2018-12-15 20:34:55 +00:00
|
|
|
|
cmp #6
|
|
|
|
|
bne .8
|
2023-01-21 21:53:55 +00:00
|
|
|
|
|
2023-04-22 18:58:37 +00:00
|
|
|
|
jsr TERMX.ESCCSI
|
2018-12-15 20:34:55 +00:00
|
|
|
|
ldy #S.DCB.TTY.CV
|
|
|
|
|
lda (ZPDCBPtr),y
|
|
|
|
|
inc
|
2023-04-22 18:58:37 +00:00
|
|
|
|
jsr TERMX.10OUT
|
2018-12-15 20:34:55 +00:00
|
|
|
|
lda #';'
|
2021-05-09 17:04:44 +00:00
|
|
|
|
jsr TERMX.COUT
|
2021-07-24 20:42:23 +00:00
|
|
|
|
|
2018-12-15 20:34:55 +00:00
|
|
|
|
ldy #S.DCB.TTY.CH
|
|
|
|
|
lda (ZPDCBPtr),y
|
|
|
|
|
inc
|
2023-04-22 18:58:37 +00:00
|
|
|
|
jsr TERMX.10OUT
|
2018-12-15 20:34:55 +00:00
|
|
|
|
lda #'R'
|
2021-05-09 17:04:44 +00:00
|
|
|
|
jsr TERMX.COUT
|
2023-04-22 18:58:37 +00:00
|
|
|
|
|
2018-12-15 20:34:55 +00:00
|
|
|
|
.8 clc
|
|
|
|
|
rts
|
|
|
|
|
*--------------------------------------
|
2023-04-22 18:58:37 +00:00
|
|
|
|
TERMX.DECSTBM lda #0
|
2018-12-15 20:34:55 +00:00
|
|
|
|
ldx #23
|
2021-07-27 16:21:58 +00:00
|
|
|
|
|
2023-01-21 21:53:55 +00:00
|
|
|
|
ldy CsiPCnt
|
|
|
|
|
beq .8
|
|
|
|
|
|
|
|
|
|
cpy #2
|
2018-12-15 20:34:55 +00:00
|
|
|
|
bne .9
|
2021-07-27 16:21:58 +00:00
|
|
|
|
|
2023-01-21 21:53:55 +00:00
|
|
|
|
ldy CsiP
|
2023-04-22 18:58:37 +00:00
|
|
|
|
beq .9
|
2023-04-29 11:47:59 +00:00
|
|
|
|
|
2023-01-21 21:53:55 +00:00
|
|
|
|
dey
|
|
|
|
|
cpy #24
|
|
|
|
|
bcs .9
|
|
|
|
|
|
|
|
|
|
tya
|
|
|
|
|
|
|
|
|
|
ldy CsiP+1
|
2023-04-22 18:58:37 +00:00
|
|
|
|
beq .9
|
2023-04-29 11:47:59 +00:00
|
|
|
|
|
2023-01-21 21:53:55 +00:00
|
|
|
|
dey
|
|
|
|
|
cpy #24
|
|
|
|
|
bcs .9
|
|
|
|
|
|
|
|
|
|
phy
|
|
|
|
|
plx
|
2021-07-27 16:21:58 +00:00
|
|
|
|
|
2018-12-15 20:34:55 +00:00
|
|
|
|
.8 ldy #S.DCB.TTY.SCROLLTOP
|
|
|
|
|
sta (ZPDCBPtr),y
|
|
|
|
|
iny S.DCB.TTY.SCROLLBOT
|
|
|
|
|
txa
|
|
|
|
|
sta (ZPDCBPtr),y
|
2021-07-27 16:21:58 +00:00
|
|
|
|
|
2018-12-15 20:34:55 +00:00
|
|
|
|
.9 clc
|
|
|
|
|
rts
|
|
|
|
|
*--------------------------------------
|
2023-04-22 18:58:37 +00:00
|
|
|
|
TERMX.CUx ldy #1
|
2021-07-24 20:42:23 +00:00
|
|
|
|
|
2023-04-22 18:58:37 +00:00
|
|
|
|
lda CsiPCnt
|
|
|
|
|
beq .1
|
2021-07-24 20:42:23 +00:00
|
|
|
|
|
2021-03-15 20:45:22 +00:00
|
|
|
|
dec
|
|
|
|
|
bne .8
|
2021-07-24 20:42:23 +00:00
|
|
|
|
|
2023-04-22 18:58:37 +00:00
|
|
|
|
ldy CsiP
|
2021-03-15 15:00:27 +00:00
|
|
|
|
beq .8
|
2021-07-24 20:42:23 +00:00
|
|
|
|
|
2023-04-22 18:58:37 +00:00
|
|
|
|
.1 lda .80,x
|
2023-04-25 05:48:05 +00:00
|
|
|
|
sta .3+1
|
2023-04-22 18:58:37 +00:00
|
|
|
|
lda .80+1,x
|
2023-04-25 05:48:05 +00:00
|
|
|
|
sta .3+2
|
2019-05-14 16:04:16 +00:00
|
|
|
|
|
2023-04-25 05:48:05 +00:00
|
|
|
|
.2 phy
|
2021-03-15 15:00:27 +00:00
|
|
|
|
|
2023-04-25 05:48:05 +00:00
|
|
|
|
.3 jsr $FFFF SELF MODIFIED
|
2021-03-15 15:00:27 +00:00
|
|
|
|
|
2023-04-22 18:58:37 +00:00
|
|
|
|
ply
|
|
|
|
|
dey
|
2023-04-25 05:48:05 +00:00
|
|
|
|
bne .2
|
2019-05-14 16:04:16 +00:00
|
|
|
|
|
2023-04-22 18:58:37 +00:00
|
|
|
|
.8 clc
|
2019-05-14 16:04:16 +00:00
|
|
|
|
rts
|
2018-12-15 20:34:55 +00:00
|
|
|
|
|
2023-04-29 11:47:59 +00:00
|
|
|
|
.80 .DA TERMX.CUU
|
|
|
|
|
.DA TERMX.CUD
|
|
|
|
|
.DA TERMX.CUF
|
|
|
|
|
.DA TERMX.CUB
|
2018-12-15 20:34:55 +00:00
|
|
|
|
*--------------------------------------
|
2023-04-22 18:58:37 +00:00
|
|
|
|
TERMX.CUP
|
|
|
|
|
TERMX.HVP lda CsiPCnt
|
|
|
|
|
beq TERMX.HOME
|
2019-11-14 14:48:12 +00:00
|
|
|
|
|
2019-12-04 13:46:58 +00:00
|
|
|
|
ldx #1
|
2021-03-15 20:45:22 +00:00
|
|
|
|
lda CsiP
|
2018-12-15 20:34:55 +00:00
|
|
|
|
beq .2
|
2019-11-14 14:48:12 +00:00
|
|
|
|
|
2018-12-15 20:34:55 +00:00
|
|
|
|
ldx #24
|
|
|
|
|
cmp #24
|
|
|
|
|
bcs .2
|
2019-11-14 14:48:12 +00:00
|
|
|
|
|
2018-12-15 20:34:55 +00:00
|
|
|
|
tax
|
2019-11-14 14:48:12 +00:00
|
|
|
|
|
2018-12-15 20:34:55 +00:00
|
|
|
|
.2 dex
|
|
|
|
|
txa
|
|
|
|
|
ldy #S.DCB.TTY.CV
|
|
|
|
|
sta (ZPDCBPtr),y
|
2021-03-15 20:45:22 +00:00
|
|
|
|
dec CsiPCnt
|
2023-04-22 18:58:37 +00:00
|
|
|
|
beq .8
|
2019-11-14 14:48:12 +00:00
|
|
|
|
|
2018-12-15 20:34:55 +00:00
|
|
|
|
ldx #1
|
2021-03-15 20:45:22 +00:00
|
|
|
|
lda CsiP+1
|
2018-12-15 20:34:55 +00:00
|
|
|
|
beq .3
|
2019-11-14 14:48:12 +00:00
|
|
|
|
|
2018-12-15 20:34:55 +00:00
|
|
|
|
ldx #80
|
|
|
|
|
cmp #80
|
|
|
|
|
bcs .3
|
2019-11-14 14:48:12 +00:00
|
|
|
|
|
2018-12-15 20:34:55 +00:00
|
|
|
|
tax
|
2019-11-14 14:48:12 +00:00
|
|
|
|
|
2018-12-15 20:34:55 +00:00
|
|
|
|
.3 dex
|
|
|
|
|
txa
|
|
|
|
|
ldy #S.DCB.TTY.CH
|
|
|
|
|
sta (ZPDCBPtr),y
|
2019-11-14 14:48:12 +00:00
|
|
|
|
|
2023-04-22 18:58:37 +00:00
|
|
|
|
.8 clc
|
2018-12-15 20:34:55 +00:00
|
|
|
|
rts
|
2018-12-11 16:41:25 +00:00
|
|
|
|
*--------------------------------------
|
2023-04-22 18:58:37 +00:00
|
|
|
|
TERMX.HOME lda #0
|
2019-12-04 13:46:58 +00:00
|
|
|
|
ldy #S.DCB.TTY.CV
|
|
|
|
|
sta (ZPDCBPtr),y
|
|
|
|
|
|
|
|
|
|
ldy #S.DCB.TTY.CH
|
|
|
|
|
sta (ZPDCBPtr),y
|
2023-04-22 18:58:37 +00:00
|
|
|
|
|
2023-05-01 07:35:39 +00:00
|
|
|
|
clc
|
2019-12-04 13:46:58 +00:00
|
|
|
|
rts
|
2021-07-24 20:42:23 +00:00
|
|
|
|
*--------------------------------------
|
2020-02-06 16:23:59 +00:00
|
|
|
|
TERMX.G0 ldx #$80
|
2019-05-14 16:04:16 +00:00
|
|
|
|
.HS 2C BIT ABS
|
2020-02-06 16:23:59 +00:00
|
|
|
|
TERMX.G1 ldx #$40
|
2019-12-04 13:46:58 +00:00
|
|
|
|
|
|
|
|
|
ldy #S.DCB.TTY.bG0G1ALT
|
2019-05-12 20:45:11 +00:00
|
|
|
|
|
2020-02-06 16:23:59 +00:00
|
|
|
|
jsr TERM.GetBufByte
|
2019-05-14 16:04:16 +00:00
|
|
|
|
cmp #'0'
|
|
|
|
|
beq .1
|
2021-07-24 20:42:23 +00:00
|
|
|
|
|
2019-12-04 13:46:58 +00:00
|
|
|
|
txa
|
|
|
|
|
eor #$ff
|
|
|
|
|
and (ZPDCBPtr),y
|
|
|
|
|
bra .8
|
2021-07-24 20:42:23 +00:00
|
|
|
|
|
2019-12-04 13:46:58 +00:00
|
|
|
|
.1 txa
|
|
|
|
|
ora (ZPDCBPtr),y
|
|
|
|
|
.8 sta (ZPDCBPtr),y
|
|
|
|
|
|
2023-04-22 18:58:37 +00:00
|
|
|
|
jmp TERMX.SETM.0
|
2019-05-12 20:45:11 +00:00
|
|
|
|
*--------------------------------------
|
2023-04-22 18:58:37 +00:00
|
|
|
|
TERMX.RIS ldy #S.DCB.TTY.M
|
2021-09-07 12:32:31 +00:00
|
|
|
|
|
2021-05-04 17:31:21 +00:00
|
|
|
|
.1 lda RESET.VALUES-S.DCB.TTY.M,y
|
2018-12-15 20:34:55 +00:00
|
|
|
|
sta (ZPDCBPtr),y
|
2019-07-12 14:51:57 +00:00
|
|
|
|
iny
|
2021-04-29 11:56:34 +00:00
|
|
|
|
cpy #S.DCB.TTY.INBUF+1
|
2018-12-17 07:02:03 +00:00
|
|
|
|
bne .1
|
2021-09-07 12:32:31 +00:00
|
|
|
|
|
2023-04-29 11:47:59 +00:00
|
|
|
|
jmp TERMX.ED2 Erase Screen
|
2018-12-11 16:41:25 +00:00
|
|
|
|
*--------------------------------------
|
2023-04-22 18:58:37 +00:00
|
|
|
|
TERMX.ENQ ldx #0
|
2018-12-11 16:41:25 +00:00
|
|
|
|
|
2023-04-22 18:58:37 +00:00
|
|
|
|
.1 lda TERMX.ENQ.REP,x
|
2019-05-15 15:30:46 +00:00
|
|
|
|
|
2021-05-09 17:04:44 +00:00
|
|
|
|
jsr TERMX.COUT
|
2018-12-15 20:34:55 +00:00
|
|
|
|
inx
|
2023-04-22 18:58:37 +00:00
|
|
|
|
cpx #TERMX.ENQ.REP.L
|
2018-12-11 16:41:25 +00:00
|
|
|
|
bne .1
|
2021-09-07 12:32:31 +00:00
|
|
|
|
|
2018-12-11 16:41:25 +00:00
|
|
|
|
.8 clc
|
|
|
|
|
rts
|
|
|
|
|
*--------------------------------------
|
2023-04-22 18:58:37 +00:00
|
|
|
|
TERMX.LF ldy #S.DCB.TTY.bLNM
|
2018-12-13 16:39:24 +00:00
|
|
|
|
lda (ZPDCBPtr),y
|
2023-04-22 18:58:37 +00:00
|
|
|
|
bpl TERMX.IND
|
2021-03-15 20:45:22 +00:00
|
|
|
|
|
2023-04-22 18:58:37 +00:00
|
|
|
|
TERMX.NEL jsr TERMX.CR
|
2020-02-06 16:23:59 +00:00
|
|
|
|
|
2023-04-29 11:47:59 +00:00
|
|
|
|
TERMX.IND sec scroll
|
|
|
|
|
.HS 90 BCC
|
|
|
|
|
TERMX.CUD clc no scroll
|
|
|
|
|
|
|
|
|
|
php
|
|
|
|
|
ldy #S.DCB.TTY.CV
|
2018-12-13 16:39:24 +00:00
|
|
|
|
lda (ZPDCBPtr),y
|
|
|
|
|
ldy #S.DCB.TTY.SCROLLBOT
|
|
|
|
|
cmp (ZPDCBPtr),y
|
2023-04-22 18:58:37 +00:00
|
|
|
|
bcs .1
|
2021-03-15 20:45:22 +00:00
|
|
|
|
|
2018-12-12 16:32:33 +00:00
|
|
|
|
inc
|
2018-12-13 16:39:24 +00:00
|
|
|
|
ldy #S.DCB.TTY.CV
|
|
|
|
|
sta (ZPDCBPtr),y
|
2023-04-22 18:58:37 +00:00
|
|
|
|
|
2023-04-29 11:47:59 +00:00
|
|
|
|
plp
|
|
|
|
|
|
|
|
|
|
.8 clc
|
2018-12-12 16:32:33 +00:00
|
|
|
|
rts
|
2023-04-22 18:58:37 +00:00
|
|
|
|
|
2023-04-29 11:47:59 +00:00
|
|
|
|
.1 plp
|
|
|
|
|
bcc .8
|
|
|
|
|
|
|
|
|
|
ldy #S.DCB.TTY.SCROLLTOP
|
2023-04-22 18:58:37 +00:00
|
|
|
|
lda (ZPDCBPtr),y
|
|
|
|
|
|
|
|
|
|
tax
|
|
|
|
|
|
|
|
|
|
.2 jsr TERMX.SETUP.L1X
|
|
|
|
|
|
|
|
|
|
inx
|
|
|
|
|
jsr TERMX.COPY.XtoL1
|
|
|
|
|
|
|
|
|
|
txa
|
|
|
|
|
ldy #S.DCB.TTY.SCROLLBOT
|
|
|
|
|
cmp (ZPDCBPtr),y
|
|
|
|
|
bne .2
|
|
|
|
|
|
|
|
|
|
bra TERMX.EL2
|
2018-12-12 16:32:33 +00:00
|
|
|
|
*--------------------------------------
|
2023-04-22 18:58:37 +00:00
|
|
|
|
TERMX.EL ldx CsiPCnt
|
|
|
|
|
beq TERMX.EL0 Erase EOL
|
|
|
|
|
|
|
|
|
|
lda CsiP
|
2023-05-01 07:35:39 +00:00
|
|
|
|
beq TERMX.EL0 0:Erase EOL
|
2023-04-29 11:47:59 +00:00
|
|
|
|
|
2023-05-01 07:35:39 +00:00
|
|
|
|
dec
|
|
|
|
|
beq TERMX.EL1 1:Erase SOL
|
2023-04-22 18:58:37 +00:00
|
|
|
|
|
2023-05-01 07:35:39 +00:00
|
|
|
|
dec 2:Erase Line
|
2023-04-22 18:58:37 +00:00
|
|
|
|
beq TERMX.EL2
|
2023-04-29 11:47:59 +00:00
|
|
|
|
|
2023-04-22 18:58:37 +00:00
|
|
|
|
TERMX.EL.8 clc
|
|
|
|
|
rts
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
TERMX.EL1 ldy #S.DCB.TTY.CH End
|
2018-12-13 16:39:24 +00:00
|
|
|
|
lda (ZPDCBPtr),y
|
2019-11-14 14:48:12 +00:00
|
|
|
|
cmp #80
|
2023-04-22 18:58:37 +00:00
|
|
|
|
bcc TERMX.EL2.1
|
2018-12-12 16:32:33 +00:00
|
|
|
|
|
2023-04-22 18:58:37 +00:00
|
|
|
|
TERMX.EL2 lda #80 End
|
2018-12-11 16:41:25 +00:00
|
|
|
|
|
2023-04-22 18:58:37 +00:00
|
|
|
|
TERMX.EL2.1 ldy #0 Start
|
|
|
|
|
bra TERMX.EL0.1
|
2019-01-16 14:37:21 +00:00
|
|
|
|
|
2023-04-22 18:58:37 +00:00
|
|
|
|
TERMX.EL0 ldy #S.DCB.TTY.CH
|
2019-01-16 14:37:21 +00:00
|
|
|
|
lda (ZPDCBPtr),y
|
|
|
|
|
tay Start
|
2019-11-14 14:48:12 +00:00
|
|
|
|
cpy #80
|
2023-04-22 18:58:37 +00:00
|
|
|
|
bcs TERMX.EL.8
|
2019-11-14 14:48:12 +00:00
|
|
|
|
|
|
|
|
|
lda #80 End
|
|
|
|
|
|
2023-04-22 18:58:37 +00:00
|
|
|
|
TERMX.EL0.1 sty .1+1 Save Start
|
2019-11-14 14:48:12 +00:00
|
|
|
|
sta .2+1 Save End
|
2018-12-11 16:41:25 +00:00
|
|
|
|
|
2018-12-13 16:39:24 +00:00
|
|
|
|
ldy #S.DCB.TTY.CV
|
|
|
|
|
lda (ZPDCBPtr),y
|
2018-12-12 16:32:33 +00:00
|
|
|
|
tax
|
2019-05-29 15:21:14 +00:00
|
|
|
|
|
2019-11-14 14:48:12 +00:00
|
|
|
|
.1 ldy #$ff SELF MODIFIED
|
|
|
|
|
.2 cpy #$ff SELF MODIFIED
|
2023-04-22 18:58:37 +00:00
|
|
|
|
bcs TERMX.EL.8
|
2019-11-14 14:48:12 +00:00
|
|
|
|
|
2018-12-12 16:32:33 +00:00
|
|
|
|
lda #" "
|
2018-12-11 16:41:25 +00:00
|
|
|
|
jsr SetCharAtYX X unmodified
|
2019-11-14 14:48:12 +00:00
|
|
|
|
|
|
|
|
|
inc .1+1
|
2019-05-29 15:21:14 +00:00
|
|
|
|
bra .1
|
2018-12-11 16:41:25 +00:00
|
|
|
|
*--------------------------------------
|
2023-04-22 18:58:37 +00:00
|
|
|
|
TERMX.DECSC ldy #S.DCB.TTY.CH
|
2019-12-14 18:44:01 +00:00
|
|
|
|
|
|
|
|
|
jsr .1
|
2021-07-24 20:42:23 +00:00
|
|
|
|
|
2019-12-04 13:46:58 +00:00
|
|
|
|
iny
|
2021-07-24 20:42:23 +00:00
|
|
|
|
|
2019-12-14 18:44:01 +00:00
|
|
|
|
.1 lda (ZPDCBPtr),y
|
2019-12-04 13:46:58 +00:00
|
|
|
|
iny
|
|
|
|
|
sta (ZPDCBPtr),y
|
|
|
|
|
rts
|
|
|
|
|
*--------------------------------------
|
2023-04-22 18:58:37 +00:00
|
|
|
|
TERMX.DECRC jsr TERMX.CUROFF
|
2021-07-24 20:42:23 +00:00
|
|
|
|
|
2019-12-04 13:46:58 +00:00
|
|
|
|
ldy #S.DCB.TTY.CV.SAVE
|
2021-07-24 20:42:23 +00:00
|
|
|
|
|
2019-12-14 18:44:01 +00:00
|
|
|
|
jsr .1
|
2021-07-24 20:42:23 +00:00
|
|
|
|
|
2019-12-04 13:46:58 +00:00
|
|
|
|
dey
|
2019-12-14 18:44:01 +00:00
|
|
|
|
|
|
|
|
|
.1 lda (ZPDCBPtr),y
|
2019-12-04 13:46:58 +00:00
|
|
|
|
dey
|
|
|
|
|
sta (ZPDCBPtr),y
|
|
|
|
|
rts
|
|
|
|
|
*--------------------------------------
|
2023-04-29 11:47:59 +00:00
|
|
|
|
TERMX.RI sec scroll
|
|
|
|
|
.HS 90 BCC
|
|
|
|
|
TERMX.CUU clc no scroll
|
|
|
|
|
php
|
|
|
|
|
|
|
|
|
|
ldy #S.DCB.TTY.SCROLLTOP
|
2019-11-14 14:48:12 +00:00
|
|
|
|
lda (ZPDCBPtr),y
|
|
|
|
|
|
2023-04-22 18:58:37 +00:00
|
|
|
|
ldy #S.DCB.TTY.CV
|
2019-11-14 14:48:12 +00:00
|
|
|
|
cmp (ZPDCBPtr),y
|
2023-04-22 18:58:37 +00:00
|
|
|
|
bcs .1
|
2021-09-07 12:32:31 +00:00
|
|
|
|
|
2023-04-22 18:58:37 +00:00
|
|
|
|
lda (ZPDCBPtr),y
|
|
|
|
|
dec
|
|
|
|
|
sta (ZPDCBPtr),y
|
2023-04-29 11:47:59 +00:00
|
|
|
|
|
|
|
|
|
plp
|
|
|
|
|
|
|
|
|
|
.8 clc
|
2023-04-22 18:58:37 +00:00
|
|
|
|
rts
|
|
|
|
|
|
2023-04-29 11:47:59 +00:00
|
|
|
|
.1 plp
|
|
|
|
|
bcc .8
|
|
|
|
|
|
|
|
|
|
ldy #S.DCB.TTY.SCROLLBOT
|
2018-12-13 16:39:24 +00:00
|
|
|
|
lda (ZPDCBPtr),y
|
2018-12-11 16:41:25 +00:00
|
|
|
|
|
2018-12-12 16:32:33 +00:00
|
|
|
|
tax
|
2019-11-14 14:48:12 +00:00
|
|
|
|
|
2023-04-22 18:58:37 +00:00
|
|
|
|
.2 jsr TERMX.SETUP.L1X
|
2018-12-11 16:41:25 +00:00
|
|
|
|
|
|
|
|
|
dex
|
2020-02-06 16:23:59 +00:00
|
|
|
|
jsr TERMX.COPY.XtoL1
|
2018-12-11 16:41:25 +00:00
|
|
|
|
|
2018-12-12 16:32:33 +00:00
|
|
|
|
txa
|
2018-12-13 16:39:24 +00:00
|
|
|
|
ldy #S.DCB.TTY.SCROLLTOP
|
|
|
|
|
cmp (ZPDCBPtr),y
|
2023-04-22 18:58:37 +00:00
|
|
|
|
bne .2
|
2018-12-11 16:41:25 +00:00
|
|
|
|
|
2023-04-22 18:58:37 +00:00
|
|
|
|
bra TERMX.EL2
|
2018-12-11 16:41:25 +00:00
|
|
|
|
*--------------------------------------
|
2021-09-07 12:32:31 +00:00
|
|
|
|
TERMX.CBLNK jsr TERMX.CCheck
|
|
|
|
|
bcs TERMX.RTS
|
2019-11-14 14:48:12 +00:00
|
|
|
|
|
2023-05-16 16:53:52 +00:00
|
|
|
|
* ldy #S.DCB.TTY.bCURON
|
|
|
|
|
|
2020-01-11 17:13:27 +00:00
|
|
|
|
lda DevMgr.Timer
|
2023-04-22 18:58:37 +00:00
|
|
|
|
and #CURBLNK.SPEED
|
2019-02-23 22:01:58 +00:00
|
|
|
|
eor (ZPDCBPtr),y
|
2021-09-07 12:32:31 +00:00
|
|
|
|
asl
|
|
|
|
|
beq TERMX.RTS
|
2019-02-23 22:01:58 +00:00
|
|
|
|
|
|
|
|
|
lda (ZPDCBPtr),y
|
2023-04-22 18:58:37 +00:00
|
|
|
|
eor #CURBLNK.SPEED
|
2021-09-07 12:32:31 +00:00
|
|
|
|
sta (ZPDCBPtr),y
|
|
|
|
|
asl
|
|
|
|
|
beq TERMX.CUROFF.1
|
2023-01-21 21:53:55 +00:00
|
|
|
|
|
2023-05-16 16:53:52 +00:00
|
|
|
|
TERMX.CURON jsr GetCharAtCurPos
|
2021-05-04 17:31:21 +00:00
|
|
|
|
bcs TERMX.RTS Out of screen
|
2019-06-02 08:58:46 +00:00
|
|
|
|
|
2018-12-11 16:41:25 +00:00
|
|
|
|
and #$80
|
|
|
|
|
eor #" "
|
2021-09-07 12:32:31 +00:00
|
|
|
|
jmp SetCharAtY.SCR
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
TERMX.CUROFF jsr TERMX.CCheck
|
|
|
|
|
bcs TERMX.RTS
|
2019-11-14 14:48:12 +00:00
|
|
|
|
|
2021-09-07 12:32:31 +00:00
|
|
|
|
TERMX.CUROFF.1 jsr GetCharAtCurPos
|
|
|
|
|
bcs TERMX.RTS Out of screen
|
2021-07-24 20:42:23 +00:00
|
|
|
|
|
2021-09-07 12:32:31 +00:00
|
|
|
|
jmp SetCharAtY.SCR
|
2018-12-11 16:41:25 +00:00
|
|
|
|
*--------------------------------------
|
2021-09-07 12:32:31 +00:00
|
|
|
|
TERMX.CCheck sec
|
2023-01-21 21:53:55 +00:00
|
|
|
|
|
2021-09-07 12:32:31 +00:00
|
|
|
|
bit bActive
|
|
|
|
|
bpl .9
|
|
|
|
|
|
|
|
|
|
ldy #S.DCB.TTY.bCURON
|
|
|
|
|
lda (ZPDCBPtr),y
|
|
|
|
|
bpl .9
|
2023-01-21 21:53:55 +00:00
|
|
|
|
|
2021-09-07 12:32:31 +00:00
|
|
|
|
clc
|
2023-01-21 21:53:55 +00:00
|
|
|
|
|
|
|
|
|
.9
|
|
|
|
|
|
|
|
|
|
TERMX.RTS rts
|
2021-09-07 12:32:31 +00:00
|
|
|
|
*--------------------------------------
|
2023-04-22 18:58:37 +00:00
|
|
|
|
TERMX.10OUT jsr MATH.A2STR10NP
|
2018-12-11 16:41:25 +00:00
|
|
|
|
|
2019-06-24 15:32:22 +00:00
|
|
|
|
ldx #0
|
2021-09-07 12:32:31 +00:00
|
|
|
|
|
2021-05-04 17:31:21 +00:00
|
|
|
|
.1 lda FOUTBuf,x
|
|
|
|
|
beq TERMX.RTS
|
2021-09-07 12:32:31 +00:00
|
|
|
|
|
2019-06-24 15:32:22 +00:00
|
|
|
|
inx
|
2021-05-09 17:04:44 +00:00
|
|
|
|
jsr TERMX.COUT
|
2019-06-24 15:32:22 +00:00
|
|
|
|
bra .1
|
2018-12-11 16:41:25 +00:00
|
|
|
|
*--------------------------------------
|
2023-04-22 18:58:37 +00:00
|
|
|
|
TERMX.ESCCSI lda #C.ESC
|
|
|
|
|
jsr TERMX.COUT
|
|
|
|
|
lda #'['
|
|
|
|
|
*--------------------------------------
|
2021-05-09 17:04:44 +00:00
|
|
|
|
TERMX.COUT pha save char
|
2018-12-13 16:39:24 +00:00
|
|
|
|
|
|
|
|
|
ldy #S.DCB.TTY.OUTHEAD
|
|
|
|
|
lda (ZPDCBPtr),y
|
2018-12-15 20:34:55 +00:00
|
|
|
|
pha save actual HEAD
|
2018-12-13 16:39:24 +00:00
|
|
|
|
inc
|
2021-04-29 11:56:34 +00:00
|
|
|
|
cmp #S.DCB.TTY.OUTBUF.MAX
|
2018-12-13 16:39:24 +00:00
|
|
|
|
bne .1
|
2021-09-07 12:32:31 +00:00
|
|
|
|
|
2021-04-29 11:56:34 +00:00
|
|
|
|
lda #S.DCB.TTY.OUTBUF
|
2018-12-13 16:39:24 +00:00
|
|
|
|
|
2018-12-15 20:34:55 +00:00
|
|
|
|
.1 dey OUTTAIL
|
|
|
|
|
cmp (ZPDCBPtr),y HEAD+1 = TAIL ?
|
2018-12-13 16:39:24 +00:00
|
|
|
|
beq .9 CS, full!
|
2021-09-07 12:32:31 +00:00
|
|
|
|
|
2018-12-13 16:39:24 +00:00
|
|
|
|
iny
|
|
|
|
|
sta (ZPDCBPtr),y new head
|
|
|
|
|
ply old head
|
|
|
|
|
pla
|
|
|
|
|
sta (ZPDCBPtr),y
|
2018-12-11 16:41:25 +00:00
|
|
|
|
clc
|
2018-12-13 16:39:24 +00:00
|
|
|
|
rts
|
2021-09-07 12:32:31 +00:00
|
|
|
|
|
2018-12-13 16:39:24 +00:00
|
|
|
|
.9 pla
|
2018-12-11 16:41:25 +00:00
|
|
|
|
pla
|
|
|
|
|
rts
|
|
|
|
|
*--------------------------------------
|
2023-04-22 18:58:37 +00:00
|
|
|
|
TERMX.ED ldx CsiPCnt
|
|
|
|
|
beq TERMX.ED0
|
2023-04-29 11:47:59 +00:00
|
|
|
|
|
2023-04-22 18:58:37 +00:00
|
|
|
|
.1 lda CsiP
|
2023-05-01 07:35:39 +00:00
|
|
|
|
beq TERMX.ED0 0...
|
2021-09-07 12:32:31 +00:00
|
|
|
|
|
2023-05-01 07:35:39 +00:00
|
|
|
|
dec 1 ?
|
2023-04-22 18:58:37 +00:00
|
|
|
|
beq TERMX.ED1
|
2021-09-07 12:32:31 +00:00
|
|
|
|
|
2023-05-01 07:35:39 +00:00
|
|
|
|
.2 dec 2 ?
|
2023-04-22 18:58:37 +00:00
|
|
|
|
beq TERMX.ED2
|
2018-12-13 16:39:24 +00:00
|
|
|
|
|
2023-05-01 07:35:39 +00:00
|
|
|
|
TERMX.ED.8 clc
|
2019-07-12 14:51:57 +00:00
|
|
|
|
rts
|
|
|
|
|
*--------------------------------------
|
2023-04-29 11:47:59 +00:00
|
|
|
|
TERMX.ED0 ldy #S.DCB.TTY.CV Erase Cursor -> Bottom
|
2020-01-10 15:58:47 +00:00
|
|
|
|
sta (ZPDCBPtr),y
|
|
|
|
|
tax
|
2023-04-29 11:47:59 +00:00
|
|
|
|
bra TERMX.ED.1
|
2020-02-06 16:23:59 +00:00
|
|
|
|
|
2023-04-29 11:47:59 +00:00
|
|
|
|
TERMX.ED1 ldx #0 Erase Top -> Cursor
|
2020-01-10 15:58:47 +00:00
|
|
|
|
ldy #S.DCB.TTY.CV
|
|
|
|
|
sta (ZPDCBPtr),y
|
|
|
|
|
tay
|
2023-04-29 11:47:59 +00:00
|
|
|
|
bra TERMX.ED.2
|
2023-04-22 18:58:37 +00:00
|
|
|
|
|
|
|
|
|
TERMX.FF jsr TERMX.HOME
|
2020-02-06 16:23:59 +00:00
|
|
|
|
|
2023-04-29 11:47:59 +00:00
|
|
|
|
TERMX.ED2 ldx #0 Erase Screen
|
2020-01-10 15:58:47 +00:00
|
|
|
|
|
2023-04-29 11:47:59 +00:00
|
|
|
|
TERMX.ED.1 ldy #24
|
2020-01-10 15:58:47 +00:00
|
|
|
|
|
2023-04-29 11:47:59 +00:00
|
|
|
|
TERMX.ED.2 sty .1+1
|
2020-01-10 15:58:47 +00:00
|
|
|
|
|
|
|
|
|
.1 cpx #$ff SELF MODIFIED
|
|
|
|
|
beq .9
|
2021-09-07 12:32:31 +00:00
|
|
|
|
|
2020-02-06 16:23:59 +00:00
|
|
|
|
jsr TERMX.SETUP.L1X
|
2020-01-10 15:58:47 +00:00
|
|
|
|
lda #" "
|
|
|
|
|
|
|
|
|
|
bit bActive
|
|
|
|
|
bpl .4
|
2021-07-24 20:42:23 +00:00
|
|
|
|
|
2020-01-10 15:58:47 +00:00
|
|
|
|
sta SETPAGE2
|
|
|
|
|
jsr .7
|
|
|
|
|
|
|
|
|
|
sta CLRPAGE2
|
|
|
|
|
jsr .7
|
|
|
|
|
|
|
|
|
|
.4 ldy #79
|
2021-07-24 20:42:23 +00:00
|
|
|
|
|
2021-03-15 20:45:22 +00:00
|
|
|
|
.5 sta (ZPBufBL1),y
|
2020-01-10 15:58:47 +00:00
|
|
|
|
dey
|
|
|
|
|
bpl .5
|
|
|
|
|
|
|
|
|
|
inx
|
|
|
|
|
bra .1
|
2020-07-05 08:58:35 +00:00
|
|
|
|
|
2020-01-10 15:58:47 +00:00
|
|
|
|
.7 ldy #39
|
2021-09-07 12:32:31 +00:00
|
|
|
|
|
2021-03-15 20:45:22 +00:00
|
|
|
|
.8 sta (ZPScrBL1),y
|
2020-01-10 15:58:47 +00:00
|
|
|
|
dey
|
2021-07-24 20:42:23 +00:00
|
|
|
|
bpl .8
|
2021-09-07 12:32:31 +00:00
|
|
|
|
|
2020-01-10 15:58:47 +00:00
|
|
|
|
.9 rts
|
|
|
|
|
*--------------------------------------
|
2023-05-01 07:35:39 +00:00
|
|
|
|
TERMX.IAC ldy #S.DCB.TTY.INBUF
|
|
|
|
|
lda (ZPDCBPtr),y
|
|
|
|
|
inc
|
|
|
|
|
sta (ZPDCBPtr),y
|
|
|
|
|
tay
|
|
|
|
|
|
|
|
|
|
jsr TERM.GetBufByte
|
|
|
|
|
|
|
|
|
|
sta (ZPDCBPtr),y
|
|
|
|
|
cpy #S.DCB.TTY.INBUF+1 CMD ?
|
|
|
|
|
beq TERMX.ED.8 yes, wait for additional bytes
|
|
|
|
|
|
|
|
|
|
ldy #S.DCB.TTY.INBUF+1
|
|
|
|
|
lda (ZPDCBPtr),y get back CMD
|
|
|
|
|
cmp #SB
|
|
|
|
|
bne .1 not a SB/SE....stop with CMD/SUBCMD
|
|
|
|
|
|
|
|
|
|
jsr TERM.GetBufByte
|
|
|
|
|
|
|
|
|
|
cmp #SE
|
|
|
|
|
bne TERMX.ED.8 wait for ending SE....keep bIACMode
|
|
|
|
|
|
|
|
|
|
bra TERMX.IAC.SB
|
|
|
|
|
|
|
|
|
|
ldy #S.DCB.TTY.INBUF+1
|
|
|
|
|
lda (ZPDCBPtr),y get back CMD
|
|
|
|
|
|
|
|
|
|
.1 cmp #IAC
|
|
|
|
|
beq TERMX.IAC.SB.9
|
|
|
|
|
|
|
|
|
|
sec
|
|
|
|
|
sbc #WILL
|
|
|
|
|
bcc TERMX.IAC.SB.9
|
|
|
|
|
|
|
|
|
|
asl
|
|
|
|
|
tax
|
|
|
|
|
|
|
|
|
|
ldy #S.DCB.TTY.INBUF+2
|
|
|
|
|
lda (ZPDCBPtr),y Get SUBCMD in A
|
|
|
|
|
|
|
|
|
|
jmp (.8,x)
|
|
|
|
|
|
|
|
|
|
.8 .DA TERMX.IAC.RWILL
|
|
|
|
|
.DA TERMX.IAC.RWONT
|
|
|
|
|
.DA TERMX.IAC.RDO
|
|
|
|
|
.DA TERMX.IAC.RDONT
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
TERMX.IAC.SB ldy #S.DCB.TTY.INBUF+2
|
|
|
|
|
lda (ZPDCBPtr),y Get SUBCMD in A
|
|
|
|
|
|
|
|
|
|
cmp #TN.O.TTYPE
|
|
|
|
|
bne TERMX.IAC.SB.9
|
|
|
|
|
|
|
|
|
|
iny
|
2020-01-11 17:13:27 +00:00
|
|
|
|
lda (ZPDCBPtr),y
|
2023-05-01 07:35:39 +00:00
|
|
|
|
cmp #SB.SEND
|
|
|
|
|
bne TERMX.IAC.SB.9
|
|
|
|
|
|
|
|
|
|
ldx #0
|
2020-01-11 17:13:27 +00:00
|
|
|
|
|
2023-05-01 07:35:39 +00:00
|
|
|
|
.1 lda SB.IS.TTYPE,x
|
|
|
|
|
jsr TERMX.COUT
|
|
|
|
|
inx
|
|
|
|
|
cpx #SB.IS.TTYPE.LEN
|
|
|
|
|
bne .1
|
|
|
|
|
|
|
|
|
|
TERMX.IAC.SB.9 jmp TERMX.SETM.0
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
TERMX.IAC.RWILL cmp #TN.O.ECHO
|
|
|
|
|
* beq TERMX.IAC.SDO
|
|
|
|
|
beq TERMX.IAC.SB.9
|
|
|
|
|
|
|
|
|
|
ldx #TERMX.IAC1.L-1
|
|
|
|
|
|
|
|
|
|
.1 cmp TERMX.IAC1,x
|
|
|
|
|
beq TERMX.IAC.SB.9
|
|
|
|
|
|
|
|
|
|
dex
|
|
|
|
|
bpl .1
|
|
|
|
|
|
|
|
|
|
.8 bra TERMX.IAC.SDONT
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
TERMX.IAC.RWONT ldx #TERMX.IAC1.L-1
|
|
|
|
|
|
|
|
|
|
.1 cmp TERMX.IAC1,x
|
|
|
|
|
beq TERMX.IAC.SDO
|
|
|
|
|
|
|
|
|
|
dex
|
|
|
|
|
bpl .1
|
|
|
|
|
|
|
|
|
|
jmp TERMX.SETM.0
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
TERMX.IAC.RDO cmp #TN.O.ECHO
|
|
|
|
|
beq TERMX.IAC.SWONT
|
|
|
|
|
|
|
|
|
|
ldx #TERMX.IAC1.L-1
|
|
|
|
|
|
|
|
|
|
.1 cmp TERMX.IAC1,x
|
|
|
|
|
beq TERMX.IAC.SWILL
|
|
|
|
|
|
|
|
|
|
dex
|
|
|
|
|
bpl .1
|
|
|
|
|
|
|
|
|
|
bra TERMX.IAC.SWONT
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
TERMX.IAC.RDONT ldx #TERMX.IAC1.L-1
|
|
|
|
|
|
|
|
|
|
.1 cmp TERMX.IAC1,x
|
|
|
|
|
beq TERMX.IAC.SWILL
|
|
|
|
|
|
|
|
|
|
dex
|
|
|
|
|
bpl .1
|
|
|
|
|
|
|
|
|
|
jmp TERMX.SETM.0
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
TERMX.IAC.SWILL ldx #WILL
|
|
|
|
|
.HS 2C BIT ABS
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
TERMX.IAC.SWONT ldx #WONT
|
|
|
|
|
.HS 2C BIT ABS
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
TERMX.IAC.SDO ldx #DO
|
|
|
|
|
.HS 2C BIT ABS
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
TERMX.IAC.SDONT ldx #DONT
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
pha push CMD
|
|
|
|
|
phx
|
|
|
|
|
lda #IAC
|
|
|
|
|
jsr TERMX.COUT
|
|
|
|
|
pla
|
|
|
|
|
jsr TERMX.COUT
|
|
|
|
|
pla
|
|
|
|
|
jsr TERMX.COUT
|
|
|
|
|
jmp TERMX.SETM.0
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
TERMX.CheckOA lda OPENAPPLE
|
|
|
|
|
php
|
|
|
|
|
bpl .5 Restore Title
|
|
|
|
|
|
|
|
|
|
ldy #S.DCB.TTY.bTITLE
|
|
|
|
|
lda (ZPDCBPtr),y
|
|
|
|
|
bmi .8
|
|
|
|
|
|
|
|
|
|
inc
|
2020-01-11 17:13:27 +00:00
|
|
|
|
sta (ZPDCBPtr),y
|
|
|
|
|
|
2020-02-06 16:23:59 +00:00
|
|
|
|
jsr TERM.GetDevName
|
2021-07-24 20:42:23 +00:00
|
|
|
|
|
2020-01-11 17:13:27 +00:00
|
|
|
|
ldx #0
|
2020-02-06 16:23:59 +00:00
|
|
|
|
jsr TERMX.SETUP.L1X.SCR
|
2020-01-11 17:13:27 +00:00
|
|
|
|
|
|
|
|
|
ldy #0
|
|
|
|
|
|
2021-05-04 17:31:21 +00:00
|
|
|
|
.1 jsr SHARED.TXTPTRgn
|
2020-01-11 17:13:27 +00:00
|
|
|
|
beq .3
|
|
|
|
|
|
|
|
|
|
cmp #$40
|
|
|
|
|
bcc .2
|
2021-09-07 12:32:31 +00:00
|
|
|
|
|
2020-01-11 17:13:27 +00:00
|
|
|
|
cmp #$60
|
|
|
|
|
bcs .2
|
2021-09-07 12:32:31 +00:00
|
|
|
|
|
2020-01-11 17:13:27 +00:00
|
|
|
|
and #$1F remap UPPERCASE
|
|
|
|
|
|
|
|
|
|
.2 phy
|
|
|
|
|
jsr SetCharAtY.SCR
|
|
|
|
|
ply
|
|
|
|
|
iny
|
|
|
|
|
bne .1
|
|
|
|
|
|
|
|
|
|
.3 lda #C.SPACE
|
|
|
|
|
|
|
|
|
|
.4 phy
|
|
|
|
|
jsr SetCharAtY.SCR
|
|
|
|
|
ply
|
|
|
|
|
iny
|
|
|
|
|
cpy #80
|
|
|
|
|
bne .4
|
2021-07-24 20:42:23 +00:00
|
|
|
|
|
2023-05-01 07:35:39 +00:00
|
|
|
|
plp
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
.5 ldy #S.DCB.TTY.bTITLE
|
2020-01-11 17:13:27 +00:00
|
|
|
|
lda (ZPDCBPtr),y
|
2023-05-01 07:35:39 +00:00
|
|
|
|
bpl .8
|
2021-05-04 17:31:21 +00:00
|
|
|
|
|
2023-05-01 07:35:39 +00:00
|
|
|
|
dec
|
2020-01-11 17:13:27 +00:00
|
|
|
|
sta (ZPDCBPtr),y
|
2023-05-01 07:35:39 +00:00
|
|
|
|
|
|
|
|
|
ldx #0
|
|
|
|
|
jsr TERMX.SCR0CPY
|
|
|
|
|
|
|
|
|
|
.8 plp
|
|
|
|
|
rts
|
2020-01-11 17:13:27 +00:00
|
|
|
|
*--------------------------------------
|
2020-02-06 16:23:59 +00:00
|
|
|
|
TERMX.SCRCPY ldx #23
|
2020-01-10 15:58:47 +00:00
|
|
|
|
|
2023-05-01 07:35:39 +00:00
|
|
|
|
TERMX.SCR0CPY lda ZPDCBPtr
|
2020-01-10 15:58:47 +00:00
|
|
|
|
clc
|
2021-04-29 11:56:34 +00:00
|
|
|
|
adc BUF.BL,x
|
2020-01-10 15:58:47 +00:00
|
|
|
|
sta .80+1
|
2020-01-11 17:13:27 +00:00
|
|
|
|
|
2020-05-04 20:46:21 +00:00
|
|
|
|
lda ZPDCBPtr+1
|
2021-04-29 11:56:34 +00:00
|
|
|
|
adc BUF.BH,x
|
2020-01-10 15:58:47 +00:00
|
|
|
|
sta .80+2
|
2020-02-06 16:23:59 +00:00
|
|
|
|
jsr TERMX.SETUP.L1X.SCR
|
2020-01-10 15:58:47 +00:00
|
|
|
|
|
|
|
|
|
phx
|
|
|
|
|
|
|
|
|
|
ldx #78
|
|
|
|
|
|
|
|
|
|
sta SETPAGE2
|
|
|
|
|
|
|
|
|
|
ldy #39
|
|
|
|
|
|
|
|
|
|
jsr .8
|
|
|
|
|
|
|
|
|
|
ldx #79
|
|
|
|
|
sta CLRPAGE2
|
|
|
|
|
|
|
|
|
|
ldy #39
|
|
|
|
|
|
|
|
|
|
jsr .8
|
|
|
|
|
|
|
|
|
|
plx
|
|
|
|
|
dex
|
2023-05-01 07:35:39 +00:00
|
|
|
|
bpl TERMX.SCR0CPY
|
2023-04-22 18:58:37 +00:00
|
|
|
|
|
2020-01-10 15:58:47 +00:00
|
|
|
|
rts
|
2021-07-24 20:42:23 +00:00
|
|
|
|
|
2020-01-10 15:58:47 +00:00
|
|
|
|
.8 ldy #39
|
2020-01-11 17:13:27 +00:00
|
|
|
|
|
2020-01-10 15:58:47 +00:00
|
|
|
|
.80 lda $ffff,x SELF MODIFIED
|
2020-01-11 17:13:27 +00:00
|
|
|
|
|
2021-03-15 20:45:22 +00:00
|
|
|
|
sta (ZPScrBL1),y
|
2020-01-10 15:58:47 +00:00
|
|
|
|
dex
|
|
|
|
|
dex
|
|
|
|
|
dey
|
|
|
|
|
bpl .80
|
2020-01-11 17:13:27 +00:00
|
|
|
|
|
2020-01-10 15:58:47 +00:00
|
|
|
|
rts
|
|
|
|
|
*--------------------------------------
|
2020-02-06 16:23:59 +00:00
|
|
|
|
TERMX.COPY.XtoL1
|
2020-05-04 20:46:21 +00:00
|
|
|
|
lda ZPDCBPtr
|
2020-01-10 15:58:47 +00:00
|
|
|
|
clc
|
2021-04-29 11:56:34 +00:00
|
|
|
|
adc BUF.BL,x
|
2021-03-15 20:45:22 +00:00
|
|
|
|
sta ZPBufBL2
|
2020-01-11 17:13:27 +00:00
|
|
|
|
|
2020-05-04 20:46:21 +00:00
|
|
|
|
lda ZPDCBPtr+1
|
2021-04-29 11:56:34 +00:00
|
|
|
|
adc BUF.BH,x
|
2021-03-15 20:45:22 +00:00
|
|
|
|
sta ZPBufBL2+1
|
2020-01-10 15:58:47 +00:00
|
|
|
|
|
|
|
|
|
ldy #79
|
|
|
|
|
|
2021-03-15 20:45:22 +00:00
|
|
|
|
.1 lda (ZPBufBL2),y
|
2021-07-24 20:42:23 +00:00
|
|
|
|
sta (ZPBufBL1),y
|
2020-01-10 15:58:47 +00:00
|
|
|
|
dey
|
|
|
|
|
bpl .1
|
|
|
|
|
|
|
|
|
|
bit bActive
|
|
|
|
|
bpl .8
|
|
|
|
|
|
2021-04-29 11:56:34 +00:00
|
|
|
|
lda SCR.BL,x
|
2021-03-15 20:45:22 +00:00
|
|
|
|
sta ZPScrBL2
|
2021-04-29 11:56:34 +00:00
|
|
|
|
lda SCR.BH,x
|
2021-03-15 20:45:22 +00:00
|
|
|
|
sta ZPScrBL2+1
|
2020-07-05 08:58:35 +00:00
|
|
|
|
|
2020-01-10 15:58:47 +00:00
|
|
|
|
sta SETPAGE2
|
|
|
|
|
jsr .6
|
2021-07-27 16:21:58 +00:00
|
|
|
|
|
2020-01-10 15:58:47 +00:00
|
|
|
|
sta CLRPAGE2
|
|
|
|
|
|
|
|
|
|
.6 ldy #39
|
2023-04-22 18:58:37 +00:00
|
|
|
|
|
2021-03-15 20:45:22 +00:00
|
|
|
|
.7 lda (ZPScrBL2),y
|
2021-07-24 20:42:23 +00:00
|
|
|
|
sta (ZPScrBL1),y
|
2020-01-10 15:58:47 +00:00
|
|
|
|
dey
|
|
|
|
|
bpl .7
|
|
|
|
|
|
|
|
|
|
.8 rts
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
SetCharAtCurPos pha
|
|
|
|
|
ldy #S.DCB.TTY.CV
|
|
|
|
|
lda (ZPDCBPtr),y
|
|
|
|
|
tax
|
|
|
|
|
ldy #S.DCB.TTY.CH
|
|
|
|
|
lda (ZPDCBPtr),y
|
|
|
|
|
tay
|
|
|
|
|
pla
|
|
|
|
|
cpy #80
|
|
|
|
|
bcs SetCharAtYX.8
|
|
|
|
|
*--------------------------------------
|
2023-04-22 18:58:37 +00:00
|
|
|
|
SetCharAtYX sty ZPTmpX
|
|
|
|
|
|
|
|
|
|
cmp #$40
|
2020-01-10 15:58:47 +00:00
|
|
|
|
bcc .1
|
2021-07-27 16:21:58 +00:00
|
|
|
|
|
2020-01-10 15:58:47 +00:00
|
|
|
|
cmp #$60
|
|
|
|
|
bcs .1
|
2021-07-27 16:21:58 +00:00
|
|
|
|
|
2020-01-10 15:58:47 +00:00
|
|
|
|
and #$1F remap UPPERCASE
|
|
|
|
|
|
2023-04-22 18:58:37 +00:00
|
|
|
|
.1 ldy #S.DCB.TTY.bNORMAL
|
2020-01-10 15:58:47 +00:00
|
|
|
|
ora (ZPDCBPtr),y
|
|
|
|
|
sta ZPTmpChar
|
|
|
|
|
|
|
|
|
|
ldy #S.DCB.TTY.bG0G1 Select Active Font
|
|
|
|
|
lda (ZPDCBPtr),y
|
|
|
|
|
clc
|
|
|
|
|
bpl .2
|
2021-07-27 16:21:58 +00:00
|
|
|
|
|
2020-01-10 15:58:47 +00:00
|
|
|
|
sec
|
|
|
|
|
|
|
|
|
|
.2 lda #$80
|
|
|
|
|
bcc .21
|
2021-07-27 16:21:58 +00:00
|
|
|
|
|
2020-01-10 15:58:47 +00:00
|
|
|
|
lsr
|
|
|
|
|
|
|
|
|
|
.21 iny #S.DCB.TTY.bG0G1ALT
|
|
|
|
|
and (ZPDCBPtr),y
|
|
|
|
|
beq .3 not Graphic mode
|
|
|
|
|
|
|
|
|
|
lda ZPTmpChar
|
|
|
|
|
cmp #$E0 Normal lowercase ?
|
|
|
|
|
bcc .3
|
|
|
|
|
|
|
|
|
|
tay
|
2021-07-24 20:42:23 +00:00
|
|
|
|
lda REMAP.E0.FF-$E0,y
|
2020-01-10 15:58:47 +00:00
|
|
|
|
sta ZPTmpChar
|
|
|
|
|
|
2020-02-06 16:23:59 +00:00
|
|
|
|
.3 jsr TERMX.SETUP.L1X
|
2023-04-22 18:58:37 +00:00
|
|
|
|
|
|
|
|
|
ldy ZPTmpX
|
2020-01-10 15:58:47 +00:00
|
|
|
|
lda ZPTmpChar
|
2021-07-24 20:42:23 +00:00
|
|
|
|
sta (ZPBufBL1),y
|
2020-01-10 15:58:47 +00:00
|
|
|
|
|
|
|
|
|
bit bActive
|
2023-04-22 18:58:37 +00:00
|
|
|
|
bmi SetCharAtY.SCR1
|
2023-04-29 11:47:59 +00:00
|
|
|
|
|
2023-04-22 18:58:37 +00:00
|
|
|
|
rts
|
2020-01-10 15:58:47 +00:00
|
|
|
|
|
2023-04-22 18:58:37 +00:00
|
|
|
|
SetCharAtY.SCR sty ZPTmpX
|
|
|
|
|
|
|
|
|
|
SetCharAtY.SCR1 lsr ZPTmpX
|
|
|
|
|
ldy ZPTmpX
|
2020-07-04 19:00:47 +00:00
|
|
|
|
|
2020-01-10 15:58:47 +00:00
|
|
|
|
bcs .2
|
2021-07-27 16:21:58 +00:00
|
|
|
|
|
2020-01-10 15:58:47 +00:00
|
|
|
|
sta SETPAGE2
|
2021-03-15 20:45:22 +00:00
|
|
|
|
sta (ZPScrBL1),y
|
2021-07-27 16:21:58 +00:00
|
|
|
|
sta CLRPAGE2
|
2020-07-06 12:03:05 +00:00
|
|
|
|
rts
|
2020-07-04 19:00:47 +00:00
|
|
|
|
|
2021-07-27 16:21:58 +00:00
|
|
|
|
.2 sta (ZPScrBL1),y
|
2020-01-10 15:58:47 +00:00
|
|
|
|
|
|
|
|
|
SetCharAtYX.8 rts
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
GetCharAtCurPos ldy #S.DCB.TTY.CV
|
|
|
|
|
lda (ZPDCBPtr),y
|
|
|
|
|
cmp #24
|
|
|
|
|
bcs .9 Out of screen
|
|
|
|
|
|
|
|
|
|
tax
|
2020-02-06 16:23:59 +00:00
|
|
|
|
jsr TERMX.SETUP.L1X
|
2020-01-10 15:58:47 +00:00
|
|
|
|
|
|
|
|
|
ldy #S.DCB.TTY.CH
|
|
|
|
|
lda (ZPDCBPtr),y
|
|
|
|
|
cmp #80
|
|
|
|
|
bcs .9 Out of screen
|
|
|
|
|
|
|
|
|
|
tay
|
2021-07-24 20:42:23 +00:00
|
|
|
|
lda (ZPBufBL1),y
|
2020-01-10 15:58:47 +00:00
|
|
|
|
cmp #$20
|
|
|
|
|
bcs .8
|
2021-07-24 20:42:23 +00:00
|
|
|
|
|
|
|
|
|
* clc
|
2020-01-10 15:58:47 +00:00
|
|
|
|
adc #40 remap $00-$1F uppercase
|
|
|
|
|
.8 clc
|
|
|
|
|
|
|
|
|
|
.9 rts
|
|
|
|
|
*--------------------------------------
|
2023-04-22 18:58:37 +00:00
|
|
|
|
TERMX.SETUP.L1X lda ZPDCBPtr
|
|
|
|
|
clc
|
|
|
|
|
adc BUF.BL,x
|
|
|
|
|
sta ZPBufBL1
|
|
|
|
|
|
|
|
|
|
lda ZPDCBPtr+1
|
|
|
|
|
adc BUF.BH,x
|
|
|
|
|
sta ZPBufBL1+1
|
|
|
|
|
|
|
|
|
|
bit bActive
|
|
|
|
|
bpl TERMX.SETUP.L1X.8
|
|
|
|
|
|
|
|
|
|
TERMX.SETUP.L1X.SCR
|
|
|
|
|
lda SCR.BL,x
|
|
|
|
|
sta ZPScrBL1
|
|
|
|
|
lda SCR.BH,x
|
|
|
|
|
sta ZPScrBL1+1
|
|
|
|
|
TERMX.SETUP.L1X.8
|
|
|
|
|
rts
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
KeyMap .DA #11,#10,#21,#8 esc[A,esc[B,esc[C,esc[D
|
|
|
|
|
KeyMap.Cnt .EQ *-KeyMap
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
CtrlChars .DA #C.ENQ,#C.BS,#C.LF,#C.FF,#C.CR,#C.SO,#C.SI,#C.ESC
|
2019-07-12 14:51:57 +00:00
|
|
|
|
CtrlChars.Cnt .EQ *-CtrlChars
|
|
|
|
|
*--------------------------------------
|
2023-04-22 18:58:37 +00:00
|
|
|
|
EscCodes .AZ "78DEMc[()"
|
2019-07-12 14:51:57 +00:00
|
|
|
|
EscCodes.Cnt .EQ *-EscCodes
|
2023-04-22 18:58:37 +00:00
|
|
|
|
EscModes .DA #0,#0,#0,#0,#0,#0,#S.DCB.TTY.M.CSI,#S.DCB.TTY.M.G0,#S.DCB.TTY.M.G1
|
2019-07-12 14:51:57 +00:00
|
|
|
|
*--------------------------------------
|
2023-04-22 18:58:37 +00:00
|
|
|
|
CsiCodes .AS "ABCDHJKfhlmnr"
|
|
|
|
|
CsiCodes.Cnt .EQ *-CsiCodes
|
2019-07-12 14:51:57 +00:00
|
|
|
|
*--------------------------------------
|
2023-05-01 07:35:39 +00:00
|
|
|
|
* Enabled both sides
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
TERMX.IAC1 .DA #TN.O.BINARY,#TN.O.SGA,#TN.O.TTYPE,#TN.O.NAWS
|
|
|
|
|
TERMX.IAC1.L .EQ *-TERMX.IAC1
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
* Disabled both sides
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
*TERMX.IAC0 .DA #TN.O.TSPEED,#TN.O.LINEMODE,#TN.O.STATUS
|
|
|
|
|
* .DA #TN.O.NEWENV,#TN.O.XDISPLOC
|
|
|
|
|
* .DA #TN.O.LFLOW,#TN.O.AUTH
|
|
|
|
|
*TERMX.IAC0.L .EQ *-TERMX.IAC0
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
* Enabled Local, Disabled remote
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
*TERMX.IAC10 .DA #TN.O.ECHO
|
|
|
|
|
*TERMX.IAC10.L .EQ *-TERMX.IAC10
|
2020-05-06 15:28:09 +00:00
|
|
|
|
*--------------------------------------
|
2020-08-18 19:56:50 +00:00
|
|
|
|
SB.IS.TTYPE .DA #IAC,#SB,#TN.O.TTYPE,#SB.IS
|
2023-04-22 18:58:37 +00:00
|
|
|
|
TERMX.ENQ.REP .AS "vt100"
|
|
|
|
|
TERMX.ENQ.REP.L .EQ *-TERMX.ENQ.REP
|
2019-07-12 14:51:57 +00:00
|
|
|
|
.DA #IAC,#SE
|
|
|
|
|
SB.IS.TTYPE.LEN .EQ *-SB.IS.TTYPE
|
2020-08-18 19:56:50 +00:00
|
|
|
|
SB.IS.NAWS .DA #IAC,#SB,#TN.O.NAWS,#SB.IS
|
2019-07-12 14:51:57 +00:00
|
|
|
|
.DA 80
|
|
|
|
|
.DA 24
|
|
|
|
|
.DA #IAC,#SE
|
|
|
|
|
SB.IS.NAWS.LEN .EQ *-SB.IS.NAWS
|
|
|
|
|
*--------------------------------------
|
2020-01-10 15:58:47 +00:00
|
|
|
|
RESET.VALUES .DA #0 MODE
|
|
|
|
|
.DA #0 CH
|
|
|
|
|
.DA #0 CH.SAVE
|
|
|
|
|
.DA #0 CV
|
|
|
|
|
.DA #0 CV.SAVE
|
2023-05-01 07:35:39 +00:00
|
|
|
|
|
2020-01-10 15:58:47 +00:00
|
|
|
|
.DA #0 SCROLLTOP
|
|
|
|
|
.DA #23 SCROLLBOT
|
2021-09-07 12:32:31 +00:00
|
|
|
|
.DA #$80 bCURON
|
2020-01-10 15:58:47 +00:00
|
|
|
|
.DA #0 bTITLE
|
|
|
|
|
|
|
|
|
|
.DA #$80 bNORMAL
|
2023-04-22 18:58:37 +00:00
|
|
|
|
.DA #$80 bDECAWM
|
|
|
|
|
.DA #$80 bLNM
|
2020-01-10 15:58:47 +00:00
|
|
|
|
|
|
|
|
|
.DA #0 bG0G1
|
|
|
|
|
.DA #0 bG0G1ALT
|
|
|
|
|
|
2021-04-29 11:56:34 +00:00
|
|
|
|
.DA #S.DCB.TTY.OUTBUF OUTTAIL
|
|
|
|
|
.DA #S.DCB.TTY.OUTBUF OUTHEAD
|
2021-07-24 20:42:23 +00:00
|
|
|
|
.DA #S.DCB.TTY.INBUF INBUFFER
|
2019-07-24 15:17:08 +00:00
|
|
|
|
*--------------------------------------
|
2023-01-21 21:53:55 +00:00
|
|
|
|
TERMX.DIB .DA #S.DIB.S.WRITE+S.DIB.S.READ
|
2019-07-24 15:17:08 +00:00
|
|
|
|
.DA #0,#0,#0
|
2022-09-17 11:35:52 +00:00
|
|
|
|
.PS "A2osX VT100 term"
|
2019-07-24 15:17:08 +00:00
|
|
|
|
.DA #S.DIB.T.CHAR
|
|
|
|
|
.DA #0
|
|
|
|
|
.DA K.VER
|
|
|
|
|
*--------------------------------------
|
2021-09-07 12:32:31 +00:00
|
|
|
|
* ` a b c d e f g h i j k l m n o
|
2021-12-02 21:28:26 +00:00
|
|
|
|
REMAP.E0.FF .HS 5b.41.42.43.44.45.46.47.48.49.20.5e.5a.5a.4e.4f
|
2021-09-07 12:32:31 +00:00
|
|
|
|
* p q r s t u v w x y z { | } ~ DEL
|
|
|
|
|
.HS 50.5c.52.53.54.55.56.57.5a.59.5a.5b.5c.5d.5e.5f
|
2019-07-24 15:17:08 +00:00
|
|
|
|
*--------------------------------------
|
2021-04-29 11:56:34 +00:00
|
|
|
|
SCR.BL .HS 00.80.00.80.00.80.00.80.28.A8.28.A8.28.A8.28.A8.50.D0.50.D0.50.D0.50.D0
|
|
|
|
|
SCR.BH .HS 04.04.05.05.06.06.07.07.04.04.05.05.06.06.07.07.04.04.05.05.06.06.07.07
|
2019-07-24 15:17:08 +00:00
|
|
|
|
*--------------------------------------
|
2021-04-29 11:56:34 +00:00
|
|
|
|
BUF.BL .DA #S.DCB.TTY+0
|
2020-05-04 20:46:21 +00:00
|
|
|
|
.DA #S.DCB.TTY+80
|
|
|
|
|
.DA #S.DCB.TTY+160
|
|
|
|
|
.DA #S.DCB.TTY+240
|
|
|
|
|
.DA #S.DCB.TTY+320
|
|
|
|
|
.DA #S.DCB.TTY+400
|
|
|
|
|
.DA #S.DCB.TTY+480
|
|
|
|
|
.DA #S.DCB.TTY+560
|
|
|
|
|
.DA #S.DCB.TTY+640
|
|
|
|
|
.DA #S.DCB.TTY+720
|
|
|
|
|
.DA #S.DCB.TTY+800
|
|
|
|
|
.DA #S.DCB.TTY+880
|
|
|
|
|
.DA #S.DCB.TTY+960
|
|
|
|
|
.DA #S.DCB.TTY+1040
|
|
|
|
|
.DA #S.DCB.TTY+1120
|
|
|
|
|
.DA #S.DCB.TTY+1200
|
|
|
|
|
.DA #S.DCB.TTY+1280
|
|
|
|
|
.DA #S.DCB.TTY+1360
|
|
|
|
|
.DA #S.DCB.TTY+1440
|
|
|
|
|
.DA #S.DCB.TTY+1520
|
|
|
|
|
.DA #S.DCB.TTY+1600
|
|
|
|
|
.DA #S.DCB.TTY+1680
|
|
|
|
|
.DA #S.DCB.TTY+1760
|
|
|
|
|
.DA #S.DCB.TTY+1840
|
2021-04-29 11:56:34 +00:00
|
|
|
|
BUF.BH .DA /S.DCB.TTY+0
|
2020-05-04 20:46:21 +00:00
|
|
|
|
.DA /S.DCB.TTY+80
|
|
|
|
|
.DA /S.DCB.TTY+160
|
|
|
|
|
.DA /S.DCB.TTY+240
|
|
|
|
|
.DA /S.DCB.TTY+320
|
|
|
|
|
.DA /S.DCB.TTY+400
|
|
|
|
|
.DA /S.DCB.TTY+480
|
|
|
|
|
.DA /S.DCB.TTY+560
|
|
|
|
|
.DA /S.DCB.TTY+640
|
|
|
|
|
.DA /S.DCB.TTY+720
|
|
|
|
|
.DA /S.DCB.TTY+800
|
|
|
|
|
.DA /S.DCB.TTY+880
|
|
|
|
|
.DA /S.DCB.TTY+960
|
|
|
|
|
.DA /S.DCB.TTY+1040
|
|
|
|
|
.DA /S.DCB.TTY+1120
|
|
|
|
|
.DA /S.DCB.TTY+1200
|
|
|
|
|
.DA /S.DCB.TTY+1280
|
|
|
|
|
.DA /S.DCB.TTY+1360
|
|
|
|
|
.DA /S.DCB.TTY+1440
|
|
|
|
|
.DA /S.DCB.TTY+1520
|
|
|
|
|
.DA /S.DCB.TTY+1600
|
|
|
|
|
.DA /S.DCB.TTY+1680
|
|
|
|
|
.DA /S.DCB.TTY+1760
|
|
|
|
|
.DA /S.DCB.TTY+1840
|
2020-01-10 15:58:47 +00:00
|
|
|
|
*--------------------------------------
|
2018-12-11 16:41:25 +00:00
|
|
|
|
MAN
|
2020-12-15 13:23:22 +00:00
|
|
|
|
SAVE usr/src/sys/kernel.s.termx
|
|
|
|
|
LOAD usr/src/sys/kernel.s
|
2018-12-11 16:41:25 +00:00
|
|
|
|
ASM
|