A2osX/BIN/EDIT.S.DLG.txt

439 lines
6.2 KiB
Plaintext
Raw Normal View History

2019-11-20 16:37:09 +00:00
NEW
AUTO 3,1
.LIST OFF
*--------------------------------------
DLG.Open >STYA ZPPTR2
lda (ZPPTR2)
tay
lda #0
>SYSCALL getmem
bcs .99
>STYA ZPPTR1
txa
>STA.G hDLG
ldy #0
.1 lda (ZPPTR2),y
sta (ZPPTR1),y
iny
tya
cmp (ZPPTR2)
bne .1
jsr DLG.SetOrigin
sty TmpByte
jsr SCRN.GotoXY
bcs .9
ldy #S.DLG.Title
jsr DLG.DrawInvBar
.99 bcs .9
jsr SCRN.LineBufInitNorm
jsr DLG.VBarToLineBuf
ldy #S.DLG.W
lda (ZPPTR1),y
dec
tax
lda #C.SPACE
.3 jsr SCRN.ToLineBuf
dex
bne .3
jsr DLG.VBarToLineBuf
ldy #S.DLG.H
lda (ZPPTR1),y
dec
dec
tax
.4 phx
inc TmpByte
ldy #S.DLG.X
lda (ZPPTR1),y
tax
ldy TmpByte
jsr SCRN.GotoXY
bcs .9
jsr SCRN.LineBufOut
bcs .9
plx
dex
bne .4
inc TmpByte
ldy #S.DLG.X
lda (ZPPTR1),y
tax
ldy TmpByte
jsr SCRN.GotoXY
bcs .9
ldy #S.DLG.Status
jsr DLG.DrawInvBar
bcs .9
ldy #S.DLG.Ctrls
sty TmpByte
.5 lda (ZPPTR1),y
beq .8
tay
lda (ZPPTR1),y Ctrl Type
tax
jsr .6
bcs .9
2019-11-21 07:01:46 +00:00
inc TmpByte
2019-11-20 16:37:09 +00:00
ldy TmpByte
bra .5
.8 clc
.9 rts
.6 >LDYA.G LineBufBase
>STYA LineBufPtr
jmp (J.DLG.DrawCtrls,x)
*--------------------------------------
2019-11-21 15:59:09 +00:00
DLG.Run >SYSCALL getchar
bcs .9
cmp #3
beq .8
cmp #C.CR
beq .8
cmp #C.TAB
beq DLG.NextFocus
bra DLG.Run
.8 clc
.9 rts
*--------------------------------------
DLG.NextFocus
*--------------------------------------
DLG.SetFocus
clc
rts
*--------------------------------------
DLG.Close ldy #S.DLG.H
lda (ZPPTR1),y
2019-11-22 14:05:37 +00:00
sta TmpCount
2019-11-21 15:59:09 +00:00
ldy #S.DLG.Y
lda (ZPPTR1),y
2019-11-22 14:05:37 +00:00
sta TmpIndex
2019-11-21 15:59:09 +00:00
2019-11-22 14:05:37 +00:00
>LDA.G ScreenY
2019-11-21 15:59:09 +00:00
clc
2019-11-22 14:05:37 +00:00
ldy #S.DLG.Y
adc (ZPPTR1),y
sta TmpIndex
>LDA.G ScreenY+1
adc #0
sta TmpIndex+1
.1 lda TmpIndex
ldx TmpIndex+1
jsr BUF.GetLineAX
bcs .8
lda TmpIndex
jsr SCRN.UpdateLineAtALenY
inc TmpIndex
dec TmpCount
bne .1
.8 clc
2019-11-21 15:59:09 +00:00
rts
*--------------------------------------
2019-11-22 14:05:37 +00:00
DLG.DrawCtrls.LBL
jsr DLG.DrawCtrls.GotoXY
2019-11-20 16:37:09 +00:00
bcs .9
ldy TmpByte CtrlID
lda (ZPPTR1),y
tay
2019-11-21 07:01:46 +00:00
iny
iny
iny
2019-11-20 16:37:09 +00:00
.1 lda (ZPPTR1),y
beq .8
jsr SCRN.ToLineBuf
iny
bra .1
.8 jmp SCRN.LineBufOut
.9 rts
*--------------------------------------
DLG.DrawCtrls.TB
jsr DLG.DrawCtrls.GotoXY
bcs .9
ldy TmpByte
lda (ZPPTR1),y
tay
2019-11-21 07:01:46 +00:00
iny
iny
iny
2019-11-21 15:59:09 +00:00
2019-11-21 07:01:46 +00:00
iny
2019-11-21 15:59:09 +00:00
2019-11-21 07:01:46 +00:00
iny
lda (ZPPTR1),y
tay
2019-11-20 16:37:09 +00:00
lda (pData),y
>SYSCALL getmemptr
>STYA ZPPTR2
2019-11-21 15:59:09 +00:00
lda #"["
jsr SCRN.ToLineBuf
2019-11-20 16:37:09 +00:00
ldy #0
2019-11-21 07:01:46 +00:00
.1 lda (ZPPTR2),y
2019-11-21 15:59:09 +00:00
beq .2
2019-11-20 16:37:09 +00:00
jsr SCRN.ToLineBuf
iny
bra .1
2019-11-21 15:59:09 +00:00
.2 tya
tax
ldy TmpByte
lda (ZPPTR1),y
tay
iny
iny
iny
iny
.3 txa
cmp (ZPPTR1),y MAXCHAR
beq .8
lda #C.SPACE
jsr SCRN.ToLineBuf
inx
bra .3
.8 lda #"]"
jsr SCRN.ToLineBuf
jmp SCRN.LineBufOut
2019-11-20 16:37:09 +00:00
.9 rts
*--------------------------------------
DLG.DrawCtrls.OL
2019-11-21 15:59:09 +00:00
jsr DLG.DrawCtrls.GotoXY
bcs .9
ldy TmpByte
lda (ZPPTR1),y
tay
iny
iny
iny
iny
lda (ZPPTR1),y value
sta TmpCount
iny
ldx #0
.1 lda #"("
jsr SCRN.ToLineBuf
lda #"o"
cpx TmpCount
beq .2
lda #C.SPACE
.2 jsr SCRN.ToLineBuf
lda #")"
jsr SCRN.ToLineBuf
lda #C.SPACE
jsr SCRN.ToLineBuf
.3 lda (ZPPTR1),y
beq .4
jsr SCRN.ToLineBuf
iny
bra .3
.4 lda #C.SPACE
jsr SCRN.ToLineBuf
inx
iny
lda (ZPPTR1),y
bne .1
2019-11-22 14:05:37 +00:00
.8 jmp SCRN.LineBufOut
.9 rts
*--------------------------------------
DLG.DrawCtrls.BUT
jsr SCRN.LineBufInitInv
jsr DLG.DrawCtrls.GotoXY
bcs .9
ldy TmpByte CtrlID
lda (ZPPTR1),y
tay
iny
iny
iny
iny
.1 lda (ZPPTR1),y
beq .8
jsr SCRN.ToLineBuf
iny
bra .1
2019-11-21 15:59:09 +00:00
.8 jmp SCRN.LineBufOut
.9 rts
2019-11-20 16:37:09 +00:00
*--------------------------------------
DLG.DrawCtrls.GotoXY
ldy TmpByte CtrlID
lda (ZPPTR1),y
tay
iny skip Ctrl Type
lda (ZPPTR1),y
clc
phy
ldy #S.DLG.X
adc (ZPPTR1),y
tax
ply
iny
lda (ZPPTR1),y
clc
ldy #S.DLG.Y
adc (ZPPTR1),y
tay
jmp SCRN.GotoXY
*--------------------------------------
DLG.SetOrigin ldy #S.DLG.X
lda (ZPPTR1),y
bne .1
>LDA.G ScreenW
ldy #S.DLG.W
sec
sbc (ZPPTR1),y
lsr
ldy #S.DLG.X
sta (ZPPTR1),y
.1 tax
ldy #S.DLG.Y
lda (ZPPTR1),y
bne .2
>LDA.G ViewPortHm1
ldy #S.DLG.H
sec
sbc (ZPPTR1),y
lsr
ldy #S.DLG.Y
sta (ZPPTR1),y
.2 tay
rts
*--------------------------------------
DLG.DrawInvBar phy
jsr SCRN.LineBufInitInv
ldy #S.DLG.W
lda (ZPPTR1),y
tax
ply
lda (ZPPTR1),y
tay
.1 lda (ZPPTR1),y
beq .11
jsr SCRN.ToLineBuf
dex
iny
bra .1
.11 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 DLG.VBarToLineBuf
jmp SCRN.LineBufOut
*--------------------------------------
DLG.VBarToLineBuf
lda #C.SO
jsr SCRN.ToLineBuf
lda #'x'
jsr SCRN.ToLineBuf
lda #C.SI
2019-11-21 07:01:46 +00:00
jmp SCRN.ToLineBuf
2019-11-20 16:37:09 +00:00
*--------------------------------------
MAN
SAVE USR/SRC/BIN/EDIT.S.DLG
LOAD USR/SRC/BIN/EDIT.S
ASM