Kernel 0.93+

This commit is contained in:
Rémy GIBERT 2019-12-09 08:12:14 +01:00
parent 6da3053e17
commit bfd315c387
4 changed files with 134 additions and 71 deletions

Binary file not shown.

View File

@ -30,12 +30,10 @@ DLG.Open >STYA ZPPTR2
bcs .9
ldy #S.DLG.Title
jsr DLG.DrawInvBar
jsr DLG.DrawBar
.99 bcs .9
jsr SCRN.LineBufInitNorm
jsr DLG.VBarToLineBuf
jsr SCRN.LineBufInitDLG
ldy #S.DLG.W
lda (ZPPTR1),y
@ -83,7 +81,7 @@ DLG.Open >STYA ZPPTR2
bcs .9
ldy #S.DLG.Status
jsr DLG.DrawInvBar
jsr DLG.DrawBar
bcs .9
ldy #S.DLG.Ctrls
@ -198,7 +196,7 @@ DLG.CTRL.Draw sta TmpByte A=CtrlID
jmp (J.DLG.CTRL.Draw,x)
*--------------------------------------
DLG.CTRL.Draw.LBL
jsr SCRN.LineBufInitNorm
jsr SCRN.LineBufInitDlg
jsr DLG.CTRL.GotoOrg
bcs .9
@ -222,7 +220,7 @@ DLG.CTRL.Draw.LBL
.9 rts
*--------------------------------------
DLG.CTRL.Draw.TB
jsr SCRN.LineBufInitNorm
jsr SCRN.LineBufInitEdit
jsr DLG.CTRL.GotoOrg
bcs .9
@ -289,7 +287,7 @@ DLG.CTRL.Draw.TB
.9 rts
*--------------------------------------
DLG.CTRL.Draw.OL
jsr SCRN.LineBufInitNorm
jsr SCRN.LineBufInitDlg
jsr DLG.CTRL.GotoOrg
bcs .9
@ -336,7 +334,7 @@ DLG.CTRL.Draw.OL
.9 rts
*--------------------------------------
DLG.CTRL.Draw.BUT
jsr SCRN.LineBufInitInv
jsr SCRN.LineBufInitBut
jsr DLG.CTRL.GotoOrg
bcs .9
@ -369,9 +367,7 @@ DLG.CTRL.Draw.BUT
*--------------------------------------
DLG.CTRL.Focus sta TmpByte A=CtrlID
jsr SCRN.LineBufInitNorm
ldy TmpByte
tay
lda (ZPPTR1),y Ctrl Definition
tay
lda (ZPPTR1),y Ctrl Type
@ -382,6 +378,8 @@ DLG.CTRL.Focus.LBL
clc
rts
DLG.CTRL.Focus.TB
jsr SCRN.LineBufInitEdit
jsr DLG.CTRL.GotoOrg
ldy #S.DLG.Focus
@ -452,6 +450,8 @@ DLG.CTRL.Focus.TB
jmp SCRN.GotoXY
DLG.CTRL.Focus.OL
jsr SCRN.LineBufInitNorm
jsr DLG.CTRL.GotoOrg
ldy #S.DLG.Focus
@ -481,6 +481,8 @@ DLG.CTRL.Focus.OL
jmp SCRN.LineBufOut
DLG.CTRL.Focus.BUT
jsr SCRN.LineBufInitNorm
jsr DLG.CTRL.GotoOrg
ldy #S.DLG.Focus
@ -767,8 +769,8 @@ DLG.CTRL.CharIn.BUT
clc
rts
*--------------------------------------
DLG.DrawInvBar phy
jsr SCRN.LineBufInitInv
DLG.DrawBar phy
jsr SCRN.LineBufInitBar
ldy #S.DLG.W
lda (ZPPTR1),y
@ -780,6 +782,7 @@ DLG.DrawInvBar phy
.1 lda (ZPPTR1),y
beq .11
jsr SCRN.ToLineBuf
dex
iny
@ -792,8 +795,10 @@ DLG.DrawInvBar phy
bne .2
ldy #0
.3 lda SEQ.NORM,y
beq .4
jsr SCRN.ToLineBuf
iny
bra .3
@ -803,12 +808,15 @@ DLG.DrawInvBar phy
jmp SCRN.LineBufOut
*--------------------------------------
DLG.VBarToLineBuf
lda #C.SO
ldy #0
.1 lda SEQ.DLG.RIGHT,y
beq .8
jsr SCRN.ToLineBuf
lda #'x'
jsr SCRN.ToLineBuf
lda #C.SI
jmp SCRN.ToLineBuf
iny
bra .1
.8 rts
*--------------------------------------
MAN
SAVE USR/SRC/BIN/EDIT.S.DLG

View File

@ -39,15 +39,26 @@ SCRN.ResetScrollRgn
rts
*--------------------------------------
SCRN.UpdateTopBar
jsr SCRN.LineBufInitBar
>PUSHBI 1
>PUSHBI 1
>PUSHBI 2
>LDYA L.MSG.GOTOXY
>SYSCALL printf
>PUSHW L.MSG.GOTOXY
jsr SCRN.LineBufSprintf
bcs .9
>LDYA.G LineBufBase
>STYA LineBufPtr
>LDA.G ScreenW
tax
lda #C.SPACE
.1 jsr SCRN.ToLineBuf
dex
bne .1
lda #C.CR
jsr SCRN.ToLineBuf
>LDA.G FileType
tax
@ -58,27 +69,16 @@ SCRN.UpdateTopBar
>PUSHYA
>PUSHBI 4
>PUSHW L.MSG.TOPBAR
>LDYA LineBufPtr
>SYSCALL sprintf
jsr SCRN.LineBufSprintf
bcs .9
>LDA.G bSaved
bne .8
ldy #255
.3 iny
lda (LineBufPtr),y
bne .3
lda #'!'
sta (LineBufPtr),y
jsr SCRN.ToLineBuf
iny
lda #0
sta (LineBufPtr),y
.8 jmp SCRN.LineBufOutBar
.8 jmp SCRN.LineBufOut
.9 rts
*--------------------------------------
SCRN.UpdateMain >LDA.G ScreenY
@ -176,12 +176,12 @@ SCRN.UpdateLineAtALenY
jsr SCRN.GotoXY
bcs SCRN.UpdateMain.9
jsr SCRN.LineBufInitNorm
jsr SCRN.LineBufInitEdit
ldy #$ff
.10 iny
lda SEQ.EDIT,y
lda SEQ.CEOL,y
beq .11
jsr SCRN.ToLineBuf
bra .10
@ -267,30 +267,37 @@ SCRN.ToggleSel.RTS
rts
*--------------------------------------
SCRN.UpdateStatusBar
>LDYA.G LineBufBase
>STYA LineBufPtr
jsr SCRN.LineBufInitBar
>PUSHBI 1
>PUSHB.G ScreenH
>PUSHBI 2
>LDYA L.MSG.GOTOXY
>SYSCALL printf
bcs SCRN.ToggleSel.RTS
>LDA.G PromptMode
bne .2
>PUSHW L.MSG.GOTOXY
jsr SCRN.LineBufSprintf
bcs .9
>LDA.G ScreenW
tax
lda #C.SPACE
.1 jsr SCRN.ToLineBuf
dex
bpl .1
lda #C.CR
jsr SCRN.ToLineBuf
>LDA.G FileY
tax
iny
lda (pData),y
inx
bne .1
bne .2
inc
.1 >PUSHA
.2 >PUSHA
txa
>PUSHA
>LDA.G FileX
@ -301,8 +308,14 @@ SCRN.UpdateStatusBar
>PUSHW FileLen
>PUSHBI 7
bra SCRN.UpdateStatusBarOut
>PUSHW L.MSG.STATUSBAR
jsr SCRN.LineBufSprintf
bcs .9
jmp SCRN.LineBufOut
.9 rts
*--------------------------------------
SCRN.UpdateStatusBar.OLD
.2 eor #PromptModeHelp
beq .3
@ -528,25 +541,41 @@ SCRN.scrollDn >PUSHBI 0
.9 rts
*--------------------------------------
SCRN.LineBufInitBar
phx
ldx #SEQ.BAR-SEQS
bra SCRN.LineBufInit
SCRN.LineBufInitDlg
phx
ldx #SEQ.DLG-SEQS
bra SCRN.LineBufInit
SCRN.LineBufInitBut
phx
ldx #SEQ.DLG.BUT-SEQS
bra SCRN.LineBufInit
SCRN.LineBufInitEdit
phx
ldx #SEQ.EDIT-SEQS
bra SCRN.LineBufInit
SCRN.LineBufInitNorm
clc
.HS B0 BCS
phx
ldx #SEQ.NORM-SEQS
bra SCRN.LineBufInit
SCRN.LineBufInitInv
sec
phx
ldx #SEQ.INV-SEQS
SCRN.LineBufInit
>LDYA.G LineBufBase
>STYA LineBufPtr
ldy #0
bcc .1
ldy #SEQ.INV-SEQ.NORM
.1 lda SEQ.NORM,y
.1 lda SEQS,x
.2 jsr SCRN.ToLineBuf
iny
lda SEQ.NORM,y
inx
lda SEQS,x
bne .2
plx
rts
*--------------------------------------
SCRN.ToLineBuf sta (LineBufPtr)
@ -555,6 +584,22 @@ SCRN.ToLineBuf sta (LineBufPtr)
inc LineBufPtr+1
.8 rts
*--------------------------------------
SCRN.LineBufSprintf
>LDYA LineBufPtr
>SYSCALL sprintf
bcs .9
tya
clc
adc LineBufPtr
sta LineBufPtr
bcc .9
inc LineBufPtr+1
clc
.9 rts
*--------------------------------------
SCRN.LineBufOut lda #0
jsr SCRN.ToLineBuf

View File

@ -403,21 +403,31 @@ CharIn.Esc >STZ.G bEscMode
.INB USR/SRC/BIN/EDIT.S.DLG
.INB USR/SRC/BIN/EDIT.S.FILE
.INB USR/SRC/BIN/EDIT.S.SCRN
*--------------------------------------
CS.END
SEQ.DETECT .AZ "Querying terminal capabilities...\e[999;999H\e[6n"
*--------------------------------------
SEQS .EQ *
SEQ.BAR .AZ "\e[37;40m\e[7m"
SEQ.DLG .AS "\e[30;46m"
.DA #C.SO,#'x',#C.SI
.DA #0
SEQ.DLG.RIGHT .AS "\e[37;40m"
.DA #C.SO,#'x',#C.SI
.DA #0
SEQ.DLG.BUT .AS "\e[93;44m"
SEQ.INV .AZ "\e[7m"
SEQ.EDIT .AZ "\e[93;44m"
SEQ.CEOL .AZ "\e[K"
SEQ.NORM .AZ "\e[0m"
*--------------------------------------
SEQ.DETECT .AZ "Querying term caps...\e[999;999H\e[6n"
SEQ.RESET .AZ "\ec"
SEQ.INIT .AS "\ec\e)0"
SEQ.INIT .AS "\ec\e(B\e)0"
SEQ.SCROLLRGN .AZ "\e[?7l\e[2;%dr"
SEQ.SCROLLUP .AZ "\eD"
SEQ.SCROLLDN .AZ "\eM"
SEQ.SCROLLCURUP .AZ "\e[?7l\e[%d;%dr\eD"
SEQ.SCROLLCURDN .AZ "\e[?7l\e[%d;%dr\eM"
SEQ.BAR .AS "\e[40;37m\e[7m%s" +SEQ.NORM
SEQ.NORM .AZ "\e[0m"
SEQ.INV .AZ "\e[7m"
SEQ.EDIT .AS "\e[93;44m" +SEQ.CEOL
SEQ.CEOL .AZ "\e[K"
*--------------------------------------
MSG.TOPBAR .AZ "A2osX Edit:%s %s"
MSG.TXTCR .AZ "TXT/CR"
MSG.TXTCRLF .AZ "TXT/CRLF"