From a54459d48672836bb5b7bead506af5157962f753 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Wed, 12 Dec 2018 08:05:29 +0100 Subject: [PATCH] Kernel 0.92 --- SYS/KERNEL.S.DEF.txt | 2 +- SYS/KERNEL.S.TERM.txt | 96 +++++++++++++++++++++++++++---------------- 2 files changed, 62 insertions(+), 36 deletions(-) diff --git a/SYS/KERNEL.S.DEF.txt b/SYS/KERNEL.S.DEF.txt index 891a7bf6..d51dc321 100644 --- a/SYS/KERNEL.S.DEF.txt +++ b/SYS/KERNEL.S.DEF.txt @@ -144,7 +144,7 @@ S.TTY.DEVID .EQ 0 S.TTY.STATUS .EQ 0 S.TTY.TITLE .EQ 48 -S.TTY.SCRBUF .EQ 128 +S.TTY.SCRBUF .EQ 128 24x80=1920 bytes * S.TTY .EQ 2048 *-------------------------------------- diff --git a/SYS/KERNEL.S.TERM.txt b/SYS/KERNEL.S.TERM.txt index b48de875..0c54b973 100644 --- a/SYS/KERNEL.S.TERM.txt +++ b/SYS/KERNEL.S.TERM.txt @@ -13,8 +13,10 @@ ZPTmpWord .EQ ZPDRV+4 ZPTmpBool .EQ ZPDRV+6 ZPBufPtr .EQ ZPDRV+8 ZPCount .EQ ZPDRV+10 -ZPBaseL1 .EQ ZPDRV+12 -ZPBaseL2 .EQ ZPDRV+14 +ZPBufBaseL1 .EQ ZPDRV+12 +ZPBufBaseL2 .EQ ZPDRV+14 +ZPScrBaseL1 .EQ ZPDRV+16 +ZPScrBaseL2 .EQ ZPDRV+18 *-------------------------------------- DRV.TERM cld >STYA pIOCTL @@ -642,11 +644,14 @@ ClrScr ldx #23 lda #" " + bit bActive + bpl .4 + sta SETWRITEAUX ldy #39 -.2 sta (ZPBaseL1),y +.2 sta (ZPScrBaseL1),y dey bpl .2 @@ -654,10 +659,18 @@ ClrScr ldx #23 ldy #39 -.3 sta (ZPBaseL1),y +.3 sta (ZPScrBaseL1),y dey bpl .3 +.4 sta SETWRITEAUX + + ldy #79 + +.5 sta (ZPBufBaseL1),y + dey + bpl .5 + dex bpl .1 @@ -915,16 +928,10 @@ SetCharAtYX cmp #$40 pla bcs .1 -* php -* sei sta SETWRITEAUX -.1 sta (ZPBaseL1),y +.1 sta (ZPScrBaseL1),y sta CLRWRITEAUX -* plp rts - -*.1 sta (ZPBaseL1),y -* rts *-------------------------------------- GetCharAtCurPos ldy CH ldx CV @@ -937,46 +944,64 @@ GetCharAtYX jsr SETUP.L1X bcs .1 -* php -* sei sta SETREADAUX -.1 lda (ZPBaseL1),y +.1 lda (ZPScrBaseL1),y sta CLRREADAUX -* plp rts - -*.1 lda (ZPBaseL1),y -* rts *-------------------------------------- SETUP.L1X lda SCR.BASEL,x - sta ZPBaseL1 + clc + adc ZPTTYPtr + sta ZPBufBaseL1 lda SCR.BASEH,x - sta ZPBaseL1+1 - rts -*-------------------------------------- -COPY.XtoL1 lda SCR.BASEL,x - sta ZPBaseL2 - lda SCR.BASEH,x - sta ZPBaseL2+1 + adc ZPTTYPtr+1 + sta ZPBufBaseL1+1 -* php -* sei + bit bActive + bpl .8 + + lda SCR.BASEL,x + sta ZPScrBaseL1 + lda SCR.BASEH,x + sta ZPScrBaseL1+1 +.8 rts +*-------------------------------------- +COPY.XtoL1 ldy #79 + sta SETWRITEAUX sta SETREADAUX - jsr .1 +.1 lda (ZPBufBaseL2),y + sta (ZPBufBaseL1),y + dey + bpl .1 + + sta CLRWRITEAUX + sta CLRREADAUX + + bit bActive + bpl .8 + + lda SCR.BASEL,x + sta ZPScrBaseL2 + lda SCR.BASEH,x + sta ZPScrBaseL2+1 + + sta SETWRITEAUX + sta SETREADAUX + + jsr .6 sta CLRWRITEAUX sta CLRREADAUX -* plp -.1 ldy #39 +.6 ldy #39 -.2 lda (ZPBaseL2),y - sta (ZPBaseL1),y +.7 lda (ZPScrBaseL2),y + sta (ZPScrBaseL1),y dey - bpl .2 - rts + bpl .7 +.8 rts *-------------------------------------- Decimal.Out stz ZPTmpWord stz ZPTmpWord+1 @@ -1164,6 +1189,7 @@ SB.IS.NAWS .DA #IAC,#SB,#TELOPT.NAWS,#SB.IS SB.IS.NAWS.LEN .EQ *-SB.IS.NAWS *-------------------------------------- bActive .BS 1 +*-------------------------------------- CH .BS 1 CV .BS 1 LWFLG .BS 1