From d6fe848f750f5d77fb22ea5a2ec598916a2cf180 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Mon, 18 Nov 2019 17:40:32 +0100 Subject: [PATCH] Kernel 0.93+ --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes BIN/EDIT.S.BUF.txt | 2 +- BIN/EDIT.S.CTRL.txt | 70 ++++++++--- BIN/EDIT.S.SCRN.txt | 251 ++++++++++++++++++++++++++++++++++----- BIN/EDIT.S.txt | 37 ++++-- 5 files changed, 300 insertions(+), 60 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 4b43dc1e98d8181b40098b86741a8016db8f6c7e..24698fc07c7c35cede67a7ef6d66a45d3cc945a3 100644 GIT binary patch delta 22272 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 G^#1{N%9}y} diff --git a/BIN/EDIT.S.BUF.txt b/BIN/EDIT.S.BUF.txt index 0a4d1b48..fe832235 100644 --- a/BIN/EDIT.S.BUF.txt +++ b/BIN/EDIT.S.BUF.txt @@ -97,7 +97,7 @@ BUF.DelCharAtCursor .1 >STYA BufPtr - lda (BufPtr) + lda (BufPtrDst) pha Save deleted char for later jsr BUF.MoveBackTail diff --git a/BIN/EDIT.S.CTRL.txt b/BIN/EDIT.S.CTRL.txt index 29a96a14..da07410b 100644 --- a/BIN/EDIT.S.CTRL.txt +++ b/BIN/EDIT.S.CTRL.txt @@ -274,12 +274,10 @@ Ctrl.CR jsr BUF.ComputeCOffset >STZ.G FileX >LDA.G CurY - inc - >DEBUG + >CMP.G ViewPortHm1 beq .8 Bottom line, all done - >STA.G CurY dec >CMP.G ViewPortHm1 beq .1 No scoll needed @@ -296,14 +294,11 @@ Ctrl.CR jsr BUF.ComputeCOffset >SYSCALL printf bcs .9 - >LDA.G ScreenH - dec - >PUSHA - >PUSHBI 1 - >LDYA L.SEQ.SCROLLRGN - >SYSCALL printf - -.1 jsr SCRN.UpdateCurrentLine + jsr SCRN.ResetScrollRgn + bcs .9 + +.1 >INC.G CurY + jsr SCRN.UpdateCurrentLine .8 clc .9 rts @@ -403,14 +398,15 @@ Ctrl.Y jsr BUF.GetNextLine >LDA.G FileY sec - >SBC.G ViewPortH + >SBC.G ViewPortHm1 tax >LDA.G FileY+1 sbc #0 bcs .2 - lda #0 + >LDA.G FileY tax + lda #0 .2 >STA.G ScreenY+1 dey @@ -439,7 +435,12 @@ Ctrl.Q lda #$FF clc rts *-------------------------------------- -Ctrl.S lda #PromptModeSave +Ctrl.S >LDYA L.DLG.SAVE + jsr SCRN.DLGShow + clc + rts + + lda #PromptModeSave >STA.G PromptMode >LDA.G hFileName beq .2 @@ -541,11 +542,44 @@ Ctrl.Z jsr BUF.ComputeCOffset bcs Ctrl.W.RTS cmp #C.CR did we DEL a CR ? - beq Prompt.Help.Upd yes repaint whole screen + bne .8 + >LDA.G CurY + + >CMP.G ViewPortHm1 + beq .8 Bottom line, all done + + dec + >CMP.G ViewPortHm1 + beq .8 No scoll needed + + >LDA.G ScreenH + dec + >PUSHA + >LDA.G CurY + inc + inc + >PUSHA + >PUSHBI 2 + >LDYA L.SEQ.SCROLLCURUP + >SYSCALL printf + bcs .9 + + jsr SCRN.ResetScrollRgn + bcs .9 + jsr SCRN.UpdateCurrentLine - bcs Ctrl.W.RTS - jmp SCRN.UpdateStatusBar + bcs .9 + + jsr SCRN.UpdateLast + bcc .80 +.9 rts + +.8 jsr SCRN.UpdateCurrentLine + bcs .9 +.80 jsr SCRN.UpdateStatusBar + bcs .9 + jmp SCRN.GotoCurXCurY *-------------------------------------- Prompt.Help >STZ.G PromptMode @@ -605,7 +639,7 @@ Prompt.Save cmp #3 Ctrl-C jsr FILE.Save bcc .81 -.12 jsr SCRN.LineBufInit +.12 jsr SCRN.LineBufInitInv jmp SCRN.UpdateStatusBarErrA .2 cmp #C.DEL diff --git a/BIN/EDIT.S.SCRN.txt b/BIN/EDIT.S.SCRN.txt index dbdcad59..833ee788 100644 --- a/BIN/EDIT.S.SCRN.txt +++ b/BIN/EDIT.S.SCRN.txt @@ -29,9 +29,16 @@ SCRN.Home lda #0 bne .1 rts *-------------------------------------- +SCRN.ResetScrollRgn + >LDA.G ScreenH + dec + >PUSHA + >PUSHBI 1 + >LDYA L.SEQ.SCROLLRGN + >SYSCALL printf + rts +*-------------------------------------- SCRN.UpdateTopBar - jsr SCRN.LineBufInit - >PUSHBI 1 >PUSHBI 1 >PUSHBI 2 @@ -39,6 +46,9 @@ SCRN.UpdateTopBar >SYSCALL printf bcs .9 + >LDYA.G LineBufBase + >STYA LineBufPtr + >LDA.G FileType tax >PUSHW L.MSG.FILETYPES,x @@ -54,7 +64,7 @@ SCRN.UpdateTopBar .2 >PUSHYA >PUSHBI 4 >PUSHW L.MSG.TOPBAR - >LDYA ZPPTR1 + >LDYA LineBufPtr >SYSCALL sprintf bcs .9 @@ -64,15 +74,15 @@ SCRN.UpdateTopBar ldy #255 .3 iny - lda (ZPPTR1),y + lda (LineBufPtr),y bne .3 lda #'!' - sta (ZPPTR1),y + sta (LineBufPtr),y iny lda #0 - sta (ZPPTR1),y + sta (LineBufPtr),y .8 jmp SCRN.LineBufOutBar .9 rts @@ -83,11 +93,24 @@ SCRN.UpdateMain >LDA.G ScreenY lda (pData),y sta TmpIndex+1 - lda #0 - sta TmpByte + stz TmpByte >LDA.G ViewPortH + bra SCRN.UpdateMain.1 + +SCRN.UpdateLast >LDA.G ViewPortHm1 + sta TmpByte + clc + >ADC.G ScreenY + sta (pData),y + iny + lda (pData),y + adc #0 + sta (pData),y + + lda #1 +SCRN.UpdateMain.1 sta TmpCount - + .1 lda TmpIndex ldx TmpIndex+1 @@ -159,7 +182,7 @@ SCRN.UpdateLineAtALenY jsr SCRN.GotoXY bcs SCRN.UpdateMain.9 - jsr SCRN.LineBufInit + jsr SCRN.LineBufInitNorm ldy #$ff @@ -228,12 +251,7 @@ SCRN.UpdateLineAtALenY bpl .80 jsr SCRN.ToggleSel -.80 lda #0 - jsr SCRN.ToLineBuf - - >PUSHBI 0 - >LDYA LineBufPtr - >SYSCALL printf +.80 jmp SCRN.LineBufOut .9 rts *-------------------------------------- SCRN.ToggleSel ldy #0 @@ -255,7 +273,9 @@ SCRN.ToggleSel.RTS rts *-------------------------------------- SCRN.UpdateStatusBar - jsr SCRN.LineBufInit + >LDYA.G LineBufBase + >STYA LineBufPtr + >PUSHBI 1 >PUSHB.G ScreenH @@ -308,7 +328,7 @@ SCRN.UpdateStatusBarOut tax SCRN.UpdateStatusBarOutErr >PUSHW L.MSG.STATUSBAR,x - >LDYA ZPPTR1 + >LDYA LineBufPtr >SYSCALL sprintf SCRN.LineBufOutBar >LDA.G ScreenW @@ -316,7 +336,7 @@ SCRN.LineBufOutBar ldy #0 -.1 lda (ZPPTR1),y +.1 lda (LineBufPtr),y beq .2 iny dex @@ -326,15 +346,15 @@ SCRN.LineBufOutBar .2 lda #C.SPACE -.3 sta (ZPPTR1),y +.3 sta (LineBufPtr),y iny dex bne .3 lda #0 - sta (ZPPTR1),y + sta (LineBufPtr),y -.4 >PUSHW LineBufPtr +.4 >PUSHW.G LineBufBase >PUSHBI 2 >LDYA L.SEQ.BAR >SYSCALL printf @@ -352,17 +372,6 @@ SCRN.CursorAdjust .8 rts *-------------------------------------- -SCRN.LineBufInit - >LDYA LineBufPtr - >STYA ZPPTR1 - rts -*-------------------------------------- -SCRN.ToLineBuf sta (ZPPTR1) - inc ZPPTR1 - bne .8 - inc ZPPTR1+1 -.8 rts -*-------------------------------------- SCRN.GotoCurXCurY ldy #CurX lda (pData),y @@ -525,6 +534,182 @@ SCRN.scrollDn >PUSHBI 0 .9 rts *-------------------------------------- +SCRN.DLGShow >STYA ZPPTR1 + jsr DLG.GetOrigin + stx TmpLen + sty TmpLen+1 + jsr SCRN.GotoXY + bcs .9 + + ldy #4 T + jsr DLG.InvBar + bcs .9 + + jsr SCRN.LineBufInitNorm + + jsr SCRN.VBarToLineBuf + + ldy #2 W + lda (ZPPTR1),y + dec + tax + + lda #C.SPACE +.3 jsr SCRN.ToLineBuf + dex + bne .3 + + jsr SCRN.VBarToLineBuf + + ldy #3 H + lda (ZPPTR1),y + dec + dec + sta TmpCount + +.4 inc tmpLen+1 Y + + ldx TmpLen + ldy TmpLen+1 + jsr SCRN.GotoXY + bcs .9 + + jsr SCRN.LineBufOut + bcs .9 + + dec TmpCount + bne .4 + + inc tmpLen+1 Y + + ldx TmpLen + ldy TmpLen+1 + jsr SCRN.GotoXY + bcs .9 + + ldy #5 S + jsr DLG.InvBar + bcs .9 + + ldx #10 + ldy #10 + jsr SCRN.GotoXY + +.9 rts +*-------------------------------------- +DLG.GetOrigin lda (ZPPTR1) X + bne .1 + + >LDA.G ScreenW + ldy #2 W + sec + sbc (ZPPTR1),y + + lsr + +.1 tax + + ldy #1 + lda (ZPPTR1),y Y + bne .2 + + >LDA.G ViewPortHm1 + ldy #3 H + sec + sbc (ZPPTR1),y + + lsr + +.2 tay + + rts +*-------------------------------------- +SCRN.LineBufInitNorm + clc + .HS B0 BCS +SCRN.LineBufInitInv + sec + >LDYA.G LineBufBase + >STYA LineBufPtr + ldy #0 + bcc .1 + + ldy #SEQ.INV-SEQ.NORM + +.1 lda SEQ.NORM,y + +.2 jsr SCRN.ToLineBuf + iny + lda SEQ.NORM,y + bne .2 + + rts +*-------------------------------------- +DLG.InvBar phy + jsr SCRN.LineBufInitInv + + ply + phy + lda (ZPPTR1),y + tay + lda (ZPPTR1),y + tax + +.1 iny + lda (ZPPTR1),y + jsr SCRN.ToLineBuf + dex + bne .1 + + ldy #2 W + lda (ZPPTR1),y + ply + pha + lda (ZPPTR1),y + tay + pla + sec + sbc (ZPPTR1),y + tax + + lda #C.SPACE + +.2 jsr SCRN.ToLineBuf + dex + bne .2 + + ldy #0 +.3 lda SEQ.NORM,y + beq .4 + jsr SCRN.ToLineBuf + iny + bra .3 + +.4 jsr SCRN.VBarToLineBuf + + jmp SCRN.LineBufOut +*-------------------------------------- +SCRN.VBarToLineBuf + lda #C.SO + jsr SCRN.ToLineBuf + lda #'x' + jsr SCRN.ToLineBuf + lda #C.SI +*-------------------------------------- +SCRN.ToLineBuf sta (LineBufPtr) + inc LineBufPtr + bne .8 + inc LineBufPtr+1 +.8 rts +*-------------------------------------- +SCRN.LineBufOut lda #0 + jsr SCRN.ToLineBuf + + >PUSHBI 0 + >LDYA.G LineBufBase + >SYSCALL printf + rts +*-------------------------------------- MAN SAVE USR/SRC/BIN/EDIT.S.SCRN LOAD USR/SRC/BIN/EDIT.S diff --git a/BIN/EDIT.S.txt b/BIN/EDIT.S.txt index 639deadf..23959687 100644 --- a/BIN/EDIT.S.txt +++ b/BIN/EDIT.S.txt @@ -18,8 +18,7 @@ TABMASK .EQ 3 .OR ZPBIN ZS.START BufPtr .BS 2 -BufPtrDst .EQ * -BufPtrBackup .BS 2 +BufPtrDst .BS 2 ClipboardPtr .BS 2 LineBufPtr .BS 2 @@ -75,6 +74,7 @@ L.SEQ.SCROLLRGN .DA SEQ.SCROLLRGN L.SEQ.RESET .DA SEQ.RESET L.SEQ.SCROLLUP .DA SEQ.SCROLLUP L.SEQ.SCROLLDN .DA SEQ.SCROLLDN +L.SEQ.SCROLLCURUP .DA SEQ.SCROLLCURUP L.SEQ.SCROLLCURDN .DA SEQ.SCROLLCURDN L.SEQ.CEOL .DA SEQ.CEOL L.SEQ.BAR .DA SEQ.BAR @@ -132,6 +132,7 @@ J.CTRL .DA Ctrl.Invalid .DA Ctrl.Invalid .DA Ctrl.Invalid .DA Ctrl.Invalid +L.DLG.SAVE .DA DLG.SAVE .DA 0 *-------------------------------------- CS.INIT clc @@ -152,7 +153,7 @@ CS.RUN >PUSHBI 0 >LDYAI 510+5+5+4+1 potentially 255*\\ NORM,INV,CEOL & \0 >SYSCALL Getmem bcs CS.RUN.RTS - >STYA LineBufPtr + >STYA.G LineBufBase txa >STA.G hLineBuffer @@ -270,12 +271,12 @@ CharIn.Esc >STZ.G bEscMode adc #EscBuffer tay lda (pData),y - ldx EscChars + ldx #EscChars.Cnt-1 .1 cmp EscChars,x beq .2 dex - bne .1 + bpl .1 cmp #'R' Response to cursor position query? beq .3 @@ -368,6 +369,7 @@ SEQ.INIT .AS "\ec" 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" @@ -401,7 +403,7 @@ MSG.HELP >PSTR "All commands: (* = Not yet implemented)" >PSTR " Ctrl-P : Page down" >PSTR " Ctrl-Q : Quit" >PSTR " Ctrl-R : * Replace found string with..." - >PSTR " Ctrl-S : Save file to disk..." + >PSTR " Ctrl-S : Save file..." >PSTR " Ctrl-T : Go to top of file" >PSTR " Ctrl-V : Past clipboard at cursor position" >PSTR " Ctrl-W : Erase current line" @@ -411,8 +413,26 @@ MSG.HELP >PSTR "All commands: (* = Not yet implemented)" .HS 00 *-------------------------------------- MSG.NEWFILE .AZ "newfile" -EscChars >PSTR "DBAC" -EscAscii .HS 04080A0B15 +EscChars .AS "DBAC" +EscChars.Cnt .EQ *-EscChars +EscAscii .HS 080A0B15 +*-------------------------------------- +DLG.SAVE .DA #0 X + .DA #0 Y + .DA #70 W + .DA #8 H + .DA #DLG.SAVE.T-DLG.SAVE Title + .DA #DLG.SAVE.S-DLG.SAVE Status + .DA #1,#4,#3 LABEL,x,y + >PSTR "Filename :" + .DA #2,#4,#4,#64,#hFileName TEXTBOX,x,y,MAXCHAR,hMem + .DA #1,#4,#6 LABEL,x,y + >PSTR "Filetype :" + .DA #3 + .DA L.MSG.FILETYPES + .DA #0 +DLG.SAVE.T >PSTR "Save As..." Title +DLG.SAVE.S >PSTR "CR:Save, Ctrl-T:Change Type, Ctrl-C:Cancel" *-------------------------------------- .DUMMY .OR 0 @@ -429,6 +449,7 @@ hFileName .BS 1 hFind .BS 1 hReplace .BS 1 hLineBuffer .BS 1 +LineBufBase .BS 2 BufBase .BS 2 hBuffer .BS 1 hBufferBackup .BS 1