mirror of
https://github.com/A2osX/A2osX.git
synced 2025-01-12 17:30:23 +00:00
LIBGUI:more API...
This commit is contained in:
parent
f766b7add3
commit
41dad38140
Binary file not shown.
BIN
.Fonts/SYSx7.fnt
BIN
.Fonts/SYSx7.fnt
Binary file not shown.
@ -11,14 +11,19 @@ NEW
|
|||||||
.INB inc/libgui.i
|
.INB inc/libgui.i
|
||||||
.INB inc/fnt.i
|
.INB inc/fnt.i
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
ZPPTR1 .EQ ZPBIN
|
.DUMMY
|
||||||
ZPInputBufPtr .EQ ZPBIN+2
|
.OR ZPBIN
|
||||||
ZPInputTblPtr .EQ ZPBIN+4
|
ZS.START
|
||||||
ZPInputBMPtr .EQ ZPBIN+6
|
ZPPTR1 .BS 2
|
||||||
ZPCharBufPtr .EQ ZPBIN+8
|
ZPInputBufPtr .BS 2
|
||||||
ZPOutPutTblPtr .EQ ZPBIN+10
|
ZPInputTblPtr .BS 2
|
||||||
ZPOutPutCharOfs .EQ ZPBIN+12
|
ZPInputBMPtr .BS 2
|
||||||
ZPOutPutBufPtr .EQ ZPBIN+14
|
ZPCharBufPtr .BS 2
|
||||||
|
ZPOutPutTblPtr .BS 2
|
||||||
|
ZPOutPutCharOfs .BS 2
|
||||||
|
ZPOutPutBufPtr .BS 2
|
||||||
|
TmpWord .BS 2
|
||||||
|
ZS.END .ED
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* File Header (16 Bytes)
|
* File Header (16 Bytes)
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -26,11 +31,12 @@ CS.START cld
|
|||||||
jmp (.1,x)
|
jmp (.1,x)
|
||||||
.DA #$61 6502,Level 1 (65c02)
|
.DA #$61 6502,Level 1 (65c02)
|
||||||
.DA #1 BIN Layout Version 1
|
.DA #1 BIN Layout Version 1
|
||||||
.DA 0
|
.DA #0 S.PS.F.EVENT
|
||||||
.DA CS.END-CS.START CS
|
.DA #0
|
||||||
.DA DS.END-DS.START DS
|
.DA CS.END-CS.START Code Size (without Constants)
|
||||||
.DA #64 SS
|
.DA DS.END-DS.START Data Size
|
||||||
.DA #16 ZP
|
.DA #64 Stack Size
|
||||||
|
.DA #ZS.END-ZS.START Zero Page Size
|
||||||
.DA 0
|
.DA 0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* Relocation Table
|
* Relocation Table
|
||||||
@ -116,13 +122,17 @@ CS.INIT.OPENINPUT
|
|||||||
>SYSCALL LoadFile
|
>SYSCALL LoadFile
|
||||||
bcs CS.INIT.RTS
|
bcs CS.INIT.RTS
|
||||||
|
|
||||||
>PUSHYA
|
>STYA TmpWord
|
||||||
txa
|
txa
|
||||||
>STA.G hInputBuf
|
>STA.G hInputBuf
|
||||||
>SYSCALL GetMemPtr
|
>SYSCALL GetMemPtr
|
||||||
>STYA ZPInputBufPtr
|
>STYA ZPInputBufPtr
|
||||||
>LDYA L.MSG.FILE.OK
|
|
||||||
>SYSCALL PutS
|
>PUSHW L.MSG.FILE.OK
|
||||||
|
>PUSHW TmpWord
|
||||||
|
>PUSHBI 2
|
||||||
|
>SYSCALL Printf
|
||||||
|
|
||||||
ldy #S.FNT.dfVersion
|
ldy #S.FNT.dfVersion
|
||||||
lda (ZPInputBufPtr),y
|
lda (ZPInputBufPtr),y
|
||||||
bne .99
|
bne .99
|
||||||
@ -134,18 +144,14 @@ CS.INIT.OPENINPUT
|
|||||||
|
|
||||||
cmp #3
|
cmp #3
|
||||||
bne .99
|
bne .99
|
||||||
|
*--------------------------------------
|
||||||
.1 asl *2 = Entry Len in Tbl
|
.1 asl *2 = Entry Len in Tbl
|
||||||
>STA.G FNT.Version
|
>STA.G FNT.Version
|
||||||
pha
|
pha
|
||||||
ldy #S.FNT.dfAscent
|
|
||||||
lda (ZPInputBufPtr),y
|
|
||||||
>STA.G FON.Header+S.FON.Ascent
|
|
||||||
>PUSHA
|
|
||||||
|
|
||||||
ldy #S.FNT.dfPixHeight
|
>PUSHW L.MSG.HEADER.OK
|
||||||
lda (ZPInputBufPtr),y
|
|
||||||
>STA.G FON.Header+S.FON.PixH
|
pla
|
||||||
>PUSHA
|
>PUSHA
|
||||||
|
|
||||||
ldy #S.FNT.dfPixWidth
|
ldy #S.FNT.dfPixWidth
|
||||||
@ -153,9 +159,17 @@ CS.INIT.OPENINPUT
|
|||||||
>STA.G FON.Header+S.FON.PixW
|
>STA.G FON.Header+S.FON.PixW
|
||||||
>PUSHA
|
>PUSHA
|
||||||
|
|
||||||
pla
|
ldy #S.FNT.dfPixHeight
|
||||||
|
lda (ZPInputBufPtr),y
|
||||||
|
>STA.G FON.Header+S.FON.PixH
|
||||||
>PUSHA
|
>PUSHA
|
||||||
>LDYA L.MSG.HEADER.OK
|
|
||||||
|
ldy #S.FNT.dfAscent
|
||||||
|
lda (ZPInputBufPtr),y
|
||||||
|
>STA.G FON.Header+S.FON.Ascent
|
||||||
|
>PUSHA
|
||||||
|
|
||||||
|
>PUSHBI 4
|
||||||
>SYSCALL PrintF
|
>SYSCALL PrintF
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
@ -185,14 +199,12 @@ CS.INIT.CREATEOUTPUT
|
|||||||
|
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN ldy #S.FNT.dfBreakChar
|
CS.RUN >PUSHW L.MSG.RANGE
|
||||||
lda (ZPInputBufPtr),y
|
|
||||||
>STA.G FON.Header+S.FON.Break
|
|
||||||
>PUSHA
|
|
||||||
|
|
||||||
ldy #S.FNT.dfDefaultChar
|
ldy #S.FNT.dfFirstChar
|
||||||
lda (ZPInputBufPtr),y
|
lda (ZPInputBufPtr),y
|
||||||
>STA.G FON.Header+S.FON.Default
|
>STA.G FON.Header+S.FON.First
|
||||||
|
>STA.G CharIndex
|
||||||
>PUSHA
|
>PUSHA
|
||||||
|
|
||||||
ldy #S.FNT.dfLastChar
|
ldy #S.FNT.dfLastChar
|
||||||
@ -200,12 +212,17 @@ CS.RUN ldy #S.FNT.dfBreakChar
|
|||||||
>STA.G FON.Header+S.FON.Last
|
>STA.G FON.Header+S.FON.Last
|
||||||
>PUSHA
|
>PUSHA
|
||||||
|
|
||||||
ldy #S.FNT.dfFirstChar
|
ldy #S.FNT.dfDefaultChar
|
||||||
lda (ZPInputBufPtr),y
|
lda (ZPInputBufPtr),y
|
||||||
>STA.G FON.Header+S.FON.First
|
>STA.G FON.Header+S.FON.Default
|
||||||
>STA.G CharIndex
|
|
||||||
>PUSHA
|
>PUSHA
|
||||||
>LDYA L.MSG.RANGE
|
|
||||||
|
ldy #S.FNT.dfBreakChar
|
||||||
|
lda (ZPInputBufPtr),y
|
||||||
|
>STA.G FON.Header+S.FON.Break
|
||||||
|
>PUSHA
|
||||||
|
|
||||||
|
>PUSHBI 4
|
||||||
>SYSCALL PrintF
|
>SYSCALL PrintF
|
||||||
|
|
||||||
>LDA.G FON.Header+S.FON.Last
|
>LDA.G FON.Header+S.FON.Last
|
||||||
@ -239,10 +256,10 @@ CS.RUN ldy #S.FNT.dfBreakChar
|
|||||||
adc (pData),y
|
adc (pData),y
|
||||||
sta (pData),y
|
sta (pData),y
|
||||||
sta ZPOutPutCharOfs+1
|
sta ZPOutPutCharOfs+1
|
||||||
>LEA.G FileOffset
|
|
||||||
>PUSHYA
|
>PUSHB.G hOutputFile
|
||||||
>PUSHBI SYS.FSeek.SET
|
>PUSHL.G FileOffset
|
||||||
>LDA.G hOutputFile
|
>PUSHBI SEEK.SET
|
||||||
>SYSCALL FSeek
|
>SYSCALL FSeek
|
||||||
bcc .1
|
bcc .1
|
||||||
|
|
||||||
@ -317,7 +334,7 @@ CS.RUN.LOOP >SLEEP
|
|||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
>LDYA L.MSG.DONE
|
>LDYA L.MSG.DONE
|
||||||
>SYSCALL PrintF
|
>SYSCALL PutS
|
||||||
lda #0
|
lda #0
|
||||||
sec
|
sec
|
||||||
.9 rts
|
.9 rts
|
||||||
@ -386,15 +403,13 @@ CS.RUN.GetChar lda (ZPInputTblPtr) Get Char PixW
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* Dump ZPCharBufPtr : CharByteW x FON.Header+S.FON.PixH
|
* Dump ZPCharBufPtr : CharByteW x FON.Header+S.FON.PixH
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.DumpChar >LDA.G CharOutByteW
|
CS.RUN.DumpChar >PUSHW L.MSG.DUMP
|
||||||
>PUSHA
|
>PUSHB.G CharIndex
|
||||||
>LDA.G CharOutPixW
|
>PUSHB.G CharOutPixW
|
||||||
>PUSHA
|
>PUSHB.G CharOutByteW
|
||||||
>LDA.G CharIndex
|
>PUSHBI 3
|
||||||
>PUSHA
|
|
||||||
>PUSHA
|
|
||||||
>LDYA L.MSG.DUMP
|
|
||||||
>SYSCALL PrintF
|
>SYSCALL PrintF
|
||||||
|
|
||||||
lda ZPCharBufPtr
|
lda ZPCharBufPtr
|
||||||
sta ZPPTR1
|
sta ZPPTR1
|
||||||
lda ZPCharBufPtr+1
|
lda ZPCharBufPtr+1
|
||||||
@ -683,9 +698,9 @@ CS.RUN.WriteByte
|
|||||||
clc
|
clc
|
||||||
bne .8
|
bne .8
|
||||||
|
|
||||||
>PUSHWI 256
|
>PUSHB.G hOutputFile
|
||||||
>PUSHW ZPOutPutBufPtr
|
>PUSHW ZPOutPutBufPtr
|
||||||
>LDA.G hOutputFile
|
>PUSHWI 256
|
||||||
>SYSCALL FWrite
|
>SYSCALL FWrite
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
@ -703,11 +718,10 @@ CS.RUN.FlushOutPutBuf
|
|||||||
>LDA.G OutPutPtr
|
>LDA.G OutPutPtr
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
tay
|
>PUSHB.G hOutputFile
|
||||||
lda #0
|
|
||||||
>PUSHYA
|
|
||||||
>PUSHW ZPOutPutBufPtr
|
>PUSHW ZPOutPutBufPtr
|
||||||
>LDA.G hOutputFile
|
>PUSHBI 0
|
||||||
|
>PUSHB.G OutPutPtr
|
||||||
>SYSCALL FWrite
|
>SYSCALL FWrite
|
||||||
.8 rts
|
.8 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -715,24 +729,30 @@ CS.RUN.WriteBMAndTbl
|
|||||||
ldy #FileOffset
|
ldy #FileOffset
|
||||||
ldx #4
|
ldx #4
|
||||||
lda #0
|
lda #0
|
||||||
|
|
||||||
.1 sta (pData),y
|
.1 sta (pData),y
|
||||||
iny
|
iny
|
||||||
dex
|
dex
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
>LEA.G FileOffset
|
>PUSHB.G hOutputFile
|
||||||
>PUSHYA
|
>PUSHL.G FileOffset
|
||||||
>PUSHBI SYS.FSeek.SET
|
>PUSHBI SEEK.SET
|
||||||
>LDA.G hOutputFile
|
|
||||||
>SYSCALL FSeek
|
>SYSCALL FSeek
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
>PUSHWI S.FON
|
>PUSHB.G hOutputFile
|
||||||
>PUSHEA.G FON.Header
|
>PUSHEA.G FON.Header
|
||||||
>LDA.G hOutputFile
|
>PUSHWI S.FON
|
||||||
>SYSCALL FWrite
|
>SYSCALL FWrite
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
|
>PUSHB.G hOutputFile
|
||||||
|
|
||||||
|
>LDA.G hTblBuf
|
||||||
|
>SYSCALL GetMemPtr
|
||||||
|
>PUSHYA
|
||||||
|
|
||||||
>LDA.G FON.Header+S.FON.Last
|
>LDA.G FON.Header+S.FON.Last
|
||||||
sec
|
sec
|
||||||
>SBC.G FON.Header+S.FON.First
|
>SBC.G FON.Header+S.FON.First
|
||||||
@ -744,11 +764,6 @@ CS.RUN.WriteBMAndTbl
|
|||||||
ply
|
ply
|
||||||
>PUSHYA
|
>PUSHYA
|
||||||
|
|
||||||
>LDA.G hTblBuf
|
|
||||||
>SYSCALL GetMemPtr
|
|
||||||
>PUSHYA
|
|
||||||
|
|
||||||
>LDA.G hOutputFile
|
|
||||||
>SYSCALL FWrite
|
>SYSCALL FWrite
|
||||||
clc
|
clc
|
||||||
.9 rts
|
.9 rts
|
||||||
|
@ -144,33 +144,37 @@ S.WND.hCUR .EQ S.OBJ+16
|
|||||||
*
|
*
|
||||||
S.WND.TitleX1 .EQ S.OBJ+18
|
S.WND.TitleX1 .EQ S.OBJ+18
|
||||||
S.WND.TitleX2 .EQ S.OBJ+20
|
S.WND.TitleX2 .EQ S.OBJ+20
|
||||||
|
*
|
||||||
|
S.WND.TBarY1 .EQ S.OBJ+20
|
||||||
S.WND.TBarY2 .EQ S.OBJ+22
|
S.WND.TBarY2 .EQ S.OBJ+22
|
||||||
S.WND.MBarY1 .EQ S.OBJ+22
|
S.WND.MBarY1 .EQ S.OBJ+22
|
||||||
S.WND.MBarY2 .EQ S.OBJ+24
|
S.WND.MBarY2 .EQ S.OBJ+24
|
||||||
S.WND.InnerY1 .EQ S.OBJ+24
|
S.WND.InnerY1 .EQ S.OBJ+26
|
||||||
S.WND.InnerY2 .EQ S.OBJ+26
|
S.WND.InnerY2 .EQ S.OBJ+28
|
||||||
S.WND.SBarY1 .EQ S.OBJ+26
|
S.WND.SBarY1 .EQ S.OBJ+28
|
||||||
S.WND.InnerW .EQ S.OBJ+28
|
|
||||||
S.WND.InnerH .EQ S.OBJ+30
|
S.WND.InnerW .EQ S.OBJ+32
|
||||||
S.WND.DocW .EQ S.OBJ+32
|
S.WND.InnerH .EQ S.OBJ+34
|
||||||
S.WND.DocH .EQ S.OBJ+34
|
S.WND.DocW .EQ S.OBJ+36
|
||||||
S.WND.DocX .EQ S.OBJ+36
|
S.WND.DocH .EQ S.OBJ+38
|
||||||
S.WND.DocY .EQ S.OBJ+38
|
S.WND.DocX .EQ S.OBJ+40
|
||||||
S.WND.fPaint .EQ S.OBJ+40
|
S.WND.DocY .EQ S.OBJ+42
|
||||||
|
S.WND.fPaint .EQ S.OBJ+44
|
||||||
*
|
*
|
||||||
S.WND .EQ S.OBJ+42
|
S.WND .EQ S.OBJ+46
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.MBAR.Selected .EQ S.OBJ
|
S.MBAR.Items .EQ S.OBJ
|
||||||
S.MBAR.Items .EQ S.OBJ+2
|
|
||||||
*
|
*
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.MBITEM.X1 .EQ 0
|
S.MBITEM.T .EQ 0
|
||||||
S.MBITEM.XT .EQ 2
|
S.MBITEM.T.SUBMENU .EQ 6
|
||||||
S.MBITEM.X2 .EQ 4
|
S.MBITEM.S .EQ 1
|
||||||
S.MBITEM.pTEXT .EQ 6
|
S.MBITEM.S.SELECTED .EQ %10000000
|
||||||
S.MBITEM.pMENU .EQ 8
|
S.MBITEM.W .EQ 2
|
||||||
|
S.MBITEM.pTEXT .EQ 4
|
||||||
|
S.MBITEM.pMENU .EQ 6
|
||||||
*
|
*
|
||||||
S.MBITEM .EQ 10
|
S.MBITEM .EQ 8
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.MENU.hSAVEBUF .EQ S.OBJ+0
|
S.MENU.hSAVEBUF .EQ S.OBJ+0
|
||||||
S.MENU.iW .EQ S.OBJ+2
|
S.MENU.iW .EQ S.OBJ+2
|
||||||
|
@ -3,6 +3,7 @@ NEW
|
|||||||
|
|
||||||
#define C_BLACK 0
|
#define C_BLACK 0
|
||||||
#define C_WHITE 255
|
#define C_WHITE 255
|
||||||
|
#define pC_WHITE ((void *)255)
|
||||||
|
|
||||||
#define PTR_T_ARROW 0
|
#define PTR_T_ARROW 0
|
||||||
#define PTR_T_MOVE 2
|
#define PTR_T_MOVE 2
|
||||||
|
@ -3,9 +3,10 @@ NEW
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
hSYSFON .BS 1
|
hSYSFON .BS 1
|
||||||
hSYSFONB .BS 1
|
hSYSFONB .BS 1
|
||||||
SYSFON.H .BS 1
|
|
||||||
SYSFON.Hp2 .BS 1
|
|
||||||
SYSFON.Hm1 .BS 1
|
SYSFON.Hm1 .BS 1
|
||||||
|
SYSFON.H .BS 1
|
||||||
|
SYSFON.Hp1 .BS 1
|
||||||
|
SYSFON.Hp2 .BS 1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE usr/src/lib/libgui.g.fon
|
SAVE usr/src/lib/libgui.g.fon
|
||||||
|
@ -22,6 +22,14 @@ CB.GetInCache >STYA .1+1
|
|||||||
|
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
CB.GetWndYCacheX
|
||||||
|
lda (ZPWNDPtr),y
|
||||||
|
sta CB.Cache,x
|
||||||
|
iny
|
||||||
|
lda (ZPWNDPtr),y
|
||||||
|
sta CB.Cache+1,x
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
CB.GetBuf clc
|
CB.GetBuf clc
|
||||||
|
|
||||||
ldx hCBBuf
|
ldx hCBBuf
|
||||||
@ -32,7 +40,6 @@ CB.GetBuf clc
|
|||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
stx hCBBuf
|
stx hCBBuf
|
||||||
>STYA ZPCBPtr
|
|
||||||
>STYA ZPCBBufPtr
|
>STYA ZPCBBufPtr
|
||||||
|
|
||||||
.9 rts
|
.9 rts
|
||||||
@ -72,15 +79,19 @@ CB.FlushBufToYA ldx hCBBuf
|
|||||||
.1 lda #0
|
.1 lda #0
|
||||||
sta (ZPCBBufPtr)
|
sta (ZPCBBufPtr)
|
||||||
|
|
||||||
|
lda hCBBuf
|
||||||
|
>SYSCALL2 GetMemPtr
|
||||||
|
>STYA ZPCBBufPtr
|
||||||
|
|
||||||
ply
|
ply
|
||||||
pla
|
pla
|
||||||
|
|
||||||
jsr OBJ.GetInCache
|
jsr OBJ.GetInCache
|
||||||
|
|
||||||
.2 lda (ZPCBPtr)
|
.2 lda (ZPCBBufPtr)
|
||||||
beq .7
|
beq .7
|
||||||
|
|
||||||
>LDYA ZPCBPtr
|
>LDYA ZPCBBufPtr
|
||||||
jsr CB.GetInCache A = CB.CMD
|
jsr CB.GetInCache A = CB.CMD
|
||||||
|
|
||||||
cmp #S.CB.CMD.DRAWTEXT2
|
cmp #S.CB.CMD.DRAWTEXT2
|
||||||
@ -105,16 +116,16 @@ CB.FlushBufToYA ldx hCBBuf
|
|||||||
|
|
||||||
jsr CB.GFXWrite
|
jsr CB.GFXWrite
|
||||||
|
|
||||||
.5 lda (ZPCBPtr) Get Cmd
|
.5 lda (ZPCBBufPtr) Get Cmd
|
||||||
lsr
|
lsr
|
||||||
tax
|
tax
|
||||||
lda CB.CmdLen-1,x
|
lda CB.CmdLen-1,x
|
||||||
sec +1
|
sec +1
|
||||||
adc ZPCBPtr
|
adc ZPCBBufPtr
|
||||||
sta ZPCBPtr
|
sta ZPCBBufPtr
|
||||||
bcc .2
|
bcc .2
|
||||||
|
|
||||||
inc ZPCBPtr+1
|
inc ZPCBBufPtr+1
|
||||||
bra .2
|
bra .2
|
||||||
|
|
||||||
.7 lda hCBBuf
|
.7 lda hCBBuf
|
||||||
|
@ -365,10 +365,7 @@ DRAW.YAText >STYA CB.Cache+S.CB.TxtPtr
|
|||||||
bra DRAW.Text
|
bra DRAW.Text
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DRAW.YATextAtDXDY
|
DRAW.YATextAtDXDY
|
||||||
phx
|
|
||||||
jsr CB.ClearCache
|
|
||||||
>STYA CB.Cache+S.CB.TxtPtr
|
>STYA CB.Cache+S.CB.TxtPtr
|
||||||
plx
|
|
||||||
stx CB.Cache+S.CB.hFont
|
stx CB.Cache+S.CB.hFont
|
||||||
|
|
||||||
ldx #3
|
ldx #3
|
||||||
|
@ -21,6 +21,7 @@ FON.Init >LDYA L.SYSX7
|
|||||||
inc
|
inc
|
||||||
sta SYSFON.H
|
sta SYSFON.H
|
||||||
inc
|
inc
|
||||||
|
sta SYSFON.Hp1
|
||||||
inc
|
inc
|
||||||
sta SYSFON.Hp2
|
sta SYSFON.Hp2
|
||||||
|
|
||||||
|
@ -3,21 +3,51 @@ NEW
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* Y,A = MBAR definition
|
* Y,A = MBAR definition
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MBAR.New >STYA ZPMENUPtr MBAR definition
|
MBAR.New >STYA ZPPtr1 MBAR definition
|
||||||
>STYA ZPPtr1 for pass #2
|
>STYA ZPObjPtr for pass #2
|
||||||
|
|
||||||
lda #S.MBAR.Items+1 Ending\0
|
jsr MBAR.GetSize
|
||||||
|
>SYSCALL2 GetMem
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
>STYA ZPMENUPtr
|
||||||
|
|
||||||
|
phx hMBAR
|
||||||
|
|
||||||
|
lda #S.OBJ.T.MBAR
|
||||||
|
sta (ZPMENUPtr) S.OBJ.T
|
||||||
|
|
||||||
|
lda #0
|
||||||
|
|
||||||
|
ldy #S.MBAR.Items-1
|
||||||
|
|
||||||
|
.1 sta (ZPMENUPtr),y
|
||||||
|
dey
|
||||||
|
bne .1
|
||||||
|
|
||||||
|
>LDYA ZPObjPtr
|
||||||
|
>STYA ZPPtr1 MENU definition
|
||||||
|
|
||||||
|
jsr MBAR.GetData
|
||||||
|
|
||||||
|
pla hMBAR
|
||||||
|
clc
|
||||||
|
.9 rts
|
||||||
|
*--------------------------------------
|
||||||
|
* ZPPtr1 = defintion
|
||||||
|
*--------------------------------------
|
||||||
|
MBAR.GetSize lda #S.MBAR.Items+1 Ending\0
|
||||||
sta Counter
|
sta Counter
|
||||||
stz Counter+1
|
stz Counter+1
|
||||||
|
|
||||||
.10 lda (ZPMENUPtr)
|
.1 lda (ZPPtr1)
|
||||||
beq .3
|
beq .8
|
||||||
|
|
||||||
ldy #$ff
|
ldy #$ff
|
||||||
|
|
||||||
.1 iny
|
.2 iny
|
||||||
lda (ZPMENUPtr),y
|
lda (ZPPtr1),y
|
||||||
bne .1
|
bne .2
|
||||||
|
|
||||||
tya
|
tya
|
||||||
|
|
||||||
@ -25,110 +55,184 @@ MBAR.New >STYA ZPMENUPtr MBAR definition
|
|||||||
|
|
||||||
inc
|
inc
|
||||||
inc skip pMENU
|
inc skip pMENU
|
||||||
adc ZPMENUPtr
|
jsr SkipAPtr1
|
||||||
|
|
||||||
|
lda #S.MBITEM
|
||||||
|
clc
|
||||||
|
adc Counter
|
||||||
|
sta Counter
|
||||||
|
bcc .1
|
||||||
|
|
||||||
|
inc Counter+1
|
||||||
|
bra .1
|
||||||
|
|
||||||
|
.8 >LDYA Counter
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
* ZPPtr1 = defintion
|
||||||
|
* ZPMENUPtr = DstBuf
|
||||||
|
*--------------------------------------
|
||||||
|
MBAR.GetData lda ZPMENUPtr
|
||||||
|
clc
|
||||||
|
adc #S.MBAR.Items
|
||||||
sta ZPMENUPtr
|
sta ZPMENUPtr
|
||||||
bcc .2
|
bcc .1
|
||||||
|
|
||||||
inc ZPMENUPtr+1
|
inc ZPMENUPtr+1
|
||||||
|
|
||||||
.2 tya
|
.1 lda (ZPPtr1)
|
||||||
sec
|
|
||||||
adc #S.MBITEM
|
|
||||||
|
|
||||||
adc Counter
|
|
||||||
sta Counter
|
|
||||||
bcc .10
|
|
||||||
|
|
||||||
inc Counter+1
|
|
||||||
bra .10
|
|
||||||
|
|
||||||
.3 >LDYA Counter
|
|
||||||
>SYSCALL2 GetMem
|
|
||||||
bcs .9
|
|
||||||
|
|
||||||
>STYA ZPObjPtr
|
|
||||||
|
|
||||||
phx hMBAR
|
|
||||||
|
|
||||||
ldy #S.OBJ-1
|
|
||||||
lda #S.OBJ.T.MBAR
|
|
||||||
jsr OBJ.Init
|
|
||||||
|
|
||||||
lda #S.MBAR.Items
|
|
||||||
clc
|
|
||||||
adc ZPObjPtr
|
|
||||||
sta ZPObjPtr
|
|
||||||
bcc .4
|
|
||||||
|
|
||||||
inc ZPObjPtr+1
|
|
||||||
|
|
||||||
.4 stz DX
|
|
||||||
stz DX+1
|
|
||||||
|
|
||||||
.5 lda (ZPPtr1)
|
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
>LDYA DX
|
lda #S.MBITEM.T.SUBMENU
|
||||||
jsr OBJ.AddWord S.MBITEM.X1
|
jsr MBAR.AddByte
|
||||||
|
|
||||||
lda DX
|
lda #0 S.MBITEM.S
|
||||||
clc
|
jsr MBAR.AddByte
|
||||||
adc PREFS.MBARXMARGIN
|
|
||||||
sta DX
|
|
||||||
bcc .6
|
|
||||||
|
|
||||||
sta DX+1
|
|
||||||
|
|
||||||
.6 >LDYA DX
|
|
||||||
jsr OBJ.AddWord S.MBITEM.XT
|
|
||||||
|
|
||||||
>LDYA ZPPtr1 pTEXT
|
>LDYA ZPPtr1 pTEXT
|
||||||
ldx hSYSFON
|
ldx hSYSFON
|
||||||
jsr FON.GetTextSize
|
jsr FON.GetTextSize
|
||||||
|
|
||||||
lda DX
|
lda PREFS.MBarXMargin
|
||||||
|
asl x2
|
||||||
clc
|
clc
|
||||||
adc CB.CACHE+S.CB.SrcW
|
adc CB.CACHE+S.CB.SrcW
|
||||||
sta DX
|
tay
|
||||||
|
|
||||||
lda DX+1
|
lda #0
|
||||||
adc CB.CACHE+S.CB.SrcW+1
|
adc CB.CACHE+S.CB.SrcW+1
|
||||||
sta DX+1
|
jsr MBAR.AddWord S.MBITEM.W
|
||||||
|
|
||||||
>LDYA DX
|
|
||||||
jsr OBJ.AddWord S.MBITEM.X2
|
|
||||||
|
|
||||||
>LDYA ZPPtr1 pTEXT
|
>LDYA ZPPtr1 pTEXT
|
||||||
jsr OBJ.AddWord
|
jsr MBAR.AddWord
|
||||||
|
|
||||||
jsr SkipStrZPtr1 skip "TEXT\0"
|
jsr SkipStrZPtr1 skip "TEXT\0"
|
||||||
|
|
||||||
ldy #1
|
ldy #1
|
||||||
lda (ZPPtr1),y
|
lda (ZPPtr1),y
|
||||||
jsr OBJ.AddByte pMENU+1
|
jsr MBAR.AddByte pMENU+1
|
||||||
|
|
||||||
lda (ZPPtr1)
|
lda (ZPPtr1)
|
||||||
jsr OBJ.AddByte pMENU
|
jsr MBAR.AddByte pMENU
|
||||||
|
|
||||||
lda ZPPtr1
|
lda #2
|
||||||
clc
|
jsr SkipAPtr1 stkip pMENU
|
||||||
adc #2
|
bra .1
|
||||||
sta ZPPtr1
|
|
||||||
bcc .5
|
|
||||||
|
|
||||||
inc ZPPtr1+1
|
.8 sta (ZPMENUPtr)
|
||||||
bra .5 stkip pMENU
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
MBAR.AddWord pha
|
||||||
|
|
||||||
.8 pla hMBAR
|
tya
|
||||||
clc
|
jsr MBAR.AddByte
|
||||||
|
pla
|
||||||
|
|
||||||
|
MBAR.AddByte sta (ZPMENUPtr)
|
||||||
|
inc ZPMENUPtr
|
||||||
|
bne .8
|
||||||
|
|
||||||
|
inc ZPMENUPtr+1
|
||||||
|
|
||||||
|
.8 rts
|
||||||
|
*--------------------------------------
|
||||||
|
* ZPWNDPtr parent WND
|
||||||
|
* MSG.X1, MSG.Y1
|
||||||
|
*--------------------------------------
|
||||||
|
MBAR.Enter ldy #S.WND.pMBAR
|
||||||
|
lda (ZPWNDPtr),y
|
||||||
|
>SYSCALL2 GetMemPtr
|
||||||
|
>STYA ZPMENUPtr pMBAR
|
||||||
|
|
||||||
|
jsr MBAR.GetMBItems
|
||||||
|
|
||||||
|
ldy #S.OBJ.X1
|
||||||
|
ldx #S.CB.X1
|
||||||
|
jsr CB.GetWndYCacheX
|
||||||
|
|
||||||
|
.1 lda (ZPPtr1)
|
||||||
|
beq .8
|
||||||
|
|
||||||
|
jsr MBAR.SetX2
|
||||||
|
|
||||||
|
lda MSG+S.MSG.X1
|
||||||
|
cmp CB.Cache+S.CB.X1
|
||||||
|
lda MSG+S.MSG.X1+1
|
||||||
|
sbc CB.Cache+S.CB.X1+1
|
||||||
|
bcc .7
|
||||||
|
|
||||||
|
lda CB.Cache+S.CB.X2
|
||||||
|
cmp MSG+S.MSG.X1
|
||||||
|
lda CB.Cache+S.CB.X2+1
|
||||||
|
sbc MSG+S.MSG.X1+1
|
||||||
|
bcc .7
|
||||||
|
* >DEBUG
|
||||||
|
ldy #S.MBITEM.S
|
||||||
|
lda (ZPPtr1),y
|
||||||
|
ora #S.MBITEM.S.SELECTED
|
||||||
|
sta (ZPPtr1),y
|
||||||
|
|
||||||
|
jsr MENU.DestroyAll
|
||||||
|
|
||||||
|
jsr CB.GetBuf
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
jsr MBAR.DrawMBItem
|
||||||
|
|
||||||
|
>LDYA L.WND.Screen
|
||||||
|
jmp CB.FlushBufToYA
|
||||||
|
|
||||||
|
.7 lda CB.Cache+S.CB.X2
|
||||||
|
sta CB.Cache+S.CB.X1
|
||||||
|
lda CB.Cache+S.CB.X2+1
|
||||||
|
sta CB.Cache+S.CB.X1+1
|
||||||
|
|
||||||
|
lda #S.MBITEM
|
||||||
|
jsr SkipAPtr1
|
||||||
|
bra .1
|
||||||
|
|
||||||
|
.8 clc
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
*--------------------------------------
|
MBAR.Leave
|
||||||
|
|
||||||
|
clc
|
||||||
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* ZPWNDPtr = parent WND
|
* ZPWNDPtr = parent WND
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MBAR.Paint lda #S.CB.CMD.FILLRECT
|
MBAR.Draw >SYSCALL2 GetMemPtr
|
||||||
jsr CB.InitCacheA
|
>STYA ZPMENUPtr pMBAR
|
||||||
|
|
||||||
|
ldy #S.OBJ.X1
|
||||||
|
ldx #S.CB.X1
|
||||||
|
jsr CB.GetWndYCacheX
|
||||||
|
|
||||||
|
jsr MBAR.GetMBItems
|
||||||
|
|
||||||
|
.1 lda (ZPPtr1)
|
||||||
|
beq .8
|
||||||
|
|
||||||
|
jsr MBAR.SetX2
|
||||||
|
|
||||||
|
jsr MBAR.DrawMBItem
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
lda CB.Cache+S.CB.X2
|
||||||
|
sta CB.Cache+S.CB.X1
|
||||||
|
lda CB.Cache+S.CB.X2+1
|
||||||
|
sta CB.Cache+S.CB.X1+1
|
||||||
|
|
||||||
|
lda #S.MBITEM
|
||||||
|
jsr SkipAPtr1
|
||||||
|
bra .1
|
||||||
|
|
||||||
|
.8 clc
|
||||||
|
|
||||||
|
.9 rts
|
||||||
|
*--------------------------------------
|
||||||
|
MBAR.DrawMBItem lda #S.CB.CMD.FILLRECT
|
||||||
|
sta CB.Cache+S.CB.CMD
|
||||||
|
|
||||||
lda #S.CB.OP.SET
|
lda #S.CB.OP.SET
|
||||||
sta CB.Cache+S.CB.OP
|
sta CB.Cache+S.CB.OP
|
||||||
@ -136,123 +240,86 @@ MBAR.Paint lda #S.CB.CMD.FILLRECT
|
|||||||
lda #S.CB.M.MONO
|
lda #S.CB.M.MONO
|
||||||
sta CB.Cache+S.CB.M
|
sta CB.Cache+S.CB.M
|
||||||
|
|
||||||
lda PREFS.MBARCOLOR
|
ldy #S.MBITEM.S
|
||||||
sta CB.Cache+S.CB.COLOR
|
lda (ZPPtr1),y
|
||||||
|
asl
|
||||||
|
|
||||||
ldy #S.OBJ.X1
|
lda PREFS.MBarColor
|
||||||
lda (ZPWNDPtr),y
|
bcc .1
|
||||||
|
|
||||||
|
eor #$ff
|
||||||
|
|
||||||
|
.1 sta CB.Cache+S.CB.COLOR
|
||||||
|
|
||||||
|
jsr MBAR.SetY1Y2
|
||||||
|
|
||||||
|
jsr CB.Cache2CBBuf
|
||||||
|
|
||||||
|
lda PREFS.MBarXMargin
|
||||||
|
clc
|
||||||
|
adc CB.Cache+S.CB.X1
|
||||||
sta CB.Cache+S.CB.X1
|
sta CB.Cache+S.CB.X1
|
||||||
|
bcc .10
|
||||||
|
|
||||||
|
inc CB.Cache+S.CB.X1+1
|
||||||
|
|
||||||
|
.10 inc CB.Cache+S.CB.Y1
|
||||||
|
bne .11
|
||||||
|
|
||||||
|
inc CB.Cache+S.CB.Y1+1
|
||||||
|
|
||||||
|
.11 ldy #S.MBITEM.S
|
||||||
|
lda (ZPPtr1),y
|
||||||
|
asl
|
||||||
|
|
||||||
|
ldy #S.MBITEM.pTEXT
|
||||||
|
lda (ZPPtr1),y
|
||||||
|
pha
|
||||||
iny
|
iny
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPPtr1),y
|
||||||
sta CB.Cache+S.CB.X1+1
|
ply
|
||||||
|
ldx hSYSFON
|
||||||
|
jsr DRAW.YAText
|
||||||
|
|
||||||
ldy #S.OBJ.X2
|
jmp CB.Cache2CBBuf
|
||||||
lda (ZPWNDPtr),y
|
*--------------------------------------
|
||||||
|
MBAR.GetMBItems lda ZPMENUPtr
|
||||||
|
clc
|
||||||
|
adc #S.MBAR.Items
|
||||||
|
sta ZPPtr1
|
||||||
|
|
||||||
|
lda ZPMENUPtr+1
|
||||||
|
adc /S.MBAR.Items
|
||||||
|
sta ZPPtr1+1
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
MBAR.SetX2 lda CB.Cache+S.CB.X1
|
||||||
|
clc
|
||||||
|
ldy #S.MBITEM.W
|
||||||
|
adc (ZPPtr1),y
|
||||||
sta CB.Cache+S.CB.X2
|
sta CB.Cache+S.CB.X2
|
||||||
|
|
||||||
|
lda CB.Cache+S.CB.X1+1
|
||||||
iny
|
iny
|
||||||
lda (ZPWNDPtr),y
|
adc (ZPPtr1),y
|
||||||
sta CB.Cache+S.CB.X2+1
|
sta CB.Cache+S.CB.X2+1
|
||||||
|
|
||||||
ldy #S.WND.MBarY1
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
MBAR.SetY1Y2 ldy #S.WND.MBarY1
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
sta CB.Cache+S.CB.Y1
|
sta CB.Cache+S.CB.Y1
|
||||||
|
|
||||||
iny
|
iny
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
sta CB.Cache+S.CB.Y1+1
|
sta CB.Cache+S.CB.Y1+1
|
||||||
|
|
||||||
iny #S.WND.MBarY2
|
ldy #S.WND.MBarY2
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
sta CB.Cache+S.CB.Y2
|
sta CB.Cache+S.CB.Y2
|
||||||
|
|
||||||
iny
|
iny
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
sta CB.Cache+S.CB.Y2+1
|
sta CB.Cache+S.CB.Y2+1
|
||||||
|
|
||||||
jsr CB.Cache2CBBuf
|
|
||||||
|
|
||||||
ldy #S.WND.pMBAR
|
|
||||||
lda (ZPWNDPtr),y
|
|
||||||
sta ZPMENUPtr
|
|
||||||
iny
|
|
||||||
lda (ZPWNDPtr),y
|
|
||||||
sta ZPMENUPtr+1
|
|
||||||
|
|
||||||
.1 lda (ZPMENUPtr)
|
|
||||||
beq .8
|
|
||||||
|
|
||||||
jsr CB.ClearCache
|
|
||||||
|
|
||||||
lda #S.CB.CMD.DRAWTEXT2
|
|
||||||
sta CB.CACHE+S.CB.CMD
|
|
||||||
|
|
||||||
lda #S.CB.OP.SET+S.CB.OP.INVERSE
|
|
||||||
sta CB.Cache+S.CB.OP
|
|
||||||
|
|
||||||
lda #S.CB.M.MONO
|
|
||||||
sta CB.Cache+S.CB.M
|
|
||||||
|
|
||||||
lda hSYSFON
|
|
||||||
sta CB.CACHE+S.CB.hFont
|
|
||||||
|
|
||||||
ldy #S.MBITEM.XT
|
|
||||||
lda (ZPMENUPtr),y
|
|
||||||
clc
|
|
||||||
ldy #S.OBJ.X1
|
|
||||||
adc (ZPWNDPtr),y
|
|
||||||
sta CB.CACHE+S.CB.X1
|
|
||||||
|
|
||||||
ldy #S.MBITEM.XT+1
|
|
||||||
lda (ZPMENUPtr),y
|
|
||||||
ldy #S.OBJ.X1+1
|
|
||||||
adc (ZPWNDPtr),y
|
|
||||||
sta CB.CACHE+S.CB.X1+1
|
|
||||||
|
|
||||||
ldy #S.WND.MBarY1
|
|
||||||
lda (ZPWNDPtr),y
|
|
||||||
clc
|
|
||||||
adc #1
|
|
||||||
sta CB.CACHE+S.CB.Y1
|
|
||||||
iny
|
|
||||||
lda (ZPWNDPtr),y
|
|
||||||
adc #0
|
|
||||||
sta CB.CACHE+S.CB.Y1+1
|
|
||||||
|
|
||||||
lda #S.MBITEM.pTEXT
|
|
||||||
clc
|
|
||||||
adc ZPMENUPtr
|
|
||||||
sta CB.CACHE+S.CB.TxtPtr
|
|
||||||
|
|
||||||
lda #0
|
|
||||||
adc ZPMENUPtr+1
|
|
||||||
sta CB.CACHE+S.CB.TxtPtr+1
|
|
||||||
|
|
||||||
jsr CB.Cache2CBBuf
|
|
||||||
|
|
||||||
lda (ZPMENUPtr)
|
|
||||||
clc
|
|
||||||
adc ZPMENUPtr
|
|
||||||
sta ZPMENUPtr
|
|
||||||
bcc .1
|
|
||||||
inc ZPMENUPtr+1
|
|
||||||
bra .1
|
|
||||||
|
|
||||||
.8 clc
|
|
||||||
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
|
||||||
* ZPWNDPtr parent WND
|
|
||||||
* MSG.X1, MSG.Y1
|
|
||||||
*--------------------------------------
|
|
||||||
MBAR.Enter
|
|
||||||
|
|
||||||
* >DEBUG
|
|
||||||
*--------------------------------------
|
|
||||||
MBAR.Leave
|
|
||||||
|
|
||||||
clc
|
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
|
11
LIB/LIBGUI.S.MBOX.txt
Normal file
11
LIB/LIBGUI.S.MBOX.txt
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
NEW
|
||||||
|
AUTO 3,1
|
||||||
|
*--------------------------------------
|
||||||
|
* MsgBox(hWND, pTITLE, pTEXT, pBM, iButtons)
|
||||||
|
*--------------------------------------
|
||||||
|
|
||||||
|
*--------------------------------------
|
||||||
|
MAN
|
||||||
|
SAVE usr/src/lib/libgui.s.mbox
|
||||||
|
LOAD usr/src/lib/libgui.s
|
||||||
|
ASM
|
@ -9,8 +9,8 @@ MENU.New >PULLW DY
|
|||||||
>STYA ZPPtr1 MENU definition
|
>STYA ZPPtr1 MENU definition
|
||||||
>STYA ZPObjPtr for pass #2
|
>STYA ZPObjPtr for pass #2
|
||||||
|
|
||||||
ldy MENU.Stack.Cnt
|
ldx MENU.Stack.Cnt
|
||||||
cpy #MENU.MAX
|
cpx #MENU.MAX
|
||||||
beq .90
|
beq .90
|
||||||
|
|
||||||
jsr MENU.GetSize
|
jsr MENU.GetSize
|
||||||
@ -418,7 +418,21 @@ MENU.FindMItemByID
|
|||||||
.9 sec
|
.9 sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MENU.Enter jsr MENU.GetDXDYW
|
MENU.Enter jsr MENU.GetDXDY
|
||||||
|
|
||||||
|
stz D
|
||||||
|
stz D+1
|
||||||
|
|
||||||
|
ldy #S.OBJ.X2
|
||||||
|
lda DX X1
|
||||||
|
clc
|
||||||
|
adc (ZPMENUPtr),y
|
||||||
|
sta IE IE = X2
|
||||||
|
|
||||||
|
iny
|
||||||
|
lda DX+1
|
||||||
|
adc (ZPMENUPtr),y
|
||||||
|
sta IE+1
|
||||||
|
|
||||||
jsr MENU.GetMItems
|
jsr MENU.GetMItems
|
||||||
|
|
||||||
@ -429,8 +443,8 @@ MENU.Enter jsr MENU.GetDXDYW
|
|||||||
beq .2
|
beq .2
|
||||||
|
|
||||||
lda DY Y1
|
lda DY Y1
|
||||||
sec
|
clc
|
||||||
adc SYSFON.H
|
adc SYSFON.Hp2
|
||||||
sta INE INE = Y2
|
sta INE INE = Y2
|
||||||
lda DY+1
|
lda DY+1
|
||||||
adc #0
|
adc #0
|
||||||
@ -450,41 +464,76 @@ MENU.Enter jsr MENU.GetDXDYW
|
|||||||
jsr CB.GetBuf
|
jsr CB.GetBuf
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
jsr MENU.ResetX1Y1X2
|
|
||||||
jsr MENU.DrawMItem
|
jsr MENU.DrawMItem
|
||||||
|
|
||||||
.2 jsr MENU.NextMItemDY
|
.2 jsr MENU.NextMItemDY
|
||||||
bra .1
|
bra .1
|
||||||
|
*--------------------------------------
|
||||||
.3 ldy #S.MITEM.S
|
.3 ldy #S.MITEM.S
|
||||||
lda (ZPPtr1),y
|
lda (ZPPtr1),y
|
||||||
bmi .8 already selected, nothing to do
|
bmi .5 already selected, nothing to do
|
||||||
>DEBUG
|
|
||||||
eor #S.MITEM.S.SELECTED
|
eor #S.MITEM.S.SELECTED
|
||||||
sta (ZPPtr1),y
|
sta (ZPPtr1),y
|
||||||
|
|
||||||
jsr CB.GetBuf
|
jsr CB.GetBuf
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
jsr MENU.ResetX1Y1X2
|
|
||||||
jsr MENU.DrawMItem
|
jsr MENU.DrawMItem
|
||||||
|
|
||||||
lda (ZPPtr1)
|
.30 ldx MENU.Stack.Idx
|
||||||
|
inx
|
||||||
|
cpx MENU.Stack.Cnt
|
||||||
|
beq .31
|
||||||
|
|
||||||
|
jsr MENU.Destroy
|
||||||
|
bra .30
|
||||||
|
|
||||||
|
.31 lda (ZPPtr1)
|
||||||
cmp #S.MITEM.T.SUBMENU
|
cmp #S.MITEM.T.SUBMENU
|
||||||
bne .1
|
bne .2
|
||||||
|
|
||||||
* >LDYA L.WND.Screen
|
ldy #S.MITEM.pMENU
|
||||||
* jsr CB.FlushBufToYA
|
lda (ZPPtr1),y
|
||||||
|
sta D
|
||||||
|
iny
|
||||||
|
lda (ZPPtr1),y
|
||||||
|
sta D+1
|
||||||
|
|
||||||
* jsr MENU.NewSubMenu
|
lda DY
|
||||||
* bcs .9
|
sta Counter
|
||||||
|
lda DY+1
|
||||||
bra .1
|
sta Counter+1
|
||||||
|
|
||||||
|
bra .2
|
||||||
|
*--------------------------------------
|
||||||
|
.8 clc
|
||||||
|
.9 rts
|
||||||
|
*--------------------------------------
|
||||||
.4 >LDYA L.WND.Screen
|
.4 >LDYA L.WND.Screen
|
||||||
jmp CB.FlushBufToYA
|
jsr CB.FlushBufToYA
|
||||||
|
|
||||||
lda MSG+S.MSG.S
|
lda D
|
||||||
|
ora D+1
|
||||||
|
beq .5
|
||||||
|
|
||||||
|
>PUSHW D pMENU
|
||||||
|
|
||||||
|
ldy #S.OBJ.X2+1
|
||||||
|
lda (ZPMENUPtr),y
|
||||||
|
>PUSHA
|
||||||
|
dey
|
||||||
|
lda (ZPMENUPtr),y
|
||||||
|
>PUSHA
|
||||||
|
|
||||||
|
>PUSHW Counter
|
||||||
|
|
||||||
|
jsr MENU.New
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
jmp MENU.Draw
|
||||||
|
*--------------------------------------
|
||||||
|
.5 lda MSG+S.MSG.S
|
||||||
bit #S.MSG.S.CLK
|
bit #S.MSG.S.CLK
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
@ -496,41 +545,6 @@ MENU.Enter jsr MENU.GetDXDYW
|
|||||||
sta MSG+S.MSG.ID
|
sta MSG+S.MSG.ID
|
||||||
|
|
||||||
jmp MENU.DestroyAll
|
jmp MENU.DestroyAll
|
||||||
|
|
||||||
.8 clc
|
|
||||||
.9 rts
|
|
||||||
*--------------------------------------
|
|
||||||
MENU.NewSubMenu lda DX
|
|
||||||
clc
|
|
||||||
adc Counter W
|
|
||||||
sta DX
|
|
||||||
|
|
||||||
lda DX+1
|
|
||||||
adc Counter+1
|
|
||||||
sta DX+1
|
|
||||||
|
|
||||||
ldy #S.MITEM.pMENU+1
|
|
||||||
lda (ZPPtr1),y
|
|
||||||
>PUSHA
|
|
||||||
dey
|
|
||||||
lda (ZPPtr1),y
|
|
||||||
>PUSHA
|
|
||||||
|
|
||||||
>PUSHW DX X1
|
|
||||||
>PUSHW DY Y1
|
|
||||||
|
|
||||||
jsr MENU.New
|
|
||||||
bcs .9
|
|
||||||
|
|
||||||
pha hMENU
|
|
||||||
|
|
||||||
jsr MENU.Draw
|
|
||||||
plx
|
|
||||||
bcs .9
|
|
||||||
|
|
||||||
txa
|
|
||||||
|
|
||||||
.9 rts
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* DrawMenu(hMENU)
|
* DrawMenu(hMENU)
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -543,92 +557,29 @@ MENU.Draw >SYSCALL2 GetMemPtr
|
|||||||
jsr CB.GetBuf
|
jsr CB.GetBuf
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
jsr MENU.DrawBorders
|
>LDYA ZPMENUPtr
|
||||||
|
ldx #0
|
||||||
|
jsr OBJ.DrawBorders
|
||||||
|
|
||||||
jsr MENU.GetDXDYW
|
jsr MENU.GetDXDY
|
||||||
|
|
||||||
jsr MENU.GetMItems
|
jsr MENU.GetMItems
|
||||||
|
|
||||||
.1 lda (ZPPtr1)
|
.1 lda (ZPPtr1)
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
jsr MENU.ResetX1Y1X2
|
|
||||||
jsr MENU.DrawMItem
|
jsr MENU.DrawMItem
|
||||||
jsr MENU.NextMItemDY
|
jsr MENU.NextMItemDY
|
||||||
bra .1
|
bra .1
|
||||||
|
|
||||||
.8 >LDYA L.WND.Screen
|
.8 >LDYA L.WND.Screen
|
||||||
jsr CB.FlushBufToYA
|
jmp CB.FlushBufToYA
|
||||||
|
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MENU.DrawBorders
|
MENU.DrawMItem jsr MENU.ResetX1Y1X2
|
||||||
lda #S.CB.CMD.HLINE
|
|
||||||
jsr CB.InitCacheA
|
|
||||||
|
|
||||||
lda #S.CB.OP.SET
|
lda (ZPPtr1)
|
||||||
sta CB.Cache+S.CB.OP
|
|
||||||
lda #S.CB.M.MONO
|
|
||||||
sta CB.Cache+S.CB.M
|
|
||||||
lda PREFS.BORDERCOLOR
|
|
||||||
sta CB.Cache+S.CB.COLOR
|
|
||||||
|
|
||||||
ldy #S.OBJ.X2+1
|
|
||||||
ldx #5
|
|
||||||
|
|
||||||
.1 lda (ZPMENUPtr),y
|
|
||||||
sta CB.Cache+S.CB.X1,x
|
|
||||||
dey
|
|
||||||
dex
|
|
||||||
bpl .1
|
|
||||||
|
|
||||||
lda CB.Cache+S.CB.Y1
|
|
||||||
sta CB.Cache+S.CB.Y2
|
|
||||||
lda CB.Cache+S.CB.Y1+1
|
|
||||||
sta CB.Cache+S.CB.Y2+1 top X1,Y1,X2,Y1
|
|
||||||
|
|
||||||
jsr CB.Cache2CBBuf
|
|
||||||
|
|
||||||
ldy #S.OBJ.Y2
|
|
||||||
lda (ZPMENUPtr),y
|
|
||||||
sta CB.Cache+S.CB.Y1
|
|
||||||
sta CB.Cache+S.CB.Y2
|
|
||||||
iny
|
|
||||||
lda (ZPMENUPtr),y
|
|
||||||
sta CB.Cache+S.CB.Y1+1
|
|
||||||
sta CB.Cache+S.CB.Y2+1 bottom X1,Y2,X2,Y2
|
|
||||||
|
|
||||||
jsr CB.Cache2CBBuf
|
|
||||||
|
|
||||||
lda #S.CB.CMD.VLINE
|
|
||||||
sta CB.Cache+S.CB.CMD
|
|
||||||
|
|
||||||
ldy #S.OBJ.Y1
|
|
||||||
lda (ZPMENUPtr),y
|
|
||||||
sta CB.Cache+S.CB.Y1
|
|
||||||
iny
|
|
||||||
lda (ZPMENUPtr),y
|
|
||||||
sta CB.Cache+S.CB.Y1+1
|
|
||||||
|
|
||||||
lda CB.Cache+S.CB.X1
|
|
||||||
sta CB.Cache+S.CB.X2
|
|
||||||
lda CB.Cache+S.CB.X1+1
|
|
||||||
sta CB.Cache+S.CB.X2+1 left X1,Y1,X1,Y2
|
|
||||||
|
|
||||||
jsr CB.Cache2CBBuf
|
|
||||||
|
|
||||||
ldy #S.OBJ.X2
|
|
||||||
lda (ZPMENUPtr),y
|
|
||||||
sta CB.Cache+S.CB.X1
|
|
||||||
sta CB.Cache+S.CB.X2
|
|
||||||
iny
|
|
||||||
lda (ZPMENUPtr),y
|
|
||||||
sta CB.Cache+S.CB.X1+1
|
|
||||||
sta CB.Cache+S.CB.X2+1 right X2,Y1,X2,Y2
|
|
||||||
|
|
||||||
jmp CB.Cache2CBBuf
|
|
||||||
*--------------------------------------
|
|
||||||
MENU.DrawMItem lda (ZPPtr1)
|
|
||||||
cmp #S.MITEM.T.SEP
|
cmp #S.MITEM.T.SEP
|
||||||
bne MENU.DrawMItem1
|
bne MENU.DrawMItem1
|
||||||
|
|
||||||
@ -639,7 +590,7 @@ MENU.DrawMItem lda (ZPPtr1)
|
|||||||
lda #S.CB.M.MONO
|
lda #S.CB.M.MONO
|
||||||
sta CB.Cache+S.CB.M
|
sta CB.Cache+S.CB.M
|
||||||
|
|
||||||
lda PREFS.BORDERCOLOR
|
lda PREFS.BorderColor
|
||||||
sta CB.Cache+S.CB.COLOR
|
sta CB.Cache+S.CB.COLOR
|
||||||
|
|
||||||
jmp CB.Cache2CBBuf
|
jmp CB.Cache2CBBuf
|
||||||
@ -651,7 +602,7 @@ MENU.DrawMItem1 lda #S.CB.CMD.FILLRECT
|
|||||||
lda #S.CB.M.MONO
|
lda #S.CB.M.MONO
|
||||||
sta CB.Cache+S.CB.M
|
sta CB.Cache+S.CB.M
|
||||||
|
|
||||||
ldx PREFS.MENUCOLOR
|
ldx PREFS.MenuColor
|
||||||
jsr MENU.IsSelected
|
jsr MENU.IsSelected
|
||||||
bcc .15
|
bcc .15
|
||||||
|
|
||||||
@ -661,13 +612,12 @@ MENU.DrawMItem1 lda #S.CB.CMD.FILLRECT
|
|||||||
|
|
||||||
.15 stx CB.Cache+S.CB.COLOR
|
.15 stx CB.Cache+S.CB.COLOR
|
||||||
|
|
||||||
lda DY
|
lda CB.Cache+S.CB.Y1
|
||||||
sta CB.Cache+S.CB.Y1
|
|
||||||
sec
|
sec
|
||||||
adc SYSFON.H
|
adc SYSFON.H
|
||||||
sta CB.Cache+S.CB.Y2
|
sta CB.Cache+S.CB.Y2
|
||||||
lda DY+1
|
|
||||||
sta CB.Cache+S.CB.Y1+1
|
lda CB.Cache+S.CB.Y1+1
|
||||||
adc #0
|
adc #0
|
||||||
sta CB.Cache+S.CB.Y2+1
|
sta CB.Cache+S.CB.Y2+1
|
||||||
jsr CB.Cache2CBBuf
|
jsr CB.Cache2CBBuf
|
||||||
@ -695,7 +645,6 @@ MENU.DrawMItem1 lda #S.CB.CMD.FILLRECT
|
|||||||
ldy #S.MENU.iW
|
ldy #S.MENU.iW
|
||||||
adc (ZPMENUPtr),y
|
adc (ZPMENUPtr),y
|
||||||
sta CB.Cache+S.CB.X1
|
sta CB.Cache+S.CB.X1
|
||||||
|
|
||||||
bcc .21
|
bcc .21
|
||||||
|
|
||||||
inc CB.Cache+S.CB.X1+1
|
inc CB.Cache+S.CB.X1+1
|
||||||
@ -893,83 +842,7 @@ MENU.Save lda #S.CB.CMD.GETRECTBUFSIZE
|
|||||||
|
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MENU.DestroyAll sec
|
MENU.GetDXDY ldy #S.OBJ.X1
|
||||||
.HS 90 BCC
|
|
||||||
MENU.Destroy clc
|
|
||||||
|
|
||||||
ldx MENU.Stack.Cnt
|
|
||||||
beq .8
|
|
||||||
|
|
||||||
php
|
|
||||||
|
|
||||||
bit PTR.bVisible
|
|
||||||
bpl .1
|
|
||||||
|
|
||||||
jsr PTR.Hide.I
|
|
||||||
|
|
||||||
.1 lda #S.CB.CMD.BITBLT
|
|
||||||
jsr CB.InitCacheA
|
|
||||||
|
|
||||||
lda #S.CB.OP.RESTORE
|
|
||||||
sta CB.Cache+S.CB.OP
|
|
||||||
|
|
||||||
plp
|
|
||||||
|
|
||||||
.2 php
|
|
||||||
|
|
||||||
ldx MENU.Stack.Cnt
|
|
||||||
lda MENU.Stack-1,x
|
|
||||||
>SYSCALL2 GetMemPtr
|
|
||||||
>STYA ZPMENUPtr
|
|
||||||
|
|
||||||
ldy #S.OBJ.X1
|
|
||||||
ldx #0
|
|
||||||
|
|
||||||
.3 lda (ZPMENUPtr),y
|
|
||||||
sta CB.Cache+S.CB.X1,x
|
|
||||||
iny
|
|
||||||
inx
|
|
||||||
cpx #8 X1,Y1,X2,Y2
|
|
||||||
bne .3
|
|
||||||
|
|
||||||
ldy #S.OBJ.W
|
|
||||||
ldx #0
|
|
||||||
|
|
||||||
.4 lda (ZPMENUPtr),y
|
|
||||||
sta CB.Cache+S.CB.SrcW,x
|
|
||||||
iny
|
|
||||||
inx
|
|
||||||
cpx #4 W,H
|
|
||||||
bne .4
|
|
||||||
|
|
||||||
ldy #S.MENU.hSAVEBUF
|
|
||||||
lda (ZPMENUPtr),y
|
|
||||||
sta CB.Cache+S.CB.DstPtr
|
|
||||||
|
|
||||||
jsr CB.GFXWrite
|
|
||||||
|
|
||||||
lda CB.Cache+S.CB.DstPtr
|
|
||||||
>SYSCALL2 FreeStkObj
|
|
||||||
|
|
||||||
ldx MENU.Stack.Cnt
|
|
||||||
lda MENU.Stack-1,x
|
|
||||||
>SYSCALL2 FreeMem
|
|
||||||
|
|
||||||
plp
|
|
||||||
dec MENU.Stack.Cnt
|
|
||||||
bcc .7
|
|
||||||
|
|
||||||
bne .2
|
|
||||||
|
|
||||||
.7 bit PTR.bVisible
|
|
||||||
bpl .8
|
|
||||||
|
|
||||||
jmp PTR.Show.I
|
|
||||||
|
|
||||||
.8 clc
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
|
||||||
MENU.GetDXDYW ldy #S.OBJ.X1
|
|
||||||
lda (ZPMENUPtr),y
|
lda (ZPMENUPtr),y
|
||||||
clc
|
clc
|
||||||
adc #1
|
adc #1
|
||||||
@ -979,16 +852,6 @@ MENU.GetDXDYW ldy #S.OBJ.X1
|
|||||||
adc #0
|
adc #0
|
||||||
sta DX+1
|
sta DX+1
|
||||||
|
|
||||||
ldy #S.OBJ.W
|
|
||||||
lda (ZPMENUPtr),y
|
|
||||||
sec
|
|
||||||
sbc #3 2Px border + correction from W
|
|
||||||
sta Counter W
|
|
||||||
iny
|
|
||||||
lda (ZPMENUPtr),y
|
|
||||||
sbc #0
|
|
||||||
sta Counter+1
|
|
||||||
|
|
||||||
ldy #S.OBJ.Y1
|
ldy #S.OBJ.Y1
|
||||||
lda (ZPMENUPtr),y
|
lda (ZPMENUPtr),y
|
||||||
clc
|
clc
|
||||||
@ -1002,21 +865,31 @@ MENU.GetDXDYW ldy #S.OBJ.X1
|
|||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MENU.ResetX1Y1X2
|
MENU.ResetX1Y1X2
|
||||||
lda DX
|
ldy #S.OBJ.X1
|
||||||
sta CB.Cache+S.CB.X1
|
lda (ZPMENUPtr),y
|
||||||
clc
|
clc
|
||||||
adc Counter
|
adc #1
|
||||||
sta CB.Cache+S.CB.X2
|
sta CB.Cache+S.CB.X1
|
||||||
lda DX+1
|
iny
|
||||||
|
lda (ZPMENUPtr),y
|
||||||
|
adc #0
|
||||||
sta CB.Cache+S.CB.X1+1
|
sta CB.Cache+S.CB.X1+1
|
||||||
adc Counter+1
|
|
||||||
sta CB.Cache+S.CB.X2+1
|
|
||||||
|
|
||||||
lda DY
|
lda DY
|
||||||
sta CB.Cache+S.CB.Y1
|
sta CB.Cache+S.CB.Y1
|
||||||
lda DY+1
|
lda DY+1
|
||||||
sta CB.Cache+S.CB.Y1+1
|
sta CB.Cache+S.CB.Y1+1
|
||||||
|
|
||||||
|
ldy #S.OBJ.X2
|
||||||
|
lda (ZPMENUPtr),y
|
||||||
|
sec
|
||||||
|
sbc #1
|
||||||
|
sta CB.Cache+S.CB.X2
|
||||||
|
iny
|
||||||
|
lda (ZPMENUPtr),y
|
||||||
|
sbc #0
|
||||||
|
sta CB.Cache+S.CB.X2+1
|
||||||
|
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MENU.FindSelected
|
MENU.FindSelected
|
||||||
@ -1075,6 +948,83 @@ MENU.NextMItemDY
|
|||||||
MENU.NextMItem lda #S.MITEM
|
MENU.NextMItem lda #S.MITEM
|
||||||
jmp SkipAPtr1
|
jmp SkipAPtr1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
MENU.DestroyAll sec
|
||||||
|
.HS 90 BCC
|
||||||
|
MENU.Destroy clc
|
||||||
|
|
||||||
|
ldx MENU.Stack.Cnt
|
||||||
|
beq .8
|
||||||
|
|
||||||
|
php
|
||||||
|
|
||||||
|
bit PTR.bVisible
|
||||||
|
bpl .1
|
||||||
|
|
||||||
|
jsr PTR.Hide.I
|
||||||
|
|
||||||
|
.1 lda #S.CB.CMD.BITBLT
|
||||||
|
jsr CB.InitCacheA
|
||||||
|
|
||||||
|
lda #S.CB.OP.RESTORE
|
||||||
|
sta CB.Cache+S.CB.OP
|
||||||
|
|
||||||
|
plp
|
||||||
|
|
||||||
|
.2 php
|
||||||
|
|
||||||
|
ldx MENU.Stack.Cnt
|
||||||
|
lda MENU.Stack-1,x
|
||||||
|
>SYSCALL2 GetMemPtr
|
||||||
|
>STYA ZPObjPtr
|
||||||
|
|
||||||
|
ldy #S.OBJ.X1
|
||||||
|
ldx #0
|
||||||
|
|
||||||
|
.3 lda (ZPObjPtr),y
|
||||||
|
sta CB.Cache+S.CB.X1,x
|
||||||
|
iny
|
||||||
|
inx
|
||||||
|
cpx #8 X1,Y1,X2,Y2
|
||||||
|
bne .3
|
||||||
|
|
||||||
|
ldy #S.OBJ.W
|
||||||
|
ldx #0
|
||||||
|
|
||||||
|
.4 lda (ZPObjPtr),y
|
||||||
|
sta CB.Cache+S.CB.SrcW,x
|
||||||
|
iny
|
||||||
|
inx
|
||||||
|
cpx #4 W,H
|
||||||
|
bne .4
|
||||||
|
|
||||||
|
ldy #S.MENU.hSAVEBUF
|
||||||
|
lda (ZPObjPtr),y
|
||||||
|
sta CB.Cache+S.CB.DstPtr
|
||||||
|
|
||||||
|
jsr CB.GFXWrite
|
||||||
|
|
||||||
|
lda CB.Cache+S.CB.DstPtr
|
||||||
|
>SYSCALL2 FreeStkObj
|
||||||
|
|
||||||
|
ldx MENU.Stack.Cnt
|
||||||
|
lda MENU.Stack-1,x
|
||||||
|
>SYSCALL2 FreeMem
|
||||||
|
|
||||||
|
plp Destroy all ?
|
||||||
|
dec MENU.Stack.Cnt
|
||||||
|
|
||||||
|
bcc .7 no
|
||||||
|
|
||||||
|
bne .2
|
||||||
|
|
||||||
|
.7 bit PTR.bVisible
|
||||||
|
bpl .8
|
||||||
|
|
||||||
|
jmp PTR.Show.I
|
||||||
|
|
||||||
|
.8 clc
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE usr/src/lib/libgui.s.menu
|
SAVE usr/src/lib/libgui.s.menu
|
||||||
LOAD usr/src/lib/libgui.s
|
LOAD usr/src/lib/libgui.s
|
||||||
|
@ -91,9 +91,9 @@ MOU.CheckOverMenu
|
|||||||
.1 ldx MENU.Stack.Cnt
|
.1 ldx MENU.Stack.Cnt
|
||||||
beq .9
|
beq .9
|
||||||
|
|
||||||
lda MENU.Stack-1,x
|
.2 dex
|
||||||
|
stx MENU.Stack.Idx
|
||||||
.2 phx
|
lda MENU.Stack,x
|
||||||
|
|
||||||
>SYSCALL2 GetMemPtr
|
>SYSCALL2 GetMemPtr
|
||||||
>STYA ZPMENUPtr
|
>STYA ZPMENUPtr
|
||||||
@ -105,32 +105,18 @@ MOU.CheckOverMenu
|
|||||||
pla
|
pla
|
||||||
adc /S.OBJ.X1
|
adc /S.OBJ.X1
|
||||||
jsr MOU.InRectYA
|
jsr MOU.InRectYA
|
||||||
bcc .3
|
bcs .3
|
||||||
|
|
||||||
plx
|
jsr MENU.Enter
|
||||||
|
|
||||||
dex
|
clc
|
||||||
|
rts
|
||||||
|
|
||||||
|
.3 ldx MENU.Stack.Idx
|
||||||
bne .2
|
bne .2
|
||||||
|
|
||||||
.9 sec
|
.9 sec
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.3 plx
|
|
||||||
cpx MENU.Stack.Cnt
|
|
||||||
beq .7
|
|
||||||
|
|
||||||
* TODO:destroy from TOP to current, then enter current
|
|
||||||
|
|
||||||
* inx
|
|
||||||
* phx
|
|
||||||
|
|
||||||
* jsr MENU.Destroy
|
|
||||||
* bra .3
|
|
||||||
|
|
||||||
.7 jmp MENU.Enter
|
|
||||||
|
|
||||||
.8 clc
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MOU.CheckOverSysBut
|
MOU.CheckOverSysBut
|
||||||
>LDYA L.RECT.SysBut
|
>LDYA L.RECT.SysBut
|
||||||
@ -156,8 +142,7 @@ MOU.CheckOverWND
|
|||||||
|
|
||||||
ldy #S.OBJ.F
|
ldy #S.OBJ.F
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
|
and #S.WND.F.BORDER
|
||||||
bit #S.WND.F.BORDER
|
|
||||||
beq .2
|
beq .2
|
||||||
|
|
||||||
jsr MOU.ChkWNDBorders
|
jsr MOU.ChkWNDBorders
|
||||||
@ -190,7 +175,7 @@ MOU.CheckOverWND
|
|||||||
|
|
||||||
bra .5
|
bra .5
|
||||||
|
|
||||||
.3 iny #S.WND.MBarY2
|
.3 ldy #S.WND.MBarY2
|
||||||
|
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
cmp MSG+S.MSG.Y1
|
cmp MSG+S.MSG.Y1
|
||||||
@ -203,7 +188,7 @@ MOU.CheckOverWND
|
|||||||
|
|
||||||
bra .5
|
bra .5
|
||||||
|
|
||||||
.4 iny #S.WND.SBarY1
|
.4 ldy #S.WND.SBarY1
|
||||||
|
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
cmp MSG+S.MSG.Y1
|
cmp MSG+S.MSG.Y1
|
||||||
|
@ -43,37 +43,6 @@ OBJ.Init sta (ZPObjPtr)
|
|||||||
|
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
OBJ.AddWord pha
|
|
||||||
|
|
||||||
tya
|
|
||||||
jsr OBJ.AddByte
|
|
||||||
pla
|
|
||||||
|
|
||||||
OBJ.AddByte sta (ZPObjPtr)
|
|
||||||
inc ZPObjPtr
|
|
||||||
bne .8
|
|
||||||
|
|
||||||
inc ZPObjPtr+1
|
|
||||||
|
|
||||||
.8 rts
|
|
||||||
*--------------------------------------
|
|
||||||
OBJ.PullY1X1.BAD
|
|
||||||
|
|
||||||
>PULLA
|
|
||||||
ldy #S.OBJ.Y1
|
|
||||||
sta (ZPMENUPtr),y
|
|
||||||
>PULLA
|
|
||||||
iny
|
|
||||||
sta (ZPMENUPtr),y
|
|
||||||
|
|
||||||
>PULLA
|
|
||||||
ldy #S.OBJ.X1
|
|
||||||
sta (ZPMENUPtr),y
|
|
||||||
>PULLA
|
|
||||||
iny
|
|
||||||
sta (ZPMENUPtr),y
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
|
||||||
* hOBJ, Prop8, Value16
|
* hOBJ, Prop8, Value16
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
OBJ.SetProp ldy #3
|
OBJ.SetProp ldy #3
|
||||||
@ -169,9 +138,10 @@ OBJ.SetX2Y2 >STYA ZPPtr1
|
|||||||
adc (ZPPtr1),y
|
adc (ZPPtr1),y
|
||||||
ldy #S.OBJ.Y2+1
|
ldy #S.OBJ.Y2+1
|
||||||
sta (ZPPtr1),y
|
sta (ZPPtr1),y
|
||||||
|
tax
|
||||||
dey
|
dey
|
||||||
pla
|
pla
|
||||||
sta (ZPPtr1),y
|
sta (ZPPtr1),y A,X = Y2
|
||||||
|
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -185,6 +155,106 @@ OBJ.GetInCache >STYA .1+1
|
|||||||
bpl .1
|
bpl .1
|
||||||
|
|
||||||
rts
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
OBJ.DrawBorders >STYA ZPObjPtr
|
||||||
|
stx IY
|
||||||
|
|
||||||
|
lda #S.CB.CMD.HLINE
|
||||||
|
jsr CB.InitCacheA
|
||||||
|
|
||||||
|
lda #S.CB.OP.SET
|
||||||
|
sta CB.Cache+S.CB.OP
|
||||||
|
lda #S.CB.M.MONO
|
||||||
|
sta CB.Cache+S.CB.M
|
||||||
|
lda PREFS.BorderColor
|
||||||
|
sta CB.Cache+S.CB.COLOR
|
||||||
|
|
||||||
|
ldy #S.OBJ.X1
|
||||||
|
|
||||||
|
lda (ZPObjPtr),y
|
||||||
|
sec
|
||||||
|
sbc IY
|
||||||
|
sta CB.Cache+S.CB.X1
|
||||||
|
iny
|
||||||
|
lda (ZPObjPtr),y
|
||||||
|
sbc #0
|
||||||
|
sta CB.Cache+S.CB.X1+1
|
||||||
|
|
||||||
|
iny #S.OBJ.Y1
|
||||||
|
|
||||||
|
lda (ZPObjPtr),y
|
||||||
|
sec
|
||||||
|
sbc IY
|
||||||
|
sta CB.Cache+S.CB.Y1
|
||||||
|
sta CB.Cache+S.CB.Y2
|
||||||
|
iny
|
||||||
|
lda (ZPObjPtr),y
|
||||||
|
sbc #0
|
||||||
|
sta CB.Cache+S.CB.Y1+1
|
||||||
|
sta CB.Cache+S.CB.Y2+1 top X1-1,Y1-1,X2+1,Y1-1
|
||||||
|
|
||||||
|
iny #S.OBJ.X2
|
||||||
|
|
||||||
|
lda (ZPObjPtr),y
|
||||||
|
clc
|
||||||
|
adc IY
|
||||||
|
sta CB.Cache+S.CB.X2
|
||||||
|
iny
|
||||||
|
lda (ZPObjPtr),y
|
||||||
|
adc #0
|
||||||
|
sta CB.Cache+S.CB.X2+1
|
||||||
|
|
||||||
|
jsr CB.Cache2CBBuf
|
||||||
|
|
||||||
|
ldy #S.OBJ.Y2
|
||||||
|
lda (ZPObjPtr),y
|
||||||
|
clc
|
||||||
|
adc IY
|
||||||
|
sta CB.Cache+S.CB.Y1
|
||||||
|
sta CB.Cache+S.CB.Y2
|
||||||
|
iny
|
||||||
|
lda (ZPObjPtr),y
|
||||||
|
adc #0
|
||||||
|
sta CB.Cache+S.CB.Y1+1
|
||||||
|
sta CB.Cache+S.CB.Y2+1 bottom X1-1,Y2+1,X2+1,Y2+1
|
||||||
|
|
||||||
|
jsr CB.Cache2CBBuf
|
||||||
|
|
||||||
|
lda #S.CB.CMD.VLINE
|
||||||
|
sta CB.Cache+S.CB.CMD
|
||||||
|
|
||||||
|
ldy #S.OBJ.Y1
|
||||||
|
lda (ZPObjPtr),y
|
||||||
|
sec
|
||||||
|
sbc IY
|
||||||
|
sta CB.Cache+S.CB.Y1
|
||||||
|
iny
|
||||||
|
lda (ZPObjPtr),y
|
||||||
|
sbc #0
|
||||||
|
sta CB.Cache+S.CB.Y1+1
|
||||||
|
|
||||||
|
lda CB.Cache+S.CB.X1
|
||||||
|
sta CB.Cache+S.CB.X2
|
||||||
|
lda CB.Cache+S.CB.X1+1
|
||||||
|
sta CB.Cache+S.CB.X2+1 left X1-1,Y1-1,X1-1,Y2+1
|
||||||
|
|
||||||
|
jsr CB.Cache2CBBuf
|
||||||
|
|
||||||
|
ldy #S.OBJ.X2
|
||||||
|
lda (ZPObjPtr),y
|
||||||
|
clc
|
||||||
|
adc IY
|
||||||
|
sta CB.Cache+S.CB.X1
|
||||||
|
sta CB.Cache+S.CB.X2
|
||||||
|
iny
|
||||||
|
lda (ZPObjPtr),y
|
||||||
|
adc #0
|
||||||
|
sta CB.Cache+S.CB.X1+1
|
||||||
|
sta CB.Cache+S.CB.X2+1 right X2+1,Y1-1,X2+1,Y2+1
|
||||||
|
|
||||||
|
jmp CB.Cache2CBBuf
|
||||||
|
*-------------------------------------
|
||||||
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE usr/src/lib/libgui.s.obj
|
SAVE usr/src/lib/libgui.s.obj
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
NEW
|
NEW
|
||||||
AUTO 3,1
|
AUTO 3,1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SYSBUT.Enter sec
|
SYSBUT.Enter bit WND.SYSBAR.bSysBut
|
||||||
|
bmi .8
|
||||||
|
|
||||||
|
sec
|
||||||
ror WND.SYSBAR.bSysBut
|
ror WND.SYSBAR.bSysBut
|
||||||
|
|
||||||
jsr CB.GetBuf
|
jsr CB.GetBuf
|
||||||
@ -18,10 +21,9 @@ SYSBUT.Enter sec
|
|||||||
jsr MENU.New
|
jsr MENU.New
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
sta hSysMenu
|
|
||||||
|
|
||||||
jmp MENU.Draw
|
jmp MENU.Draw
|
||||||
|
|
||||||
|
.8 clc
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SYSBUT.Leave bit WND.SYSBAR.bSysBut
|
SYSBUT.Leave bit WND.SYSBAR.bSysBut
|
||||||
|
@ -114,7 +114,7 @@ WND.Quit lda WND.Screen+S.OBJ.hPARENT
|
|||||||
.8 clc
|
.8 clc
|
||||||
WND.Quit.RTS rts
|
WND.Quit.RTS rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* F8, X116, Y116, W16, H16
|
* guiNewWnd(sFlags, iX1, iY1, iW, iH)
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
WND.New ldy WND.Stack.Top
|
WND.New ldy WND.Stack.Top
|
||||||
cpy #WND.MAX
|
cpy #WND.MAX
|
||||||
@ -174,7 +174,7 @@ WND.New ldy WND.Stack.Top
|
|||||||
|
|
||||||
>PULLA
|
>PULLA
|
||||||
ldy #S.OBJ.X1
|
ldy #S.OBJ.X1
|
||||||
and PREFS.BESTVIEWEDX
|
and PREFS.BestViewedX
|
||||||
sta (ZPWNDPtr),y
|
sta (ZPWNDPtr),y
|
||||||
>PULLA
|
>PULLA
|
||||||
iny
|
iny
|
||||||
@ -235,12 +235,12 @@ WND.Bring2Front ldx WND.Stack.Idx
|
|||||||
|
|
||||||
.2 pla
|
.2 pla
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* A = hWND
|
* guiShowWnd( hWND )
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
WND.Show sta WND.hWND
|
WND.Show sta WND.hWND
|
||||||
|
|
||||||
ldx WND.Stack.Top
|
ldx WND.Stack.Top
|
||||||
beq WND.Show1
|
beq WND.Show2
|
||||||
|
|
||||||
lda WND.Stack-1,x
|
lda WND.Stack-1,x
|
||||||
>SYSCALL2 GetMemPtr
|
>SYSCALL2 GetMemPtr
|
||||||
@ -252,11 +252,15 @@ WND.Show sta WND.hWND
|
|||||||
jsr CB.GetBuf
|
jsr CB.GetBuf
|
||||||
bcs WND.Activate.RTS
|
bcs WND.Activate.RTS
|
||||||
|
|
||||||
jsr WND.PaintTopBar
|
jsr WND.DrawTitleBar
|
||||||
|
|
||||||
WND.Show1 lda WND.hWND
|
>LDYA L.WND.Desktop
|
||||||
ldy WND.Stack.Top
|
jsr CB.FlushBufToYA
|
||||||
sta WND.Stack,y
|
|
||||||
|
lda WND.hWND
|
||||||
|
ldx WND.Stack.Top
|
||||||
|
*--------------------------------------
|
||||||
|
WND.Show2 sta WND.Stack,x
|
||||||
inc WND.Stack.Top
|
inc WND.Stack.Top
|
||||||
|
|
||||||
>SYSCALL2 GetMemPtr
|
>SYSCALL2 GetMemPtr
|
||||||
@ -264,36 +268,35 @@ WND.Show1 lda WND.hWND
|
|||||||
|
|
||||||
jsr OBJ.SetX2Y2
|
jsr OBJ.SetX2Y2
|
||||||
|
|
||||||
WND.Show2 jsr CB.GetBuf
|
ldy #S.WND.InnerY2
|
||||||
|
sta (ZPWNDPtr),y
|
||||||
|
txa
|
||||||
|
iny
|
||||||
|
sta (ZPWNDPtr),y
|
||||||
|
|
||||||
|
jsr CB.GetBuf
|
||||||
bcs WND.Activate.RTS
|
bcs WND.Activate.RTS
|
||||||
|
|
||||||
lda #S.WND.S.ACTIVE
|
lda #S.WND.S.ACTIVE
|
||||||
jsr WND.SetStatus
|
jsr WND.SetStatus
|
||||||
|
|
||||||
ldy #S.OBJ.Y1
|
|
||||||
lda (ZPWNDPtr),y
|
|
||||||
tax
|
|
||||||
iny
|
|
||||||
lda (ZPWNDPtr),y
|
|
||||||
|
|
||||||
ldy #S.WND.TBarY2+1
|
|
||||||
sta (ZPWNDPtr),y
|
|
||||||
txa
|
|
||||||
dey
|
|
||||||
sta (ZPWNDPtr),y
|
|
||||||
|
|
||||||
stz Counter X
|
|
||||||
stz Counter+1 Y
|
|
||||||
|
|
||||||
ldy #S.OBJ.F
|
ldy #S.OBJ.F
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
and #S.WND.F.BORDER
|
and #S.WND.F.BORDER
|
||||||
beq .1
|
beq .1
|
||||||
|
|
||||||
lda #1
|
>LDYA ZPWNDPtr
|
||||||
jsr WND.ShowBorders
|
ldx #1
|
||||||
|
jsr OBJ.DrawBorders
|
||||||
|
*--------------------------------------
|
||||||
|
.1 ldy #S.OBJ.Y1
|
||||||
|
lda (ZPWNDPtr),y
|
||||||
|
sta Counter
|
||||||
|
iny
|
||||||
|
lda (ZPWNDPtr),y
|
||||||
|
sta Counter+1
|
||||||
|
|
||||||
.1 ldy #S.WND.pTITLE+1
|
ldy #S.WND.pTITLE+1
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
bne .2
|
bne .2
|
||||||
|
|
||||||
@ -302,98 +305,82 @@ WND.Show2 jsr CB.GetBuf
|
|||||||
and #S.WND.F.MOVE+S.WND.F.CLOSE+S.WND.F.MIN+S.WND.F.MAX
|
and #S.WND.F.MOVE+S.WND.F.CLOSE+S.WND.F.MIN+S.WND.F.MAX
|
||||||
beq .3
|
beq .3
|
||||||
|
|
||||||
.2 lda Counter+1
|
.2 lda SYSFON.Hp2
|
||||||
clc
|
jsr WND.Add2Counter
|
||||||
adc SYSFON.Hp2
|
|
||||||
sta Counter+1
|
|
||||||
|
|
||||||
ldy #S.WND.TBarY2
|
ldy #S.WND.TBarY2
|
||||||
lda (ZPWNDPtr),y
|
|
||||||
clc
|
|
||||||
adc SYSFON.Hp2
|
|
||||||
sta (ZPWNDPtr),y
|
sta (ZPWNDPtr),y
|
||||||
iny
|
iny
|
||||||
lda (ZPWNDPtr),y
|
txa
|
||||||
adc #0
|
|
||||||
sta (ZPWNDPtr),y
|
sta (ZPWNDPtr),y
|
||||||
|
|
||||||
lda #S.WND.S.HASTBAR
|
lda #S.WND.S.HASTBAR
|
||||||
jsr WND.SetStatus
|
jsr WND.SetStatus
|
||||||
|
|
||||||
jsr WND.PaintTopBar
|
jsr WND.DrawTitleBar
|
||||||
bcs .9
|
bcs .9
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.3 ldy #S.WND.pMBAR+1
|
.3 ldy #S.WND.pMBAR
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
beq .7
|
beq .4
|
||||||
|
|
||||||
lda Counter+1
|
lda SYSFON.Hp1
|
||||||
clc
|
jsr WND.Add2Counter
|
||||||
adc SYSFON.Hp2
|
|
||||||
sta Counter+1
|
|
||||||
|
|
||||||
ldy #S.WND.TBarY2
|
ldy #S.WND.MBarY2
|
||||||
lda (ZPWNDPtr),y
|
|
||||||
clc
|
|
||||||
adc SYSFON.H
|
|
||||||
tax
|
|
||||||
|
|
||||||
iny
|
|
||||||
lda (ZPWNDPtr),y
|
|
||||||
adc #0
|
|
||||||
ldy #S.WND.MBarY2+1
|
|
||||||
sta (ZPWNDPtr),y
|
sta (ZPWNDPtr),y
|
||||||
|
iny
|
||||||
txa
|
txa
|
||||||
dey
|
|
||||||
sta (ZPWNDPtr),y
|
sta (ZPWNDPtr),y
|
||||||
|
|
||||||
lda #S.WND.S.HASMBAR
|
lda #S.WND.S.HASMBAR
|
||||||
jsr WND.SetStatus
|
jsr WND.SetStatus
|
||||||
|
|
||||||
jsr MBAR.Paint
|
ldy #S.WND.pMBAR
|
||||||
|
lda (ZPWNDPtr),y
|
||||||
|
jsr MBAR.Draw
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.7 ldy #S.WND.pSTATUS+1
|
.4 lda Counter
|
||||||
|
ldy #S.WND.InnerY1
|
||||||
|
sta (ZPWNDPtr),y
|
||||||
|
iny
|
||||||
|
lda Counter+1
|
||||||
|
sta (ZPWNDPtr),y
|
||||||
|
|
||||||
|
ldy #S.WND.pSTATUS+1
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
lda Counter+1
|
lda SYSFON.Hp1
|
||||||
clc
|
jsr WND.Add2Counter
|
||||||
adc SYSFON.Hp2
|
|
||||||
sta Counter+1
|
|
||||||
|
|
||||||
ldy #S.OBJ.Y2
|
ldy #S.WND.InnerY2
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
sec
|
sec
|
||||||
sbc SYSFON.H
|
sbc SYSFON.Hp1
|
||||||
tax
|
sta (ZPWNDPtr),y
|
||||||
|
|
||||||
iny
|
iny
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
sbc #0
|
sbc #0
|
||||||
ldy #S.WND.SBarY1+1
|
|
||||||
sta (ZPWNDPtr),y
|
|
||||||
txa
|
|
||||||
dey
|
|
||||||
sta (ZPWNDPtr),y
|
sta (ZPWNDPtr),y
|
||||||
|
|
||||||
lda #S.WND.S.HASSBAR
|
lda #S.WND.S.HASSBAR
|
||||||
jsr WND.SetStatus
|
jsr WND.SetStatus
|
||||||
|
|
||||||
jsr WND.PaintSBar
|
jsr WND.DrawStatusBar
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.8 ldy #S.WND.InnerH
|
.8 ldy #S.WND.InnerH
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
sec
|
sec
|
||||||
sbc Counter+1
|
sbc Counter
|
||||||
sta (ZPWNDPtr),y
|
sta (ZPWNDPtr),y
|
||||||
|
|
||||||
iny
|
iny
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
sbc #0
|
sbc Counter+1
|
||||||
sta (ZPWNDPtr),y
|
sta (ZPWNDPtr),y
|
||||||
|
|
||||||
>LDYA L.WND.Desktop
|
>LDYA L.WND.Desktop
|
||||||
|
|
||||||
jsr CB.FlushBufToYA
|
jsr CB.FlushBufToYA
|
||||||
|
|
||||||
lda WND.hWND
|
lda WND.hWND
|
||||||
@ -505,106 +492,11 @@ WND.fPaint >SYSCALL2 GetMemPtr
|
|||||||
jsr CB.Cache2CBBuf
|
jsr CB.Cache2CBBuf
|
||||||
|
|
||||||
.8 >LDYA L.WND.Desktop
|
.8 >LDYA L.WND.Desktop
|
||||||
|
|
||||||
jmp CB.FlushBufToYA
|
jmp CB.FlushBufToYA
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
WND.ShowBorders sta IY
|
WND.DrawTitleBar
|
||||||
|
lda #S.CB.CMD.FILLRECT
|
||||||
lda #S.CB.CMD.HLINE
|
|
||||||
jsr CB.InitCacheA
|
|
||||||
|
|
||||||
lda #S.CB.OP.SET
|
|
||||||
sta CB.Cache+S.CB.OP
|
|
||||||
lda #S.CB.M.MONO
|
|
||||||
sta CB.Cache+S.CB.M
|
|
||||||
lda PREFS.BORDERCOLOR
|
|
||||||
sta CB.Cache+S.CB.COLOR
|
|
||||||
|
|
||||||
ldy #S.OBJ.X1
|
|
||||||
|
|
||||||
lda (ZPWNDPtr),y
|
|
||||||
sec
|
|
||||||
sbc IY
|
|
||||||
sta CB.Cache+S.CB.X1
|
|
||||||
iny
|
|
||||||
lda (ZPWNDPtr),y
|
|
||||||
sbc #0
|
|
||||||
sta CB.Cache+S.CB.X1+1
|
|
||||||
|
|
||||||
iny #S.OBJ.Y1
|
|
||||||
|
|
||||||
lda (ZPWNDPtr),y
|
|
||||||
sec
|
|
||||||
sbc IY
|
|
||||||
sta CB.Cache+S.CB.Y1
|
|
||||||
sta CB.Cache+S.CB.Y2
|
|
||||||
iny
|
|
||||||
lda (ZPWNDPtr),y
|
|
||||||
sbc #0
|
|
||||||
sta CB.Cache+S.CB.Y1+1
|
|
||||||
sta CB.Cache+S.CB.Y2+1 top X1-1,Y1-1,X2+1,Y1-1
|
|
||||||
|
|
||||||
iny #S.OBJ.X2
|
|
||||||
|
|
||||||
lda (ZPWNDPtr),y
|
|
||||||
clc
|
|
||||||
adc IY
|
|
||||||
sta CB.Cache+S.CB.X2
|
|
||||||
iny
|
|
||||||
lda (ZPWNDPtr),y
|
|
||||||
adc #0
|
|
||||||
sta CB.Cache+S.CB.X2+1
|
|
||||||
|
|
||||||
jsr CB.Cache2CBBuf
|
|
||||||
|
|
||||||
ldy #S.OBJ.Y2
|
|
||||||
lda (ZPWNDPtr),y
|
|
||||||
clc
|
|
||||||
adc IY
|
|
||||||
sta CB.Cache+S.CB.Y1
|
|
||||||
sta CB.Cache+S.CB.Y2
|
|
||||||
iny
|
|
||||||
lda (ZPWNDPtr),y
|
|
||||||
adc #0
|
|
||||||
sta CB.Cache+S.CB.Y1+1
|
|
||||||
sta CB.Cache+S.CB.Y2+1 bottom X1-1,Y2+1,X2+1,Y2+1
|
|
||||||
|
|
||||||
jsr CB.Cache2CBBuf
|
|
||||||
|
|
||||||
lda #S.CB.CMD.VLINE
|
|
||||||
sta CB.Cache+S.CB.CMD
|
|
||||||
|
|
||||||
ldy #S.OBJ.Y1
|
|
||||||
lda (ZPWNDPtr),y
|
|
||||||
sec
|
|
||||||
sbc IY
|
|
||||||
sta CB.Cache+S.CB.Y1
|
|
||||||
iny
|
|
||||||
lda (ZPWNDPtr),y
|
|
||||||
sbc #0
|
|
||||||
sta CB.Cache+S.CB.Y1+1
|
|
||||||
|
|
||||||
lda CB.Cache+S.CB.X1
|
|
||||||
sta CB.Cache+S.CB.X2
|
|
||||||
lda CB.Cache+S.CB.X1+1
|
|
||||||
sta CB.Cache+S.CB.X2+1 left X1-1,Y1-1,X1-1,Y2+1
|
|
||||||
|
|
||||||
jsr CB.Cache2CBBuf
|
|
||||||
|
|
||||||
ldy #S.OBJ.X2
|
|
||||||
lda (ZPWNDPtr),y
|
|
||||||
clc
|
|
||||||
adc IY
|
|
||||||
sta CB.Cache+S.CB.X1
|
|
||||||
sta CB.Cache+S.CB.X2
|
|
||||||
iny
|
|
||||||
lda (ZPWNDPtr),y
|
|
||||||
adc #0
|
|
||||||
sta CB.Cache+S.CB.X1+1
|
|
||||||
sta CB.Cache+S.CB.X2+1 right X2+1,Y1-1,X2+1,Y2+1
|
|
||||||
|
|
||||||
jmp CB.Cache2CBBuf
|
|
||||||
*--------------------------------------
|
|
||||||
WND.PaintTopBar lda #S.CB.CMD.FILLRECT
|
|
||||||
jsr CB.InitCacheA
|
jsr CB.InitCacheA
|
||||||
|
|
||||||
lda #S.CB.OP.SET
|
lda #S.CB.OP.SET
|
||||||
@ -650,6 +542,7 @@ WND.PaintTopBar lda #S.CB.CMD.FILLRECT
|
|||||||
|
|
||||||
inc DY
|
inc DY
|
||||||
bne .12
|
bne .12
|
||||||
|
|
||||||
inc DY+1
|
inc DY+1
|
||||||
|
|
||||||
* TOP LEFT ICON
|
* TOP LEFT ICON
|
||||||
@ -669,7 +562,7 @@ WND.PaintTopBar lda #S.CB.CMD.FILLRECT
|
|||||||
|
|
||||||
.2 jsr DRAW.yaBMAtDXDY
|
.2 jsr DRAW.yaBMAtDXDY
|
||||||
|
|
||||||
jsr WND.PaintTopBarTitle
|
jsr WND.DrawTitleBarText
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
* TOP RIGHT ICONS
|
* TOP RIGHT ICONS
|
||||||
@ -712,6 +605,7 @@ WND.PaintTopBar lda #S.CB.CMD.FILLRECT
|
|||||||
adc #16
|
adc #16
|
||||||
sta DX
|
sta DX
|
||||||
bcc .41
|
bcc .41
|
||||||
|
|
||||||
inc DX+1
|
inc DX+1
|
||||||
|
|
||||||
.41 ldy #S.OBJ.F
|
.41 ldy #S.OBJ.F
|
||||||
@ -726,7 +620,7 @@ WND.PaintTopBar lda #S.CB.CMD.FILLRECT
|
|||||||
|
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
WND.PaintTopBarTitle
|
WND.DrawTitleBarText
|
||||||
ldy #S.WND.pTITLE
|
ldy #S.WND.pTITLE
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
pha
|
pha
|
||||||
@ -734,7 +628,7 @@ WND.PaintTopBarTitle
|
|||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
ply
|
ply
|
||||||
|
|
||||||
ldx hSYSFONB
|
ldx hSYSFON
|
||||||
jsr FON.GetTextSize
|
jsr FON.GetTextSize
|
||||||
|
|
||||||
ldy #S.OBJ.W
|
ldy #S.OBJ.W
|
||||||
@ -756,7 +650,7 @@ WND.PaintTopBarTitle
|
|||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
clc
|
clc
|
||||||
adc DX
|
adc DX
|
||||||
and PREFS.BESTVIEWEDX
|
and PREFS.BestViewedX
|
||||||
sta DX
|
sta DX
|
||||||
|
|
||||||
iny
|
iny
|
||||||
@ -771,18 +665,19 @@ WND.PaintTopBarTitle
|
|||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
ply
|
ply
|
||||||
|
|
||||||
ldx hSYSFONB
|
ldx hSYSFON
|
||||||
clc
|
clc
|
||||||
jmp DRAW.YATextAtDXDY
|
jmp DRAW.YATextAtDXDY
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
WND.PaintSBar lda #S.CB.CMD.HLINE
|
WND.DrawStatusBar
|
||||||
|
lda #S.CB.CMD.HLINE
|
||||||
jsr CB.InitCacheA
|
jsr CB.InitCacheA
|
||||||
|
|
||||||
lda #S.CB.OP.SET
|
lda #S.CB.OP.SET
|
||||||
sta CB.Cache+S.CB.OP
|
sta CB.Cache+S.CB.OP
|
||||||
lda #S.CB.M.MONO
|
lda #S.CB.M.MONO
|
||||||
sta CB.Cache+S.CB.M
|
sta CB.Cache+S.CB.M
|
||||||
lda PREFS.BORDERCOLOR
|
lda PREFS.BorderColor
|
||||||
sta CB.Cache+S.CB.COLOR
|
sta CB.Cache+S.CB.COLOR
|
||||||
|
|
||||||
ldy #S.OBJ.X1
|
ldy #S.OBJ.X1
|
||||||
@ -855,9 +750,14 @@ WND.SetMBar >PULLW ZPPtr1
|
|||||||
>SYSCALL2 GetMemPtr
|
>SYSCALL2 GetMemPtr
|
||||||
>STYA ZPWNDPtr
|
>STYA ZPWNDPtr
|
||||||
|
|
||||||
|
>LDYA ZPPtr1
|
||||||
|
jsr MBAR.New
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
ldy #S.WND.pMBAR
|
||||||
|
sta (ZPWNDPtr),y
|
||||||
|
|
||||||
|
* clc
|
||||||
|
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -872,6 +772,16 @@ WND.SetStatus ldy #S.OBJ.S
|
|||||||
sta (ZPWNDPtr),y
|
sta (ZPWNDPtr),y
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
WND.Add2Counter clc
|
||||||
|
adc Counter
|
||||||
|
sta Counter
|
||||||
|
bcc .8
|
||||||
|
|
||||||
|
inc Counter+1
|
||||||
|
|
||||||
|
.8 ldx Counter+1
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE usr/src/lib/libgui.s.wnd
|
SAVE usr/src/lib/libgui.s.wnd
|
||||||
LOAD usr/src/lib/libgui.s
|
LOAD usr/src/lib/libgui.s
|
||||||
|
@ -79,15 +79,16 @@ MENU.RMargin .EQ 8
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DUMMY
|
.DUMMY
|
||||||
.OR ZPLIB
|
.OR ZPLIB
|
||||||
ZPCBPtr .BS 2
|
|
||||||
ZPObjPtr .BS 2
|
ZPObjPtr .BS 2
|
||||||
|
ZPRECTPtr .BS 2
|
||||||
ZPWNDPtr .BS 2
|
ZPWNDPtr .BS 2
|
||||||
ZPMENUPtr .BS 2
|
ZPMENUPtr .BS 2
|
||||||
|
|
||||||
ZPBMPtr .BS 2
|
ZPBMPtr .BS 2
|
||||||
ZPRECTPtr .BS 2
|
|
||||||
ZPPtr1 .BS 2
|
ZPPtr1 .BS 2
|
||||||
|
|
||||||
|
.BS 2
|
||||||
|
|
||||||
DX .BS 2
|
DX .BS 2
|
||||||
DY .BS 2
|
DY .BS 2
|
||||||
IE .BS 2
|
IE .BS 2
|
||||||
@ -227,6 +228,11 @@ LIB.LOAD lda LibCount
|
|||||||
jsr PTR.Set
|
jsr PTR.Set
|
||||||
jsr PTR.Show
|
jsr PTR.Show
|
||||||
|
|
||||||
|
>LDYA L.MENU.Sys.Programs
|
||||||
|
>STYA MENU.Sys.1
|
||||||
|
>LDYA L.MENU.Sys.Settings
|
||||||
|
>STYA MENU.Sys.2
|
||||||
|
|
||||||
inc LibCount
|
inc LibCount
|
||||||
|
|
||||||
.8 clc
|
.8 clc
|
||||||
@ -273,6 +279,7 @@ SkipStrZPtr1 ldy #$ff
|
|||||||
.INB usr/src/lib/libgui.s.draw
|
.INB usr/src/lib/libgui.s.draw
|
||||||
.INB usr/src/lib/libgui.s.fon
|
.INB usr/src/lib/libgui.s.fon
|
||||||
.INB usr/src/lib/libgui.s.mbar
|
.INB usr/src/lib/libgui.s.mbar
|
||||||
|
.INB usr/src/lib/libgui.s.mbox
|
||||||
.INB usr/src/lib/libgui.s.menu
|
.INB usr/src/lib/libgui.s.menu
|
||||||
.INB usr/src/lib/libgui.s.mou
|
.INB usr/src/lib/libgui.s.mou
|
||||||
.INB usr/src/lib/libgui.s.msg
|
.INB usr/src/lib/libgui.s.msg
|
||||||
@ -293,8 +300,8 @@ CS.END
|
|||||||
DEVNAME.GFX .AZ "/dev/gfx"
|
DEVNAME.GFX .AZ "/dev/gfx"
|
||||||
DEVNAME.MOUSE .AZ "/dev/mou1"
|
DEVNAME.MOUSE .AZ "/dev/mou1"
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SYSX7 .AZ "${ROOT}sbin/sysx7"
|
SYSX7 .AZ "${ROOT}opt/gui/fonts/sysx7"
|
||||||
SYSX7B .AZ "${ROOT}sbin/sysx7b"
|
SYSX7B .AZ "${ROOT}opt/gui/fonts/sysx7b"
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
LibCount .BS 1
|
LibCount .BS 1
|
||||||
hDevMouse .BS 1
|
hDevMouse .BS 1
|
||||||
@ -336,6 +343,7 @@ CB.PTR .DA #S.CB.CMD.BITBLT
|
|||||||
CB.Cache .BS S.CB
|
CB.Cache .BS S.CB
|
||||||
OBJ.Cache .BS S.OBJ
|
OBJ.Cache .BS S.OBJ
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
MENU.Stack.Idx .BS 1
|
||||||
MENU.Stack.Cnt .BS 1
|
MENU.Stack.Cnt .BS 1
|
||||||
MENU.Stack .BS MENU.MAX
|
MENU.Stack .BS MENU.MAX
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -352,6 +360,7 @@ WND.Desktop .DA #S.OBJ.T.WND
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
WND.SysBar .DA #S.OBJ.T.WND
|
WND.SysBar .DA #S.OBJ.T.WND
|
||||||
.BS S.WND-1
|
.BS S.WND-1
|
||||||
|
*--------------------------------------
|
||||||
WND.SysBar.2osX .AZ "2osX"
|
WND.SysBar.2osX .AZ "2osX"
|
||||||
WND.SysBar.Clk .AZ "00:00"
|
WND.SysBar.Clk .AZ "00:00"
|
||||||
WND.SysBar.bSysBut .BS 1
|
WND.SysBar.bSysBut .BS 1
|
||||||
@ -362,8 +371,6 @@ RECT.SysWNDs .BS S.RECT
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
RECT.SysClk .BS S.RECT
|
RECT.SysClk .BS S.RECT
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
hSysMenu .BS 1
|
|
||||||
*--------------------------------------
|
|
||||||
MENU.Sys .DA #S.MITEM.T.ITEM
|
MENU.Sys .DA #S.MITEM.T.ITEM
|
||||||
.DA #2 ID
|
.DA #2 ID
|
||||||
.DA #KEYMOD.CTRL+KEYMOD.OA+KEYMOD.CA,#'A'
|
.DA #KEYMOD.CTRL+KEYMOD.OA+KEYMOD.CA,#'A'
|
||||||
@ -373,12 +380,12 @@ MENU.Sys .DA #S.MITEM.T.ITEM
|
|||||||
.DA #S.MITEM.T.SEP
|
.DA #S.MITEM.T.SEP
|
||||||
|
|
||||||
.DA #S.MITEM.T.SUBMENU
|
.DA #S.MITEM.T.SUBMENU
|
||||||
.DA MENU.Sys.Programs
|
MENU.Sys.1 .DA MENU.Sys.Programs
|
||||||
.DA 0 pICON
|
.DA 0 pICON
|
||||||
.AZ "Programs"
|
.AZ "Programs"
|
||||||
|
|
||||||
.DA #S.MITEM.T.SUBMENU
|
.DA #S.MITEM.T.SUBMENU
|
||||||
.DA MENU.Sys.Settings
|
MENU.Sys.2 .DA MENU.Sys.Settings
|
||||||
.DA 0 pICON
|
.DA 0 pICON
|
||||||
.AZ "Settings"
|
.AZ "Settings"
|
||||||
|
|
||||||
@ -437,15 +444,16 @@ KEYMOD.S.CA .EQ *-KEYMOD.S
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
TEXTBUF .BS 16 for composing HotKey strings
|
TEXTBUF .BS 16 for composing HotKey strings
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
PREFS.BESTVIEWEDX .DA #$FC
|
PREFS.BestViewedX .DA #$FC
|
||||||
|
PREFS.MBarXMargin .DA #5
|
||||||
|
*
|
||||||
PREFS.bSYSBARTOP .DA #0
|
PREFS.bSYSBARTOP .DA #0
|
||||||
PREFS.MBARXMARGIN .DA #5
|
PREFS.MenuColor .DA #C.WHITE
|
||||||
PREFS.MENUCOLOR .DA #C.WHITE
|
|
||||||
PREFS.SYSBARCOLOR .DA #C.WHITE
|
PREFS.SYSBARCOLOR .DA #C.WHITE
|
||||||
PREFS.BORDERCOLOR .DA #C.BLACK
|
PREFS.BorderColor .DA #C.BLACK
|
||||||
PREFS.TBARCOLORA .DA #C16.D.BLUE
|
PREFS.TBARCOLORA .DA #C16.D.BLUE
|
||||||
PREFS.TBARCOLORI .DA #C16.L.BLUE
|
PREFS.TBARCOLORI .DA #C16.L.BLUE
|
||||||
PREFS.MBARCOLOR .DA #C.WHITE
|
PREFS.MBarColor .DA #C.WHITE
|
||||||
PREFS.SBARCOLOR .DA #C.WHITE
|
PREFS.SBARCOLOR .DA #C.WHITE
|
||||||
PREFS.DESKTOPCOLOR .DA #C16.D.BLUE
|
PREFS.DESKTOPCOLOR .DA #C16.D.BLUE
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -3,7 +3,7 @@ NEW
|
|||||||
.LIST OFF
|
.LIST OFF
|
||||||
.OP 65C02
|
.OP 65C02
|
||||||
.OR $2000
|
.OR $2000
|
||||||
.TF bin/guitest1
|
.TF root/asmtest/testgui
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.INB inc/macros.i
|
.INB inc/macros.i
|
||||||
.INB inc/a2osx.i
|
.INB inc/a2osx.i
|
||||||
@ -87,8 +87,8 @@ CS.QUIT.RTS rts
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
WND.Test >PUSHBI S.WND.F.RESIZE+S.WND.F.MOVE+S.WND.F.CLOSE+S.WND.F.MAX+S.WND.F.MIN
|
WND.Test >PUSHBI S.WND.F.RESIZE+S.WND.F.MOVE+S.WND.F.CLOSE+S.WND.F.MAX+S.WND.F.MIN
|
||||||
|
|
||||||
>PUSHWI 40
|
|
||||||
>PUSHWI 80
|
>PUSHWI 80
|
||||||
|
>PUSHWI 40
|
||||||
>PUSHWI 360
|
>PUSHWI 360
|
||||||
>PUSHWI 96
|
>PUSHWI 96
|
||||||
>LIBCALL hLIBGUI,LIBGUI.WND.New
|
>LIBCALL hLIBGUI,LIBGUI.WND.New
|
||||||
@ -112,11 +112,11 @@ WND.Test >PUSHBI S.WND.F.RESIZE+S.WND.F.MOVE+S.WND.F.CLOSE+S.WND.F.MAX+S.WND.F.
|
|||||||
|
|
||||||
>PUSHB hWND
|
>PUSHB hWND
|
||||||
>PUSHW L.WND.MBAR
|
>PUSHW L.WND.MBAR
|
||||||
>LIBCALL hLIBGUI,LIBGUI.MBAR.New
|
* >LIBCALL hLIBGUI,LIBGUI.MBAR.New
|
||||||
sta hMBAR
|
* sta hMBAR
|
||||||
|
|
||||||
>PUSHB hWND
|
* >PUSHB hWND
|
||||||
>PUSHB hMBAR
|
* >PUSHB hMBAR
|
||||||
>LIBCALL hLIBGUI,LIBGUI.WND.SetMBar
|
>LIBCALL hLIBGUI,LIBGUI.WND.SetMBar
|
||||||
|
|
||||||
>PUSHB hWND
|
>PUSHB hWND
|
||||||
@ -156,7 +156,7 @@ LIBGUI .AZ "libgui"
|
|||||||
hLIBGUI .BS 1
|
hLIBGUI .BS 1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
LOGOFILE .AZ "${ROOT}A2osX.logo"
|
LOGOFILE .AZ "${ROOT}A2osX.logo"
|
||||||
WND.TITLE .AZ "Window Title"
|
WND.TITLE .AZ "Libgui ASM API test"
|
||||||
WND.STATUS .AZ "Window status bar message"
|
WND.STATUS .AZ "Window status bar message"
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
WND.MBAR .AZ "File"
|
WND.MBAR .AZ "File"
|
||||||
@ -271,5 +271,5 @@ DS.START
|
|||||||
DS.END .ED
|
DS.END .ED
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE usr/src/bin/guitest1.s
|
SAVE root/asmtest/testgui.s
|
||||||
ASM
|
ASM
|
@ -8,19 +8,20 @@ int bQuit=0;
|
|||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
short int hWND = guiNewWnd(WND_F_RESIZE+WND_F_MOVE+WND_F_CLOSE+WND_F_MAX+WND_F_MIN,
|
short int hWND = guiNewWnd(WND_F_RESIZE+WND_F_MOVE+WND_F_CLOSE+WND_F_MAX+WND_F_MIN,
|
||||||
20,40,200,140);
|
20,20,200,100);
|
||||||
guiSetProp(hWND, WND_P_pTITLE, "Window title");
|
guiSetProp(hWND, WND_P_pTITLE, "Libgui C API");
|
||||||
guiSetProp(hWND, WND_P_pSTATUS, "Status bar");
|
guiSetProp(hWND, WND_P_pSTATUS, "Status bar");
|
||||||
// guiSetProp(hWND, WND_P_BGCOLOR, C.WHITE);
|
guiSetProp(hWND, WND_P_BGCOLOR, pC_WHITE);
|
||||||
|
|
||||||
guiShowWnd(hWND);
|
guiShowWnd(hWND);
|
||||||
|
|
||||||
do {
|
do {
|
||||||
if (guiGetMsg(&msg))
|
if (guiGetMsg(&msg))
|
||||||
{
|
{
|
||||||
switch msg.type {
|
// switch msg.type {
|
||||||
case MSG_T_WND:
|
// case MSG_T_WND:
|
||||||
break;
|
// break;
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
} while (!bQuit)
|
} while (!bQuit)
|
||||||
|
|
||||||
|
@ -61,12 +61,16 @@ CS.RUN >SLEEP
|
|||||||
>LIBCALL hLIBGUI,LIBGUI.MSG.Get
|
>LIBCALL hLIBGUI,LIBGUI.MSG.Get
|
||||||
bcs CS.RUN
|
bcs CS.RUN
|
||||||
|
|
||||||
.1 lda MSG+S.MSG.T
|
lda MSG+S.MSG.T
|
||||||
cmp #S.MSG.T.ID
|
cmp #S.MSG.T.ID
|
||||||
bne CS.RUN
|
bne CS.RUN
|
||||||
|
|
||||||
lda MSG+S.MSG.ID
|
lda MSG+S.MSG.ID
|
||||||
cmp #42
|
cmp #2
|
||||||
|
bne .1
|
||||||
|
|
||||||
|
|
||||||
|
.1 cmp #42
|
||||||
bne .2
|
bne .2
|
||||||
|
|
||||||
>PUSHW L.GUITEST1
|
>PUSHW L.GUITEST1
|
||||||
@ -81,6 +85,7 @@ CS.RUN >SLEEP
|
|||||||
>PUSHBI 0
|
>PUSHBI 0
|
||||||
>SYSCALL ExecL
|
>SYSCALL ExecL
|
||||||
bra CS.RUN
|
bra CS.RUN
|
||||||
|
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -98,7 +103,7 @@ CS.QUIT.RTS rts
|
|||||||
CS.END
|
CS.END
|
||||||
LIBGUI .AZ "libgui"
|
LIBGUI .AZ "libgui"
|
||||||
hLIBGUI .BS 1
|
hLIBGUI .BS 1
|
||||||
GUITEST1 .AZ "${ROOT}root/asmtest/guitest1"
|
GUITEST1 .AZ "${ROOT}root/asmtest/testgui"
|
||||||
GUITEST2 .AZ "${ROOT}root/ctest/testgui"
|
GUITEST2 .AZ "${ROOT}root/ctest/testgui"
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MSG .BS S.MSG
|
MSG .BS S.MSG
|
||||||
|
Loading…
x
Reference in New Issue
Block a user