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

View File

@ -70,26 +70,53 @@ MOU.ReadMouse >PULLW ZPPtr1
>PUSHA
>PUSHBI IOCTL.READ
>PUSHW ZPPtr1
>PUSHW L.MouseData
>SYSCALL2 IOCTL
bcs .99
ldy #S.MOUSE-1
.1 lda MouseData,y
sta (ZPPtr1),y
dey
bpl .1
ldy #S.MOUSE.S
lda (ZPPtr1),y
bit #S.MOUSE.S.MOVE
beq .8
.1 ldx MENU.Stack.Top
.2 ldx MENU.Stack.Top
beq .3
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
jsr MENU.Destroy
bra .1
bra .2
.9 sec
.99 rts
.3 ldx WND.Stack.Top
beq .4
@ -115,8 +142,6 @@ MOU.ReadMouse >PULLW ZPPtr1
.8 clc
rts
.9 sec
.99 rts
*--------------------------------------
MOU.InObjA >SYSCALL GetMemPtr
MOU.InObjyA jsr OBJ.GetInCache
@ -151,16 +176,52 @@ MOU.InObjyA jsr OBJ.GetInCache
iny
lda (ZPPtr1),y
cmp OBJ.Cache+S.OBJ.Y2+1
bcc .99
lda OBJ.Cache+
rts
.9 sec
.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
SAVE usr/src/lib/libgui.s.mou
LOAD usr/src/lib/libgui.s

View File

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