A2osX/BIN/EDIT.S.CTRL.txt

666 lines
10 KiB
Plaintext
Raw Normal View History

2016-01-04 07:25:43 +00:00
NEW
2019-05-27 06:01:59 +00:00
AUTO 3,1
2016-01-04 07:25:43 +00:00
.LIST OFF
*--------------------------------------
* ^A = Help
* ^B = Begin Block
* ^C = Copy Block
* ^D = Delete Block
* ^E = End Block
* ^F = Find...
* ^G = Go To SOL
2019-05-27 15:37:31 +00:00
******** ^H = BS
******** ^I = TAB
******** ^J = LF
******** ^K = VT
2016-01-04 07:25:43 +00:00
* ^L = Go To EOL
2019-05-27 15:37:31 +00:00
******** ^M = CR
2016-01-04 07:25:43 +00:00
* ^N = Find Next
* ^O = Page Up
* ^P = Page Down
* ^Q = Quit
* ^R = Replace...
* ^S = Save
* ^T = Go To Top of file
2022-08-20 14:37:37 +00:00
******** ^U = FS
2016-01-04 07:25:43 +00:00
* ^V = Paste Block
2016-02-25 17:02:57 +00:00
* ^W = Erase line
2016-01-04 07:25:43 +00:00
* ^X = Cut Block
2016-02-25 17:02:57 +00:00
* ^Y = End Of File
2016-01-04 07:25:43 +00:00
*--------------------------------------
2019-05-27 15:37:31 +00:00
Ctrl.DEL jsr BUF.ComputeCOffset
2022-08-20 14:37:37 +00:00
2019-05-27 15:37:31 +00:00
lda BUF.COffset
ora BUF.COffset+1 No Backspace possible
beq .8
jsr Ctrl.BS
bcs .9
2019-08-26 09:26:42 +00:00
jmp Ctrl.Z
2019-05-27 15:37:31 +00:00
.8 clc
.9 rts
*--------------------------------------
2022-08-20 14:37:37 +00:00
Ctrl.Invalid
2016-01-04 07:25:43 +00:00
clc
2019-10-03 06:25:27 +00:00
Ctrl.Invalid.RTS
2016-01-04 07:25:43 +00:00
rts
*--------------------------------------
2019-12-17 12:28:49 +00:00
Ctrl.A >STZ.G bUpdateStatus
>LDYA L.MSG.HELP
2016-01-04 07:25:43 +00:00
>STYA ZPPTR1
2019-11-17 14:39:55 +00:00
stz TmpByte
2019-12-16 13:14:11 +00:00
.1 ldx #0
2019-11-17 14:39:55 +00:00
ldy TmpByte
2019-11-04 07:21:40 +00:00
jsr SCRN.GotoXY
2019-11-17 14:39:55 +00:00
bcs .9
2022-08-20 14:37:37 +00:00
lda (ZPPTR1)
beq .8
2022-08-20 14:37:37 +00:00
2020-02-05 16:35:04 +00:00
>PUSHW L.MSG.HELPLINE
>PUSHW ZPPTR1
2018-08-22 15:23:27 +00:00
>PUSHBI 2
2020-02-28 07:21:46 +00:00
>SYSCALL PrintF
2019-11-17 14:39:55 +00:00
bcs .9
2022-08-20 14:37:37 +00:00
2019-11-17 14:39:55 +00:00
inc TmpByte
2022-08-20 14:37:37 +00:00
2016-01-04 07:25:43 +00:00
lda (ZPPTR1)
sec
2016-01-04 07:25:43 +00:00
adc ZPPTR1
sta ZPPTR1
bcc .1
2016-01-04 07:25:43 +00:00
inc ZPPTR1+1
bra .1
.8 jsr SCRN.ResetStatusBar
2020-02-14 07:21:56 +00:00
>PUSHW LineBufPtr
2019-12-16 13:14:11 +00:00
>PUSHW L.MSG.STATUSBAR.H
2020-02-14 07:21:56 +00:00
>PUSHBI 0
2019-12-16 13:14:11 +00:00
jsr SCRN.LineBufSprintf
bcs .9
2022-08-20 14:37:37 +00:00
2019-12-16 13:14:11 +00:00
jsr SCRN.LineBufOut
bcs .9
2020-02-10 16:24:49 +00:00
jsr GetCh
2019-11-17 14:39:55 +00:00
bcs .9
2022-08-20 14:37:37 +00:00
2020-02-10 16:24:49 +00:00
jmp SCRN.Repaint
2022-08-20 14:37:37 +00:00
2019-11-17 14:39:55 +00:00
.9 rts
2016-01-04 07:25:43 +00:00
*--------------------------------------
2019-12-17 12:28:49 +00:00
Ctrl.C jmp BUF.SelToClipboard
*--------------------------------------
2016-01-04 07:25:43 +00:00
Ctrl.B jsr BUF.ComputeCOffset
2019-11-04 13:41:58 +00:00
2016-01-04 07:25:43 +00:00
lda BUF.COffset
2019-12-17 12:28:49 +00:00
>STA.G SelStart
2016-01-04 07:25:43 +00:00
lda BUF.COffset+1
iny
sta (pData),y
2019-05-29 15:21:14 +00:00
jmp SCRN.UpdateMain
2016-01-04 07:25:43 +00:00
*--------------------------------------
Ctrl.E jsr BUF.ComputeCOffset
2019-11-04 13:41:58 +00:00
2016-01-04 07:25:43 +00:00
lda BUF.COffset
2019-12-17 12:28:49 +00:00
>STA.G SelEnd
2016-01-04 07:25:43 +00:00
lda BUF.COffset+1
iny
sta (pData),y
2019-05-29 15:21:14 +00:00
jmp SCRN.UpdateMain
2016-01-04 07:25:43 +00:00
*--------------------------------------
2019-11-04 13:41:58 +00:00
Ctrl.G >LDA.G FileX
2016-01-04 07:25:43 +00:00
beq .8
2019-11-04 07:21:40 +00:00
2016-01-04 07:25:43 +00:00
lda #0
sta (pData),y
2022-08-20 14:37:37 +00:00
2019-05-29 15:21:14 +00:00
jmp SCRN.UpdateViewPort
2016-01-04 07:25:43 +00:00
.8 clc
rts
*--------------------------------------
2019-11-04 13:41:58 +00:00
Ctrl.BS >LDA.G FileX
2019-05-25 19:24:07 +00:00
beq .1 already at beginning of line
2016-01-04 07:25:43 +00:00
dec
sta (pData),y
bra .3
2019-11-04 07:21:40 +00:00
2019-11-04 13:41:58 +00:00
.1 >LDA.G FileY+1
2016-01-04 07:25:43 +00:00
tax
dey
ora (pData),y
beq .8
2019-11-04 07:21:40 +00:00
2016-01-04 07:25:43 +00:00
lda (pData),y
bne .2
2019-11-04 07:21:40 +00:00
2016-01-04 07:25:43 +00:00
dex
2019-11-04 07:21:40 +00:00
2016-01-04 07:25:43 +00:00
.2 dec
jsr BUF.GetLineAX
bcs .8
2019-11-04 07:21:40 +00:00
2016-01-04 07:25:43 +00:00
tya
2019-11-04 13:41:58 +00:00
>STA.G FileX
2019-11-04 07:21:40 +00:00
>DECW.G FileY
2019-11-04 16:14:25 +00:00
.3 jmp SCRN.UpdateViewPort
2019-11-04 07:21:40 +00:00
2016-01-04 07:25:43 +00:00
.8 clc
rts
*--------------------------------------
2019-11-04 13:41:58 +00:00
Ctrl.TAB jsr BUF.InsertTAB
bcs .9
2020-02-13 11:11:33 +00:00
lda TmpByte
beq .9 nothing to do
2022-08-20 14:37:37 +00:00
2020-02-13 11:11:33 +00:00
* clc
>ADC.G FileX
2019-11-04 13:41:58 +00:00
sta (pData),y
2022-08-20 14:37:37 +00:00
2019-11-04 13:41:58 +00:00
>LDA.G CurX
clc
2019-11-17 14:39:55 +00:00
adc TmpByte
2019-11-04 13:41:58 +00:00
sta (pData),y
2022-08-20 14:37:37 +00:00
2019-11-17 14:39:55 +00:00
sec
2019-11-04 13:41:58 +00:00
>SBC.G ScreenX
2019-11-17 14:39:55 +00:00
sec
2019-11-04 13:41:58 +00:00
>SBC.G ScreenW
2020-02-13 11:11:33 +00:00
bcs .1
2019-11-17 14:39:55 +00:00
2019-11-04 13:41:58 +00:00
jsr SCRN.UpdateCurrentLine
bcs .9
2022-08-20 14:37:37 +00:00
2020-02-13 11:11:33 +00:00
bra .8
2022-08-20 14:37:37 +00:00
2020-02-13 11:11:33 +00:00
.1 lda TmpByte
clc
2019-11-13 16:33:29 +00:00
>ADC.G ScreenX
2019-11-04 13:41:58 +00:00
sta (pData),y
2020-02-13 11:11:33 +00:00
jsr SCRN.UpdateViewPort
2022-08-20 14:37:37 +00:00
.8 jsr SCRN.GotoCurXCurY
2020-02-13 11:11:33 +00:00
jmp SCRN.UpdateStatusBar
2022-08-20 14:37:37 +00:00
2019-11-04 13:41:58 +00:00
.9 rts
2016-01-04 07:25:43 +00:00
*--------------------------------------
2019-11-04 07:21:40 +00:00
Ctrl.LF jsr BUF.GetNextLine
2016-01-04 07:25:43 +00:00
bcs .8
2019-11-04 07:21:40 +00:00
2016-01-04 07:25:43 +00:00
tya Y = line length
2019-11-04 13:41:58 +00:00
>CMP.G FileX
2016-01-04 07:25:43 +00:00
bcs .2
2022-08-20 14:37:37 +00:00
2016-01-04 07:25:43 +00:00
sta (pData),y
2019-11-04 07:21:40 +00:00
.2 >INCW.G FileY
jmp SCRN.UpdateViewPort
2019-11-04 16:14:25 +00:00
2016-01-04 07:25:43 +00:00
.8 clc
rts
*--------------------------------------
2019-11-04 13:41:58 +00:00
Ctrl.VT >LDA.G FileY+1
2016-01-04 07:25:43 +00:00
tax
dey
ora (pData),y
beq .8
2019-11-04 07:21:40 +00:00
2016-01-04 07:25:43 +00:00
lda (pData),y
bne .1
2019-11-04 07:21:40 +00:00
2016-01-04 07:25:43 +00:00
dex
2019-11-04 07:21:40 +00:00
2016-01-04 07:25:43 +00:00
.1 dec
jsr BUF.GetLineAX
bcs .8
2019-11-04 07:21:40 +00:00
2016-01-04 07:25:43 +00:00
tya Y = line length
2019-11-04 13:41:58 +00:00
>CMP.G FileX
2016-01-04 07:25:43 +00:00
bcs .2
2019-11-04 13:41:58 +00:00
2016-01-04 07:25:43 +00:00
sta (pData),y
2022-08-20 14:37:37 +00:00
2019-11-04 07:21:40 +00:00
.2 >DECW.G FileY
2019-05-29 15:21:14 +00:00
jmp SCRN.UpdateViewPort
2019-11-04 13:41:58 +00:00
.8
Ctrl.VT.8 clc
2016-01-04 07:25:43 +00:00
rts
*--------------------------------------
Ctrl.L jsr BUF.GetLine
2019-11-04 13:41:58 +00:00
bcs Ctrl.VT.8
2019-11-04 07:21:40 +00:00
2016-01-04 07:25:43 +00:00
tya Y = line length
2019-11-04 13:41:58 +00:00
>STA.G FileX
2019-11-04 07:21:40 +00:00
2019-05-29 15:21:14 +00:00
jmp SCRN.UpdateViewPort
2016-01-04 07:25:43 +00:00
*--------------------------------------
2020-01-23 14:48:22 +00:00
Ctrl.CR lda #C.CR
2016-01-04 07:25:43 +00:00
jsr BUF.InsertA
2020-02-12 14:42:07 +00:00
bcs .99
2018-11-15 15:04:14 +00:00
2020-02-12 14:42:07 +00:00
jsr SCRN.LineBufInitEdit CEOL
2019-11-18 06:59:17 +00:00
2019-11-04 07:21:40 +00:00
>STZ.G FileX
2020-02-12 14:42:07 +00:00
>INCW.G FileY
2022-08-20 14:37:37 +00:00
2020-02-12 14:42:07 +00:00
>STZ.G CurX
2019-11-18 16:40:32 +00:00
2020-02-16 20:45:16 +00:00
>LDA.G CurY
2019-11-18 06:59:17 +00:00
>CMP.G ViewPortHm1
2020-02-12 14:42:07 +00:00
bne .1
2022-08-20 14:37:37 +00:00
jsr SCRN.LineBufOut Bottom line, CEOL...
2020-02-12 14:42:07 +00:00
bcs .99
jmp SCRN.UpdateViewPort ...and scroll
2022-08-20 14:37:37 +00:00
2020-02-12 14:42:07 +00:00
.1 dec
2019-11-18 06:59:17 +00:00
>CMP.G ViewPortHm1
2020-02-13 11:11:33 +00:00
beq .6 No scroll needed
2022-08-20 14:37:37 +00:00
2020-02-14 07:21:56 +00:00
>PUSHW LineBufPtr
>PUSHW L.SEQ.SCROLLCURDN
2019-11-17 14:39:55 +00:00
>LDA.G CurY
inc
inc
>PUSHA
2020-02-16 20:45:16 +00:00
>LDA.G ScreenH
dec
>PUSHA
2019-11-17 14:39:55 +00:00
>PUSHBI 2
2020-02-06 07:30:56 +00:00
jsr SCRN.LineBufSprintf
2022-08-20 14:37:37 +00:00
2020-02-12 14:42:07 +00:00
.99 bcs .9
2019-11-04 07:21:40 +00:00
2020-02-14 07:21:56 +00:00
>PUSHW LineBufPtr
>PUSHW L.SEQ.SCROLLRGN
2020-02-06 07:30:56 +00:00
>LDA.G ScreenH
dec
>PUSHA
>PUSHBI 1
jsr SCRN.LineBufSprintf
2019-11-18 16:40:32 +00:00
bcs .9
2020-02-06 07:30:56 +00:00
.6 jsr SCRN.LineBufOut
bcs .9
2020-02-12 14:42:07 +00:00
>INC.G CurY
jsr BUF.ComputeCOffset
jsr SCRN.UpdateCurrentLine
jmp SCRN.GotoCurXCurY
2019-05-29 15:21:14 +00:00
.9 rts
2016-01-04 07:25:43 +00:00
*--------------------------------------
Ctrl.O ldy #FileY+1
lda (pData),y
tax
dey
lda (pData),y
2019-11-04 13:41:58 +00:00
ldy #ViewPortH
sec
sbc (pData),y
pha
txa
sbc #0
bcc .8
2022-08-20 14:37:37 +00:00
ldy #FileY+1
sta (pData),y
dey
pla
sta (pData),y
2019-11-04 13:41:58 +00:00
2019-11-13 16:33:29 +00:00
>LDA.G ScreenY
sec
>SBC.G ViewPortH
>STA.G ScreenY
>LDA.G ScreenY+1
sbc #0
sta (pData),y
2019-11-04 13:41:58 +00:00
>STZ.G FileX
2020-02-06 16:23:59 +00:00
>STA.G ScreenX
2019-12-17 12:28:49 +00:00
jmp SCRN.UpdateMainAndStatus
2019-11-04 07:21:40 +00:00
.8 pla
2019-11-06 06:42:14 +00:00
*--------------------------------------
Ctrl.T jsr SCRN.Home
2019-12-17 12:28:49 +00:00
jmp SCRN.UpdateMainAndStatus
2016-01-04 07:25:43 +00:00
*--------------------------------------
Ctrl.P ldy #FileY+1
lda (pData),y
tax
dey
lda (pData),y
2019-11-04 13:41:58 +00:00
ldy #ViewPortH
2016-01-04 07:25:43 +00:00
clc
adc (pData),y
bcc .1
2019-11-04 07:21:40 +00:00
inx
2019-11-04 07:21:40 +00:00
.1 pha
phx
jsr BUF.GetLineAX A,X = FileY+PAGE
bcs .8
ldy #FileY+1
pla
sta (pData),y
dey
pla
sta (pData),y
2022-08-20 14:37:37 +00:00
2019-11-13 16:33:29 +00:00
>LDA.G ViewPortH
clc
>ADC.G ScreenY
sta (pData),y
iny
lda (pData),y
adc #0
sta (pData),y
2022-08-20 14:37:37 +00:00
2020-02-06 16:23:59 +00:00
>STZ.G FileX
>STA.G ScreenX
2019-12-17 12:28:49 +00:00
jmp SCRN.UpdateMainAndStatus
.8 pla
pla
2019-11-13 16:33:29 +00:00
clc
rts
2019-11-06 06:42:14 +00:00
*--------------------------------------
Ctrl.Y jsr BUF.GetNextLine
bcs .1
>INCW.G FileY
bra Ctrl.Y
.1 jsr BUF.GetLine
tya Y = line length
>STA.G FileX
2019-11-13 16:33:29 +00:00
>LDA.G FileY
sec
2019-11-18 16:40:32 +00:00
>SBC.G ViewPortHm1
2019-11-13 16:33:29 +00:00
tax
>LDA.G FileY+1
sbc #0
bcs .2
2022-08-20 14:37:37 +00:00
2019-11-18 16:40:32 +00:00
>LDA.G FileY
2019-11-13 16:33:29 +00:00
tax
2019-11-18 16:40:32 +00:00
lda #0
2022-08-20 14:37:37 +00:00
2019-11-13 16:33:29 +00:00
.2 >STA.G ScreenY+1
dey
txa
sta (pData),y
2022-08-20 14:37:37 +00:00
2019-12-17 12:28:49 +00:00
jmp SCRN.UpdateMainAndStatus
2019-11-13 16:33:29 +00:00
*--------------------------------------
2019-12-07 09:54:33 +00:00
Ctrl.F >LDYA L.DLG.FIND
jsr DLG.Open
jsr DLG.Run
cmp #C.CR
bne .8
2022-08-20 14:37:37 +00:00
2019-12-07 09:54:33 +00:00
.8 jsr DLG.Close
2022-08-20 14:37:37 +00:00
2019-12-07 09:54:33 +00:00
clc
rts
2019-11-13 16:33:29 +00:00
*--------------------------------------
Ctrl.N
clc
rts
2016-01-04 07:25:43 +00:00
*--------------------------------------
Ctrl.R clc
rts
2019-11-04 07:21:40 +00:00
*--------------------------------------
2019-12-16 13:14:11 +00:00
Ctrl.Q >LDA.G bUnSaved
beq .8
2022-08-20 14:37:37 +00:00
2019-12-17 12:28:49 +00:00
>STZ.G bUpdateStatus
2019-12-16 13:14:11 +00:00
jsr SCRN.ResetStatusBar
2020-02-14 07:21:56 +00:00
>PUSHW LineBufPtr
2019-12-16 13:14:11 +00:00
>PUSHW L.MSG.STATUSBAR.U
2020-02-14 07:21:56 +00:00
>PUSHBI 0
2019-12-16 13:14:11 +00:00
jsr SCRN.LineBufSprintf
bcs .9
2022-08-20 14:37:37 +00:00
2019-12-16 13:14:11 +00:00
jsr SCRN.LineBufOut
bcs .9
2020-02-10 16:24:49 +00:00
.1 jsr GetCh
2019-12-16 13:14:11 +00:00
bcs .9
2022-08-20 14:37:37 +00:00
2019-12-16 13:14:11 +00:00
cmp #'a
bcc .2
cmp #'z'+1
bcs .2
2022-08-20 14:37:37 +00:00
2019-12-16 13:14:11 +00:00
eor #$20
2022-08-20 14:37:37 +00:00
2019-12-16 13:14:11 +00:00
.2 cmp #'Y'
beq .8
2022-08-20 14:37:37 +00:00
2019-12-16 13:14:11 +00:00
cmp #'N'
beq .80
2022-08-20 14:37:37 +00:00
2019-12-16 13:14:11 +00:00
bra .1
2022-08-20 14:37:37 +00:00
2019-12-16 13:14:11 +00:00
.8 lda #$ff
2019-11-04 13:41:58 +00:00
>STA.G bExit
2019-11-04 07:21:40 +00:00
2020-02-04 20:04:33 +00:00
.80 jsr SCRN.UpdateStatusBar
jmp SCRN.GotoCurXCurY
2019-12-16 13:14:11 +00:00
.9 rts
2016-01-04 07:25:43 +00:00
*--------------------------------------
2019-11-18 16:40:32 +00:00
Ctrl.S >LDYA L.DLG.SAVE
2019-11-19 16:41:07 +00:00
jsr DLG.Open
2019-11-21 15:59:09 +00:00
jsr DLG.Run
2019-11-28 16:50:08 +00:00
2019-12-17 12:28:49 +00:00
pha
2022-08-20 14:37:37 +00:00
2019-12-17 12:28:49 +00:00
jsr DLG.Close
2022-08-20 14:37:37 +00:00
2019-12-17 12:28:49 +00:00
pla
2019-11-28 16:50:08 +00:00
cmp #C.CR
bne .8
2022-08-20 14:37:37 +00:00
2019-11-28 16:50:08 +00:00
jsr FILE.Save
2019-12-17 12:28:49 +00:00
bcc .1
2022-08-20 14:37:37 +00:00
pha
2019-12-17 12:28:49 +00:00
jsr SCRN.ResetStatusBar
>PUSHW L.MSG.STATUSBAR.E
pla
>PUSHA ERROR CODE
>PUSHBI 1
2019-12-17 12:28:49 +00:00
bra .2
.1 jsr SCRN.ResetStatusBar
2022-08-20 14:37:37 +00:00
2020-02-14 07:21:56 +00:00
>PUSHW LineBufPtr
>PUSHW L.MSG.STATUSBAR.S
2019-12-17 12:28:49 +00:00
>LDA.G hFileName
>SYSCALL GetMemPtr
>PUSHYA
2022-08-20 14:37:37 +00:00
2019-12-17 12:28:49 +00:00
>PUSHBI 2
2022-08-20 14:37:37 +00:00
2019-12-17 12:28:49 +00:00
.2 jsr SCRN.LineBufSprintf
2020-01-23 14:48:22 +00:00
jsr SCRN.LineBufOut
bcs .9
.8 jsr SCRN.UpdateTopBar
2022-08-20 14:37:37 +00:00
jmp SCRN.GotoCurXCurY
2019-12-17 12:28:49 +00:00
.9 rts
2016-01-04 07:25:43 +00:00
*--------------------------------------
Ctrl.FS jsr BUF.GetLine
2016-01-04 07:25:43 +00:00
bcs .8
2019-11-04 07:21:40 +00:00
2016-01-04 07:25:43 +00:00
tya Y = line length
2019-11-04 13:41:58 +00:00
>CMP.G FileX
2016-01-04 07:25:43 +00:00
beq .1 already at end of line
lda (pData),y
inc
sta (pData),y
bra .3
2019-11-04 07:21:40 +00:00
.1 jsr BUF.GetNextLine
2016-01-04 07:25:43 +00:00
bcs .8
2019-11-04 07:21:40 +00:00
>INCW.G FileY
>STZ.G FileX
2019-11-04 16:14:25 +00:00
.3 jmp SCRN.UpdateViewPort
2019-11-04 07:21:40 +00:00
2016-01-04 07:25:43 +00:00
.8 clc
2019-11-04 16:14:25 +00:00
.9 rts
2016-01-04 07:25:43 +00:00
*--------------------------------------
2016-01-29 17:05:08 +00:00
Ctrl.V jsr BUF.InsertClipboard
bcs .9
2022-08-20 14:37:37 +00:00
2020-02-28 07:21:46 +00:00
jsr SCRN.UnSaved
2020-01-23 14:48:22 +00:00
jmp SCRN.UpdateMainAndStatus
2019-05-29 15:21:14 +00:00
.9 rts
2016-01-04 07:25:43 +00:00
*--------------------------------------
Ctrl.W jsr BUF.ComputeCOffset Y=line len
phy
2019-05-29 15:21:14 +00:00
lda BUF.LOffset
ldy #SelStart
sta (pData),y
lda BUF.LOffset+1
iny
sta (pData),y
2019-09-06 12:50:27 +00:00
ply Get back line len
2019-05-29 15:21:14 +00:00
clc
lda (BufPtr),y
2022-08-20 14:37:37 +00:00
beq .1 last line \0 ending
2019-09-06 12:50:27 +00:00
sec delete CR
2022-08-20 14:37:37 +00:00
2019-05-29 15:21:14 +00:00
.1 tya
adc BUF.LOffset
ldy #SelEnd
sta (pData),y
lda BUF.LOffset+1
adc #0
iny
sta (pData),y
2019-05-29 15:21:14 +00:00
bra Ctrl.D
2019-08-26 09:26:42 +00:00
.8
Ctrl.W.RTS rts
2016-01-04 07:25:43 +00:00
*--------------------------------------
2016-02-25 17:02:57 +00:00
Ctrl.X jsr BUF.SelToClipboard
2019-08-26 09:26:42 +00:00
bcs Ctrl.W.RTS
Ctrl.D jsr BUF.DelSel
2020-02-10 16:24:49 +00:00
bcs Ctrl.D.8
2022-08-20 14:37:37 +00:00
2020-01-23 14:48:22 +00:00
jsr BUF.ResetSel
2019-12-17 12:28:49 +00:00
jsr SCRN.CursorAdjust
2022-08-20 14:37:37 +00:00
jsr SCRN.UpdateViewPort
2020-02-28 07:21:46 +00:00
jsr SCRN.UnSaved will update TopBar
2019-12-17 12:28:49 +00:00
jmp SCRN.UpdateMainAndStatus
2022-08-20 14:37:37 +00:00
2020-02-10 16:24:49 +00:00
Ctrl.D.8 clc
2020-01-23 14:48:22 +00:00
rts
2016-01-04 07:25:43 +00:00
*--------------------------------------
2019-05-27 15:37:31 +00:00
Ctrl.Z jsr BUF.ComputeCOffset
2019-05-25 19:24:07 +00:00
2019-05-27 15:37:31 +00:00
lda BUF.COffset
2019-11-06 13:14:42 +00:00
eor FileLen
2019-08-26 09:26:42 +00:00
bne .1
2022-08-20 14:37:37 +00:00
2019-05-27 15:37:31 +00:00
lda BUF.COffset+1
2019-11-06 13:14:42 +00:00
eor FileLen+1
2020-02-10 16:24:49 +00:00
beq Ctrl.D.8
2019-05-27 15:37:31 +00:00
2019-08-26 09:26:42 +00:00
.1 jsr BUF.DelCharAtCursor
bcs Ctrl.W.RTS
2018-11-15 15:04:14 +00:00
cmp #C.CR did we DEL a CR ?
2019-11-18 16:40:32 +00:00
bne .8
2018-11-15 15:04:14 +00:00
2019-11-18 16:40:32 +00:00
>LDA.G CurY
>CMP.G ViewPortHm1
beq .8 Bottom line, all done
2022-08-20 14:37:37 +00:00
2019-11-18 16:40:32 +00:00
dec
>CMP.G ViewPortHm1
2020-02-06 07:30:56 +00:00
beq .8 No scroll needed
2022-08-20 14:37:37 +00:00
2020-02-05 16:35:04 +00:00
>PUSHW L.SEQ.SCROLLCURUP
2019-11-18 16:40:32 +00:00
>LDA.G CurY
inc
inc
>PUSHA
2020-02-05 16:35:04 +00:00
>LDA.G ScreenH
dec
>PUSHA
2019-11-18 16:40:32 +00:00
>PUSHBI 2
2020-02-28 07:21:46 +00:00
>SYSCALL PrintF
2019-11-18 16:40:32 +00:00
bcs .9
jsr SCRN.ResetScrollRgn
bcs .9
2022-08-20 14:37:37 +00:00
2019-08-26 09:26:42 +00:00
jsr SCRN.UpdateCurrentLine
2019-11-18 16:40:32 +00:00
bcs .9
jsr SCRN.UpdateLast
2020-02-10 16:24:49 +00:00
bcs .9
2022-08-20 14:37:37 +00:00
2019-11-18 16:40:32 +00:00
.8 jsr SCRN.UpdateCurrentLine
bcs .9
2018-11-15 15:04:14 +00:00
2020-02-28 07:21:46 +00:00
.80 jsr SCRN.UnSaved
2019-12-16 13:14:11 +00:00
jsr SCRN.GotoCurXCurY
2019-12-17 12:28:49 +00:00
jmp SCRN.UpdateStatusBar
2022-08-20 14:37:37 +00:00
.9 rts
2016-01-04 07:25:43 +00:00
*--------------------------------------
MAN
2020-07-27 14:09:19 +00:00
SAVE usr/src/bin/edit.s.ctrl
LOAD usr/src/bin/edit.s
2016-01-04 07:25:43 +00:00
ASM