mirror of
https://github.com/A2osX/A2osX.git
synced 2025-02-20 15:29:07 +00:00
442 lines
6.2 KiB
Plaintext
442 lines
6.2 KiB
Plaintext
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
|
||
|
||
inc TmpByte
|
||
ldy TmpByte
|
||
bra .5
|
||
|
||
.8 clc
|
||
.9 rts
|
||
|
||
.6 >LDYA.G LineBufBase
|
||
>STYA LineBufPtr
|
||
jmp (J.DLG.DrawCtrls,x)
|
||
*--------------------------------------
|
||
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
|
||
|
||
sta TmpCount
|
||
|
||
ldy #S.DLG.Y
|
||
lda (ZPPTR1),y
|
||
|
||
sta TmpByte
|
||
|
||
.1 >LDA.G ScreenY
|
||
clc
|
||
ldy #S.DLG.Y
|
||
adc (ZPPTR1),y
|
||
sta TmpIndex
|
||
|
||
>LDA.G ScreenY+1
|
||
adc #0
|
||
sta TmpIndex+1
|
||
|
||
lda TmpIndex
|
||
ldx TmpIndex+1
|
||
jsr BUF.GetLineAX
|
||
bcs .8
|
||
|
||
lda TmpByte
|
||
jsr SCRN.UpdateLineAtALenY
|
||
|
||
inc TmpIndex
|
||
bne .2
|
||
inc TmpIndex+1
|
||
.2 inc TmpByte
|
||
dec TmpCount
|
||
bne .1
|
||
|
||
.8 clc
|
||
rts
|
||
*--------------------------------------
|
||
DLG.DrawCtrls.LBL
|
||
jsr DLG.DrawCtrls.GotoXY
|
||
bcs .9
|
||
|
||
ldy TmpByte CtrlID
|
||
lda (ZPPTR1),y
|
||
tay
|
||
|
||
iny
|
||
iny
|
||
iny
|
||
|
||
.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
|
||
|
||
iny
|
||
iny
|
||
iny
|
||
|
||
iny
|
||
|
||
iny
|
||
|
||
lda (ZPPTR1),y
|
||
tay
|
||
lda (pData),y
|
||
|
||
>SYSCALL getmemptr
|
||
>STYA ZPPTR2
|
||
|
||
lda #"["
|
||
jsr SCRN.ToLineBuf
|
||
|
||
ldy #0
|
||
|
||
.1 lda (ZPPTR2),y
|
||
beq .2
|
||
|
||
jsr SCRN.ToLineBuf
|
||
iny
|
||
bra .1
|
||
|
||
.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
|
||
.9 rts
|
||
*--------------------------------------
|
||
DLG.DrawCtrls.OL
|
||
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
|
||
|
||
.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
|
||
|
||
.8 jmp SCRN.LineBufOut
|
||
.9 rts
|
||
*--------------------------------------
|
||
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
|
||
jmp SCRN.ToLineBuf
|
||
*--------------------------------------
|
||
MAN
|
||
SAVE USR/SRC/BIN/EDIT.S.DLG
|
||
LOAD USR/SRC/BIN/EDIT.S
|
||
ASM
|