2019-11-20 17:37:09 +01: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 08:01:46 +01:00
|
|
|
|
inc TmpByte
|
2019-11-20 17:37:09 +01:00
|
|
|
|
ldy TmpByte
|
|
|
|
|
bra .5
|
|
|
|
|
|
|
|
|
|
.8 clc
|
|
|
|
|
.9 rts
|
|
|
|
|
|
|
|
|
|
.6 >LDYA.G LineBufBase
|
|
|
|
|
>STYA LineBufPtr
|
|
|
|
|
jmp (J.DLG.DrawCtrls,x)
|
|
|
|
|
*--------------------------------------
|
2019-11-21 16:59:09 +01: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 15:05:37 +01:00
|
|
|
|
sta TmpCount
|
2019-11-21 16:59:09 +01:00
|
|
|
|
|
|
|
|
|
ldy #S.DLG.Y
|
|
|
|
|
lda (ZPPTR1),y
|
|
|
|
|
|
2019-11-22 17:02:59 +01:00
|
|
|
|
sta TmpByte
|
2019-11-21 16:59:09 +01:00
|
|
|
|
|
2019-11-22 17:02:59 +01:00
|
|
|
|
.1 >LDA.G ScreenY
|
2019-11-21 16:59:09 +01:00
|
|
|
|
clc
|
2019-11-22 15:05:37 +01:00
|
|
|
|
ldy #S.DLG.Y
|
|
|
|
|
adc (ZPPTR1),y
|
|
|
|
|
sta TmpIndex
|
|
|
|
|
|
|
|
|
|
>LDA.G ScreenY+1
|
|
|
|
|
adc #0
|
|
|
|
|
sta TmpIndex+1
|
|
|
|
|
|
2019-11-22 17:02:59 +01:00
|
|
|
|
lda TmpIndex
|
2019-11-22 15:05:37 +01:00
|
|
|
|
ldx TmpIndex+1
|
|
|
|
|
jsr BUF.GetLineAX
|
|
|
|
|
bcs .8
|
|
|
|
|
|
2019-11-22 17:02:59 +01:00
|
|
|
|
lda TmpByte
|
2019-11-22 15:05:37 +01:00
|
|
|
|
jsr SCRN.UpdateLineAtALenY
|
|
|
|
|
|
|
|
|
|
inc TmpIndex
|
2019-11-22 17:02:59 +01:00
|
|
|
|
bne .2
|
|
|
|
|
inc TmpIndex+1
|
|
|
|
|
.2 inc TmpByte
|
2019-11-22 15:05:37 +01:00
|
|
|
|
dec TmpCount
|
|
|
|
|
bne .1
|
|
|
|
|
|
|
|
|
|
.8 clc
|
2019-11-21 16:59:09 +01:00
|
|
|
|
rts
|
|
|
|
|
*--------------------------------------
|
2019-11-22 15:05:37 +01:00
|
|
|
|
DLG.DrawCtrls.LBL
|
|
|
|
|
jsr DLG.DrawCtrls.GotoXY
|
2019-11-20 17:37:09 +01:00
|
|
|
|
bcs .9
|
|
|
|
|
|
|
|
|
|
ldy TmpByte CtrlID
|
|
|
|
|
lda (ZPPTR1),y
|
|
|
|
|
tay
|
|
|
|
|
|
2019-11-21 08:01:46 +01:00
|
|
|
|
iny
|
|
|
|
|
iny
|
|
|
|
|
iny
|
2019-11-20 17:37:09 +01: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 08:01:46 +01:00
|
|
|
|
iny
|
|
|
|
|
iny
|
|
|
|
|
iny
|
2019-11-21 16:59:09 +01:00
|
|
|
|
|
2019-11-21 08:01:46 +01:00
|
|
|
|
iny
|
2019-11-21 16:59:09 +01:00
|
|
|
|
|
2019-11-21 08:01:46 +01:00
|
|
|
|
iny
|
|
|
|
|
|
|
|
|
|
lda (ZPPTR1),y
|
|
|
|
|
tay
|
2019-11-20 17:37:09 +01:00
|
|
|
|
lda (pData),y
|
|
|
|
|
|
|
|
|
|
>SYSCALL getmemptr
|
|
|
|
|
>STYA ZPPTR2
|
|
|
|
|
|
2019-11-21 16:59:09 +01:00
|
|
|
|
lda #"["
|
|
|
|
|
jsr SCRN.ToLineBuf
|
|
|
|
|
|
2019-11-20 17:37:09 +01:00
|
|
|
|
ldy #0
|
|
|
|
|
|
2019-11-21 08:01:46 +01:00
|
|
|
|
.1 lda (ZPPTR2),y
|
2019-11-21 16:59:09 +01:00
|
|
|
|
beq .2
|
2019-11-20 17:37:09 +01:00
|
|
|
|
|
|
|
|
|
jsr SCRN.ToLineBuf
|
|
|
|
|
iny
|
|
|
|
|
bra .1
|
|
|
|
|
|
2019-11-21 16:59:09 +01: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 17:37:09 +01:00
|
|
|
|
.9 rts
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
DLG.DrawCtrls.OL
|
2019-11-21 16:59:09 +01: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 15:05:37 +01: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 16:59:09 +01:00
|
|
|
|
.8 jmp SCRN.LineBufOut
|
|
|
|
|
.9 rts
|
2019-11-20 17:37:09 +01: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 08:01:46 +01:00
|
|
|
|
jmp SCRN.ToLineBuf
|
2019-11-20 17:37:09 +01:00
|
|
|
|
*--------------------------------------
|
|
|
|
|
MAN
|
|
|
|
|
SAVE USR/SRC/BIN/EDIT.S.DLG
|
|
|
|
|
LOAD USR/SRC/BIN/EDIT.S
|
|
|
|
|
ASM
|