mirror of
https://github.com/A2osX/A2osX.git
synced 2025-04-06 18:37:12 +00:00
Kernel 0.94
This commit is contained in:
parent
ec457a9392
commit
78e8988b94
Binary file not shown.
@ -146,25 +146,25 @@ S.MBAR.X2 .EQ 6
|
||||
S.MBAR.MENU .EQ 8
|
||||
S.MBAR.TEXT .EQ 10
|
||||
*--------------------------------------
|
||||
S.MENU.DEFS .EQ S.OBJ
|
||||
S.MENU.MITEMS .EQ S.OBJ
|
||||
S.MENU.hSAVEBUF .EQ S.OBJ+2
|
||||
*
|
||||
S.MENU .EQ S.OBJ+4
|
||||
*--------------------------------------
|
||||
S.MITEM.NEXT .EQ 0
|
||||
S.MITEM.F .EQ 1
|
||||
S.MITEM.F.SEP .EQ 1
|
||||
S.MITEM.F.ITEM .EQ 2
|
||||
S.MITEM.F.SUBMENU .EQ 3
|
||||
S.MITEM.F.SEP .EQ 2
|
||||
S.MITEM.F.ITEM .EQ 4
|
||||
S.MITEM.F.SUBMENU .EQ 6
|
||||
S.MITEM.S .EQ 2
|
||||
S.MITEM.S.CHECKED .EQ %01000000
|
||||
S.MITEM.S.DISABLED .EQ %10000000
|
||||
S.MITEM.pICON .EQ 3
|
||||
S.MITEM.pMENU .EQ 5
|
||||
S.MITEM.KEYMOD .EQ 7
|
||||
S.MITEM.KEYMOD.CTRL .EQ %10000000
|
||||
S.MITEM.KEYMOD.OA .EQ %01000000
|
||||
S.MITEM.KEYMOD.CA .EQ %00100000
|
||||
S.MITEM.KEYMOD.CA .EQ 2
|
||||
S.MITEM.KEYMOD.OA .EQ 4
|
||||
S.MITEM.KEYMOD.CTRL .EQ 8
|
||||
S.MITEM.KEY .EQ 8
|
||||
S.MITEM.ID .EQ 9
|
||||
|
||||
|
@ -96,7 +96,6 @@ MENU.New >LDYAI S.MENU
|
||||
bcs .9
|
||||
|
||||
>STYA ZPMENUPtr
|
||||
* stx
|
||||
|
||||
lda #S.OBJ.T.MENU
|
||||
sta (ZPMENUPtr) S.OBJ.T
|
||||
@ -110,13 +109,11 @@ MENU.New >LDYAI S.MENU
|
||||
bne .1
|
||||
|
||||
>PULLA
|
||||
ldy #S.OBJ.S.MENU.DEFS
|
||||
ldy #S.MENU.MITEMS
|
||||
sta (ZPMENUPtr),y
|
||||
sta ZPPtr1
|
||||
>PULLA
|
||||
iny
|
||||
sta (ZPMENUPtr),y
|
||||
sta ZPPtr1+1
|
||||
|
||||
>PULLA
|
||||
ldy #S.OBJ.Y1
|
||||
@ -127,30 +124,292 @@ MENU.New >LDYAI S.MENU
|
||||
|
||||
>PULLA
|
||||
ldy #S.OBJ.X1
|
||||
and PREFS.BESTVIEWEDX
|
||||
sta (ZPMENUPtr),y
|
||||
>PULLA
|
||||
iny
|
||||
sta (ZPMENUPtr),y
|
||||
|
||||
lda #2 1px Border
|
||||
sta DX
|
||||
sta DY
|
||||
stz DX+1
|
||||
stz DY+1
|
||||
txa hMenu
|
||||
|
||||
.2 lda (ZPPtr1)
|
||||
|
||||
|
||||
.8 clc
|
||||
* clc
|
||||
rts
|
||||
|
||||
.9 >POP 6
|
||||
|
||||
rts
|
||||
MENU.New.RTS rts
|
||||
*--------------------------------------
|
||||
MENU.Paint
|
||||
MENU.Close
|
||||
MENU.Show >SYSCALL2 GetMemPtr
|
||||
>STYA ZPMENUPtr
|
||||
|
||||
jsr GetCBBuf
|
||||
bcs MENU.New.RTS
|
||||
>DEBUG
|
||||
ldy #S.MENU.MITEMS
|
||||
lda (ZPMENUPtr),y
|
||||
sta ZPPtr1
|
||||
iny
|
||||
lda (ZPMENUPtr),y
|
||||
sta ZPPtr1+1
|
||||
|
||||
* |Icon ChkMrk "Menu Item" KEYMOD1-KEYMOD2-KEY > |
|
||||
|
||||
stz IY Icon Margin W
|
||||
|
||||
stz IE Max Text W
|
||||
stz IE+1
|
||||
|
||||
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
|
||||
sta DY Menu H
|
||||
stz DY+1
|
||||
|
||||
.1 lda (ZPPtr1)
|
||||
beq .3
|
||||
|
||||
jsr MENU.Show.GetW
|
||||
|
||||
lda DY
|
||||
clc
|
||||
adc SYSFON.H
|
||||
sta DY
|
||||
bcc .2
|
||||
inc DY+1
|
||||
|
||||
.2 lda (ZPPtr1)
|
||||
clc
|
||||
adc ZPPtr1
|
||||
sta ZPPtr1
|
||||
bcc .1
|
||||
inc ZPPtr1+1
|
||||
bra .1
|
||||
|
||||
.3 lda DX
|
||||
clc
|
||||
adc IE Text W
|
||||
sta DX
|
||||
|
||||
lda DX+1
|
||||
adc IE+1
|
||||
sta DX+1
|
||||
|
||||
lda DX
|
||||
clc
|
||||
adc INE Mod-Key W
|
||||
sta DX
|
||||
bcc .4
|
||||
|
||||
inc DX+1
|
||||
|
||||
.4 ldy #S.OBJ.Y1
|
||||
lda (ZPMENUPtr),y
|
||||
clc
|
||||
adc DY
|
||||
tax
|
||||
|
||||
iny
|
||||
lda (ZPMENUPtr),y
|
||||
adc DY+1
|
||||
cpx WND.Screen+S.OBJ.H
|
||||
sbc WND.Screen+S.OBJ.H+1
|
||||
bcc .5
|
||||
|
||||
dey
|
||||
|
||||
lda (ZPMENUPtr),y
|
||||
* sec
|
||||
sbc DY
|
||||
sta (ZPMENUPtr),y
|
||||
|
||||
iny
|
||||
|
||||
lda (ZPMENUPtr),y
|
||||
sbc DY+1
|
||||
sta (ZPMENUPtr),y
|
||||
|
||||
.5 jsr MENU.Show.Borders
|
||||
|
||||
.8 >LDYA L.WND.Screen
|
||||
jmp DrawCBPtrToYA1
|
||||
|
||||
MENU.Show.RTS rts
|
||||
*--------------------------------------
|
||||
MENU.Show.GetW ldy #S.MITEM.F
|
||||
lda (ZPPtr1),y
|
||||
cmp #S.MITEM.F.SEP
|
||||
beq MENU.Show.RTS
|
||||
|
||||
ldy #S.MITEM.pICON
|
||||
lda (ZPPtr1),y
|
||||
iny
|
||||
ora (ZPPtr1),y
|
||||
beq .1
|
||||
|
||||
lda #16
|
||||
sta DX
|
||||
|
||||
.1 lda #S.MITEM.TEXT
|
||||
clc
|
||||
adc ZPPtr1
|
||||
tay
|
||||
lda ZPPtr1+1
|
||||
adc #0
|
||||
|
||||
ldx hSYSFON
|
||||
jsr FON.GetTextSize
|
||||
|
||||
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
|
||||
lda (ZPPtr1),y
|
||||
beq .6
|
||||
|
||||
bit #S.MITEM.KEYMOD.CTRL
|
||||
beq .4
|
||||
|
||||
.3 lda KEY.Ctrl,x
|
||||
sta KEYSTRING,x
|
||||
inx
|
||||
cpx #6
|
||||
bne .3
|
||||
|
||||
lda (ZPPtr1),y
|
||||
|
||||
.4 bit #S.MITEM.KEYMOD.OA
|
||||
beq .5
|
||||
|
||||
lda #1
|
||||
sta KEYSTRING,x
|
||||
inx
|
||||
lda #"-"
|
||||
sta KEYSTRING,x
|
||||
inx
|
||||
|
||||
lda (ZPPtr1),y
|
||||
|
||||
.5 bit #S.MITEM.KEYMOD.CA
|
||||
beq .6
|
||||
|
||||
lda #2
|
||||
sta KEYSTRING,x
|
||||
inx
|
||||
lda #"-"
|
||||
sta KEYSTRING,x
|
||||
inx
|
||||
|
||||
.6 iny
|
||||
lda (ZPPtr1),y
|
||||
beq .8
|
||||
|
||||
sta KEYSTRING,x
|
||||
inx
|
||||
stz KEYSTRING,x
|
||||
|
||||
>LDYA L.KEYSTRING
|
||||
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
|
||||
|
||||
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
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE usr/src/lib/libgui.s.menu
|
||||
|
@ -17,21 +17,17 @@ SYSBAR.Enter ldy #S.MOUSE.X1
|
||||
bcs .9
|
||||
|
||||
jsr SYSBAR.Show.A2osX
|
||||
|
||||
stz DX
|
||||
stz DX+1
|
||||
|
||||
lda WND.SysBar+S.OBJ.Y1
|
||||
sta DY
|
||||
lda WND.SysBar+S.OBJ.Y1+1
|
||||
sta DY+1
|
||||
|
||||
* >LDYA L.MENU.Sys
|
||||
* jsr DRAW.YAMenuAtDXDY
|
||||
* bcs .9
|
||||
|
||||
>LDYA L.WND.SysBar
|
||||
jmp DrawCBPtrToYA1
|
||||
jsr DrawCBPtrToYA1
|
||||
|
||||
>PUSHW WND.SysBar+S.OBJ.X1
|
||||
>PUSHW WND.SysBar+S.OBJ.Y1
|
||||
>PUSHW L.MENU.Sys
|
||||
jsr MENU.New
|
||||
bcs .9
|
||||
|
||||
jsr MENU.Show
|
||||
|
||||
.8 clc
|
||||
.9 rts
|
||||
@ -298,25 +294,6 @@ DRAW.YATextAtDXDY
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
DRAW.YAMenuAtDXDY
|
||||
>STYA ZPPtr1 Src Menu
|
||||
|
||||
stz IE popup W
|
||||
stz IE+1
|
||||
stz D popup H
|
||||
stz D+1
|
||||
|
||||
.1 stz INE item W
|
||||
stz INE+1
|
||||
|
||||
lda (ZPPtr1)
|
||||
beq .8
|
||||
|
||||
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE usr/src/lib/libgui.s.sysbar
|
||||
LOAD usr/src/lib/libgui.s
|
||||
|
@ -348,9 +348,6 @@ WND.Show >SYSCALL2 GetMemPtr
|
||||
lda (ZPWNDPtr),y
|
||||
sbc #0
|
||||
sta (ZPWNDPtr),y
|
||||
|
||||
lda #0
|
||||
jsr PutA2CBBuf
|
||||
|
||||
>LDYA L.WND.Desktop
|
||||
|
||||
|
@ -134,6 +134,7 @@ L.SYSX7 .DA SYSX7
|
||||
L.SYSX7B .DA SYSX7B
|
||||
L.IOCTL .DA IOCTL
|
||||
L.DCB.GFX .DA DCB.GFX
|
||||
L.KEYSTRING .DA KEYSTRING
|
||||
L.MouseClamp .DA MouseClamp
|
||||
L.CB.PTR .DA CB.PTR
|
||||
L.CB.Buf .DA CB.Buf
|
||||
@ -388,6 +389,7 @@ IOCTL .BS S.IOCTL
|
||||
DCB.GFX .BS S.DCB.GFX
|
||||
MOUSEDATA .BS S.MOUSE
|
||||
*--------------------------------------
|
||||
KEYSTRING .BS 11 Ctrl-O-C-K\0 (11 max)
|
||||
MouseClamp .BS 8
|
||||
*--------------------------------------
|
||||
CB.PTR .DA #S.CB.CMD.BITBLT
|
||||
@ -418,12 +420,14 @@ WND.SysBar.Time.X1 .BS 2
|
||||
WND.SysBar.bA2osX .BS 1
|
||||
WND.SysBar.2osX .AZ "2osX"
|
||||
*--------------------------------------
|
||||
KEY.Ctrl .AZ "Ctrl-"
|
||||
*--------------------------------------
|
||||
MENU.Sys .DA #.1-* next
|
||||
.DA #S.MITEM.F.ITEM F
|
||||
.DA #0 S
|
||||
.DA 0 pICON
|
||||
.DA #0 KEYMOD
|
||||
.DA #0 KEY
|
||||
.DA #S.MITEM.KEYMOD.CA+S.MITEM.KEYMOD.OA+S.MITEM.KEYMOD.CTRL
|
||||
.DA #"A"
|
||||
.DA #2 ID
|
||||
.AZ "About..."
|
||||
|
||||
@ -437,7 +441,7 @@ MENU.Sys .DA #.1-* next
|
||||
.DA 0 pMENU
|
||||
.AZ "Settings"
|
||||
|
||||
.9 .DA #0
|
||||
.3 .DA #0
|
||||
*--------------------------------------
|
||||
PREFS.BESTVIEWEDX .DA #$FC
|
||||
PREFS.SYSBARCOLOR .DA #C.WHITE
|
||||
|
Loading…
x
Reference in New Issue
Block a user