mirror of https://github.com/A2osX/A2osX.git
Kernel 0.94
This commit is contained in:
parent
78e8988b94
commit
8f4e953ea2
Binary file not shown.
|
@ -65,6 +65,7 @@ LBUF.DrawAtY lda BASEL,y setup line Base Ptr
|
||||||
lda CB.Cache+S.CB.OP
|
lda CB.Cache+S.CB.OP
|
||||||
|
|
||||||
.3 and #$F
|
.3 and #$F
|
||||||
|
beq .8
|
||||||
tax
|
tax
|
||||||
jmp (J.LBUF.DrawAtY,x)
|
jmp (J.LBUF.DrawAtY,x)
|
||||||
|
|
||||||
|
@ -87,7 +88,7 @@ LBUF.DrawAtY lda BASEL,y setup line Base Ptr
|
||||||
inx
|
inx
|
||||||
bcc .5
|
bcc .5
|
||||||
|
|
||||||
rts
|
.8 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
LBUF.DrawAtY.SET
|
LBUF.DrawAtY.SET
|
||||||
LBUF.DrawAtY.AND.SET
|
LBUF.DrawAtY.AND.SET
|
||||||
|
|
|
@ -336,14 +336,14 @@ J.Cmds .DA SETPIXEL
|
||||||
.DA BITBLT
|
.DA BITBLT
|
||||||
.DA GETRECTBUFSIZE
|
.DA GETRECTBUFSIZE
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
J.LBUF.DrawAtY .DA LBUF.DrawAtY.XOR
|
J.LBUF.DrawAtY .DA $ffff
|
||||||
|
.DA LBUF.DrawAtY.XOR
|
||||||
.DA LBUF.DrawAtY.SET
|
.DA LBUF.DrawAtY.SET
|
||||||
.DA LBUF.DrawAtY.ORA
|
.DA LBUF.DrawAtY.ORA
|
||||||
.DA $ffff
|
.DA $ffff
|
||||||
.DA LBUF.DrawAtY.AND.XOR
|
.DA LBUF.DrawAtY.AND.XOR
|
||||||
.DA LBUF.DrawAtY.AND.SET
|
.DA LBUF.DrawAtY.AND.SET
|
||||||
.DA LBUF.DrawAtY.AND.ORA
|
.DA LBUF.DrawAtY.AND.ORA
|
||||||
* .DA $ffff
|
|
||||||
L.Color.Pixels .DA Color.Pixels
|
L.Color.Pixels .DA Color.Pixels
|
||||||
.DA 0 end or relocation
|
.DA 0 end or relocation
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
|
|
@ -52,9 +52,9 @@ S.CB.CMD.DRAWLINE .EQ 20
|
||||||
S.CB.CMD.DRAWTEXT2 .EQ 22
|
S.CB.CMD.DRAWTEXT2 .EQ 22
|
||||||
S.CB.CMD.OSD .EQ 128
|
S.CB.CMD.OSD .EQ 128
|
||||||
S.CB.OP .EQ 1
|
S.CB.OP .EQ 1
|
||||||
S.CB.OP.XOR .EQ 0 screen EOR bitmap -> Screen
|
S.CB.OP.XOR .EQ 2 screen EOR bitmap -> Screen
|
||||||
S.CB.OP.SET .EQ 2 replace screen with bitmap
|
S.CB.OP.SET .EQ 4 replace screen with bitmap
|
||||||
S.CB.OP.ORA .EQ 4 combine screen & bitmap -> Screen
|
S.CB.OP.ORA .EQ 6 combine screen & bitmap -> Screen
|
||||||
S.CB.OP.MASK .EQ %00001000 Apply BitMap mask before painting
|
S.CB.OP.MASK .EQ %00001000 Apply BitMap mask before painting
|
||||||
S.CB.OP.SAVE .EQ %00010000 Save Screen to DstPtr before painting
|
S.CB.OP.SAVE .EQ %00010000 Save Screen to DstPtr before painting
|
||||||
S.CB.OP.RESTORE .EQ %00100000 Restore Screen From DstPtr
|
S.CB.OP.RESTORE .EQ %00100000 Restore Screen From DstPtr
|
||||||
|
|
|
@ -159,18 +159,20 @@ S.MITEM.F.SUBMENU .EQ 6
|
||||||
S.MITEM.S .EQ 2
|
S.MITEM.S .EQ 2
|
||||||
S.MITEM.S.CHECKED .EQ %01000000
|
S.MITEM.S.CHECKED .EQ %01000000
|
||||||
S.MITEM.S.DISABLED .EQ %10000000
|
S.MITEM.S.DISABLED .EQ %10000000
|
||||||
S.MITEM.pICON .EQ 3
|
S.MITEM.ID .EQ 3
|
||||||
S.MITEM.pMENU .EQ 5
|
S.MITEM.pICON .EQ 4
|
||||||
S.MITEM.KEYMOD .EQ 7
|
S.MITEM.pMENU .EQ 6
|
||||||
|
S.MITEM.KEYMOD .EQ 6
|
||||||
S.MITEM.KEYMOD.CA .EQ 2
|
S.MITEM.KEYMOD.CA .EQ 2
|
||||||
S.MITEM.KEYMOD.OA .EQ 4
|
S.MITEM.KEYMOD.OA .EQ 4
|
||||||
S.MITEM.KEYMOD.CTRL .EQ 8
|
S.MITEM.KEYMOD.CTRL .EQ 8
|
||||||
S.MITEM.KEY .EQ 8
|
S.MITEM.KEY .EQ 7
|
||||||
S.MITEM.ID .EQ 9
|
|
||||||
|
|
||||||
S.MITEM.TEXT .EQ 10 CSTR
|
S.MITEM.TEXT .EQ 8 CSTR
|
||||||
* ...
|
* ...
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
BM.ID.APPLE .EQ 2
|
||||||
|
*--------------------------------------
|
||||||
S.BUT.F.DISABLED .EQ %10000000
|
S.BUT.F.DISABLED .EQ %10000000
|
||||||
*
|
*
|
||||||
S.BUT.S.PUSHED .EQ %10000000
|
S.BUT.S.PUSHED .EQ %10000000
|
||||||
|
|
|
@ -84,7 +84,7 @@ MENU.MBarInit >STYA ZPMENUPtr
|
||||||
.8 lda #$80
|
.8 lda #$80
|
||||||
|
|
||||||
ldy #S.MBAR.S
|
ldy #S.MBAR.S
|
||||||
sta (ZPPtr1),y
|
sta (ZPMENUPtr),y
|
||||||
|
|
||||||
.80 clc
|
.80 clc
|
||||||
rts
|
rts
|
||||||
|
@ -138,12 +138,15 @@ MENU.New >LDYAI S.MENU
|
||||||
|
|
||||||
MENU.New.RTS rts
|
MENU.New.RTS rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
* ----------------------------------------------
|
||||||
|
* |Icon ChkMrk "Menu Item" KEYMOD1-KEYMOD2-KEY>|
|
||||||
|
* ----------------------------------------------
|
||||||
MENU.Show >SYSCALL2 GetMemPtr
|
MENU.Show >SYSCALL2 GetMemPtr
|
||||||
>STYA ZPMENUPtr
|
>STYA ZPMENUPtr
|
||||||
|
|
||||||
jsr GetCBBuf
|
jsr GetCBBuf
|
||||||
bcs MENU.New.RTS
|
bcs MENU.New.RTS
|
||||||
>DEBUG
|
|
||||||
ldy #S.MENU.MITEMS
|
ldy #S.MENU.MITEMS
|
||||||
lda (ZPMENUPtr),y
|
lda (ZPMENUPtr),y
|
||||||
sta ZPPtr1
|
sta ZPPtr1
|
||||||
|
@ -151,7 +154,8 @@ MENU.Show >SYSCALL2 GetMemPtr
|
||||||
lda (ZPMENUPtr),y
|
lda (ZPMENUPtr),y
|
||||||
sta ZPPtr1+1
|
sta ZPPtr1+1
|
||||||
|
|
||||||
* |Icon ChkMrk "Menu Item" KEYMOD1-KEYMOD2-KEY > |
|
stz DX
|
||||||
|
stz DX+1
|
||||||
|
|
||||||
stz IY Icon Margin W
|
stz IY Icon Margin W
|
||||||
|
|
||||||
|
@ -160,17 +164,13 @@ MENU.Show >SYSCALL2 GetMemPtr
|
||||||
|
|
||||||
stz INE Max Mod-Key W
|
stz INE Max Mod-Key W
|
||||||
|
|
||||||
lda #12 2px Borders+5 LMARGIN (Checked) +5 RMARGIN (SubMenu)
|
|
||||||
sta DX
|
|
||||||
stz DX+1
|
|
||||||
|
|
||||||
lda #2 2px Borders
|
lda #2 2px Borders
|
||||||
sta DY Menu H
|
sta DY Menu H
|
||||||
stz DY+1
|
stz DY+1
|
||||||
|
|
||||||
.1 lda (ZPPtr1)
|
.1 lda (ZPPtr1)
|
||||||
beq .3
|
beq .3
|
||||||
|
|
||||||
jsr MENU.Show.GetW
|
jsr MENU.Show.GetW
|
||||||
|
|
||||||
lda DY
|
lda DY
|
||||||
|
@ -188,8 +188,15 @@ MENU.Show >SYSCALL2 GetMemPtr
|
||||||
inc ZPPtr1+1
|
inc ZPPtr1+1
|
||||||
bra .1
|
bra .1
|
||||||
|
|
||||||
.3 lda DX
|
.3 lda #12 2px Borders+5 LMARGIN (Checked) +5 RMARGIN (SubMenu)
|
||||||
clc
|
clc
|
||||||
|
adc IY
|
||||||
|
sta DX
|
||||||
|
bcc .30
|
||||||
|
inc DX+1
|
||||||
|
|
||||||
|
.30 lda DX
|
||||||
|
sec 1px sep
|
||||||
adc IE Text W
|
adc IE Text W
|
||||||
sta DX
|
sta DX
|
||||||
|
|
||||||
|
@ -198,27 +205,42 @@ MENU.Show >SYSCALL2 GetMemPtr
|
||||||
sta DX+1
|
sta DX+1
|
||||||
|
|
||||||
lda DX
|
lda DX
|
||||||
clc
|
sec 1px sep
|
||||||
adc INE Mod-Key W
|
adc INE Mod-Key W
|
||||||
sta DX
|
sta DX
|
||||||
bcc .4
|
bcc .4
|
||||||
|
|
||||||
inc DX+1
|
inc DX+1
|
||||||
|
|
||||||
.4 ldy #S.OBJ.Y1
|
.4 ldy #S.OBJ.W
|
||||||
lda (ZPMENUPtr),y
|
sta (ZPMENUPtr),y
|
||||||
clc
|
|
||||||
adc DY
|
|
||||||
tax
|
|
||||||
|
|
||||||
iny
|
iny
|
||||||
lda (ZPMENUPtr),y
|
lda DX+1
|
||||||
adc DY+1
|
sta (ZPMENUPtr),y
|
||||||
|
|
||||||
|
iny #S.OBJ.H
|
||||||
|
|
||||||
|
lda DY
|
||||||
|
sta (ZPMENUPtr),y
|
||||||
|
tax
|
||||||
|
iny
|
||||||
|
lda DY+1
|
||||||
|
sta (ZPMENUPtr),y
|
||||||
|
pha
|
||||||
|
txa
|
||||||
|
ldy #S.OBJ.Y1
|
||||||
|
clc
|
||||||
|
adc (ZPMENUPtr),y
|
||||||
|
tax
|
||||||
|
pla
|
||||||
|
iny
|
||||||
|
adc (ZPMENUPtr),y
|
||||||
|
|
||||||
cpx WND.Screen+S.OBJ.H
|
cpx WND.Screen+S.OBJ.H
|
||||||
sbc WND.Screen+S.OBJ.H+1
|
sbc WND.Screen+S.OBJ.H+1
|
||||||
bcc .5
|
bcc .5
|
||||||
|
|
||||||
dey
|
ldy #S.OBJ.Y1
|
||||||
|
|
||||||
lda (ZPMENUPtr),y
|
lda (ZPMENUPtr),y
|
||||||
* sec
|
* sec
|
||||||
|
@ -231,8 +253,49 @@ MENU.Show >SYSCALL2 GetMemPtr
|
||||||
sbc DY+1
|
sbc DY+1
|
||||||
sta (ZPMENUPtr),y
|
sta (ZPMENUPtr),y
|
||||||
|
|
||||||
.5 jsr MENU.Show.Borders
|
.5 >LDYA ZPMENUPtr
|
||||||
|
jsr OBJ.SetX2Y2
|
||||||
|
|
||||||
|
jsr MENU.Show.Borders
|
||||||
|
|
||||||
|
ldy #S.MENU.MITEMS
|
||||||
|
lda (ZPMENUPtr),y
|
||||||
|
sta ZPPtr1
|
||||||
|
iny
|
||||||
|
lda (ZPMENUPtr),y
|
||||||
|
sta ZPPtr1+1
|
||||||
|
|
||||||
|
ldy #S.OBJ.Y1
|
||||||
|
lda (ZPMENUPtr),y
|
||||||
|
clc
|
||||||
|
adc #1
|
||||||
|
sta DY
|
||||||
|
iny
|
||||||
|
lda (ZPMENUPtr),y
|
||||||
|
adc #0
|
||||||
|
sta DY+1
|
||||||
|
|
||||||
|
.6 lda (ZPPtr1)
|
||||||
|
beq .8
|
||||||
|
|
||||||
|
jsr MENU.Show.Item
|
||||||
|
|
||||||
|
lda DY
|
||||||
|
clc
|
||||||
|
adc SYSFON.H
|
||||||
|
sta DY
|
||||||
|
bcc .7
|
||||||
|
|
||||||
|
inc DY+1
|
||||||
|
|
||||||
|
.7 lda (ZPPtr1)
|
||||||
|
clc
|
||||||
|
adc ZPPtr1
|
||||||
|
sta ZPPtr1
|
||||||
|
bcc .6
|
||||||
|
inc ZPPtr1+1
|
||||||
|
bra .6
|
||||||
|
|
||||||
.8 >LDYA L.WND.Screen
|
.8 >LDYA L.WND.Screen
|
||||||
jmp DrawCBPtrToYA1
|
jmp DrawCBPtrToYA1
|
||||||
|
|
||||||
|
@ -249,31 +312,228 @@ MENU.Show.GetW ldy #S.MITEM.F
|
||||||
ora (ZPPtr1),y
|
ora (ZPPtr1),y
|
||||||
beq .1
|
beq .1
|
||||||
|
|
||||||
lda #16
|
lda #17 Reserve space for Icon W + 1px SEP
|
||||||
sta DX
|
sta IY
|
||||||
|
|
||||||
.1 lda #S.MITEM.TEXT
|
.1 jsr MENU.GetText
|
||||||
|
ldx hSYSFON
|
||||||
|
jsr FON.GetTextSize
|
||||||
|
|
||||||
|
ldx CB.Cache+S.CB.SrcW
|
||||||
|
cpx IE
|
||||||
|
lda CB.Cache+S.CB.SrcW+1
|
||||||
|
sbc IE+1
|
||||||
|
bcc .2
|
||||||
|
|
||||||
|
stx IE Set Max text W
|
||||||
|
lda CB.Cache+S.CB.SrcW+1
|
||||||
|
sta IE+1
|
||||||
|
|
||||||
|
.2 jsr MENU.GetKeyString
|
||||||
|
beq .8
|
||||||
|
|
||||||
|
>LDYA L.KEYSTRING
|
||||||
|
ldx hSYSFON
|
||||||
|
jsr FON.GetTextSize
|
||||||
|
|
||||||
|
lda CB.Cache+S.CB.SrcW
|
||||||
|
cmp INE
|
||||||
|
bcc .8
|
||||||
|
|
||||||
|
sta INE set Max Mod-key W
|
||||||
|
|
||||||
|
.8 rts
|
||||||
|
*--------------------------------------
|
||||||
|
MENU.Show.Borders
|
||||||
|
lda #S.CB.CMD.FILLRECT
|
||||||
|
jsr PutA2CBBuf
|
||||||
|
lda #S.CB.OP.SET
|
||||||
|
jsr PutA2CBBuf
|
||||||
|
lda #S.CB.M.MONO
|
||||||
|
jsr PutA2CBBuf
|
||||||
|
lda PREFS.MENUCOLOR
|
||||||
|
jsr PutA2CBBuf
|
||||||
|
ldy #S.OBJ.X1
|
||||||
|
jsr MENU.Show.Borders.Y
|
||||||
|
ldy #S.OBJ.Y1
|
||||||
|
jsr MENU.Show.Borders.Y
|
||||||
|
ldy #S.OBJ.X2
|
||||||
|
jsr MENU.Show.Borders.Y
|
||||||
|
ldy #S.OBJ.Y2
|
||||||
|
jsr MENU.Show.Borders.Y
|
||||||
|
|
||||||
|
lda #S.CB.CMD.HLINE TOP
|
||||||
|
jsr MENU.Show.Borders.H
|
||||||
|
ldy #S.OBJ.X1
|
||||||
|
jsr MENU.Show.Borders.Y
|
||||||
|
ldy #S.OBJ.Y1
|
||||||
|
jsr MENU.Show.Borders.Y
|
||||||
|
ldy #S.OBJ.X2
|
||||||
|
jsr MENU.Show.Borders.Y
|
||||||
|
ldy #S.OBJ.Y1
|
||||||
|
jsr MENU.Show.Borders.Y
|
||||||
|
|
||||||
|
lda #S.CB.CMD.VLINE LEFT
|
||||||
|
jsr MENU.Show.Borders.H
|
||||||
|
ldy #S.OBJ.X1
|
||||||
|
jsr MENU.Show.Borders.Y
|
||||||
|
ldy #S.OBJ.Y1
|
||||||
|
jsr MENU.Show.Borders.Y
|
||||||
|
ldy #S.OBJ.X1
|
||||||
|
jsr MENU.Show.Borders.Y
|
||||||
|
ldy #S.OBJ.Y2
|
||||||
|
jsr MENU.Show.Borders.Y
|
||||||
|
|
||||||
|
lda #S.CB.CMD.VLINE RIGHT
|
||||||
|
jsr MENU.Show.Borders.H
|
||||||
|
ldy #S.OBJ.X2
|
||||||
|
jsr MENU.Show.Borders.Y
|
||||||
|
ldy #S.OBJ.Y1
|
||||||
|
jsr MENU.Show.Borders.Y
|
||||||
|
ldy #S.OBJ.X2
|
||||||
|
jsr MENU.Show.Borders.Y
|
||||||
|
ldy #S.OBJ.Y2
|
||||||
|
jsr MENU.Show.Borders.Y
|
||||||
|
|
||||||
|
lda #S.CB.CMD.HLINE BOTTOM
|
||||||
|
jsr MENU.Show.Borders.H
|
||||||
|
ldy #S.OBJ.X1
|
||||||
|
jsr MENU.Show.Borders.Y
|
||||||
|
ldy #S.OBJ.Y2
|
||||||
|
jsr MENU.Show.Borders.Y
|
||||||
|
ldy #S.OBJ.X2
|
||||||
|
jsr MENU.Show.Borders.Y
|
||||||
|
ldy #S.OBJ.Y2
|
||||||
|
jmp MENU.Show.Borders.Y
|
||||||
|
|
||||||
|
MENU.Show.Borders.H
|
||||||
|
jsr PutA2CBBuf
|
||||||
|
lda #S.CB.OP.SET
|
||||||
|
jsr PutA2CBBuf
|
||||||
|
lda #S.CB.M.MONO
|
||||||
|
jsr PutA2CBBuf
|
||||||
|
lda PREFS.BORDERCOLOR
|
||||||
|
jmp PutA2CBBuf
|
||||||
|
|
||||||
|
MENU.Show.Borders.Y
|
||||||
|
lda (ZPMENUPtr),y
|
||||||
|
jsr PutA2CBBuf
|
||||||
|
iny
|
||||||
|
lda (ZPMENUPtr),y
|
||||||
|
jmp PutA2CBBuf
|
||||||
|
*--------------------------------------
|
||||||
|
MENU.Show.Item ldy #S.MITEM.F
|
||||||
|
lda (ZPPtr1),y
|
||||||
|
cmp #S.MITEM.F.SEP
|
||||||
|
bne .1
|
||||||
|
|
||||||
|
lda #S.CB.CMD.HLINE
|
||||||
|
jsr PutA2CBBuf
|
||||||
|
lda #S.CB.OP.SET
|
||||||
|
jsr PutA2CBBuf
|
||||||
|
lda #S.CB.M.MONO
|
||||||
|
jsr PutA2CBBuf
|
||||||
|
lda PREFS.BORDERCOLOR
|
||||||
|
jsr PutA2CBBuf
|
||||||
|
|
||||||
|
ldy #S.OBJ.X1
|
||||||
|
jsr MENU.Show.Borders.Y
|
||||||
|
lda SYSFON.H
|
||||||
|
lsr
|
||||||
|
clc
|
||||||
|
adc DY
|
||||||
|
jsr PutA2CBBuf
|
||||||
|
lda DY+1
|
||||||
|
adc #0
|
||||||
|
jsr PutA2CBBuf
|
||||||
|
|
||||||
|
ldy #S.OBJ.X2
|
||||||
|
jsr MENU.Show.Borders.Y
|
||||||
|
ldy #S.OBJ.Y1
|
||||||
|
jmp MENU.Show.Borders.Y
|
||||||
|
*--------------------------------------
|
||||||
|
.1 ldy #S.OBJ.X1
|
||||||
|
lda (ZPMENUPtr),y
|
||||||
|
|
||||||
|
sec +1px Border
|
||||||
|
|
||||||
|
adc #5 TODO : Checked
|
||||||
|
sta DX
|
||||||
|
iny
|
||||||
|
lda (ZPMENUPtr),y
|
||||||
|
adc #0
|
||||||
|
sta DX+1
|
||||||
|
|
||||||
|
jsr MENU.GetIcon
|
||||||
|
beq .2
|
||||||
|
|
||||||
|
jsr DRAW.YABMAtDXDY
|
||||||
|
|
||||||
|
.2 lda DX
|
||||||
|
clc
|
||||||
|
adc IY Icon reserved W
|
||||||
|
sta DX
|
||||||
|
|
||||||
|
lda DX+1
|
||||||
|
adc #0
|
||||||
|
sta DX+1
|
||||||
|
|
||||||
|
jsr MENU.GetText
|
||||||
|
|
||||||
|
ldx hSYSFON
|
||||||
|
jsr DRAW.YATextAtDXDY
|
||||||
|
|
||||||
|
jsr MENU.GetKeyString
|
||||||
|
beq .3
|
||||||
|
|
||||||
|
lda DX
|
||||||
|
sec
|
||||||
|
adc IE
|
||||||
|
sta DX
|
||||||
|
lda DX+1
|
||||||
|
adc IE+1
|
||||||
|
sta DX+1
|
||||||
|
|
||||||
|
>LDYA L.KEYSTRING
|
||||||
|
ldx hSYSFON
|
||||||
|
jsr DRAW.YATextAtDXDY
|
||||||
|
|
||||||
|
.3
|
||||||
|
|
||||||
|
clc
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
MENU.GetIcon ldy #S.MITEM.pICON+1
|
||||||
|
lda (ZPPtr1),y
|
||||||
|
bne .1
|
||||||
|
|
||||||
|
dey
|
||||||
|
lda (ZPPtr1),y
|
||||||
|
beq .8
|
||||||
|
|
||||||
|
tax
|
||||||
|
ldy L.BMs,x
|
||||||
|
lda L.BMs+1,x NON ZERO
|
||||||
|
.8 rts
|
||||||
|
|
||||||
|
.1 pha
|
||||||
|
dey
|
||||||
|
lda (ZPPtr1),y
|
||||||
|
tay
|
||||||
|
pla NON ZERO
|
||||||
|
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
MENU.GetText lda #S.MITEM.TEXT
|
||||||
clc
|
clc
|
||||||
adc ZPPtr1
|
adc ZPPtr1
|
||||||
tay
|
tay
|
||||||
lda ZPPtr1+1
|
lda ZPPtr1+1
|
||||||
adc #0
|
adc #0
|
||||||
|
rts
|
||||||
ldx hSYSFON
|
*--------------------------------------
|
||||||
jsr FON.GetTextSize
|
MENU.GetKeyString
|
||||||
|
ldx #0
|
||||||
lda CB.Cache+S.CB.SrcW
|
|
||||||
cmp IE
|
|
||||||
lda CB.Cache+S.CB.SrcW+1
|
|
||||||
sbc IE+1
|
|
||||||
bcc .2
|
|
||||||
|
|
||||||
lda CB.Cache+S.CB.SrcW
|
|
||||||
sta IE
|
|
||||||
lda CB.Cache+S.CB.SrcW+1
|
|
||||||
sta IE+1
|
|
||||||
|
|
||||||
.2 ldx #0
|
|
||||||
|
|
||||||
ldy #S.MITEM.KEYMOD
|
ldy #S.MITEM.KEYMOD
|
||||||
lda (ZPPtr1),y
|
lda (ZPPtr1),y
|
||||||
|
@ -296,7 +556,7 @@ MENU.Show.GetW ldy #S.MITEM.F
|
||||||
lda #1
|
lda #1
|
||||||
sta KEYSTRING,x
|
sta KEYSTRING,x
|
||||||
inx
|
inx
|
||||||
lda #"-"
|
lda #'-'
|
||||||
sta KEYSTRING,x
|
sta KEYSTRING,x
|
||||||
inx
|
inx
|
||||||
|
|
||||||
|
@ -308,108 +568,26 @@ MENU.Show.GetW ldy #S.MITEM.F
|
||||||
lda #2
|
lda #2
|
||||||
sta KEYSTRING,x
|
sta KEYSTRING,x
|
||||||
inx
|
inx
|
||||||
lda #"-"
|
lda #'-'
|
||||||
sta KEYSTRING,x
|
sta KEYSTRING,x
|
||||||
inx
|
inx
|
||||||
|
|
||||||
.6 iny
|
.6 iny
|
||||||
lda (ZPPtr1),y
|
lda (ZPPtr1),y
|
||||||
beq .8
|
beq .7
|
||||||
|
|
||||||
sta KEYSTRING,x
|
sta KEYSTRING,x
|
||||||
inx
|
inx
|
||||||
stz KEYSTRING,x
|
|
||||||
|
|
||||||
>LDYA L.KEYSTRING
|
.7 stz KEYSTRING,x
|
||||||
ldx hSYSFON
|
|
||||||
jsr FON.GetTextSize
|
|
||||||
cpy INE
|
|
||||||
bcs .8
|
|
||||||
|
|
||||||
sty INE
|
|
||||||
|
|
||||||
.8 rts
|
|
||||||
*--------------------------------------
|
|
||||||
MENU.Show.Borders
|
|
||||||
lda #S.CB.CMD.HLINE TOP
|
|
||||||
jsr MENU.Show.Borders.H
|
|
||||||
|
|
||||||
ldy #S.OBJ.X1
|
|
||||||
jsr MENU.Show.Borders.Y
|
|
||||||
|
|
||||||
ldy #S.OBJ.Y1
|
|
||||||
jsr MENU.Show.Borders.Y
|
|
||||||
|
|
||||||
ldy #S.OBJ.X2
|
|
||||||
jsr MENU.Show.Borders.Y
|
|
||||||
|
|
||||||
ldy #S.OBJ.Y1
|
|
||||||
jsr MENU.Show.Borders.Y
|
|
||||||
|
|
||||||
lda #S.CB.CMD.VLINE LEFT
|
|
||||||
jsr MENU.Show.Borders.Y
|
|
||||||
|
|
||||||
ldy #S.OBJ.X1
|
|
||||||
jsr MENU.Show.Borders.Y
|
|
||||||
|
|
||||||
ldy #S.OBJ.Y1
|
|
||||||
jsr MENU.Show.Borders.Y
|
|
||||||
|
|
||||||
ldy #S.OBJ.X1
|
|
||||||
jsr MENU.Show.Borders.Y
|
|
||||||
|
|
||||||
ldy #S.OBJ.Y2
|
|
||||||
jsr MENU.Show.Borders.Y
|
|
||||||
|
|
||||||
lda #S.CB.CMD.VLINE RIGHT
|
|
||||||
jsr MENU.Show.Borders.H
|
|
||||||
|
|
||||||
ldy #S.OBJ.X2
|
|
||||||
jsr MENU.Show.Borders.Y
|
|
||||||
|
|
||||||
ldy #S.OBJ.Y1
|
|
||||||
jsr MENU.Show.Borders.Y
|
|
||||||
|
|
||||||
ldy #S.OBJ.X2
|
|
||||||
jsr MENU.Show.Borders.Y
|
|
||||||
|
|
||||||
ldy #S.OBJ.Y2
|
|
||||||
jsr MENU.Show.Borders.Y
|
|
||||||
|
|
||||||
lda #S.CB.CMD.HLINE BOTTOM
|
|
||||||
jsr MENU.Show.Borders.H
|
|
||||||
|
|
||||||
ldy #S.OBJ.X1
|
|
||||||
jsr MENU.Show.Borders.Y
|
|
||||||
|
|
||||||
ldy #S.OBJ.Y2
|
|
||||||
jsr MENU.Show.Borders.Y
|
|
||||||
|
|
||||||
ldy #S.OBJ.X2
|
|
||||||
jsr MENU.Show.Borders.Y
|
|
||||||
|
|
||||||
ldy #S.OBJ.Y2
|
|
||||||
jsr MENU.Show.Borders.Y
|
|
||||||
|
|
||||||
|
txa
|
||||||
rts
|
rts
|
||||||
|
|
||||||
MENU.Show.Borders.H
|
|
||||||
jsr PutA2CBBuf
|
|
||||||
lda #S.CB.OP.SET
|
|
||||||
jsr PutA2CBBuf
|
|
||||||
lda #S.CB.M.MONO
|
|
||||||
jsr PutA2CBBuf
|
|
||||||
lda PREFS.BORDERCOLOR
|
|
||||||
jmp PutA2CBBuf
|
|
||||||
|
|
||||||
MENU.Show.Borders.Y
|
|
||||||
lda (ZPMENUPtr),y
|
|
||||||
jsr PutA2CBBuf
|
|
||||||
iny
|
|
||||||
lda (ZPMENUPtr),y
|
|
||||||
jmp PutA2CBBuf
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MENU.Destroy
|
MENU.Destroy
|
||||||
|
|
||||||
|
clc
|
||||||
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE usr/src/lib/libgui.s.menu
|
SAVE usr/src/lib/libgui.s.menu
|
||||||
|
|
|
@ -172,7 +172,7 @@ SYSBAR.Show.W lda #S.CB.CMD.FILLRECT
|
||||||
lda WND.SysBar+S.OBJ.Y2+1
|
lda WND.SysBar+S.OBJ.Y2+1
|
||||||
jmp PutA2CBBuf
|
jmp PutA2CBBuf
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DRAW.YABMAtDXDY >STYA ZPPtr1 Src BM
|
DRAW.YABMAtDXDY >STYA ZPBMPtr Src BM
|
||||||
|
|
||||||
lda #S.CB.CMD.BITBLT
|
lda #S.CB.CMD.BITBLT
|
||||||
jsr PutA2CBBuf
|
jsr PutA2CBBuf
|
||||||
|
@ -211,16 +211,16 @@ DRAW.YABMAtDXDY >STYA ZPPtr1 Src BM
|
||||||
|
|
||||||
ldy #S.BM.W
|
ldy #S.BM.W
|
||||||
|
|
||||||
.2 lda (ZPPtr1),y S.CB.SrcW,S.CB.SrcH
|
.2 lda (ZPBMPtr),y S.CB.SrcW,S.CB.SrcH
|
||||||
jsr PutA2CBBuf
|
jsr PutA2CBBuf
|
||||||
iny
|
iny
|
||||||
dex
|
dex
|
||||||
bne .2
|
bne .2
|
||||||
|
|
||||||
lda ZPPtr1 S.CB.SrcPtr
|
lda ZPBMPtr S.CB.SrcPtr
|
||||||
jsr PutA2CBBuf
|
jsr PutA2CBBuf
|
||||||
|
|
||||||
lda ZPPtr1+1
|
lda ZPBMPtr+1
|
||||||
jsr PutA2CBBuf
|
jsr PutA2CBBuf
|
||||||
|
|
||||||
lda #0 S.CB.DstPtr
|
lda #0 S.CB.DstPtr
|
||||||
|
@ -230,7 +230,8 @@ DRAW.YABMAtDXDY >STYA ZPPtr1 Src BM
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DRAW.YATextAtDXDY
|
DRAW.YATextAtDXDY
|
||||||
>STYA ZPPtr1 Src Text
|
pha Src Text
|
||||||
|
phy
|
||||||
|
|
||||||
lda #S.CB.CMD.DRAWTEXT2
|
lda #S.CB.CMD.DRAWTEXT2
|
||||||
jsr PutA2CBBuf
|
jsr PutA2CBBuf
|
||||||
|
@ -252,7 +253,7 @@ DRAW.YATextAtDXDY
|
||||||
ldy #0
|
ldy #0
|
||||||
ldx #4
|
ldx #4
|
||||||
|
|
||||||
.1 lda DX,y S.CB.X1,S.CB.Y1
|
.1 lda DX,y DX,DY -> S.CB.X1,S.CB.Y1
|
||||||
jsr PutA2CBBuf
|
jsr PutA2CBBuf
|
||||||
iny
|
iny
|
||||||
dex
|
dex
|
||||||
|
@ -277,22 +278,16 @@ DRAW.YATextAtDXDY
|
||||||
jsr PutA2CBBuf S.CB.SrcH
|
jsr PutA2CBBuf S.CB.SrcH
|
||||||
jsr PutA2CBBuf
|
jsr PutA2CBBuf
|
||||||
|
|
||||||
lda ZPPtr1 S.CB.SrcPtr
|
jsr PutA2CBBuf S.CB.SrcPtr
|
||||||
jsr PutA2CBBuf
|
|
||||||
|
|
||||||
lda ZPPtr1+1
|
|
||||||
jsr PutA2CBBuf
|
|
||||||
|
|
||||||
lda #0 S.CB.DstPtr
|
|
||||||
jsr PutA2CBBuf
|
|
||||||
jsr PutA2CBBuf
|
jsr PutA2CBBuf
|
||||||
|
|
||||||
lda ZPPtr1
|
jsr PutA2CBBuf S.CB.DstPtr
|
||||||
jsr PutA2CBBuf S.CB.TxtPtr
|
|
||||||
lda ZPPtr1+1
|
|
||||||
jsr PutA2CBBuf
|
jsr PutA2CBBuf
|
||||||
|
|
||||||
rts
|
pla
|
||||||
|
jsr PutA2CBBuf S.CB.TxtPtr
|
||||||
|
pla
|
||||||
|
jmp PutA2CBBuf
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE usr/src/lib/libgui.s.sysbar
|
SAVE usr/src/lib/libgui.s.sysbar
|
||||||
|
|
|
@ -78,6 +78,7 @@ ZPCBPtr .BS 2
|
||||||
ZPObjPtr .BS 2
|
ZPObjPtr .BS 2
|
||||||
ZPWNDPtr .BS 2
|
ZPWNDPtr .BS 2
|
||||||
ZPMENUPtr .BS 2
|
ZPMENUPtr .BS 2
|
||||||
|
ZPBMPtr .BS 2
|
||||||
|
|
||||||
CLIP.Line.P1 .BS 1
|
CLIP.Line.P1 .BS 1
|
||||||
CLIP.Line.P2 .BS 1
|
CLIP.Line.P2 .BS 1
|
||||||
|
@ -146,6 +147,7 @@ L.WND.SysBar .DA WND.SysBar
|
||||||
L.WND.SysBar.2osX .DA WND.SysBar.2osX
|
L.WND.SysBar.2osX .DA WND.SysBar.2osX
|
||||||
L.MENU.Sys .DA MENU.Sys
|
L.MENU.Sys .DA MENU.Sys
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
L.BMs .EQ *-2
|
||||||
L.BM.Apple .DA BM.Apple
|
L.BM.Apple .DA BM.Apple
|
||||||
L.BM.Close .DA BM.Close
|
L.BM.Close .DA BM.Close
|
||||||
L.BM.Max .DA BM.Max
|
L.BM.Max .DA BM.Max
|
||||||
|
@ -425,10 +427,10 @@ KEY.Ctrl .AZ "Ctrl-"
|
||||||
MENU.Sys .DA #.1-* next
|
MENU.Sys .DA #.1-* next
|
||||||
.DA #S.MITEM.F.ITEM F
|
.DA #S.MITEM.F.ITEM F
|
||||||
.DA #0 S
|
.DA #0 S
|
||||||
.DA 0 pICON
|
|
||||||
.DA #S.MITEM.KEYMOD.CA+S.MITEM.KEYMOD.OA+S.MITEM.KEYMOD.CTRL
|
|
||||||
.DA #"A"
|
|
||||||
.DA #2 ID
|
.DA #2 ID
|
||||||
|
.DA BM.ID.APPLE pICON
|
||||||
|
.DA #S.MITEM.KEYMOD.CA+S.MITEM.KEYMOD.OA+S.MITEM.KEYMOD.CTRL
|
||||||
|
.DA #'A'
|
||||||
.AZ "About..."
|
.AZ "About..."
|
||||||
|
|
||||||
.1 .DA #.2-* next
|
.1 .DA #.2-* next
|
||||||
|
@ -437,13 +439,44 @@ MENU.Sys .DA #.1-* next
|
||||||
.2 .DA #.3-* next
|
.2 .DA #.3-* next
|
||||||
.DA #S.MITEM.F.SUBMENU F
|
.DA #S.MITEM.F.SUBMENU F
|
||||||
.DA #0 S
|
.DA #0 S
|
||||||
|
.DA #0 ID
|
||||||
|
.DA 0 pICON
|
||||||
|
.DA 0 pMENU
|
||||||
|
.AZ "Programs"
|
||||||
|
|
||||||
|
.3 .DA #.4-* next
|
||||||
|
.DA #S.MITEM.F.SUBMENU F
|
||||||
|
.DA #0 S
|
||||||
|
.DA #0 ID
|
||||||
.DA 0 pICON
|
.DA 0 pICON
|
||||||
.DA 0 pMENU
|
.DA 0 pMENU
|
||||||
.AZ "Settings"
|
.AZ "Settings"
|
||||||
|
|
||||||
.3 .DA #0
|
.4 .DA #.5-* next
|
||||||
|
.DA #S.MITEM.F.SEP
|
||||||
|
|
||||||
|
.5 .DA #.6-* next
|
||||||
|
.DA #S.MITEM.F.ITEM F
|
||||||
|
.DA #0 S
|
||||||
|
.DA #8 ID
|
||||||
|
.DA 0 pICON
|
||||||
|
.DA #0
|
||||||
|
.DA #0
|
||||||
|
.AZ "Search..."
|
||||||
|
|
||||||
|
.6 .DA #.7-* next
|
||||||
|
.DA #S.MITEM.F.ITEM F
|
||||||
|
.DA #0 S
|
||||||
|
.DA #10 ID
|
||||||
|
.DA 0 pICON
|
||||||
|
.DA #S.MITEM.KEYMOD.OA
|
||||||
|
.DA #'R'
|
||||||
|
.AZ "Run..."
|
||||||
|
|
||||||
|
.7 .DA #0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
PREFS.BESTVIEWEDX .DA #$FC
|
PREFS.BESTVIEWEDX .DA #$FC
|
||||||
|
PREFS.MENUCOLOR .DA #C.WHITE
|
||||||
PREFS.SYSBARCOLOR .DA #C.WHITE
|
PREFS.SYSBARCOLOR .DA #C.WHITE
|
||||||
PREFS.MBARXMARGIN .DA #5
|
PREFS.MBARXMARGIN .DA #5
|
||||||
PREFS.BORDERCOLOR .DA #C.BLACK
|
PREFS.BORDERCOLOR .DA #C.BLACK
|
||||||
|
|
|
@ -42,6 +42,7 @@ CS.START cld
|
||||||
.DA CS.QUIT
|
.DA CS.QUIT
|
||||||
L.LIBGUI .DA LIBGUI
|
L.LIBGUI .DA LIBGUI
|
||||||
L.MouseData .DA MouseData
|
L.MouseData .DA MouseData
|
||||||
|
L.LOGOFILE .DA LOGOFILE
|
||||||
L.WND.TITLE .DA WND.TITLE
|
L.WND.TITLE .DA WND.TITLE
|
||||||
L.WND.MBAR .DA WND.MBAR
|
L.WND.MBAR .DA WND.MBAR
|
||||||
L.WND.STATUS .DA WND.STATUS
|
L.WND.STATUS .DA WND.STATUS
|
||||||
|
@ -53,11 +54,20 @@ CS.INIT >LDYA L.LIBGUI
|
||||||
sta hLIBGUI
|
sta hLIBGUI
|
||||||
|
|
||||||
* clc
|
* clc
|
||||||
.9 rts
|
.9
|
||||||
|
CS.INIT.RTS rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN >LIBCALL hLIBGUI,LIBGUI.ShowCursor
|
CS.RUN >LIBCALL hLIBGUI,LIBGUI.ShowCursor
|
||||||
|
|
||||||
|
>PUSHW L.LOGOFILE
|
||||||
|
>PUSHBI O.RDONLY
|
||||||
|
>PUSHBI $CB Type
|
||||||
|
>PUSHWZ Aux type
|
||||||
|
>SYSCALL LoadStkObj
|
||||||
|
bcs CS.INIT.RTS
|
||||||
|
|
||||||
|
stx hLogo
|
||||||
|
|
||||||
CS.RUN.LOOP >SLEEP
|
CS.RUN.LOOP >SLEEP
|
||||||
|
|
||||||
>PUSHW L.MouseData
|
>PUSHW L.MouseData
|
||||||
|
@ -163,6 +173,8 @@ hLIBGUI .BS 1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MouseData .BS S.MOUSE
|
MouseData .BS S.MOUSE
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
hLogo .BS 1
|
||||||
|
LOGOFILE .AZ "${ROOT}root/bmp/A2OSX.LOGO"
|
||||||
hWND .BS 1
|
hWND .BS 1
|
||||||
WND.TITLE .AZ "Window Title"
|
WND.TITLE .AZ "Window Title"
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
|
Loading…
Reference in New Issue