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
|
|
|
|
|
2017-03-06 16:58:05 +00:00
|
|
|
|
lda (ZPPTR1)
|
2022-12-23 16:50:50 +00:00
|
|
|
|
beq .7
|
2022-08-20 14:37:37 +00:00
|
|
|
|
|
2020-02-05 16:35:04 +00:00
|
|
|
|
>PUSHW L.MSG.HELPLINE
|
2017-08-22 06:37:03 +00:00
|
|
|
|
>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)
|
2017-03-06 16:58:05 +00:00
|
|
|
|
sec
|
2016-01-04 07:25:43 +00:00
|
|
|
|
adc ZPPTR1
|
|
|
|
|
sta ZPPTR1
|
2016-10-17 15:47:50 +00:00
|
|
|
|
bcc .1
|
2022-12-23 16:50:50 +00:00
|
|
|
|
|
2016-01-04 07:25:43 +00:00
|
|
|
|
inc ZPPTR1+1
|
|
|
|
|
bra .1
|
2016-10-17 15:47:50 +00:00
|
|
|
|
|
2022-12-23 16:50:50 +00:00
|
|
|
|
.7 jsr SCRN.ResetStatusBar
|
2019-12-14 18:44:01 +00:00
|
|
|
|
|
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
|
|
|
|
|
|
2022-12-23 16:50:50 +00:00
|
|
|
|
.8 jsr GetCh
|
2019-11-17 14:39:55 +00:00
|
|
|
|
bcs .9
|
2022-12-23 16:50:50 +00:00
|
|
|
|
|
|
|
|
|
beq .8
|
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
|
|
|
|
|
*--------------------------------------
|
2016-11-04 16:46:16 +00:00
|
|
|
|
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
|
|
|
|
|
2022-03-24 20:24:26 +00:00
|
|
|
|
jsr SCRN.LineBufOut Bottom line, CEOL...
|
2020-02-12 14:42:07 +00:00
|
|
|
|
bcs .99
|
2022-03-24 20:24:26 +00:00
|
|
|
|
|
|
|
|
|
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
|
|
|
|
*--------------------------------------
|
2016-11-07 15:13:25 +00:00
|
|
|
|
Ctrl.O ldy #FileY+1
|
|
|
|
|
lda (pData),y
|
|
|
|
|
tax
|
|
|
|
|
dey
|
|
|
|
|
lda (pData),y
|
2019-11-04 13:41:58 +00:00
|
|
|
|
|
2016-11-07 15:13:25 +00:00
|
|
|
|
ldy #ViewPortH
|
|
|
|
|
sec
|
|
|
|
|
sbc (pData),y
|
|
|
|
|
pha
|
|
|
|
|
txa
|
|
|
|
|
sbc #0
|
|
|
|
|
bcc .8
|
2022-08-20 14:37:37 +00:00
|
|
|
|
|
2016-11-07 15:13:25 +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
|
2016-11-07 15:13:25 +00:00
|
|
|
|
|
2019-12-17 12:28:49 +00:00
|
|
|
|
jmp SCRN.UpdateMainAndStatus
|
2019-11-04 07:21:40 +00:00
|
|
|
|
|
2016-11-07 15:13:25 +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
|
|
|
|
*--------------------------------------
|
2016-11-07 15:13:25 +00:00
|
|
|
|
Ctrl.P ldy #FileY+1
|
|
|
|
|
lda (pData),y
|
|
|
|
|
tax
|
|
|
|
|
dey
|
|
|
|
|
lda (pData),y
|
2019-11-04 13:41:58 +00:00
|
|
|
|
|
2016-11-07 15:13:25 +00:00
|
|
|
|
ldy #ViewPortH
|
2016-01-04 07:25:43 +00:00
|
|
|
|
clc
|
2016-11-07 15:13:25 +00:00
|
|
|
|
adc (pData),y
|
|
|
|
|
bcc .1
|
2019-11-04 07:21:40 +00:00
|
|
|
|
|
2016-11-07 15:13:25 +00:00
|
|
|
|
inx
|
2019-11-04 07:21:40 +00:00
|
|
|
|
|
2016-11-07 15:13:25 +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
|
2016-11-07 15:13:25 +00:00
|
|
|
|
|
|
|
|
|
.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
|
|
|
|
*--------------------------------------
|
2019-12-14 18:44:01 +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
|
|
|
|
|
2021-07-11 08:56:44 +00:00
|
|
|
|
pha
|
2019-12-17 12:28:49 +00:00
|
|
|
|
jsr SCRN.ResetStatusBar
|
|
|
|
|
|
|
|
|
|
>PUSHW L.MSG.STATUSBAR.E
|
2021-07-11 08:56:44 +00:00
|
|
|
|
pla
|
|
|
|
|
>PUSHA ERROR CODE
|
|
|
|
|
>PUSHBI 1
|
2019-12-17 12:28:49 +00:00
|
|
|
|
bra .2
|
|
|
|
|
|
2021-07-11 08:56:44 +00:00
|
|
|
|
.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
|
|
|
|
|
|
2021-07-11 08:56:44 +00:00
|
|
|
|
.8 jsr SCRN.UpdateTopBar
|
2022-08-20 14:37:37 +00:00
|
|
|
|
|
2021-07-11 08:56:44 +00:00
|
|
|
|
jmp SCRN.GotoCurXCurY
|
2019-12-17 12:28:49 +00:00
|
|
|
|
|
|
|
|
|
.9 rts
|
2016-01-04 07:25:43 +00:00
|
|
|
|
*--------------------------------------
|
2016-11-04 16:46:16 +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
|
|
|
|
*--------------------------------------
|
2016-11-07 15:13:25 +00:00
|
|
|
|
Ctrl.W jsr BUF.ComputeCOffset Y=line len
|
|
|
|
|
phy
|
2019-05-29 15:21:14 +00:00
|
|
|
|
|
2016-11-07 15:13:25 +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
|
|
|
|
|
|
2016-11-07 15:13:25 +00:00
|
|
|
|
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
|
2016-11-07 15:13:25 +00:00
|
|
|
|
|
|
|
|
|
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
|