Kernel 0.93+

This commit is contained in:
Rémy GIBERT 2019-12-18 08:57:47 +01:00
parent 2a73409d26
commit ceaab44c5e
4 changed files with 74 additions and 39 deletions

Binary file not shown.

Binary file not shown.

View File

@ -10,12 +10,12 @@ SCRN.Init >LDA.G ScreenH
>SYSCALL printf
bcs .9
jsr SCRN.UpdateTopBar
bcs .9
jsr SCRN.Home
jmp SCRN.UpdateMainAndStatus
jsr SCRN.UpdateMainAndStatus
bcs .9
jmp SCRN.UpdateTopBar
.9 rts
*--------------------------------------
SCRN.Home lda #0
@ -49,13 +49,25 @@ SCRN.UnSaved >LDA.G bUnSaved
rts
*--------------------------------------
SCRN.UpdateTopBar
lda #$ff
>STA.G bUpdateTop
clc
rts
*--------------------------------------
SCRN.UpdateTopBarAsync
>LDA.G bUpdateTop
bpl .8
lda #0
sta (pData),y
jsr SCRN.LineBufInitBar
>PUSHBI 1
>PUSHBI 1
>PUSHBI 2
>PUSHW L.MSG.GOTOXY
jsr SCRN.LineBufSprintf
ldx #SEQ.CURSAVE-SEQS
jsr SCRN.SEQS.ToLineBuf
ldy #1
jsr SCRN.LineBufGotoLineY
bcs .9
>LDA.G ScreenW
@ -83,12 +95,16 @@ SCRN.UpdateTopBar
bcs .9
>LDA.G bUnSaved
beq .8
beq .2
lda #'*'
jsr SCRN.ToLineBuf
.8 jmp SCRN.LineBufOut
.2 ldx #SEQ.CURRESTORE-SEQS
jsr SCRN.SEQS.ToLineBuf
jmp SCRN.LineBufOut
.8 clc
.9 rts
*--------------------------------------
SCRN.UpdateViewPort
@ -252,6 +268,10 @@ SCRN.UpdateMain.1
SCRN.UpdateMain.9
rts
*--------------------------------------
SCRN.UpdateCurrentEOL
jsr SCRN.LineBufInitEdit
bra SCRN.UpdateLineAtBufPtr
*--------------------------------------
SCRN.UpdateCurrentLine
>LDA.G ScreenY+1
tax
@ -274,25 +294,19 @@ SCRN.UpdateCurrentLine
* BufPtr = Text line start, Y = len
*--------------------------------------
SCRN.UpdateLineAtALenY
stz bSelected
sty TmpLen
inc
inc
sta TmpLen+1
ldx #0
tay
jsr SCRN.GotoXY
bcs SCRN.UpdateMain.9
jsr SCRN.LineBufInitEdit
ldy #$ff
>LDA.G ScreenW
tax
>LDA.G ScreenX
cmp TmpLen
bcs .8
bcc .1
clc
rts
tay
.1 tay
clc
adc BUF.LOffset
sta BUF.COffset
@ -304,10 +318,21 @@ SCRN.UpdateLineAtALenY
* clc
adc BufPtr
sta BufPtr
bcc .1
bcc .2
inc BufPtr+1
.1 lda (BufPtr)
.2 jsr SCRN.LineBufInitEdit
ldy TmpLen+1
jsr SCRN.LineBufGotoLineY
SCRN.UpdateLineAtBufPtr
>LDA.G ScreenW
tax
stz bSelected
.2 lda (BufPtr)
beq .8
cmp #C.CR
@ -339,13 +364,14 @@ SCRN.UpdateLineAtALenY
bne .7
inc BUF.COffset+1
.7 dex
bne .1
bne .2
.8 bit bSelected
bpl .80
jsr SCRN.ToggleSel
.80 jmp SCRN.LineBufOut
.9 rts
*--------------------------------------
SCRN.ToggleSel ldy #SEQ.NORM-SEQS
@ -421,11 +447,9 @@ SCRN.ResetStatusBar
ldx #SEQ.CURSAVE-SEQS
jsr SCRN.SEQS.ToLineBuf
>PUSHBI 1
>PUSHB.G ScreenH
>PUSHBI 2
>PUSHW L.MSG.GOTOXY
jsr SCRN.LineBufSprintf
>LDA.G ScreenH
tay
jsr SCRN.LineBufGotoLineY
>LDA.G ScreenW
tax
@ -488,7 +512,9 @@ SCRN.scrollUp >PUSHBI 0
.1 jsr BUF.GetLineAX
bcs .9
phy
>LDA.G ViewPortHm1
ply
jmp SCRN.UpdateLineAtALenY
.9 rts
@ -505,10 +531,10 @@ SCRN.scrollDn >PUSHBI 0
jsr BUF.GetLineAX
bcs .9
* >DEBUG
lda #0
jmp SCRN.UpdateLineAtALenY
jsr SCRN.UpdateLineAtALenY
* >DEBUG
.9 rts
*--------------------------------------
SCRN.LineBufInitBar
@ -560,6 +586,13 @@ SCRN.SEQS.ToLineBuf
bne .1
rts
*--------------------------------------
SCRN.LineBufGotoLineY
>PUSHBI 1
tya
>PUSHA
>PUSHBI 2
>PUSHW L.MSG.GOTOXY
*--------------------------------------
SCRN.LineBufSprintf
>LDYA LineBufPtr
>SYSCALL sprintf

View File

@ -222,6 +222,7 @@ CS.DOEVENT lda (pEvent)
and #S.EVT.F.T1SEC
beq .9
jsr SCRN.UpdateTopBarAsync
jsr SCRN.UpdateStatusBarAsync
.9 sec
@ -305,7 +306,7 @@ CharIn tax
jsr BUF.InsertA
bcs .9
jsr SCRN.UpdateCurrentLine
jsr SCRN.UpdateCurrentEOL
bcs .9
jmp Ctrl.FS
@ -434,10 +435,10 @@ SEQ.DETECT .AZ "Querying term caps...\e[999;999H\e[6n"
SEQ.RESET .AZ "\ec"
SEQ.INIT .AS "\ec\e(B\e)0"
SEQ.SCROLLRGN .AZ "\e[?7l\e[2;%dr"
SEQ.SCROLLCURUP .AS "\e[?7l\e[%d;%dr"
SEQ.SCROLLUP .AZ "\eD"
SEQ.SCROLLCURDN .AS "\e[?7l\e[%d;%dr"
SEQ.SCROLLDN .AZ "\eM"
SEQ.SCROLLCURUP .AZ "\e[?7l\e[%d;%dr\eD"
SEQ.SCROLLCURDN .AZ "\e[?7l\e[%d;%dr\eM"
*--------------------------------------
MSG.TOPBAR .AZ "A2osX Edit:%s %s"
MSG.TXTCR .AZ "TXT/CR"
@ -600,6 +601,7 @@ EscBuffer .BS 16
bEscMode .BS 1
bExit .BS 1
bUnSaved .BS 1
bUpdateTop .BS 1
bUpdateStatus .BS 1
hFileName .BS 1