A2osX/BIN/EDIT.S.SCRN.txt

643 lines
10 KiB
Plaintext
Raw Normal View History

2016-01-04 08:25:43 +01:00
NEW
2019-05-27 08:01:59 +02:00
AUTO 3,1
2016-01-04 08:25:43 +01:00
.LIST OFF
*--------------------------------------
2020-02-05 17:35:04 +01:00
SCRN.Init >PUSHW L.SEQ.INIT
>LDA.G ScreenH
2016-01-04 08:25:43 +01:00
dec
>PUSHA
2018-08-22 17:23:27 +02:00
>PUSHBI 1
2020-02-28 08:21:46 +01:00
>SYSCALL PrintF
2020-02-10 17:24:49 +01:00
bcs SCRN.Init.9
2019-11-04 08:21:40 +01:00
2021-07-03 19:18:58 +02:00
jmp SCRN.Home
*--------------------------------------
2020-02-10 17:24:49 +01:00
SCRN.Repaint lda #$ff
2020-02-06 11:14:50 +01:00
>STA.G bUpdateTop
>STA.G bUpdateStatus
2021-06-30 21:09:07 +02:00
2020-02-10 17:24:49 +01:00
jsr SCRN.UpdateTopBar
bcs SCRN.Init.9
2021-06-30 21:09:07 +02:00
2020-02-10 17:24:49 +01:00
jsr SCRN.GotoCurXCurY
bcs SCRN.Init.9
2019-12-18 08:57:47 +01:00
2020-02-10 17:24:49 +01:00
jmp SCRN.UpdateMainAndStatus
2021-06-30 21:09:07 +02:00
2020-02-10 17:24:49 +01:00
SCRN.Init.9 rts
2016-01-04 08:25:43 +01:00
*--------------------------------------
2019-11-04 14:41:58 +01:00
SCRN.Home lda #0
2019-11-17 15:39:55 +01:00
ldy #FileX Zero FileXY,ScreenXY & CurXY
2019-11-04 14:41:58 +01:00
.1 sta (pData),y
iny
2019-11-13 17:33:29 +01:00
cpy #CurY+1
2019-11-04 14:41:58 +01:00
bne .1
rts
*--------------------------------------
2019-11-18 17:40:32 +01:00
SCRN.ResetScrollRgn
2020-02-05 17:35:04 +01:00
>PUSHW L.SEQ.SCROLLRGN
2019-11-18 17:40:32 +01:00
>LDA.G ScreenH
dec
>PUSHA
>PUSHBI 1
2020-02-28 08:21:46 +01:00
>SYSCALL PrintF
2019-11-18 17:40:32 +01:00
rts
*--------------------------------------
2019-12-17 13:28:49 +01:00
SCRN.UnSaved >LDA.G bUnSaved
2020-01-28 11:40:54 +01:00
bne SCRN.UpdateTopBar.8
2019-12-16 14:14:11 +01:00
dec
sta (pData),y
*--------------------------------------
2019-11-04 08:21:40 +01:00
SCRN.UpdateTopBar
2020-02-06 11:14:50 +01:00
>LDA.G bUpdateTop
bmi SCRN.UpdateTopBar.1
2021-06-30 21:09:07 +02:00
SCRN.UpdateTopBar.8
2019-12-18 08:57:47 +01:00
clc
rts
2020-02-06 11:14:50 +01:00
SCRN.UpdateTopBar.1
2020-02-05 17:35:04 +01:00
lda #0
2019-12-18 08:57:47 +01:00
sta (pData),y
2019-12-09 08:12:14 +01:00
jsr SCRN.LineBufInitBar
2021-06-30 21:09:07 +02:00
2019-12-18 08:57:47 +01:00
ldx #SEQ.CURSAVE-SEQS
jsr SCRN.SEQS.ToLineBuf
2021-06-30 21:09:07 +02:00
2019-12-18 08:57:47 +01:00
ldy #1
jsr SCRN.LineBufGotoLineY
bcs .9
2021-06-30 21:09:07 +02:00
2019-12-09 08:12:14 +01:00
>LDA.G ScreenW
tax
2021-06-30 21:09:07 +02:00
2019-12-09 08:12:14 +01:00
lda #C.SPACE
2021-06-30 21:09:07 +02:00
2019-12-09 08:12:14 +01:00
.1 jsr SCRN.ToLineBuf
dex
bne .1
2021-06-30 21:09:07 +02:00
2019-12-09 08:12:14 +01:00
lda #C.CR
jsr SCRN.ToLineBuf
2021-06-30 21:09:07 +02:00
2020-02-14 08:21:56 +01:00
>PUSHW LineBufPtr
>PUSHW L.MSG.TOPBAR
2021-05-09 19:04:44 +02:00
>PUSHW A2osX.KVER
2021-06-30 21:09:07 +02:00
2020-02-14 08:21:56 +01:00
>LDA.G hFileName
>SYSCALL GetMemPtr
>PUSHYA
2020-01-27 16:09:00 +01:00
>LDA.G FileType
asl
2019-11-12 17:39:22 +01:00
tax
>PUSHW L.MSG.FILETYPES,x
2021-06-30 21:09:07 +02:00
2020-02-14 17:32:52 +01:00
>PUSHBI 6
2019-12-09 08:12:14 +01:00
jsr SCRN.LineBufSprintf
2019-11-04 08:21:40 +01:00
bcs .9
2019-12-16 14:14:11 +01:00
2020-01-27 16:09:00 +01:00
>LDA.G bUnSaved
beq .2
2021-06-30 21:09:07 +02:00
2020-01-27 16:09:00 +01:00
lda #'!'
jsr SCRN.ToLineBuf
2021-06-30 21:09:07 +02:00
2020-01-27 16:09:00 +01:00
.2 ldx #SEQ.CURRESTORE-SEQS
2019-12-18 08:57:47 +01:00
jsr SCRN.SEQS.ToLineBuf
2021-06-30 21:09:07 +02:00
2019-12-18 08:57:47 +01:00
jmp SCRN.LineBufOut
2021-06-30 21:09:07 +02:00
.8 clc
2020-02-05 17:35:04 +01:00
.9 rts
2016-01-04 08:25:43 +01:00
*--------------------------------------
2021-06-30 21:09:07 +02:00
SCRN.UpdateViewPort
stz bRepaint
.1 >LDA.G FileX
>CMP.G ScreenX
bcs .2 out of left border ?
>DEC.G ScreenX yes
sec
ror bRepaint
bra .1
.2 bit bRepaint
bmi .30
2021-06-30 21:09:07 +02:00
.21 >LDA.G ScreenX
clc
>ADC.G ScreenW
dec
>CMP.G FileX
bcs .3 out of right border ?
>INC.G ScreenX
sec
ror bRepaint
bra .21
.3 bit bRepaint
.30 bmi .6
2021-06-30 21:09:07 +02:00
.31 >LDA.G FileY+1
tax
dey
lda (pData),y A,X = FileY
>CMP.G ScreenY
iny
txa
sbc (pData),y
bcs .4 out of top border ?
>DECW.G ScreenY move viewport up one line....
bit bRepaint
bmi .31 skip scroll, will be repainted later
2021-06-30 21:09:07 +02:00
jsr SCRN.scrollDn ...and move content one line down
bcc .31
rts
.4 bit bRepaint
bmi .6
2021-06-30 21:09:07 +02:00
.41 >LDA.G ScreenY+1
tax
dey
lda (pData),y
clc
>ADC.G ViewPortHm1
bcc .5
inx
.5 >CMP.G FileY A,X = screen bottom
txa
2021-06-30 21:09:07 +02:00
iny FileY > screen bottom ?
sbc (pData),y
bcs .6 CS : fileY>= screen bottom
>INCW.G ScreenY move viewport down one line....
bit bRepaint
bmi .41
jsr SCRN.scrollUp ...and move content one line up
bcc .41
.9 rts
.6 >LDA.G FileX
sec
>SBC.G ScreenX
>STA.G CurX
>LDA.G FileY
sec
>SBC.G ScreenY
>STA.G CurY
2019-12-17 13:28:49 +01:00
jsr BUF.ComputeCOffset
jsr SCRN.GotoCurXCurY
2021-06-30 21:09:07 +02:00
bit bRepaint
2019-12-17 13:28:49 +01:00
bmi SCRN.UpdateMain
2019-12-17 13:28:49 +01:00
jmp SCRN.UpdateStatusBar
*--------------------------------------
SCRN.UpdateMainAndStatus
jsr SCRN.UpdateStatusBar
*--------------------------------------
2018-08-23 22:38:32 +02:00
SCRN.UpdateMain >LDA.G ScreenY
2016-01-04 08:25:43 +01:00
sta TmpIndex
iny
lda (pData),y
sta TmpIndex+1
2019-11-18 17:40:32 +01:00
stz TmpByte
2018-08-23 22:38:32 +02:00
>LDA.G ViewPortH
2019-11-18 17:40:32 +01:00
bra SCRN.UpdateMain.1
2021-06-30 21:09:07 +02:00
2019-11-18 17:40:32 +01:00
SCRN.UpdateLast >LDA.G ViewPortHm1
sta TmpByte
clc
>ADC.G ScreenY
2020-02-10 17:24:49 +01:00
sta TmpIndex
2019-11-18 17:40:32 +01:00
iny
lda (pData),y
adc #0
2020-02-10 17:24:49 +01:00
sta TmpIndex+1
2021-06-30 21:09:07 +02:00
2019-11-18 17:40:32 +01:00
lda #1
SCRN.UpdateMain.1
2016-01-04 08:25:43 +01:00
sta TmpCount
2021-06-30 21:09:07 +02:00
.1 lda TmpIndex
ldx TmpIndex+1
2019-11-17 15:39:55 +01:00
2016-01-04 08:25:43 +01:00
jsr BUF.GetLineAX Y = line length
bcs .5
lda TmpByte
2016-01-21 08:05:23 +01:00
jsr SCRN.UpdateLineAtALenY
2019-05-28 18:00:53 +02:00
bcs SCRN.UpdateMain.9
2019-11-04 08:21:40 +01:00
.3 inc TmpByte
inc TmpIndex
2016-01-04 08:25:43 +01:00
bne .4
2019-11-04 08:21:40 +01:00
2016-01-04 08:25:43 +01:00
inc TmpIndex+1
.4 dec TmpCount
2016-01-04 08:25:43 +01:00
bne .1
2019-11-04 08:21:40 +01:00
2019-11-13 17:33:29 +01:00
bra .8
2019-11-04 08:21:40 +01:00
2020-02-06 11:14:50 +01:00
.5 ldx #0
2020-02-06 08:30:56 +01:00
ldy TmpByte
2020-02-06 11:14:50 +01:00
jsr SCRN.GotoXY
bcs SCRN.UpdateMain.9
>PUSHW L.SEQ.CEOL
>PUSHBI 0
2020-02-28 08:21:46 +01:00
>SYSCALL PrintF
2019-05-28 18:00:53 +02:00
bcs SCRN.UpdateMain.9
2019-11-04 08:21:40 +01:00
inc TmpByte
dec TmpCount
2016-01-04 08:25:43 +01:00
bne .5
2019-11-04 08:21:40 +01:00
2019-12-16 14:14:11 +01:00
.8 jsr BUF.ComputeCOffset
jmp SCRN.GotoCurXCurY
2019-05-28 18:00:53 +02:00
SCRN.UpdateMain.9
rts
2016-01-04 08:25:43 +01:00
*--------------------------------------
2019-12-18 08:57:47 +01:00
SCRN.UpdateCurrentEOL
jsr SCRN.LineBufInitEdit
bra SCRN.UpdateLineAtBufPtr
*--------------------------------------
2016-01-21 08:05:23 +01:00
SCRN.UpdateCurrentLine
2018-08-23 22:38:32 +02:00
>LDA.G ScreenY+1
2016-01-04 08:25:43 +01:00
tax
dey
lda (pData),y
clc
2018-08-23 22:38:32 +02:00
>ADC.G CurY
2016-01-04 08:25:43 +01:00
bcc .1
2019-11-04 14:41:58 +01:00
2016-01-04 08:25:43 +01:00
inx
2019-11-04 14:41:58 +01:00
2016-01-04 08:25:43 +01:00
.1 jsr BUF.GetLineAX
2020-02-06 17:23:59 +01:00
bcc .2
2021-06-30 21:09:07 +02:00
2020-02-06 17:23:59 +01:00
jsr SCRN.LineBufInitEdit
jmp SCRN.UpdateLineAtBufPtr.EOL
2021-06-30 21:09:07 +02:00
2020-02-06 17:23:59 +01:00
.2 phy
2018-08-23 22:38:32 +02:00
>LDA.G CurY
2016-01-04 08:25:43 +01:00
ply
2019-05-28 18:00:53 +02:00
*--------------------------------------
* A = Target Screen Y position
* BufPtr = Text line start, Y = len
2016-01-04 08:25:43 +01:00
*--------------------------------------
2016-01-21 08:05:23 +01:00
SCRN.UpdateLineAtALenY
2016-01-04 08:25:43 +01:00
sty TmpLen
2019-12-18 08:57:47 +01:00
inc
inc
sta TmpLen+1
2019-11-13 17:33:29 +01:00
2019-12-18 22:52:43 +01:00
jsr SCRN.LineBufInitEdit
2021-06-30 21:09:07 +02:00
2019-12-18 22:52:43 +01:00
ldy TmpLen+1
jsr SCRN.LineBufGotoLineY
2018-08-23 22:38:32 +02:00
>LDA.G ScreenX
2019-05-28 18:00:53 +02:00
cmp TmpLen
2020-02-06 08:30:56 +01:00
bcs SCRN.UpdateLineAtBufPtr.EOL
2021-06-30 21:09:07 +02:00
2019-12-18 22:52:43 +01:00
tay
2019-05-28 18:00:53 +02:00
clc
adc BUF.LOffset
sta BUF.COffset
lda #0
adc BUF.LOffset+1
sta BUF.COffset+1
2019-11-04 08:21:40 +01:00
2019-05-28 18:00:53 +02:00
tya
* clc
adc BufPtr
sta BufPtr
2019-12-18 08:57:47 +01:00
bcc .2
2019-05-28 18:00:53 +02:00
inc BufPtr+1
2021-06-30 21:09:07 +02:00
.2
2019-12-18 08:57:47 +01:00
SCRN.UpdateLineAtBufPtr
>LDA.G ScreenW
tax
stz bSelected
.2 lda (BufPtr)
2019-05-28 18:00:53 +02:00
beq .8
2019-11-04 08:21:40 +01:00
2018-11-15 16:04:14 +01:00
cmp #C.CR
2019-05-28 18:00:53 +02:00
beq .8
2018-11-15 16:04:14 +01:00
2016-01-04 08:25:43 +01:00
jsr BUF.CheckSelected
2019-05-28 18:00:53 +02:00
eor bSelected
bpl .5
2019-11-04 08:21:40 +01:00
2019-05-29 07:58:28 +02:00
jsr SCRN.ToggleSel
2019-11-04 08:21:40 +01:00
2019-05-28 18:00:53 +02:00
.5 lda (BufPtr)
2019-05-29 17:21:14 +02:00
cmp #'\'
2019-08-26 08:29:18 +02:00
beq .50
cmp #'%'
2019-05-29 17:21:14 +02:00
bne .51
2021-06-30 21:09:07 +02:00
2019-08-26 08:29:18 +02:00
.50 pha
lda #'\'
2019-05-29 17:21:14 +02:00
jsr SCRN.ToLineBuf
2019-08-26 08:29:18 +02:00
pla
2021-06-30 21:09:07 +02:00
2019-08-26 08:29:18 +02:00
.51 jsr SCRN.ToLineBuf
inc BufPtr
2019-05-28 18:00:53 +02:00
bne .6
inc BufPtr+1
2019-11-04 08:21:40 +01:00
2019-05-28 18:00:53 +02:00
.6 inc BUF.COffset
bne .7
inc BUF.COffset+1
.7 dex
2019-12-18 08:57:47 +01:00
bne .2
2019-11-04 08:21:40 +01:00
2019-05-28 18:00:53 +02:00
.8 bit bSelected
2020-02-06 08:30:56 +01:00
bpl SCRN.UpdateLineAtBufPtr.EOL
2019-05-28 18:00:53 +02:00
jsr SCRN.ToggleSel
2018-08-23 22:38:32 +02:00
2020-02-06 08:30:56 +01:00
SCRN.UpdateLineAtBufPtr.EOL
2019-12-18 22:52:43 +01:00
ldx #SEQ.CEOL-SEQS
jsr SCRN.SEQS.ToLineBuf
jmp SCRN.LineBufOut
2016-01-04 08:25:43 +01:00
*--------------------------------------
2019-12-11 14:14:56 +01:00
SCRN.ToggleSel ldy #SEQ.NORM-SEQS
2019-05-28 18:00:53 +02:00
lda bSelected
2019-05-29 17:21:14 +02:00
eor #$ff
sta bSelected
2019-05-28 18:00:53 +02:00
bpl .1
2019-11-04 08:21:40 +01:00
2019-12-11 14:14:56 +01:00
ldy #SEQ.INV-SEQS
2019-05-28 18:00:53 +02:00
2019-12-11 14:14:56 +01:00
.1 lda SEQS,y
2019-05-28 18:00:53 +02:00
beq .8
2019-12-11 14:14:56 +01:00
2019-05-28 18:00:53 +02:00
jsr SCRN.ToLineBuf
iny
2019-05-29 17:21:14 +02:00
bra .1
2016-01-04 08:25:43 +01:00
2019-11-04 08:21:40 +01:00
.8
SCRN.ToggleSel.RTS
2019-12-17 13:28:49 +01:00
clc
rts
*--------------------------------------
2020-02-06 11:14:50 +01:00
SCRN.UpdateStatusBar
2019-12-17 13:28:49 +01:00
>LDA.G bUpdateStatus
2020-02-06 11:14:50 +01:00
bpl SCRN.ToggleSel.RTS
2021-06-30 21:09:07 +02:00
lda #0
2019-12-17 13:28:49 +01:00
sta (pData),y
jsr SCRN.ResetStatusBar
2019-11-04 08:21:40 +01:00
2020-02-14 08:21:56 +01:00
>PUSHW LineBufPtr
>PUSHW L.MSG.STATUSBAR
2021-06-30 21:09:07 +02:00
2020-02-14 08:21:56 +01:00
>PUSHW FileLen
>PUSHW BUF.COffset
>LDA.G FileX
inc
>PUSHA
2018-08-23 22:38:32 +02:00
>LDA.G FileY
2016-01-04 08:25:43 +01:00
tax
iny
2016-01-04 08:25:43 +01:00
lda (pData),y
inx
2019-12-09 08:12:14 +01:00
bne .2
2019-11-04 08:21:40 +01:00
inc
2019-11-04 08:21:40 +01:00
2019-12-09 08:12:14 +01:00
.2 >PUSHA
2020-02-14 08:21:56 +01:00
txa
>PUSHA
2021-06-30 21:09:07 +02:00
2019-11-04 08:21:40 +01:00
>PUSHBI 7
2019-12-09 08:12:14 +01:00
jsr SCRN.LineBufSprintf
bcs .9
ldx #SEQ.CURRESTORE-SEQS
jsr SCRN.SEQS.ToLineBuf
2019-12-09 08:12:14 +01:00
jmp SCRN.LineBufOut
2019-12-16 14:14:11 +01:00
2019-12-17 13:28:49 +01:00
.8 clc
2019-12-09 08:12:14 +01:00
.9 rts
2019-05-29 17:21:14 +02:00
*--------------------------------------
SCRN.ResetStatusBar
jsr SCRN.LineBufInitBar
2021-06-30 21:09:07 +02:00
2019-12-17 13:28:49 +01:00
ldx #SEQ.CURSAVE-SEQS
jsr SCRN.SEQS.ToLineBuf
2019-12-18 08:57:47 +01:00
>LDA.G ScreenH
tay
jsr SCRN.LineBufGotoLineY
2019-11-04 08:21:40 +01:00
>LDA.G ScreenW
tax
2021-06-30 21:09:07 +02:00
lda #C.SPACE
2021-06-30 21:09:07 +02:00
.1 jsr SCRN.ToLineBuf
2019-11-04 08:21:40 +01:00
dex
bne .1
2021-06-30 21:09:07 +02:00
lda #C.CR
2019-12-17 13:28:49 +01:00
jmp SCRN.ToLineBuf
2019-05-29 17:21:14 +02:00
*--------------------------------------
SCRN.CursorAdjust
.1 jsr BUF.ComputeCOffset
2022-08-20 16:37:37 +02:00
bcc .2 Y = linelen
2019-05-29 17:21:14 +02:00
2022-08-20 16:37:37 +02:00
>DECW.G FileY
* >STZ.G FileX
2019-05-29 17:21:14 +02:00
bra .1
2022-08-20 16:37:37 +02:00
.2 tya
>CMP.G FileX
bcs .8
>STA.G FileX
.8 clc
rts
2016-01-04 08:25:43 +01:00
*--------------------------------------
2021-06-30 21:09:07 +02:00
SCRN.GotoCurXCurY
2016-01-21 08:05:23 +01:00
ldy #CurX
2016-01-04 08:25:43 +01:00
lda (pData),y
tax
ldy #CurY
lda (pData),y
tay
2019-11-04 08:21:40 +01:00
2020-02-05 17:35:04 +01:00
SCRN.GotoXY >PUSHW L.MSG.GOTOXY
2016-01-04 08:25:43 +01:00
tya
inc
inc
>PUSHA
2020-02-05 17:35:04 +01:00
txa
inc
>PUSHA
2018-08-22 17:23:27 +02:00
>PUSHBI 2
2021-06-30 21:09:07 +02:00
2020-02-28 08:21:46 +01:00
>SYSCALL PrintF
2020-02-06 11:14:50 +01:00
rts
2016-01-04 08:25:43 +01:00
*--------------------------------------
2020-02-05 17:35:04 +01:00
SCRN.scrollUp >PUSHW L.SEQ.SCROLLUP
>PUSHBI 0
2020-02-28 08:21:46 +01:00
>SYSCALL PrintF
2016-01-04 08:25:43 +01:00
bcs .9
2019-11-04 14:41:58 +01:00
2019-11-12 17:39:22 +01:00
>LDA.G ScreenY+1
2016-01-04 08:25:43 +01:00
tax
dey
lda (pData),y
2019-11-04 14:41:58 +01:00
2019-11-13 17:33:29 +01:00
* clc
2019-11-04 17:14:25 +01:00
>ADC.G ViewPortHm1
2016-01-04 08:25:43 +01:00
bcc .1
2019-11-04 14:41:58 +01:00
2016-01-04 08:25:43 +01:00
inx
2019-11-04 14:41:58 +01:00
2016-01-04 08:25:43 +01:00
.1 jsr BUF.GetLineAX
bcs .9
2019-11-04 14:41:58 +01:00
2019-12-18 08:57:47 +01:00
phy
2019-11-04 14:41:58 +01:00
>LDA.G ViewPortHm1
2019-12-18 08:57:47 +01:00
ply
2019-05-29 17:21:14 +02:00
jmp SCRN.UpdateLineAtALenY
.9 rts
2016-01-04 08:25:43 +01:00
*--------------------------------------
2020-02-05 17:35:04 +01:00
SCRN.scrollDn >PUSHW L.SEQ.SCROLLDN
>PUSHBI 0
2020-02-28 08:21:46 +01:00
>SYSCALL PrintF
bcs .9
2019-11-12 17:39:22 +01:00
>LDA.G ScreenY+1
tax
dey
lda (pData),y
2019-11-04 14:41:58 +01:00
jsr BUF.GetLineAX
2016-01-04 08:25:43 +01:00
bcs .9
2020-01-23 15:48:22 +01:00
2016-01-04 08:25:43 +01:00
lda #0
2019-12-18 08:57:47 +01:00
jsr SCRN.UpdateLineAtALenY
2020-01-23 15:48:22 +01:00
2019-05-29 17:21:14 +02:00
.9 rts
2016-01-04 08:25:43 +01:00
*--------------------------------------
2019-12-09 08:12:14 +01:00
SCRN.LineBufInitBar
phx
ldx #SEQ.BAR-SEQS
bra SCRN.LineBufInit
SCRN.LineBufInitDLGBar
phx
ldx #SEQ.DLG.BAR-SEQS
bra SCRN.LineBufInit
2020-02-28 17:30:16 +01:00
SCRN.LineBufInitDLG
2019-12-09 08:12:14 +01:00
phx
ldx #SEQ.DLG-SEQS
bra SCRN.LineBufInit
2019-12-12 08:09:44 +01:00
SCRN.LineBufInitLBL
phx
ldx #SEQ.DLG.LBL-SEQS
bra SCRN.LineBufInit
2021-06-30 21:09:07 +02:00
SCRN.LineBufInitTB
2019-12-11 17:54:41 +01:00
phx
ldx #SEQ.DLG.TB-SEQS
bra SCRN.LineBufInit
2021-06-30 21:09:07 +02:00
SCRN.LineBufInitBut
2019-12-09 08:12:14 +01:00
phx
ldx #SEQ.DLG.BUT-SEQS
bra SCRN.LineBufInit
SCRN.LineBufInitEdit
phx
ldx #SEQ.EDIT-SEQS
2020-02-05 17:35:04 +01:00
2019-12-09 08:12:14 +01:00
SCRN.LineBufInit
2020-02-05 17:35:04 +01:00
>LDYA.G LineBufBase
2019-11-18 17:40:32 +01:00
>STYA LineBufPtr
2021-06-30 21:09:07 +02:00
jsr SCRN.SEQS.ToLineBuf
plx
rts
*--------------------------------------
SCRN.SEQS.ToLineBuf
lda SEQS,x
2019-11-18 17:40:32 +01:00
.1 jsr SCRN.ToLineBuf
2019-12-09 08:12:14 +01:00
inx
lda SEQS,x
bne .1
2019-11-18 17:40:32 +01:00
rts
*--------------------------------------
2019-12-18 08:57:47 +01:00
SCRN.LineBufGotoLineY
2020-02-14 08:21:56 +01:00
>PUSHW LineBufPtr
>PUSHW L.MSG.GOTOXY
2019-12-18 08:57:47 +01:00
tya
>PUSHA
2020-02-14 08:21:56 +01:00
>PUSHBI 1
2019-12-18 08:57:47 +01:00
>PUSHBI 2
*--------------------------------------
2019-12-09 08:12:14 +01:00
SCRN.LineBufSprintf
2020-02-28 17:30:16 +01:00
>SYSCALL SPrintF
2019-12-09 08:12:14 +01:00
bcs .9
2021-06-30 21:09:07 +02:00
2019-12-09 08:12:14 +01:00
tya
clc
adc LineBufPtr
sta LineBufPtr
bcc .9
2021-06-30 21:09:07 +02:00
2019-12-09 08:12:14 +01:00
inc LineBufPtr+1
clc
2021-06-30 21:09:07 +02:00
2020-02-05 17:35:04 +01:00
.9 rts
2019-12-09 08:12:14 +01:00
*--------------------------------------
SCRN.ToLineBuf sta (LineBufPtr)
inc LineBufPtr
bne .8
inc LineBufPtr+1
.8 rts
*--------------------------------------
2019-11-18 17:40:32 +01:00
SCRN.LineBufOut lda #0
2019-12-13 17:06:23 +01:00
sta (LineBufPtr)
2019-11-18 17:40:32 +01:00
2020-02-05 17:35:04 +01:00
>PUSHW.G LineBufBase
2019-11-18 17:40:32 +01:00
>PUSHBI 0
2020-02-28 08:21:46 +01:00
>SYSCALL PrintF
2020-02-05 17:35:04 +01:00
rts
2019-11-18 17:40:32 +01:00
*--------------------------------------
2016-01-04 08:25:43 +01:00
MAN
2020-07-27 16:09:19 +02:00
SAVE usr/src/bin/edit.s.scrn
LOAD usr/src/bin/edit.s
2016-01-04 08:25:43 +01:00
ASM