From 46f6a6bf097a627a7afba8eb9bcb13393e266c1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Tue, 13 Oct 2020 17:54:55 +0200 Subject: [PATCH] Kernel 0.94 --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes BIN/GTEST.S.txt | 40 ++++++++-------- DRV/DHGR.DRV.S.BLT.txt | 5 +- DRV/DHGR.DRV.S.RECT.txt | 14 ++++-- INC/LIBGUI.I.txt | 4 +- LIB/LIBGUI.S.MENU.txt | 101 ++++++++++++++------------------------- LIB/LIBGUI.S.MOU.txt | 52 ++++++++++++++++++-- LIB/LIBGUI.S.txt | 54 ++++++++++++--------- 8 files changed, 152 insertions(+), 118 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index b4f5d0f480d0035353e233a1df2d25fd630a52d4..ae3a16073a30c3d4d9e2fafa96ce95acd08d7670 100644 GIT binary patch delta 30580 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 L0@kG({NUFs{ix+^MEu=$g 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 QZ-{;uo`um*$lCaS08GIoLI3~& diff --git a/BIN/GTEST.S.txt b/BIN/GTEST.S.txt index ff64ad19..a34b8627 100644 --- a/BIN/GTEST.S.txt +++ b/BIN/GTEST.S.txt @@ -135,16 +135,18 @@ CS.RUN jsr GFX.Open lda #0 sec -.9 rts +.9 +CS.RUN.RTS rts *-------------------------------------- CS.RUN.LOGO.SHOW - lda #S.CB.CMD.GETRECTBUFSIZE - sta CB.LOGO+S.CB.CMD +* lda #S.CB.CMD.GETRECTBUFSIZE +* sta CB.LOGO+S.CB.CMD >LDYA L.CB.LOGO jsr GFX.Write.YA >SYSCALL NewStkObj + bcs CS.RUN.RTS stx CB.LOGO+S.CB.DstPtr lda #S.CB.CMD.BITBLT @@ -160,7 +162,7 @@ CS.RUN.LOGO.SHOW lda (pPS),y >SYSCALL FEOF - bcs .99 + bcs CS.RUN.RTS tay beq .80 @@ -171,7 +173,7 @@ CS.RUN.LOGO.SHOW stz bVBL - lda #S.CB.OP.SET+S.CB.OP.COLOR+S.CB.OP.RESTORE + lda #S.CB.OP.RESTORE sta CB.LOGO+S.CB.OP >LDYA L.CB.LOGO @@ -208,29 +210,26 @@ CS.RUN.LOGO.SHOW .5 sty CB.LOGO+S.CB.X1 sta CB.LOGO+S.CB.X1+1 - .6 lda CB.LOGO+S.CB.Y1 bit yDir bmi .8 inc - cmp #152 - bne .7 - -.60 lda yDir + sta CB.LOGO+S.CB.Y1 + cmp #151 + bne .1 + +.7 lda yDir eor #$ff sta yDir - bra .1 - -.7 sta CB.LOGO+S.CB.Y1 - bra .1 + jmp .1 .8 sec sbc #1 - bcc .60 - sta CB.LOGO+S.CB.Y1 + beq .7 + jmp .1 .80 >SYSCALL GetChar @@ -238,8 +237,7 @@ CS.RUN.LOGO.SHOW lda CB.LOGO+S.CB.DstPtr >SYSCALL FreeStkObj - -.99 rts + rts *-------------------------------------- CS.DOEVENT lda (pEvent) bpl .9 @@ -468,14 +466,14 @@ BM.Apple.AND .HS FFF0 .HS 0000 .HS 0FF0 *-------------------------------------- -CB.LOGO .DA #S.CB.CMD.BITBLT +CB.LOGO .DA #S.CB.CMD.GETRECTBUFSIZE .DA #S.CB.OP.SET+S.CB.OP.COLOR+S.CB.OP.SAVE .DA #S.CB.M.C16 .DA #0 .DA 200 X1 .DA 50 Y1 - .DA 200+320 X2 For GETRECTBUFSIZE - .DA 50+40 XZ For GETRECTBUFSIZE + .DA 200+319 X2 For GETRECTBUFSIZE + .DA 50+39 Y2 For GETRECTBUFSIZE .DA 0 SrcX .DA 0 SrcY .DA 320 SrcW diff --git a/DRV/DHGR.DRV.S.BLT.txt b/DRV/DHGR.DRV.S.BLT.txt index e5ce92d5..0f6c435f 100644 --- a/DRV/DHGR.DRV.S.BLT.txt +++ b/DRV/DHGR.DRV.S.BLT.txt @@ -87,7 +87,10 @@ BITBLT >LDYA CB.Cache+S.CB.X1 BITBLT.0 bit #S.CB.OP.SAVE beq BITBLT.1 - ldy CB.Cache+S.CB.DstPtr + and #$f + bne .66 + +.66 ldy CB.Cache+S.CB.DstPtr lda CB.Cache+S.CB.DstPtr+1 bne .1 diff --git a/DRV/DHGR.DRV.S.RECT.txt b/DRV/DHGR.DRV.S.RECT.txt index af234caa..b29e29d9 100644 --- a/DRV/DHGR.DRV.S.RECT.txt +++ b/DRV/DHGR.DRV.S.RECT.txt @@ -32,15 +32,23 @@ FILLRECT jsr HLINE * 18 : S.CB.DstPtr = Size in Bytes to save this RECT *-------------------------------------- GETRECTBUFSIZE >LDYA CB.Cache+S.CB.X1 + jsr DIVMOD7YA - sta ZPTmpByte + sta ZPTmpByte A = X1 div 7 + >LDYA CB.Cache+S.CB.X2 jsr DIVMOD7YA - inc COL2 + 1 + inc A = (X2 mod 7) + 1 sec sbc ZPTmpByte (COL2+1)-COL1 tax - >LDYA CB.Cache+S.CB.SrcH + + lda CB.Cache+S.CB.Y2 + sec + sbc CB.Cache+S.CB.Y1 + tay + lda #0 + jmp YAMultX *-------------------------------------- MAN diff --git a/INC/LIBGUI.I.txt b/INC/LIBGUI.I.txt index b67823a7..acfc9c29 100644 --- a/INC/LIBGUI.I.txt +++ b/INC/LIBGUI.I.txt @@ -167,8 +167,8 @@ S.MITEM.KEYMOD.CA .EQ 2 S.MITEM.KEYMOD.OA .EQ 4 S.MITEM.KEYMOD.CTRL .EQ 8 S.MITEM.KEY .EQ 7 - -S.MITEM.TEXT .EQ 8 CSTR +S.MITEM.KEYSTR .EQ 8 +S.MITEM.TEXT .EQ 9 CSTR * ... *-------------------------------------- BM.ID.APPLE .EQ 2 diff --git a/LIB/LIBGUI.S.MENU.txt b/LIB/LIBGUI.S.MENU.txt index fe54d76c..0e5f4336 100644 --- a/LIB/LIBGUI.S.MENU.txt +++ b/LIB/LIBGUI.S.MENU.txt @@ -91,7 +91,11 @@ MENU.MBarInit >STYA ZPMENUPtr *-------------------------------------- * MENU.New(int X, int Y, *MITEM mitems) *-------------------------------------- -MENU.New >LDYAI S.MENU +MENU.New ldy MENU.Stack.Top + cpy #MENU.MAX + bcs .90 + + >LDYAI S.MENU >SYSCALL2 getmem bcs .9 @@ -131,13 +135,17 @@ MENU.New >LDYAI S.MENU txa hMenu + ldx MENU.Stack.Top + sta MENU.Stack,x + inc MENU.Stack.Top + * clc rts - -.9 >POP 6 +.90 lda #E.OOH + sec +.9 >POP 6 MENU.New.RTS rts -*-------------------------------------- * ---------------------------------------------- * |Icon ChkMrk "Menu Item" KEYMOD1-KEYMOD2-KEY>| * ---------------------------------------------- @@ -188,7 +196,7 @@ MENU.Show >SYSCALL2 GetMemPtr inc ZPPtr1+1 bra .1 -.3 lda #12 2px Borders+5 LMARGIN (Checked) +5 RMARGIN (SubMenu) +.3 lda #2+MENU.LMargin+MENU.RMargin 2px Borders+5 LMARGIN (Checked) +5 RMARGIN (SubMenu) clc adc IY sta DX @@ -335,7 +343,6 @@ MENU.Show.GetW ldy #S.MITEM.F .2 jsr MENU.GetKeyString beq .8 - >LDYA L.KEYSTRING ldx hSYSFON jsr FON.GetTextSize @@ -354,20 +361,22 @@ MENU.Save jsr CB.ClearCache ldy #S.OBJ.X1 ldx #0 - + .1 lda (ZPMENUPtr),y - sta CB.Cache+S.CB.X1 + sta CB.Cache+S.CB.X1,x iny inx cpx #8 X1,Y1,X2,Y2 bne .1 jsr GFXWrite.CB + >SYSCALL NewStkObj bcs .9 stx CB.Cache+S.CB.DstPtr + txa ldy #S.MENU.hSAVEBUF sta (ZPMENUPtr),y @@ -376,20 +385,20 @@ MENU.Save jsr CB.ClearCache lda #S.CB.OP.SAVE sta CB.Cache+S.CB.OP - + ldy #S.OBJ.W ldx #0 - + .2 lda (ZPMENUPtr),y - sta CB.Cache+S.CB.SrcW + sta CB.Cache+S.CB.SrcW,x iny inx cpx #4 W,H bne .2 - >DEBUG + jsr GFXWrite.CB -* clc + clc .9 rts *-------------------------------------- @@ -506,7 +515,7 @@ MENU.Show.Item ldy #S.MITEM.F sec +1px Border - adc #5 TODO : Checked + adc #MENU.LMargin TODO : Checked sta DX iny lda (ZPMENUPtr),y @@ -532,9 +541,6 @@ MENU.Show.Item ldy #S.MITEM.F ldx hSYSFON jsr DRAW.YATextAtDXDY - jsr MENU.GetKeyString - beq .3 - lda DX sec adc IE @@ -543,7 +549,9 @@ MENU.Show.Item ldy #S.MITEM.F adc IE+1 sta DX+1 - >LDYA L.KEYSTRING + jsr MENU.GetKeyString + beq .3 + ldx hSYSFON jsr DRAW.YATextAtDXDY @@ -582,56 +590,17 @@ MENU.GetText lda #S.MITEM.TEXT rts *-------------------------------------- MENU.GetKeyString - ldx #0 + ldy #S.MITEM.KEYSTR + lda (ZPPtr1),y + beq .8 - 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 .7 - - sta KEYSTRING,x - inx + clc + adc ZPPtr1 + tay + lda ZPPtr1+1 + adc #0 !0 -.7 stz KEYSTRING,x - - txa - rts +.8 rts *-------------------------------------- MENU.Destroy diff --git a/LIB/LIBGUI.S.MOU.txt b/LIB/LIBGUI.S.MOU.txt index c846b4d2..6405a98b 100644 --- a/LIB/LIBGUI.S.MOU.txt +++ b/LIB/LIBGUI.S.MOU.txt @@ -79,22 +79,68 @@ MOU.ReadMouse >PULLW ZPPtr1 bit #S.MOUSE.S.MOVE beq .8 - lda WND.SysBar+S.OBJ.Y1 + ldx WND.Stack.Top + beq .2 + +* lda WND.Stack-1,x +* jsr MOU.InObjA + + + +.2 lda WND.SysBar+S.OBJ.Y1 ldy #S.MOUSE.Y1 cmp (ZPPtr1),y lda WND.SysBar+S.OBJ.Y1+1 iny sbc (ZPPtr1),y - bcs .1 + bcs .7 jmp SYSBAR.Enter -.1 jmp SYSBAR.Leave +.7 jmp SYSBAR.Leave .8 clc rts +.9 sec +.99 rts +*-------------------------------------- +MOU.InObjA >SYSCALL GetMemPtr +MOU.InObjyA jsr OBJ.GetInCache + + ldy #S.MOUSE.X1 + lda (ZPPtr1),y + cmp OBJ.Cache+S.OBJ.X1 + iny + lda (ZPPtr1),y + cmp OBJ.Cache+S.OBJ.X1+1 + bcc .9 + + iny #S.MOUSE.Y1 + lda (ZPPtr1),y + cmp OBJ.Cache+S.OBJ.Y1 + iny + lda (ZPPtr1),y + cmp OBJ.Cache+S.OBJ.Y1+1 + bcc .9 + + iny #S.MOUSE.X2 + lda (ZPPtr1),y + cmp OBJ.Cache+S.OBJ.X2 + iny + lda (ZPPtr1),y + cmp OBJ.Cache+S.OBJ.X2+1 + bcs .99 + + iny #S.MOUSE.Y2 + lda (ZPPtr1),y + cmp OBJ.Cache+S.OBJ.Y2 + iny + lda (ZPPtr1),y + cmp OBJ.Cache+S.OBJ.Y2+1 + rts + .9 sec .99 rts *-------------------------------------- diff --git a/LIB/LIBGUI.S.txt b/LIB/LIBGUI.S.txt index 8609e6d5..be6188c0 100644 --- a/LIB/LIBGUI.S.txt +++ b/LIB/LIBGUI.S.txt @@ -12,6 +12,9 @@ NEW .INB inc/libgui.i *-------------------------------------- WND.MAX .EQ 64 +MENU.MAX .EQ 4 +MENU.LMargin .EQ 3 +MENU.RMargin .EQ 3 *-------------------------------------- .MA SWAP16 lda ]1 @@ -135,7 +138,6 @@ 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 @@ -391,7 +393,6 @@ 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 @@ -404,6 +405,9 @@ CB.Buf .BS S.CB+1 +Ending 0 CB.Cache .BS S.CB OBJ.Cache .BS S.OBJ *-------------------------------------- +MENU.Stack.Top .BS 1 +MENU.Stack .BS MENU.MAX +*-------------------------------------- WND.Stack.Top .BS 1 WND.Stack .BS WND.MAX *-------------------------------------- @@ -422,58 +426,64 @@ 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 +MENU.Sys +.1 .DA #.2-* next .DA #S.MITEM.F.ITEM F .DA #0 S .DA #2 ID .DA BM.ID.APPLE pICON - .DA #S.MITEM.KEYMOD.CA+S.MITEM.KEYMOD.OA+S.MITEM.KEYMOD.CTRL + .DA #S.MITEM.KEYMOD.CTRL+S.MITEM.KEYMOD.OA+S.MITEM.KEYMOD.CA .DA #'A' + .DA #.11-.1 .AZ "About..." - -.1 .DA #.2-* next - .DA #S.MITEM.F.SEP +.11 .AS "Ctrl-" + .DA #1,#'-',#2,#'-',#'A',#0 .2 .DA #.3-* next - .DA #S.MITEM.F.SUBMENU F - .DA #0 S - .DA #0 ID - .DA 0 pICON - .DA 0 pMENU - .AZ "Programs" - + .DA #S.MITEM.F.SEP + .3 .DA #.4-* next .DA #S.MITEM.F.SUBMENU F .DA #0 S .DA #0 ID .DA 0 pICON .DA 0 pMENU - .AZ "Settings" + .DA #0 + .AZ "Programs" .4 .DA #.5-* next + .DA #S.MITEM.F.SUBMENU F + .DA #0 S + .DA #0 ID + .DA 0 pICON + .DA 0 pMENU + .DA #0 KEYSTR + .AZ "Settings" + +.5 .DA #.6-* next .DA #S.MITEM.F.SEP -.5 .DA #.6-* next +.6 .DA #.7-* next .DA #S.MITEM.F.ITEM F .DA #0 S .DA #8 ID .DA 0 pICON .DA #0 .DA #0 + .DA #0 KEYSTR .AZ "Search..." -.6 .DA #.7-* next +.7 .DA #.8-* next .DA #S.MITEM.F.ITEM F .DA #0 S .DA #10 ID .DA 0 pICON - .DA #S.MITEM.KEYMOD.OA + .DA #S.MITEM.KEYMOD.CTRL+S.MITEM.KEYMOD.OA .DA #'R' + .DA #.77-.7 .AZ "Run..." - -.7 .DA #0 +.77 .AZ "Ctrl-R" +.8 .DA #0 *-------------------------------------- PREFS.BESTVIEWEDX .DA #$FC PREFS.MENUCOLOR .DA #C.WHITE