mirror of
https://github.com/A2osX/A2osX.git
synced 2025-08-07 11:26:36 +00:00
Kernel 0.94
This commit is contained in:
Binary file not shown.
Binary file not shown.
@@ -3,7 +3,7 @@ NEW
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
IO.D2.SeekTimeR .EQ 160 LIBBLKDEV Recalibration
|
IO.D2.SeekTimeR .EQ 160 LIBBLKDEV Recalibration
|
||||||
IO.D2.SeekTimeF .EQ 140 LIBBLKDEV Track Formatter
|
IO.D2.SeekTimeF .EQ 140 LIBBLKDEV Track Formatter
|
||||||
IO.D2.SeekTimeB .EQ 140 LIBBLKDEV Boot Block
|
IO.D2.SeekTimeB .EQ 95 LIBBLKDEV Boot Block
|
||||||
IO.D2.SeekTimeP .EQ 75 ProDOS.FX initial
|
IO.D2.SeekTimeP .EQ 75 ProDOS.FX initial
|
||||||
IO.D2.SeekTimeI .EQ 20 ProDOS.FX increment -> until > 128
|
IO.D2.SeekTimeI .EQ 20 ProDOS.FX increment -> until > 128
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@@ -123,10 +123,10 @@ 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.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+24
|
||||||
S.WND.InnerY2 .EQ S.OBJ+26
|
S.WND.InnerY2 .EQ S.OBJ+26
|
||||||
S.WND.SBarY1 .EQ S.OBJ+26
|
S.WND.SBarY1 .EQ S.OBJ+26
|
||||||
S.WND.InnerW .EQ S.OBJ+28
|
S.WND.InnerW .EQ S.OBJ+28
|
||||||
S.WND.InnerH .EQ S.OBJ+30
|
S.WND.InnerH .EQ S.OBJ+30
|
||||||
@@ -152,8 +152,12 @@ S.MENU.pX1 .EQ S.OBJ+4
|
|||||||
S.MENU.pY1 .EQ S.OBJ+6
|
S.MENU.pY1 .EQ S.OBJ+6
|
||||||
S.MENU.pX2 .EQ S.OBJ+8
|
S.MENU.pX2 .EQ S.OBJ+8
|
||||||
S.MENU.pY2 .EQ S.OBJ+10
|
S.MENU.pY2 .EQ S.OBJ+10
|
||||||
|
S.MENU.Selected .EQ S.OBJ+12
|
||||||
|
S.MENU.tOffset .EQ S.OBJ+13
|
||||||
|
S.MENU.kOffset .EQ S.OBJ+14
|
||||||
|
S.MENU.rOffset .EQ S.OBJ+16
|
||||||
*
|
*
|
||||||
S.MENU .EQ S.OBJ+12
|
S.MENU .EQ S.OBJ+18
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.MITEM.NEXT .EQ 0
|
S.MITEM.NEXT .EQ 0
|
||||||
S.MITEM.F .EQ 1
|
S.MITEM.F .EQ 1
|
||||||
|
@@ -374,7 +374,7 @@ BB.Seek lda BB.HdrTrk get track we're on
|
|||||||
jsr BB.Wait
|
jsr BB.Wait
|
||||||
|
|
||||||
jsr BB.PhasesOff
|
jsr BB.PhasesOff
|
||||||
bcs BB.Read ALWAYS
|
bra BB.Read
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
BB.PhasesOff bit IO.D2.Ph0Off,x
|
BB.PhasesOff bit IO.D2.Ph0Off,x
|
||||||
nop
|
nop
|
||||||
|
@@ -89,7 +89,27 @@ BM.Min.AND .HS FF0F
|
|||||||
.HS 0F0F
|
.HS 0F0F
|
||||||
.HS FF0F
|
.HS FF0F
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
BM.Left
|
BM.Left .DA #S.BM.F.BBP1
|
||||||
|
.DA #1 RowBytes
|
||||||
|
.DA 7 W
|
||||||
|
.DA 7 Y
|
||||||
|
.DA BM.Left.AND-BM.Left
|
||||||
|
|
||||||
|
.DA #%0000000
|
||||||
|
.DA #%0010000
|
||||||
|
.DA #%0011000
|
||||||
|
.DA #%0011100
|
||||||
|
.DA #%0011000
|
||||||
|
.DA #%0010000
|
||||||
|
.DA #%0000000
|
||||||
|
|
||||||
|
BM.Left.AND .DA #%1001111
|
||||||
|
.DA #%1000111
|
||||||
|
.DA #%1000011
|
||||||
|
.DA #%1000001
|
||||||
|
.DA #%1000011
|
||||||
|
.DA #%1000111
|
||||||
|
.DA #%1001111
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
BM.Right .DA #S.BM.F.BBP1
|
BM.Right .DA #S.BM.F.BBP1
|
||||||
.DA #1 RowBytes
|
.DA #1 RowBytes
|
||||||
@@ -113,9 +133,49 @@ BM.Right.AND .DA #%1111001
|
|||||||
.DA #%1110001
|
.DA #%1110001
|
||||||
.DA #%1111001
|
.DA #%1111001
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
BM.Up
|
BM.Up .DA #S.BM.F.BBP1
|
||||||
|
.DA #1 RowBytes
|
||||||
|
.DA 7 W
|
||||||
|
.DA 7 Y
|
||||||
|
.DA BM.Up.AND-BM.Up
|
||||||
|
|
||||||
|
.DA #%0000000
|
||||||
|
.DA #%0000000
|
||||||
|
.DA #%0001000
|
||||||
|
.DA #%0011100
|
||||||
|
.DA #%0111110
|
||||||
|
.DA #%0000000
|
||||||
|
.DA #%0000000
|
||||||
|
|
||||||
|
BM.Up.AND .DA #%1111111
|
||||||
|
.DA #%1110111
|
||||||
|
.DA #%1100011
|
||||||
|
.DA #%1000001
|
||||||
|
.DA #%0000000
|
||||||
|
.DA #%0000000
|
||||||
|
.DA #%1111111
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
BM.Down
|
BM.Down .DA #S.BM.F.BBP1
|
||||||
|
.DA #1 RowBytes
|
||||||
|
.DA 7 W
|
||||||
|
.DA 7 Y
|
||||||
|
.DA BM.Down.AND-BM.Down
|
||||||
|
|
||||||
|
.DA #%0000000
|
||||||
|
.DA #%0000000
|
||||||
|
.DA #%0111110
|
||||||
|
.DA #%0011100
|
||||||
|
.DA #%0001000
|
||||||
|
.DA #%0000000
|
||||||
|
.DA #%0000000
|
||||||
|
|
||||||
|
BM.Down.AND .DA #%1111111
|
||||||
|
.DA #%0000000
|
||||||
|
.DA #%0000000
|
||||||
|
.DA #%1000001
|
||||||
|
.DA #%1100011
|
||||||
|
.DA #%1110111
|
||||||
|
.DA #%1111111
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE usr/src/lib/libgui.g.bm
|
SAVE usr/src/lib/libgui.g.bm
|
||||||
|
@@ -272,6 +272,72 @@ DrawText clc
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
*
|
*
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
DRAW.YABMAtDXDY >STYA ZPBMPtr Src BM
|
||||||
|
|
||||||
|
lda #S.CB.CMD.BITBLT
|
||||||
|
jsr CB.InitCacheA
|
||||||
|
|
||||||
|
lda #S.CB.OP.MASK+S.CB.OP.ORA+S.CB.OP.COLOR
|
||||||
|
sta CB.Cache+S.CB.OP
|
||||||
|
|
||||||
|
lda #S.CB.M.C16
|
||||||
|
sta CB.Cache+S.CB.M
|
||||||
|
|
||||||
|
ldx #3
|
||||||
|
|
||||||
|
.1 lda DX,x
|
||||||
|
sta CB.Cache+S.CB.X1,x
|
||||||
|
dex
|
||||||
|
bpl .1
|
||||||
|
|
||||||
|
ldx #3
|
||||||
|
|
||||||
|
ldy #S.BM.W+3
|
||||||
|
|
||||||
|
.2 lda (ZPBMPtr),y
|
||||||
|
sta CB.Cache+S.CB.SrcW,x
|
||||||
|
dey
|
||||||
|
dex
|
||||||
|
bpl .2
|
||||||
|
|
||||||
|
lda ZPBMPtr
|
||||||
|
sta CB.Cache+S.CB.SrcPtr
|
||||||
|
|
||||||
|
lda ZPBMPtr+1
|
||||||
|
sta CB.Cache+S.CB.SrcPtr+1
|
||||||
|
|
||||||
|
jmp PutCBCache2CBBuf
|
||||||
|
*--------------------------------------
|
||||||
|
DRAW.YATextAtDXDY
|
||||||
|
phx
|
||||||
|
jsr CB.ClearCache
|
||||||
|
>STYA CB.Cache+S.CB.TxtPtr
|
||||||
|
plx
|
||||||
|
stx CB.Cache+S.CB.hFont
|
||||||
|
|
||||||
|
lda #S.CB.CMD.DRAWTEXT2
|
||||||
|
sta CB.Cache+S.CB.CMD
|
||||||
|
|
||||||
|
lda #0
|
||||||
|
ror
|
||||||
|
eor #S.CB.OP.INVERSE
|
||||||
|
ora #S.CB.OP.SET
|
||||||
|
|
||||||
|
* lda #S.CB.OP.XOR
|
||||||
|
sta CB.Cache+S.CB.OP
|
||||||
|
|
||||||
|
lda #S.CB.M.MONO
|
||||||
|
sta CB.Cache+S.CB.M
|
||||||
|
|
||||||
|
ldx #3
|
||||||
|
|
||||||
|
.1 lda DX,x DX,DY -> S.CB.X1,S.CB.Y1
|
||||||
|
sta CB.Cache+S.CB.X1,x
|
||||||
|
dex
|
||||||
|
bpl .1
|
||||||
|
|
||||||
|
jmp PutCBCache2CBBuf
|
||||||
|
*--------------------------------------
|
||||||
DRAW.ToGlobal >LDYA ZPWNDPtr
|
DRAW.ToGlobal >LDYA ZPWNDPtr
|
||||||
>STYA ZPPtr1
|
>STYA ZPPtr1
|
||||||
|
|
||||||
|
@@ -93,13 +93,18 @@ MENU.MBarInit >STYA ZPMENUPtr
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MENU.New ldy MENU.Stack.Top
|
MENU.New ldy MENU.Stack.Top
|
||||||
cpy #MENU.MAX
|
cpy #MENU.MAX
|
||||||
bcs .90
|
bcc .10
|
||||||
|
jmp .90
|
||||||
|
|
||||||
>LDYAI S.MENU
|
.10 >LDYAI S.MENU
|
||||||
>SYSCALL2 getmem
|
>SYSCALL2 getmem
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
>STYA ZPMENUPtr
|
>STYA ZPMENUPtr
|
||||||
|
txa hMenu
|
||||||
|
|
||||||
|
ldx MENU.Stack.Top
|
||||||
|
sta MENU.Stack,x
|
||||||
|
|
||||||
lda #S.OBJ.T.MENU
|
lda #S.OBJ.T.MENU
|
||||||
sta (ZPMENUPtr) S.OBJ.T
|
sta (ZPMENUPtr) S.OBJ.T
|
||||||
@@ -119,7 +124,7 @@ MENU.New ldy MENU.Stack.Top
|
|||||||
iny
|
iny
|
||||||
sta (ZPMENUPtr),y
|
sta (ZPMENUPtr),y
|
||||||
|
|
||||||
>PULLW ZPPtr1
|
>PULLW ZPRECTPtr Parent RECT
|
||||||
|
|
||||||
>PULLA
|
>PULLA
|
||||||
ldy #S.OBJ.Y1
|
ldy #S.OBJ.Y1
|
||||||
@@ -138,22 +143,24 @@ MENU.New ldy MENU.Stack.Top
|
|||||||
lda ZPMENUPtr
|
lda ZPMENUPtr
|
||||||
clc
|
clc
|
||||||
adc #S.MENU.pX1
|
adc #S.MENU.pX1
|
||||||
sta ZPMENUPtr
|
sta ZPPtr1
|
||||||
bcc .2
|
|
||||||
|
|
||||||
inc ZPMENUPtr+1
|
lda ZPMENUPtr+1
|
||||||
|
adc /S.MENU.pX1
|
||||||
|
sta ZPPtr1+1
|
||||||
|
|
||||||
.2 ldy #S.RECT-1
|
ldy #S.RECT-1
|
||||||
|
|
||||||
.3 lda (ZPPtr1),y
|
.3 lda (ZPRECTPtr),y
|
||||||
sta (ZPMENUPtr),y
|
sta (ZPPtr1),y
|
||||||
dey
|
dey
|
||||||
bpl .3
|
bpl .3
|
||||||
|
|
||||||
txa hMenu
|
jsr MENU.SetMenuSizePos
|
||||||
|
|
||||||
ldx MENU.Stack.Top
|
ldx MENU.Stack.Top
|
||||||
sta MENU.Stack,x
|
lda MENU.Stack,x
|
||||||
|
|
||||||
inc MENU.Stack.Top
|
inc MENU.Stack.Top
|
||||||
|
|
||||||
clc
|
clc
|
||||||
@@ -163,25 +170,132 @@ MENU.New ldy MENU.Stack.Top
|
|||||||
sec
|
sec
|
||||||
.99 >POP 8
|
.99 >POP 8
|
||||||
MENU.New.RTS rts
|
MENU.New.RTS rts
|
||||||
|
*--------------------------------------
|
||||||
|
* hMENU8, ItemID8, Prop8, Value16
|
||||||
|
*--------------------------------------
|
||||||
|
MENU.SetMItemProp
|
||||||
|
ldy #4
|
||||||
|
lda (pStack),y hMENU
|
||||||
|
>SYSCALL2 GetMemPtr
|
||||||
|
>STYA ZPMENUPtr
|
||||||
|
|
||||||
|
bra .7
|
||||||
|
|
||||||
|
jsr MENU.GetMItems
|
||||||
|
|
||||||
|
.1 lda (ZPPtr1)
|
||||||
|
beq .8
|
||||||
|
|
||||||
|
ldy #S.MITEM.F
|
||||||
|
lda (ZPPtr1),y
|
||||||
|
cmp #S.MITEM.F.SEP
|
||||||
|
beq .2
|
||||||
|
|
||||||
|
ldy #S.MITEM.ID
|
||||||
|
lda (ZPPtr1),y
|
||||||
|
|
||||||
|
ldy #3 ID8
|
||||||
|
cmp (pStack),y
|
||||||
|
beq .7
|
||||||
|
|
||||||
|
.2 jsr MENU.NextMItem
|
||||||
|
bra .1
|
||||||
|
|
||||||
|
.7 ldy #2 Prop8
|
||||||
|
lda (pStack),y
|
||||||
|
|
||||||
|
tay
|
||||||
|
|
||||||
|
>PULLA Value16
|
||||||
|
sta (ZPPtr1),y
|
||||||
|
|
||||||
|
iny
|
||||||
|
>PULLA
|
||||||
|
sta (ZPPtr1),y
|
||||||
|
|
||||||
|
.8 >RET 3
|
||||||
* ----------------------------------------------
|
* ----------------------------------------------
|
||||||
* |Icon ChkMrk "Menu Item" KEYMOD1-KEYMOD2-KEY>|
|
* |Icon ChkMrk "Menu Item" KEYMOD1-KEYMOD2-KEY>|
|
||||||
* ----------------------------------------------
|
* ----------------------------------------------
|
||||||
MENU.Show >SYSCALL2 GetMemPtr
|
MENU.Show >SYSCALL2 GetMemPtr
|
||||||
>STYA ZPMENUPtr
|
>STYA ZPMENUPtr
|
||||||
|
|
||||||
|
jsr MENU.Save
|
||||||
|
bcs .9
|
||||||
|
|
||||||
jsr GetCBBuf
|
jsr GetCBBuf
|
||||||
bcs MENU.New.RTS
|
bcs .9
|
||||||
|
|
||||||
ldy #S.MENU.MITEMS
|
|
||||||
lda (ZPMENUPtr),y
|
|
||||||
sta ZPPtr1
|
|
||||||
iny
|
|
||||||
lda (ZPMENUPtr),y
|
|
||||||
sta ZPPtr1+1
|
|
||||||
|
|
||||||
stz DX
|
jsr MENU.ShowBorders
|
||||||
stz DX+1
|
|
||||||
|
jsr MENU.GetMItems
|
||||||
|
jsr MENU.GetDYW
|
||||||
|
|
||||||
|
.6 lda (ZPPtr1)
|
||||||
|
beq .8
|
||||||
|
|
||||||
|
jsr MENU.GetDX
|
||||||
|
|
||||||
|
jsr MENU.ShowMItem
|
||||||
|
jsr MENU.NextMItem
|
||||||
|
bra .6
|
||||||
|
|
||||||
|
.8 >LDYA L.WND.Screen
|
||||||
|
jmp DrawCBPtrToYA1
|
||||||
|
|
||||||
|
.9 rts
|
||||||
|
*--------------------------------------
|
||||||
|
MENU.Enter jsr MENU.GetDX
|
||||||
|
jsr MENU.GetDYW
|
||||||
|
|
||||||
|
lda Counter W
|
||||||
|
clc
|
||||||
|
adc DX
|
||||||
|
sta IE IE = X2
|
||||||
|
|
||||||
|
lda Counter+1
|
||||||
|
adc DX+1
|
||||||
|
sta IE+1
|
||||||
|
|
||||||
|
jsr MENU.GetMItems
|
||||||
|
|
||||||
|
.1 lda (ZPPtr1)
|
||||||
|
beq .9
|
||||||
|
|
||||||
|
ldy #S.MITEM.F
|
||||||
|
lda (ZPPtr1),y
|
||||||
|
cmp #S.MITEM.F.SEP
|
||||||
|
beq .7
|
||||||
|
|
||||||
|
lda DY
|
||||||
|
sec
|
||||||
|
adc SYSFON.H
|
||||||
|
sta INE INE = Y2
|
||||||
|
lda DY+1
|
||||||
|
adc #0
|
||||||
|
sta INE+1
|
||||||
|
|
||||||
|
>LDYAI DX
|
||||||
|
jsr MOU.InRectYA
|
||||||
|
bcs .7
|
||||||
|
|
||||||
|
ldy #S.MITEM.ID
|
||||||
|
lda (ZPPtr1),y
|
||||||
|
|
||||||
|
ldy #S.MENU.Selected
|
||||||
|
sta (ZPMENUPtr),y
|
||||||
|
|
||||||
|
jsr GetCBBuf
|
||||||
|
jsr MENU.ShowMItem1
|
||||||
|
>LDYA L.WND.Screen
|
||||||
|
jmp DrawCBPtrToYA1
|
||||||
|
|
||||||
|
.7 jsr MENU.NextMItem
|
||||||
|
bra .1
|
||||||
|
|
||||||
|
.9 rts
|
||||||
|
*--------------------------------------
|
||||||
|
MENU.SetMenuSizePos
|
||||||
stz IY Icon Margin W
|
stz IY Icon Margin W
|
||||||
|
|
||||||
stz IE Max Text W
|
stz IE Max Text W
|
||||||
@@ -192,37 +306,25 @@ MENU.Show >SYSCALL2 GetMemPtr
|
|||||||
lda #2 2px Borders
|
lda #2 2px Borders
|
||||||
sta DY Menu H
|
sta DY Menu H
|
||||||
stz DY+1
|
stz DY+1
|
||||||
|
|
||||||
|
jsr MENU.GetMItems
|
||||||
|
|
||||||
.1 lda (ZPPtr1)
|
.1 lda (ZPPtr1)
|
||||||
beq .3
|
beq .3
|
||||||
|
|
||||||
jsr MENU.Show.GetW
|
jsr MENU.GetMItemW
|
||||||
|
jsr MENU.NextMItem
|
||||||
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
|
bra .1
|
||||||
|
|
||||||
.3 lda #2+MENU.LMargin+MENU.RMargin 2px Borders+5 LMARGIN (Checked) +5 RMARGIN (SubMenu)
|
.3 lda #2+MENU.LMargin+MENU.RMargin 2px Borders+5 LMARGIN (Checked) +5 RMARGIN (SubMenu)
|
||||||
clc
|
clc
|
||||||
adc IY
|
adc IY Icon W
|
||||||
sta DX
|
sta DX
|
||||||
bcc .30
|
stz DX+1
|
||||||
inc DX+1
|
|
||||||
|
|
||||||
.30 lda DX
|
lda DX
|
||||||
sec 1px sep
|
sec 1px sep
|
||||||
adc IE Text W
|
adc IE Max Text W
|
||||||
sta DX
|
sta DX
|
||||||
|
|
||||||
lda DX+1
|
lda DX+1
|
||||||
@@ -231,7 +333,7 @@ MENU.Show >SYSCALL2 GetMemPtr
|
|||||||
|
|
||||||
lda DX
|
lda DX
|
||||||
sec 1px sep
|
sec 1px sep
|
||||||
adc INE Mod-Key W
|
adc INE Max Mod-Key W
|
||||||
sta DX
|
sta DX
|
||||||
bcc .4
|
bcc .4
|
||||||
|
|
||||||
@@ -247,18 +349,36 @@ MENU.Show >SYSCALL2 GetMemPtr
|
|||||||
|
|
||||||
lda DY
|
lda DY
|
||||||
sta (ZPMENUPtr),y
|
sta (ZPMENUPtr),y
|
||||||
tax
|
|
||||||
iny
|
iny
|
||||||
lda DY+1
|
lda DY+1
|
||||||
sta (ZPMENUPtr),y
|
sta (ZPMENUPtr),y
|
||||||
pha
|
|
||||||
txa
|
ldy #S.MENU.tOffset
|
||||||
|
lda IY
|
||||||
|
sta (ZPMENUPtr),y
|
||||||
|
|
||||||
|
iny #S.MENU.kOffset
|
||||||
|
lda IE
|
||||||
|
sta (ZPMENUPtr),y
|
||||||
|
iny
|
||||||
|
lda IE+1
|
||||||
|
sta (ZPMENUPtr),y
|
||||||
|
|
||||||
|
iny #S.MENU.rOffset
|
||||||
|
lda INE
|
||||||
|
sta (ZPMENUPtr),y
|
||||||
|
iny
|
||||||
|
lda INE+1
|
||||||
|
sta (ZPMENUPtr),y
|
||||||
|
|
||||||
ldy #S.OBJ.Y1
|
ldy #S.OBJ.Y1
|
||||||
|
lda DY
|
||||||
clc
|
clc
|
||||||
adc (ZPMENUPtr),y
|
adc (ZPMENUPtr),y
|
||||||
tax
|
tax
|
||||||
pla
|
|
||||||
iny
|
iny
|
||||||
|
lda DY+1
|
||||||
adc (ZPMENUPtr),y
|
adc (ZPMENUPtr),y
|
||||||
|
|
||||||
cpx WND.Screen+S.OBJ.H
|
cpx WND.Screen+S.OBJ.H
|
||||||
@@ -280,59 +400,13 @@ MENU.Show >SYSCALL2 GetMemPtr
|
|||||||
|
|
||||||
.5 >LDYA ZPMENUPtr
|
.5 >LDYA ZPMENUPtr
|
||||||
jsr OBJ.SetX2Y2
|
jsr OBJ.SetX2Y2
|
||||||
|
|
||||||
jsr MENU.Save
|
|
||||||
bcs MENU.Show.RTS
|
|
||||||
|
|
||||||
jsr MENU.Show.Borders
|
|
||||||
|
|
||||||
ldy #S.MENU.MITEMS
|
|
||||||
lda (ZPMENUPtr),y
|
|
||||||
sta ZPPtr1
|
|
||||||
iny
|
|
||||||
lda (ZPMENUPtr),y
|
|
||||||
sta ZPPtr1+1
|
|
||||||
|
|
||||||
ldy #S.OBJ.Y1
|
rts
|
||||||
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
|
|
||||||
jmp DrawCBPtrToYA1
|
|
||||||
|
|
||||||
MENU.Show.RTS rts
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MENU.Show.GetW ldy #S.MITEM.F
|
MENU.GetMItemW ldy #S.MITEM.F
|
||||||
lda (ZPPtr1),y
|
lda (ZPPtr1),y
|
||||||
cmp #S.MITEM.F.SEP
|
cmp #S.MITEM.F.SEP
|
||||||
beq MENU.Show.RTS
|
beq .8
|
||||||
|
|
||||||
ldy #S.MITEM.pICON
|
ldy #S.MITEM.pICON
|
||||||
lda (ZPPtr1),y
|
lda (ZPPtr1),y
|
||||||
@@ -371,151 +445,162 @@ MENU.Show.GetW ldy #S.MITEM.F
|
|||||||
|
|
||||||
.8 rts
|
.8 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MENU.Show.Borders
|
MENU.ShowBorders
|
||||||
lda #S.CB.CMD.FILLRECT
|
lda #S.CB.CMD.HLINE
|
||||||
jsr PutA2CBBuf
|
jsr CB.InitCacheA
|
||||||
|
|
||||||
lda #S.CB.OP.SET
|
lda #S.CB.OP.SET
|
||||||
jsr PutA2CBBuf
|
sta CB.Cache+S.CB.OP
|
||||||
lda #S.CB.M.MONO
|
lda #S.CB.M.MONO
|
||||||
jsr PutA2CBBuf
|
sta CB.Cache+S.CB.M
|
||||||
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
|
lda PREFS.BORDERCOLOR
|
||||||
jmp PutA2CBBuf
|
sta CB.Cache+S.CB.COLOR
|
||||||
|
|
||||||
MENU.Show.Borders.Y
|
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 PutCBCache2CBBuf
|
||||||
|
|
||||||
|
ldy #S.OBJ.Y2
|
||||||
lda (ZPMENUPtr),y
|
lda (ZPMENUPtr),y
|
||||||
jsr PutA2CBBuf
|
sta CB.Cache+S.CB.Y1
|
||||||
|
sta CB.Cache+S.CB.Y2
|
||||||
iny
|
iny
|
||||||
lda (ZPMENUPtr),y
|
lda (ZPMENUPtr),y
|
||||||
jmp PutA2CBBuf
|
sta CB.Cache+S.CB.Y1+1
|
||||||
|
sta CB.Cache+S.CB.Y2+1 bottom X1,Y2,X2,Y2
|
||||||
|
|
||||||
|
jmp PutCBCache2CBBuf
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MENU.Show.Item ldy #S.MITEM.F
|
MENU.ShowMItem ldy #S.MITEM.F
|
||||||
lda (ZPPtr1),y
|
lda (ZPPtr1),y
|
||||||
cmp #S.MITEM.F.SEP
|
cmp #S.MITEM.F.SEP
|
||||||
bne .1
|
bne MENU.ShowMItem1
|
||||||
|
|
||||||
lda #S.CB.CMD.HLINE
|
lda #S.CB.CMD.HLINE
|
||||||
jsr PutA2CBBuf
|
jsr CB.InitCacheA
|
||||||
|
|
||||||
lda #S.CB.OP.SET
|
lda #S.CB.OP.SET
|
||||||
jsr PutA2CBBuf
|
sta CB.Cache+S.CB.OP
|
||||||
lda #S.CB.M.MONO
|
lda #S.CB.M.MONO
|
||||||
jsr PutA2CBBuf
|
sta CB.Cache+S.CB.M
|
||||||
lda PREFS.BORDERCOLOR
|
lda PREFS.BORDERCOLOR
|
||||||
jsr PutA2CBBuf
|
sta CB.Cache+S.CB.COLOR
|
||||||
|
|
||||||
ldy #S.OBJ.X1
|
ldx #3
|
||||||
jsr MENU.Show.Borders.Y
|
|
||||||
lda SYSFON.H
|
.1 lda DX,x
|
||||||
lsr
|
sta CB.Cache+S.CB.X1,x
|
||||||
|
dex
|
||||||
|
bpl .1
|
||||||
|
|
||||||
|
lda DX
|
||||||
clc
|
clc
|
||||||
adc DY
|
adc Counter
|
||||||
jsr PutA2CBBuf
|
sta CB.Cache+S.CB.X2
|
||||||
lda DY+1
|
lda DX+1
|
||||||
adc #0
|
adc Counter+1
|
||||||
jsr PutA2CBBuf
|
sta CB.Cache+S.CB.X2+1
|
||||||
|
jmp PutCBCache2CBBuf
|
||||||
ldy #S.OBJ.X2
|
|
||||||
jsr MENU.Show.Borders.Y
|
|
||||||
ldy #S.OBJ.Y1
|
|
||||||
jmp MENU.Show.Borders.Y
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.1 ldy #S.OBJ.X1
|
MENU.ShowMItem1 lda #S.CB.CMD.FILLRECT
|
||||||
|
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
|
||||||
|
|
||||||
|
ldy #S.MENU.Selected
|
||||||
lda (ZPMENUPtr),y
|
lda (ZPMENUPtr),y
|
||||||
|
|
||||||
sec +1px Border
|
ldx PREFS.MENUCOLOR
|
||||||
|
ldy #S.MITEM.ID
|
||||||
|
eor (ZPPtr1),y
|
||||||
|
bne .15
|
||||||
|
|
||||||
|
txa
|
||||||
|
eor #C.WHITE
|
||||||
|
tax
|
||||||
|
|
||||||
|
.15 stx CB.Cache+S.CB.COLOR
|
||||||
|
|
||||||
|
ldx #3
|
||||||
|
|
||||||
|
.10 lda DX,x
|
||||||
|
sta CB.Cache+S.CB.X1,x
|
||||||
|
dex
|
||||||
|
bpl .10
|
||||||
|
|
||||||
|
lda DX
|
||||||
|
clc
|
||||||
|
adc Counter
|
||||||
|
sta CB.Cache+S.CB.X2
|
||||||
|
lda DX+1
|
||||||
|
adc Counter+1
|
||||||
|
sta CB.Cache+S.CB.X2+1
|
||||||
|
|
||||||
|
lda DY
|
||||||
|
sec
|
||||||
|
adc SYSFON.H
|
||||||
|
sta CB.Cache+S.CB.Y2
|
||||||
|
lda DY+1
|
||||||
|
adc #0
|
||||||
|
sta CB.Cache+S.CB.Y2+1
|
||||||
|
jsr PutCBCache2CBBuf
|
||||||
|
|
||||||
|
inc DY
|
||||||
|
bne .12
|
||||||
|
inc DY+1
|
||||||
|
|
||||||
|
.12 lda DX
|
||||||
|
|
||||||
|
clc
|
||||||
|
|
||||||
adc #MENU.LMargin TODO : Checked
|
adc #MENU.LMargin TODO : Checked
|
||||||
sta DX
|
sta DX
|
||||||
iny
|
bcc .11
|
||||||
lda (ZPMENUPtr),y
|
|
||||||
adc #0
|
|
||||||
sta DX+1
|
sta DX+1
|
||||||
|
|
||||||
jsr MENU.GetIcon
|
.11 jsr MENU.GetIcon
|
||||||
beq .2
|
beq .2
|
||||||
|
|
||||||
jsr DRAW.YABMAtDXDY
|
jsr DRAW.YABMAtDXDY
|
||||||
|
|
||||||
.2 lda DX
|
.2 lda DX
|
||||||
clc
|
clc
|
||||||
adc IY Icon reserved W
|
ldy #S.MENU.tOffset
|
||||||
|
adc (ZPPtr1),y
|
||||||
sta DX
|
sta DX
|
||||||
|
|
||||||
lda DX+1
|
bcc .21
|
||||||
adc #0
|
|
||||||
sta DX+1
|
|
||||||
|
|
||||||
jsr MENU.GetText
|
inc DX+1
|
||||||
|
|
||||||
|
.21 jsr MENU.GetText
|
||||||
|
|
||||||
ldx hSYSFON
|
ldx hSYSFON
|
||||||
jsr DRAW.YATextAtDXDY
|
jsr DRAW.YATextAtDXDY
|
||||||
|
|
||||||
lda DX
|
lda DX
|
||||||
sec
|
sec
|
||||||
adc IE
|
ldy #S.MENU.tOffset
|
||||||
|
adc (ZPPtr1),y
|
||||||
sta DX
|
sta DX
|
||||||
lda DX+1
|
lda DX+1
|
||||||
adc IE+1
|
iny
|
||||||
|
adc (ZPPtr1),y
|
||||||
sta DX+1
|
sta DX+1
|
||||||
|
|
||||||
jsr MENU.GetKeyString
|
jsr MENU.GetKeyString
|
||||||
@@ -531,17 +616,24 @@ MENU.Show.Item ldy #S.MITEM.F
|
|||||||
|
|
||||||
lda DX
|
lda DX
|
||||||
sec
|
sec
|
||||||
adc INE
|
ldy #S.MENU.rOffset
|
||||||
|
adc (ZPPtr1),y
|
||||||
sta DX
|
sta DX
|
||||||
lda DX+1
|
lda DX+1
|
||||||
adc IE+1
|
iny
|
||||||
sta DX+1
|
adc (ZPPtr1),y
|
||||||
|
sta DX+1
|
||||||
|
|
||||||
ldx #BM.ID.RIGHT
|
ldx #BM.ID.RIGHT
|
||||||
>LDYA L.BMs,x
|
>LDYA L.BMs,x
|
||||||
jsr DRAW.YABMAtDXDY
|
jsr DRAW.YABMAtDXDY
|
||||||
|
|
||||||
.8 clc
|
.8 lda DY
|
||||||
|
bne .80
|
||||||
|
dec DY+1
|
||||||
|
|
||||||
|
.80 dec DY
|
||||||
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MENU.GetIcon ldy #S.MITEM.pICON+1
|
MENU.GetIcon ldy #S.MITEM.pICON+1
|
||||||
@@ -586,10 +678,8 @@ MENU.GetKeyString
|
|||||||
|
|
||||||
.8 rts
|
.8 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MENU.Save jsr CB.ClearCache
|
MENU.Save lda #S.CB.CMD.GETRECTBUFSIZE
|
||||||
|
jsr CB.InitCacheA
|
||||||
lda #S.CB.CMD.GETRECTBUFSIZE
|
|
||||||
sta CB.Cache+S.CB.CMD
|
|
||||||
|
|
||||||
ldy #S.OBJ.X1
|
ldy #S.OBJ.X1
|
||||||
ldx #0
|
ldx #0
|
||||||
@@ -641,7 +731,12 @@ MENU.Destroy ldx MENU.Stack.Top
|
|||||||
>SYSCALL GetMemPtr
|
>SYSCALL GetMemPtr
|
||||||
>STYA ZPMENUPtr
|
>STYA ZPMENUPtr
|
||||||
|
|
||||||
jsr CB.ClearCache
|
bit CUR.bVisible
|
||||||
|
bpl .3
|
||||||
|
|
||||||
|
jsr HideCursor.I
|
||||||
|
|
||||||
|
.3 jsr CB.ClearCache
|
||||||
|
|
||||||
lda #S.CB.CMD.BITBLT
|
lda #S.CB.CMD.BITBLT
|
||||||
sta CB.Cache+S.CB.CMD
|
sta CB.Cache+S.CB.CMD
|
||||||
@@ -682,10 +777,100 @@ MENU.Destroy ldx MENU.Stack.Top
|
|||||||
lda MENU.Stack-1,x
|
lda MENU.Stack-1,x
|
||||||
>SYSCALL2 FreeMem
|
>SYSCALL2 FreeMem
|
||||||
dec MENU.Stack.Top
|
dec MENU.Stack.Top
|
||||||
|
|
||||||
|
bit CUR.bVisible
|
||||||
|
bpl .8
|
||||||
|
|
||||||
|
jsr ShowCursor.I
|
||||||
|
|
||||||
.8 clc
|
.8 clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
MENU.GetDX ldy #S.OBJ.X1
|
||||||
|
lda (ZPMENUPtr),y
|
||||||
|
clc
|
||||||
|
adc #1
|
||||||
|
sta DX
|
||||||
|
iny
|
||||||
|
lda (ZPMENUPtr),y
|
||||||
|
adc #0
|
||||||
|
sta DX+1
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
MENU.GetDYW ldy #S.OBJ.Y1
|
||||||
|
lda (ZPMENUPtr),y
|
||||||
|
clc
|
||||||
|
adc #1
|
||||||
|
sta DY
|
||||||
|
iny
|
||||||
|
lda (ZPMENUPtr),y
|
||||||
|
adc #0
|
||||||
|
sta DY+1
|
||||||
|
|
||||||
|
ldy #S.OBJ.W
|
||||||
|
lda (ZPMENUPtr),y
|
||||||
|
sec
|
||||||
|
sbc #3 2Px border + correction from W
|
||||||
|
sta Counter
|
||||||
|
iny
|
||||||
|
lda (ZPMENUPtr),y
|
||||||
|
sbc #0
|
||||||
|
sta Counter+1
|
||||||
|
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
MENU.FindMItemByID
|
||||||
|
jsr MENU.GetMItems
|
||||||
|
|
||||||
|
.1 lda (ZPPtr1)
|
||||||
|
beq .9
|
||||||
|
|
||||||
|
txa
|
||||||
|
ldy #S.MITEM.ID
|
||||||
|
cmp (ZPPtr1),y
|
||||||
|
beq .8
|
||||||
|
|
||||||
|
jsr MENU.NextMItem
|
||||||
|
bra .1
|
||||||
|
|
||||||
|
.8 clc
|
||||||
|
rts
|
||||||
|
|
||||||
|
.9 sec
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
MENU.GetMItems ldy #S.MENU.MITEMS
|
||||||
|
lda (ZPMENUPtr),y
|
||||||
|
sta ZPPtr1
|
||||||
|
iny
|
||||||
|
lda (ZPMENUPtr),y
|
||||||
|
sta ZPPtr1+1
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
MENU.NextMItem ldy #S.MITEM.F
|
||||||
|
lda (ZPPtr1),y
|
||||||
|
sec
|
||||||
|
eor #S.MITEM.F.SEP
|
||||||
|
beq .1
|
||||||
|
|
||||||
|
lda SYSFON.Hp2
|
||||||
|
clc
|
||||||
|
|
||||||
|
.1 adc DY
|
||||||
|
sta DY
|
||||||
|
bcc .2
|
||||||
|
|
||||||
|
inc DY+1
|
||||||
|
|
||||||
|
.2 lda (ZPPtr1)
|
||||||
|
clc
|
||||||
|
adc ZPPtr1
|
||||||
|
sta ZPPtr1
|
||||||
|
bcc .8
|
||||||
|
inc ZPPtr1+1
|
||||||
|
|
||||||
|
.8 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
|
||||||
|
@@ -1,8 +1,7 @@
|
|||||||
NEW
|
NEW
|
||||||
AUTO 3,1
|
AUTO 3,1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MOU.Init
|
MOU.Init >PUSHBI 0
|
||||||
.1 >PUSHBI 0
|
|
||||||
>LDYA L.DEVNAME.MOUSE
|
>LDYA L.DEVNAME.MOUSE
|
||||||
>SYSCALL2 open
|
>SYSCALL2 open
|
||||||
bcc .2
|
bcc .2
|
||||||
@@ -10,8 +9,9 @@ MOU.Init
|
|||||||
inc DEVNAME.MOUSE+8
|
inc DEVNAME.MOUSE+8
|
||||||
lda DEVNAME.MOUSE+8
|
lda DEVNAME.MOUSE+8
|
||||||
cmp #'8'
|
cmp #'8'
|
||||||
bne .1
|
bne MOU.Init
|
||||||
|
|
||||||
|
* sec
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.2 sta hDevMouse
|
.2 sta hDevMouse
|
||||||
@@ -66,7 +66,7 @@ MOU.ReadMouse >PULLW ZPPtr1
|
|||||||
bne .9 no, exit....
|
bne .9 no, exit....
|
||||||
|
|
||||||
lda hDevMouse
|
lda hDevMouse
|
||||||
beq .9
|
beq .99 CS
|
||||||
|
|
||||||
>PUSHA
|
>PUSHA
|
||||||
>PUSHBI IOCTL.READ
|
>PUSHBI IOCTL.READ
|
||||||
@@ -86,42 +86,30 @@ MOU.ReadMouse >PULLW ZPPtr1
|
|||||||
bit #S.MOUSE.S.MOVE
|
bit #S.MOUSE.S.MOVE
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
.2 ldx MENU.Stack.Top
|
|
||||||
beq .3
|
|
||||||
|
|
||||||
lda MENU.Stack-1,x
|
|
||||||
jsr MOU.CheckOverMenu
|
jsr MOU.CheckOverMenu
|
||||||
bcc .8
|
bcc .8
|
||||||
|
|
||||||
jsr MENU.Destroy
|
|
||||||
|
|
||||||
bra .2
|
|
||||||
|
|
||||||
.9 sec
|
|
||||||
.99 rts
|
|
||||||
|
|
||||||
.3 jsr MOU.CheckOverWND
|
jsr MOU.CheckOverSysBut
|
||||||
bcc .8
|
bcc .8
|
||||||
|
|
||||||
.4 lda WND.SysBar+S.OBJ.Y1
|
jsr MOU.CheckOverWND
|
||||||
|
bcc .8
|
||||||
|
rts
|
||||||
|
|
||||||
ldy #S.MOUSE.Y1
|
|
||||||
cmp (ZPPtr1),y
|
|
||||||
lda WND.SysBar+S.OBJ.Y1+1
|
|
||||||
iny
|
|
||||||
sbc (ZPPtr1),y
|
|
||||||
bcs .7
|
|
||||||
|
|
||||||
jmp SYSBAR.Enter
|
|
||||||
|
|
||||||
.7 jmp SYSBAR.Leave
|
|
||||||
|
|
||||||
.8 clc
|
.8 clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
.9 sec
|
||||||
|
.99 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MOU.CheckOverMenu
|
MOU.CheckOverMenu
|
||||||
|
.1 ldx MENU.Stack.Top
|
||||||
|
beq .9
|
||||||
|
|
||||||
|
lda MENU.Stack-1,x
|
||||||
|
|
||||||
>SYSCALL GetMemPtr
|
>SYSCALL GetMemPtr
|
||||||
>STYA ZPPtr1
|
>STYA ZPMENUPtr
|
||||||
pha
|
pha
|
||||||
tya
|
tya
|
||||||
clc
|
clc
|
||||||
@@ -130,17 +118,34 @@ MOU.CheckOverMenu
|
|||||||
pla
|
pla
|
||||||
adc /S.OBJ.X1
|
adc /S.OBJ.X1
|
||||||
jsr MOU.InRectYA
|
jsr MOU.InRectYA
|
||||||
bcc .8
|
bcs .2
|
||||||
|
|
||||||
lda ZPPtr1
|
jmp MENU.Enter
|
||||||
|
|
||||||
|
.2 lda ZPMENUPtr
|
||||||
clc
|
clc
|
||||||
adc #S.MENU.pX1
|
adc #S.MENU.pX1
|
||||||
tay
|
tay
|
||||||
lda ZPPtr1+1
|
lda ZPMENUPtr+1
|
||||||
adc /S.MENU.pX1
|
adc /S.MENU.pX1
|
||||||
jsr MOU.InRectYA
|
|
||||||
|
|
||||||
.8 rts
|
jsr MOU.InRectYA
|
||||||
|
bcc .8
|
||||||
|
|
||||||
|
jsr MENU.Destroy
|
||||||
|
|
||||||
|
bra .1
|
||||||
|
|
||||||
|
.9 sec
|
||||||
|
.8 rts
|
||||||
|
*--------------------------------------
|
||||||
|
MOU.CheckOverSysBut
|
||||||
|
>LDYA L.RECT.SysBut
|
||||||
|
jsr MOU.InRectYA
|
||||||
|
bcs .9
|
||||||
|
jmp SYSBUT.Enter
|
||||||
|
|
||||||
|
.9 jmp SYSBUT.Leave
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MOU.CheckOverWND
|
MOU.CheckOverWND
|
||||||
ldx WND.Stack.Top
|
ldx WND.Stack.Top
|
||||||
|
@@ -1,47 +1,56 @@
|
|||||||
NEW
|
NEW
|
||||||
AUTO 3,1
|
AUTO 3,1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SYSBAR.Enter ldy #S.MOUSE.X1
|
SYSBUT.Enter ldy #S.MOUSE.X1
|
||||||
lda (ZPPtr1),y
|
lda (ZPPtr1),y
|
||||||
cmp WND.SysBar.A2osX.X2
|
cmp RECT.SysBut+S.RECT.X2
|
||||||
iny
|
iny
|
||||||
|
|
||||||
lda (ZPPtr1),y
|
lda (ZPPtr1),y
|
||||||
sbc WND.SysBar.A2osX.X2+1
|
sbc RECT.SysBut+S.RECT.X2+1
|
||||||
bcs .8
|
bcs .8
|
||||||
|
|
||||||
sec
|
sec
|
||||||
ror WND.SYSBAR.bA2osX
|
ror WND.SYSBAR.bSysBut
|
||||||
|
|
||||||
jsr GetCBBuf
|
jsr GetCBBuf
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
jsr SYSBAR.Show.A2osX
|
jsr SYSBAR.ShowSysBut
|
||||||
|
|
||||||
>LDYA L.WND.SysBar
|
>LDYA L.WND.SysBar
|
||||||
jsr DrawCBPtrToYA1
|
jsr DrawCBPtrToYA1
|
||||||
|
|
||||||
>PUSHW WND.SysBar+S.OBJ.X1
|
>PUSHW WND.SysBar+S.OBJ.X1
|
||||||
>PUSHW WND.SysBar+S.OBJ.Y1
|
>PUSHW WND.SysBar+S.OBJ.Y1
|
||||||
>PUSHW L.RECT.SysBut
|
>PUSHW L.RECT.SysBut Parent RECT
|
||||||
>PUSHW L.MENU.Sys
|
>PUSHW L.MENU.Sys
|
||||||
jsr MENU.New
|
jsr MENU.New
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
|
sta hSysMenu
|
||||||
|
|
||||||
|
>PUSHA hSysMenu
|
||||||
|
>PUSHBI 6
|
||||||
|
>PUSHBI S.MITEM.pMENU
|
||||||
|
>PUSHW L.MENU.Sys.Settings
|
||||||
|
jsr MENU.SetMItemProp
|
||||||
|
|
||||||
|
lda hSysMenu
|
||||||
jsr MENU.Show
|
jsr MENU.Show
|
||||||
|
|
||||||
.8 clc
|
.8 clc
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SYSBAR.Leave bit WND.SYSBAR.bA2osX
|
SYSBUT.Leave bit WND.SYSBAR.bSysBut
|
||||||
bpl .8
|
bpl .8
|
||||||
|
|
||||||
stz WND.SYSBAR.bA2osX
|
stz WND.SYSBAR.bSysBut
|
||||||
|
|
||||||
jsr GetCBBuf
|
jsr GetCBBuf
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
jsr SYSBAR.Show.A2osX
|
jsr SYSBAR.ShowSysBut
|
||||||
|
|
||||||
>LDYA L.WND.SysBar
|
>LDYA L.WND.SysBar
|
||||||
|
|
||||||
@@ -53,9 +62,11 @@ SYSBAR.Leave bit WND.SYSBAR.bA2osX
|
|||||||
SYSBAR.Show jsr GetCBBuf
|
SYSBAR.Show jsr GetCBBuf
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
jsr SYSBAR.Show.A2osX
|
jsr SYSBAR.ShowSysBut
|
||||||
|
|
||||||
jsr SYSBAR.Show.W
|
jsr SYSBAR.ShowSysWNDs
|
||||||
|
|
||||||
|
jsr SYSBAR.ShowSysClk
|
||||||
|
|
||||||
>LDYA L.WND.SysBar
|
>LDYA L.WND.SysBar
|
||||||
|
|
||||||
@@ -63,232 +74,115 @@ SYSBAR.Show jsr GetCBBuf
|
|||||||
|
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SYSBAR.Show.A2osX
|
SYSBAR.ShowSysBut
|
||||||
lda #S.CB.CMD.FILLRECT
|
lda #S.CB.CMD.FILLRECT
|
||||||
jsr PutA2CBBuf
|
jsr CB.InitCacheA
|
||||||
|
|
||||||
lda #S.CB.OP.SET
|
lda #S.CB.OP.SET
|
||||||
jsr PutA2CBBuf
|
sta CB.Cache+S.CB.OP
|
||||||
|
|
||||||
lda #S.CB.M.MONO
|
lda #S.CB.M.MONO
|
||||||
jsr PutA2CBBuf
|
sta CB.Cache+S.CB.M
|
||||||
|
|
||||||
lda PREFS.SYSBARCOLOR
|
lda PREFS.SYSBARCOLOR
|
||||||
bit WND.SysBar.bA2osX
|
bit WND.SysBar.bSysBut
|
||||||
bpl .1
|
bpl .1
|
||||||
|
|
||||||
eor #$ff
|
eor #$ff
|
||||||
|
|
||||||
.1 jsr PutA2CBBuf
|
.1 sta CB.Cache+S.CB.COLOR
|
||||||
|
|
||||||
lda #0 X1
|
ldx #S.RECT-1
|
||||||
jsr PutA2CBBuf
|
|
||||||
jsr PutA2CBBuf
|
|
||||||
|
|
||||||
lda WND.SysBar+S.OBJ.Y1
|
|
||||||
jsr PutA2CBBuf
|
|
||||||
lda WND.SysBar+S.OBJ.Y1+1
|
|
||||||
jsr PutA2CBBuf
|
|
||||||
|
|
||||||
lda WND.SysBar.A2osX.X2
|
|
||||||
jsr PutA2CBBuf
|
|
||||||
lda WND.SysBar.A2osX.X2+1
|
|
||||||
jsr PutA2CBBuf
|
|
||||||
|
|
||||||
lda WND.SysBar+S.OBJ.Y2
|
|
||||||
jsr PutA2CBBuf
|
|
||||||
lda WND.SysBar+S.OBJ.Y2+1
|
|
||||||
jsr PutA2CBBuf
|
|
||||||
|
|
||||||
lda WND.SysBar+S.OBJ.X1
|
.2 lda RECT.SysBut,x
|
||||||
|
sta CB.Cache+S.CB.X1,x
|
||||||
|
dex
|
||||||
|
bpl .2
|
||||||
|
|
||||||
|
jsr PutCBCache2CBBuf
|
||||||
|
|
||||||
|
lda RECT.SysBut+S.RECT.X1
|
||||||
clc
|
clc
|
||||||
adc #4
|
adc #4
|
||||||
sta DX
|
sta DX
|
||||||
lda WND.SysBar+S.OBJ.X1+1
|
lda RECT.SysBut+S.RECT.X1+1
|
||||||
adc #0
|
adc #0
|
||||||
sta DX+1
|
sta DX+1
|
||||||
|
|
||||||
lda WND.SysBar+S.OBJ.Y1
|
lda RECT.SysBut+S.RECT.Y1
|
||||||
clc
|
clc
|
||||||
adc #1
|
adc #1
|
||||||
sta DY
|
sta DY
|
||||||
lda WND.SysBar+S.OBJ.Y1+1
|
lda RECT.SysBut+S.RECT.Y1+1
|
||||||
adc #0
|
adc #0
|
||||||
sta DY+1
|
sta DY+1
|
||||||
|
|
||||||
>LDYA L.BM.Apple
|
>LDYA L.BM.Apple
|
||||||
jsr DRAW.YABMAtDXDY
|
jsr DRAW.YABMAtDXDY
|
||||||
|
|
||||||
lda WND.SysBar+S.OBJ.X1
|
lda RECT.SysBut+S.RECT.X1
|
||||||
clc
|
clc
|
||||||
adc #21
|
adc #21
|
||||||
sta DX
|
sta DX
|
||||||
lda WND.SysBar+S.OBJ.X1+1
|
lda RECT.SysBut+S.RECT.X1+1
|
||||||
adc #0
|
adc #0
|
||||||
sta DX+1
|
sta DX+1
|
||||||
|
|
||||||
inc DY
|
inc DY
|
||||||
bne .2
|
bne .3
|
||||||
|
|
||||||
inc DY+1
|
inc DY+1
|
||||||
|
|
||||||
.2 lda WND.SysBar.bA2osX
|
.3 lda WND.SysBar.bSysBut
|
||||||
asl
|
asl
|
||||||
|
|
||||||
>LDYA L.WND.SysBar.2osX
|
>LDYA L.WND.SysBar.2osX
|
||||||
ldx hSYSFON
|
ldx hSYSFON
|
||||||
jsr DRAW.YATextAtDXDY
|
jmp DRAW.YATextAtDXDY
|
||||||
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SYSBAR.Show.W lda #S.CB.CMD.FILLRECT
|
SYSBAR.ShowSysWNDs
|
||||||
jsr PutA2CBBuf
|
lda #S.CB.CMD.FILLRECT
|
||||||
|
jsr CB.InitCacheA
|
||||||
|
|
||||||
lda #S.CB.OP.SET
|
lda #S.CB.OP.SET
|
||||||
jsr PutA2CBBuf
|
sta CB.Cache+S.CB.OP
|
||||||
|
|
||||||
lda #S.CB.M.MONO
|
lda #S.CB.M.MONO
|
||||||
jsr PutA2CBBuf
|
sta CB.Cache+S.CB.M
|
||||||
|
|
||||||
lda PREFS.SYSBARCOLOR
|
lda PREFS.SYSBARCOLOR
|
||||||
jsr PutA2CBBuf
|
sta CB.Cache+S.CB.COLOR
|
||||||
|
|
||||||
lda WND.SysBar.W.X1
|
ldx #S.RECT-1
|
||||||
jsr PutA2CBBuf
|
|
||||||
lda WND.SysBar.W.X1+1
|
|
||||||
jsr PutA2CBBuf
|
|
||||||
|
|
||||||
lda WND.SysBar+S.OBJ.Y1
|
.1 lda RECT.SysWNDs,x
|
||||||
jsr PutA2CBBuf
|
sta CB.Cache+S.CB.X1,x
|
||||||
lda WND.SysBar+S.OBJ.Y1+1
|
|
||||||
jsr PutA2CBBuf
|
|
||||||
|
|
||||||
lda WND.SysBar.W.X2
|
|
||||||
jsr PutA2CBBuf
|
|
||||||
lda WND.SysBar.W.X2+1
|
|
||||||
jsr PutA2CBBuf
|
|
||||||
|
|
||||||
lda WND.SysBar+S.OBJ.Y2
|
|
||||||
jsr PutA2CBBuf
|
|
||||||
lda WND.SysBar+S.OBJ.Y2+1
|
|
||||||
jmp PutA2CBBuf
|
|
||||||
*--------------------------------------
|
|
||||||
DRAW.YABMAtDXDY >STYA ZPBMPtr Src BM
|
|
||||||
|
|
||||||
lda #S.CB.CMD.BITBLT
|
|
||||||
jsr PutA2CBBuf
|
|
||||||
lda #S.CB.OP.MASK+S.CB.OP.ORA+S.CB.OP.COLOR
|
|
||||||
jsr PutA2CBBuf
|
|
||||||
lda #S.CB.M.C16
|
|
||||||
jsr PutA2CBBuf
|
|
||||||
|
|
||||||
lda #0
|
|
||||||
jsr PutA2CBBuf
|
|
||||||
|
|
||||||
ldx #4
|
|
||||||
|
|
||||||
ldy #0
|
|
||||||
|
|
||||||
.1 lda DX,y S.CB.X1,S.CB.Y1
|
|
||||||
jsr PutA2CBBuf
|
|
||||||
iny
|
|
||||||
dex
|
dex
|
||||||
bne .1
|
bpl .1
|
||||||
|
|
||||||
lda #0 S.CB.X2
|
jmp PutCBCache2CBBuf
|
||||||
jsr PutA2CBBuf
|
*--------------------------------------
|
||||||
jsr PutA2CBBuf
|
SYSBAR.ShowSysClk
|
||||||
|
lda #S.CB.CMD.FILLRECT
|
||||||
jsr PutA2CBBuf S.CB.Y2
|
jsr CB.InitCacheA
|
||||||
jsr PutA2CBBuf
|
|
||||||
|
lda #S.CB.OP.SET
|
||||||
jsr PutA2CBBuf S.CB.SrcX
|
sta CB.Cache+S.CB.OP
|
||||||
jsr PutA2CBBuf
|
|
||||||
|
|
||||||
jsr PutA2CBBuf S.CB.SrcY
|
|
||||||
jsr PutA2CBBuf
|
|
||||||
|
|
||||||
ldx #4
|
|
||||||
|
|
||||||
ldy #S.BM.W
|
|
||||||
|
|
||||||
.2 lda (ZPBMPtr),y S.CB.SrcW,S.CB.SrcH
|
|
||||||
jsr PutA2CBBuf
|
|
||||||
iny
|
|
||||||
dex
|
|
||||||
bne .2
|
|
||||||
|
|
||||||
lda ZPBMPtr S.CB.SrcPtr
|
|
||||||
jsr PutA2CBBuf
|
|
||||||
|
|
||||||
lda ZPBMPtr+1
|
|
||||||
jsr PutA2CBBuf
|
|
||||||
|
|
||||||
lda #0 S.CB.DstPtr
|
|
||||||
jsr PutA2CBBuf
|
|
||||||
jsr PutA2CBBuf
|
|
||||||
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
|
||||||
DRAW.YATextAtDXDY
|
|
||||||
pha Src Text
|
|
||||||
phy
|
|
||||||
|
|
||||||
lda #S.CB.CMD.DRAWTEXT2
|
|
||||||
jsr PutA2CBBuf
|
|
||||||
|
|
||||||
lda #0
|
|
||||||
ror
|
|
||||||
eor #$80
|
|
||||||
ora #S.CB.OP.SET
|
|
||||||
|
|
||||||
* lda #S.CB.OP.XOR
|
|
||||||
jsr PutA2CBBuf
|
|
||||||
|
|
||||||
lda #S.CB.M.MONO
|
lda #S.CB.M.MONO
|
||||||
jsr PutA2CBBuf
|
sta CB.Cache+S.CB.M
|
||||||
|
|
||||||
txa
|
lda PREFS.SYSBARCOLOR
|
||||||
jsr PutA2CBBuf S.CB.hFont
|
sta CB.Cache+S.CB.COLOR
|
||||||
|
|
||||||
ldy #0
|
ldx #S.RECT-1
|
||||||
ldx #4
|
|
||||||
|
.1 lda RECT.SysClk,x
|
||||||
.1 lda DX,y DX,DY -> S.CB.X1,S.CB.Y1
|
sta CB.Cache+S.CB.X1,x
|
||||||
jsr PutA2CBBuf
|
|
||||||
iny
|
|
||||||
dex
|
dex
|
||||||
bne .1
|
bpl .1
|
||||||
|
|
||||||
lda #0
|
|
||||||
jsr PutA2CBBuf S.CB.X2
|
|
||||||
jsr PutA2CBBuf
|
|
||||||
|
|
||||||
jsr PutA2CBBuf S.CB.Y2
|
|
||||||
jsr PutA2CBBuf
|
|
||||||
|
|
||||||
jsr PutA2CBBuf S.CB.SrcX
|
|
||||||
jsr PutA2CBBuf
|
|
||||||
|
|
||||||
jsr PutA2CBBuf S.CB.SrcY
|
|
||||||
jsr PutA2CBBuf
|
|
||||||
|
|
||||||
jsr PutA2CBBuf S.CB.SrcW
|
|
||||||
jsr PutA2CBBuf
|
|
||||||
|
|
||||||
jsr PutA2CBBuf S.CB.SrcH
|
jmp PutCBCache2CBBuf
|
||||||
jsr PutA2CBBuf
|
|
||||||
|
|
||||||
jsr PutA2CBBuf S.CB.SrcPtr
|
|
||||||
jsr PutA2CBBuf
|
|
||||||
|
|
||||||
jsr PutA2CBBuf S.CB.DstPtr
|
|
||||||
jsr PutA2CBBuf
|
|
||||||
|
|
||||||
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
|
||||||
|
@@ -20,7 +20,9 @@ WND.Init >PUSHBI 0
|
|||||||
|
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
WND.Setup stz WND.Stack.Top
|
WND.Setup
|
||||||
|
* stz WND.Stack.Top
|
||||||
|
* stz MENU.Stack.Top
|
||||||
|
|
||||||
>LDYA DCB.GFX+S.DCB.GFX.W
|
>LDYA DCB.GFX+S.DCB.GFX.W
|
||||||
>STYA WND.Screen+S.OBJ.W
|
>STYA WND.Screen+S.OBJ.W
|
||||||
@@ -36,7 +38,17 @@ WND.Setup stz WND.Stack.Top
|
|||||||
sec
|
sec
|
||||||
sbc WND.SysBar+S.OBJ.H
|
sbc WND.SysBar+S.OBJ.H
|
||||||
sta WND.Desktop+S.OBJ.H
|
sta WND.Desktop+S.OBJ.H
|
||||||
|
|
||||||
sta WND.SysBar+S.OBJ.Y1
|
sta WND.SysBar+S.OBJ.Y1
|
||||||
|
sta RECT.SysBut+S.RECT.Y1
|
||||||
|
sta RECT.SysWNDs+S.RECT.Y1
|
||||||
|
sta RECT.SysClk+S.RECT.Y1
|
||||||
|
|
||||||
|
lda DCB.GFX+S.DCB.GFX.H
|
||||||
|
dec
|
||||||
|
sta RECT.SysBut+S.RECT.Y2
|
||||||
|
sta RECT.SysWNDs+S.RECT.Y2
|
||||||
|
sta RECT.SysClk+S.RECT.Y2
|
||||||
|
|
||||||
>LDYA L.WND.Screen
|
>LDYA L.WND.Screen
|
||||||
>STYA WND.Desktop+S.OBJ.hPARENT
|
>STYA WND.Desktop+S.OBJ.hPARENT
|
||||||
@@ -56,15 +68,36 @@ WND.Setup stz WND.Stack.Top
|
|||||||
lda CB.Cache+S.CB.SrcW
|
lda CB.Cache+S.CB.SrcW
|
||||||
clc
|
clc
|
||||||
adc #24 4 + BM width + 4
|
adc #24 4 + BM width + 4
|
||||||
sta WND.SysBar.W.X1
|
sta RECT.SysBut+S.RECT.X2
|
||||||
|
sta RECT.SysWNDs+S.RECT.X1
|
||||||
|
|
||||||
>LDYA L.WND.Screen+S.OBJ.X2
|
>LDYA L.WND.SysBar.Clk
|
||||||
>STYA WND.SysBar.W.X2
|
ldx hSYSFON
|
||||||
|
jsr FON.GetTextSize
|
||||||
lda #CUR.T.ARROW
|
|
||||||
sta WND.Desktop+S.WND.hCUR
|
|
||||||
sta WND.SysBar+S.WND.hCUR
|
|
||||||
|
|
||||||
|
lda CB.Cache+S.CB.SrcW
|
||||||
|
sec for sbc below
|
||||||
|
adc #8 4 + 00:00 + 4
|
||||||
|
sta RECT.SysWNDs+S.RECT.X2
|
||||||
|
|
||||||
|
lda DCB.GFX+S.DCB.GFX.W
|
||||||
|
sec
|
||||||
|
sbc RECT.SysWNDs+S.RECT.X2
|
||||||
|
sta RECT.SysWNDs+S.RECT.X2
|
||||||
|
sta RECT.SysClk+S.RECT.X1
|
||||||
|
lda DCB.GFX+S.DCB.GFX.W+1
|
||||||
|
sbc #0
|
||||||
|
sta RECT.SysWNDs+S.RECT.X2+1
|
||||||
|
sta RECT.SysClk+S.RECT.X1+1
|
||||||
|
|
||||||
|
lda DCB.GFX+S.DCB.GFX.W
|
||||||
|
sec
|
||||||
|
sbc #0
|
||||||
|
sta RECT.SysClk+S.RECT.X2
|
||||||
|
lda DCB.GFX+S.DCB.GFX.W
|
||||||
|
sbc #0
|
||||||
|
sta RECT.SysClk+S.RECT.X2+1
|
||||||
|
|
||||||
jsr SYSBAR.Show
|
jsr SYSBAR.Show
|
||||||
|
|
||||||
rts
|
rts
|
||||||
|
@@ -86,17 +86,18 @@ ZPBMPtr .BS 2
|
|||||||
ZPRECTPtr .BS 2
|
ZPRECTPtr .BS 2
|
||||||
ZPPtr1 .BS 2
|
ZPPtr1 .BS 2
|
||||||
|
|
||||||
CLIP.Line.P1 .BS 1
|
|
||||||
CLIP.Line.P2 .BS 1
|
|
||||||
DX .BS 2
|
DX .BS 2
|
||||||
DY .BS 2
|
DY .BS 2
|
||||||
IY .BS 1
|
|
||||||
|
|
||||||
IE .BS 2
|
IE .BS 2
|
||||||
D .BS 2
|
|
||||||
INE .BS 2
|
INE .BS 2
|
||||||
|
|
||||||
|
D .BS 2
|
||||||
Counter .BS 2
|
Counter .BS 2
|
||||||
|
|
||||||
|
CLIP.Line.P1 .BS 1
|
||||||
|
CLIP.Line.P2 .BS 1
|
||||||
|
IY .BS 1
|
||||||
|
|
||||||
hCBBuf .BS 1
|
hCBBuf .BS 1
|
||||||
ZPCBBufPtr .BS 2
|
ZPCBBufPtr .BS 2
|
||||||
|
|
||||||
@@ -149,10 +150,12 @@ L.WND.Screen .DA WND.Screen
|
|||||||
L.WND.Desktop .DA WND.Desktop
|
L.WND.Desktop .DA WND.Desktop
|
||||||
L.WND.SysBar .DA WND.SysBar
|
L.WND.SysBar .DA WND.SysBar
|
||||||
L.WND.SysBar.2osX .DA WND.SysBar.2osX
|
L.WND.SysBar.2osX .DA WND.SysBar.2osX
|
||||||
|
L.WND.SysBar.Clk .DA WND.SysBar.Clk
|
||||||
L.RECT.SysBut .DA RECT.SysBut
|
L.RECT.SysBut .DA RECT.SysBut
|
||||||
L.RECT.SysWNDs .DA RECT.SysWNDs
|
L.RECT.SysWNDs .DA RECT.SysWNDs
|
||||||
L.RECT.SysClk .DA RECT.SysClk
|
L.RECT.SysClk .DA RECT.SysClk
|
||||||
L.MENU.Sys .DA MENU.Sys
|
L.MENU.Sys .DA MENU.Sys
|
||||||
|
L.MENU.Sys.Settings .DA MENU.Sys.Settings
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
L.BMs .EQ *-2
|
L.BMs .EQ *-2
|
||||||
L.BM.Apple .DA BM.Apple
|
L.BM.Apple .DA BM.Apple
|
||||||
@@ -227,11 +230,13 @@ LIB.UNLOAD dec LibCount
|
|||||||
.8 clc
|
.8 clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
CB.InitCacheA sta CB.Cache
|
||||||
|
*--------------------------------------
|
||||||
CB.ClearCache ldx #S.CB-1
|
CB.ClearCache ldx #S.CB-1
|
||||||
|
|
||||||
.1 stz CB.Cache,x
|
.1 stz CB.Cache,x
|
||||||
dex
|
dex
|
||||||
bpl .1
|
bne .1
|
||||||
|
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@@ -428,12 +433,9 @@ 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.A2osX.X2 .EQ *
|
|
||||||
WND.SysBar.W.X1 .BS 2
|
|
||||||
WND.SysBar.W.X2 .EQ *
|
|
||||||
WND.SysBar.Time.X1 .BS 2
|
|
||||||
WND.SysBar.bA2osX .BS 1
|
|
||||||
WND.SysBar.2osX .AZ "2osX"
|
WND.SysBar.2osX .AZ "2osX"
|
||||||
|
WND.SysBar.Clk .AZ "00:00"
|
||||||
|
WND.SysBar.bSysBut .BS 1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
RECT.SysBut .BS S.RECT
|
RECT.SysBut .BS S.RECT
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@@ -441,6 +443,7 @@ RECT.SysWNDs .BS S.RECT
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
RECT.SysClk .BS S.RECT
|
RECT.SysClk .BS S.RECT
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
hSysMenu .BS 1
|
||||||
MENU.Sys
|
MENU.Sys
|
||||||
.1 .DA #.2-* next
|
.1 .DA #.2-* next
|
||||||
.DA #S.MITEM.F.ITEM F
|
.DA #S.MITEM.F.ITEM F
|
||||||
@@ -460,7 +463,7 @@ MENU.Sys
|
|||||||
.3 .DA #.4-* next
|
.3 .DA #.4-* next
|
||||||
.DA #S.MITEM.F.SUBMENU F
|
.DA #S.MITEM.F.SUBMENU F
|
||||||
.DA #0 S
|
.DA #0 S
|
||||||
.DA #0 ID
|
.DA #4 ID
|
||||||
.DA 0 pICON
|
.DA 0 pICON
|
||||||
.DA 0 pMENU
|
.DA 0 pMENU
|
||||||
.DA #0
|
.DA #0
|
||||||
@@ -469,7 +472,7 @@ MENU.Sys
|
|||||||
.4 .DA #.5-* next
|
.4 .DA #.5-* next
|
||||||
.DA #S.MITEM.F.SUBMENU F
|
.DA #S.MITEM.F.SUBMENU F
|
||||||
.DA #0 S
|
.DA #0 S
|
||||||
.DA #0 ID
|
.DA #6 ID
|
||||||
.DA 0 pICON
|
.DA 0 pICON
|
||||||
.DA 0 pMENU
|
.DA 0 pMENU
|
||||||
.DA #0 KEYSTR
|
.DA #0 KEYSTR
|
||||||
@@ -500,15 +503,40 @@ MENU.Sys
|
|||||||
.77 .AZ "Ctrl-R"
|
.77 .AZ "Ctrl-R"
|
||||||
.8 .DA #0
|
.8 .DA #0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
MENU.Sys.Settings
|
||||||
|
.1 .DA #.2-* next
|
||||||
|
.DA #S.MITEM.F.ITEM F
|
||||||
|
.DA #0 S
|
||||||
|
.DA #62 ID
|
||||||
|
.DA 0 pICON
|
||||||
|
.DA #0
|
||||||
|
.DA #0
|
||||||
|
.DA #0 KEYSTR
|
||||||
|
.AZ "Colors..."
|
||||||
|
|
||||||
|
.2 .DA #.3-* next
|
||||||
|
.DA #S.MITEM.F.ITEM F
|
||||||
|
.DA #0 S
|
||||||
|
.DA #64 ID
|
||||||
|
.DA 0 pICON
|
||||||
|
.DA #0
|
||||||
|
.DA #0
|
||||||
|
.DA #0 KEYSTR
|
||||||
|
.AZ "SubItem2..."
|
||||||
|
|
||||||
|
.3 .DA #0
|
||||||
|
*--------------------------------------
|
||||||
PREFS.BESTVIEWEDX .DA #$FC
|
PREFS.BESTVIEWEDX .DA #$FC
|
||||||
|
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.MBARXMARGIN .DA #5
|
|
||||||
PREFS.BORDERCOLOR .DA #C.BLACK
|
PREFS.BORDERCOLOR .DA #C.BLACK
|
||||||
PREFS.TBARCOLORA .DA #C16.D.BLUE
|
PREFS.TBARCOLORA .DA #C16.L.BLUE
|
||||||
PREFS.TBARCOLORI .DA #C16.L.BLUE
|
PREFS.TBARCOLORI .DA #C16.AQUA
|
||||||
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
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE usr/src/lib/libgui.s
|
SAVE usr/src/lib/libgui.s
|
||||||
|
Reference in New Issue
Block a user