Kernel 0.94

This commit is contained in:
Rémy GIBERT 2020-10-15 17:19:13 +02:00
parent b69b58ea96
commit fd33c978a0
4 changed files with 80 additions and 17 deletions

Binary file not shown.

View File

@ -97,7 +97,7 @@ MENU.New ldy MENU.Stack.Top
>LDYAI S.MENU >LDYAI S.MENU
>SYSCALL2 getmem >SYSCALL2 getmem
bcs .9 bcs .99
>STYA ZPMENUPtr >STYA ZPMENUPtr
@ -156,12 +156,12 @@ MENU.New ldy MENU.Stack.Top
sta MENU.Stack,x sta MENU.Stack,x
inc MENU.Stack.Top inc MENU.Stack.Top
* clc clc
rts rts
.90 lda #E.OOH .90 lda #E.OOH
sec sec
.9 >POP 10 .99 >POP 8
MENU.New.RTS rts MENU.New.RTS rts
* ---------------------------------------------- * ----------------------------------------------
* |Icon ChkMrk "Menu Item" KEYMOD1-KEYMOD2-KEY>| * |Icon ChkMrk "Menu Item" KEYMOD1-KEYMOD2-KEY>|

View File

@ -70,26 +70,53 @@ MOU.ReadMouse >PULLW ZPPtr1
>PUSHA >PUSHA
>PUSHBI IOCTL.READ >PUSHBI IOCTL.READ
>PUSHW ZPPtr1 >PUSHW L.MouseData
>SYSCALL2 IOCTL >SYSCALL2 IOCTL
bcs .99 bcs .99
ldy #S.MOUSE-1
.1 lda MouseData,y
sta (ZPPtr1),y
dey
bpl .1
ldy #S.MOUSE.S ldy #S.MOUSE.S
lda (ZPPtr1),y lda (ZPPtr1),y
bit #S.MOUSE.S.MOVE bit #S.MOUSE.S.MOVE
beq .8 beq .8
.1 ldx MENU.Stack.Top .2 ldx MENU.Stack.Top
beq .3 beq .3
lda MENU.Stack-1,x lda MENU.Stack-1,x
jsr MOU.InObjA >SYSCALL GetMemPtr
>STYA ZPPtr1
pha
tya
clc
adc #S.OBJ.X1
tay
pla
adc /S.OBJ.X1
jsr MOU.InRectYA
bcc .8
lda ZPPtr1
clc
adc #S.MENU.pX1
tay
lda ZPPtr1+1
adc /S.MENU.pX1
jsr MOU.InRectYA
bcc .8 bcc .8
jsr MENU.Destroy jsr MENU.Destroy
bra .1 bra .2
.9 sec
.99 rts
.3 ldx WND.Stack.Top .3 ldx WND.Stack.Top
beq .4 beq .4
@ -115,8 +142,6 @@ MOU.ReadMouse >PULLW ZPPtr1
.8 clc .8 clc
rts rts
.9 sec
.99 rts
*-------------------------------------- *--------------------------------------
MOU.InObjA >SYSCALL GetMemPtr MOU.InObjA >SYSCALL GetMemPtr
MOU.InObjyA jsr OBJ.GetInCache MOU.InObjyA jsr OBJ.GetInCache
@ -151,16 +176,52 @@ MOU.InObjyA jsr OBJ.GetInCache
iny iny
lda (ZPPtr1),y lda (ZPPtr1),y
cmp OBJ.Cache+S.OBJ.Y2+1 cmp OBJ.Cache+S.OBJ.Y2+1
bcc .99
lda OBJ.Cache+
rts rts
.9 sec .9 sec
.99 rts .99 rts
*-------------------------------------- *--------------------------------------
MOU.InRectYA >STYA ZPRECTPtr
ldy #S.RECT.X1
lda MouseData+S.MOUSE.X1
cmp (ZPRECTPtr),y
iny
lda MouseData+S.MOUSE.X1+1
sbc (ZPRECTPtr),y
bcc .9
iny #S.RECT.Y1
lda MouseData+S.MOUSE.Y1
cmp (ZPRECTPtr),y
iny
lda MouseData+S.MOUSE.Y1+1
sbc (ZPRECTPtr),y
bcc .9
iny #S.RECT.X2
lda MouseData+S.MOUSE.X1
cmp (ZPRECTPtr),y
iny
lda MouseData+S.MOUSE.X1+1
sbc (ZPRECTPtr),y
bcs .99
iny #S.RECT.Y2
lda MouseData+S.MOUSE.Y1
cmp (ZPRECTPtr),y
iny
lda MouseData+S.MOUSE.Y1+1
sbc (ZPRECTPtr),y
rts
.9 sec
.99 rts
*--------------------------------------
MAN MAN
SAVE usr/src/lib/libgui.s.mou SAVE usr/src/lib/libgui.s.mou
LOAD usr/src/lib/libgui.s LOAD usr/src/lib/libgui.s

View File

@ -81,7 +81,10 @@ ZPCBPtr .BS 2
ZPObjPtr .BS 2 ZPObjPtr .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
CLIP.Line.P1 .BS 1 CLIP.Line.P1 .BS 1
CLIP.Line.P2 .BS 1 CLIP.Line.P2 .BS 1
@ -97,8 +100,6 @@ Counter .BS 2
hCBBuf .BS 1 hCBBuf .BS 1
ZPCBBufPtr .BS 2 ZPCBBufPtr .BS 2
ZPPtr1 .BS 2
.ED .ED
*-------------------------------------- *--------------------------------------
* File Header (16 Bytes) * File Header (16 Bytes)
@ -139,6 +140,7 @@ L.SYSX7B .DA SYSX7B
L.IOCTL .DA IOCTL L.IOCTL .DA IOCTL
L.DCB.GFX .DA DCB.GFX L.DCB.GFX .DA DCB.GFX
L.MouseClamp .DA MouseClamp L.MouseClamp .DA MouseClamp
L.MouseData .DA MouseData
L.CB.PTR .DA CB.PTR L.CB.PTR .DA CB.PTR
L.CB.Buf .DA CB.Buf L.CB.Buf .DA CB.Buf
L.CB.Cache .DA CB.Cache L.CB.Cache .DA CB.Cache
@ -394,9 +396,9 @@ PAT.Buf .BS 1 S.BM.F
*-------------------------------------- *--------------------------------------
IOCTL .BS S.IOCTL IOCTL .BS S.IOCTL
DCB.GFX .BS S.DCB.GFX DCB.GFX .BS S.DCB.GFX
MOUSEDATA .BS S.MOUSE
*-------------------------------------- *--------------------------------------
MouseClamp .BS 8 MouseClamp .BS 8
MouseData .BS S.MOUSE
*-------------------------------------- *--------------------------------------
CB.PTR .DA #S.CB.CMD.BITBLT CB.PTR .DA #S.CB.CMD.BITBLT
.BS 1 S.CB.OP .BS 1 S.CB.OP