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.DrawCtrls.L 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 ldy #0 .1 lda (ZPPTR2),y beq .8 jsr SCRN.ToLineBuf iny bra .1 .8 jmp SCRN.LineBufOut .9 rts *-------------------------------------- DLG.DrawCtrls.OL clc 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