From 8088be4a8f714d35c99d59c044051672ff927098 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Mon, 12 Oct 2020 17:36:10 +0200 Subject: [PATCH] Kernel 0.94 --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes DRV/DHGR.DRV.S.BLT.txt | 177 ++++++++++++++++++++++++++++++--------- DRV/DHGR.DRV.S.LBUF.txt | 53 +----------- LIB/LIBGUI.S.MENU.txt | 49 +++++++++++ 4 files changed, 189 insertions(+), 90 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index fa30fa56d36ad6a03234d815ec51401438aed4d8..7db07ae4c2784b092010b1543176a2b1d81ccaf0 100644 GIT binary patch delta 19229 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
w`D4035`l`L=yp0kQphA<)l60zP2 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 CB.Cache+S.CB.X1 + jsr LBUF.SetBounds1YA + stx BLT.ScrBitOfs + + lda CB.Cache+S.CB.X1 + clc + adc CB.Cache+S.CB.SrcW + tay + lda CB.Cache+S.CB.X1+1 + adc CB.Cache+S.CB.SrcW+1 + pha + tya + sbc #0 + tay + pla + sbc #0 + + jsr LBUF.SetBounds2YA +*-------------------------------------- + lda CB.Cache+S.CB.OP + bit #S.CB.OP.RESTORE + beq BITBLT.0 + + ldy CB.Cache+S.CB.DstPtr + lda CB.Cache+S.CB.DstPtr+1 bne .1 + + sta SETREADAUX DstPtr is AUX hMem + tya + >SYSCALL2 GetMemPtr + +.1 >STYA ZPBMSavePtr + + ldy CB.Cache+S.CB.Y1 + +.2 lda BASEL,y setup line Base Ptr + sta ZPBasePtr + lda BASEH,y + sta ZPBasePtr+1 + + iny + phy + + ldx LBUF.C1 + +.3 ldy COL.BANK,x + sta $C000,y + txa + lsr + tay + + lda (ZPBMSavePtr) + sta (ZPBasePtr),y + inc ZPBMSavePtr + bne .4 + + inc ZPBMSavePtr+1 + +.4 cpx LBUF.C2 + inx + bcc .3 + + ply + cpy CB.Cache+S.CB.Y2 + bne .2 + + sta CLRREADAUX + rts +*-------------------------------------- +BITBLT.0 bit #S.CB.OP.SAVE + beq BITBLT.1 + + ldy CB.Cache+S.CB.DstPtr + lda CB.Cache+S.CB.DstPtr+1 + bne .1 + + tya DstPtr is AUX hMem + >SYSCALL2 GetStkObjPtr + + sta SETWRITEAUX + +.1 >STYA ZPBMSavePtr + + ldy CB.Cache+S.CB.Y1 + +.2 lda BASEL,y setup line Base Ptr + sta ZPBasePtr + lda BASEH,y + sta ZPBasePtr+1 + + iny + phy + + ldx LBUF.C1 + +.3 ldy COL.BANK,x + sta $C000,y + txa + lsr + tay + + lda (ZPBasePtr),y + sta (ZPBMSavePtr) + inc ZPBMSavePtr + bne .4 + + inc ZPBMSavePtr+1 + +.4 cpx LBUF.C2 + inx + bcc .3 + + ply + cpy CB.Cache+S.CB.Y2 + bne .2 + + sta CLRWRITEAUX + + lda CB.Cache+S.CB.OP +*-------------------------------------- +BITBLT.1 and #$0F + beq .8 + + ldy CB.Cache+S.CB.SrcPtr + lda CB.Cache+S.CB.SrcPtr+1 + bne .4 sta SETREADAUX SrcPtr is AUX hMem tya >SYSCALL2 GetMemPtr -.1 >STYA ZPBMDataPtr +.4 >STYA ZPBMDataPtr - lda CB.Cache+S.CB.OP - bit #S.CB.OP.SAVE+S.CB.OP.RESTORE - beq .3 + jsr BITBLT.2 - ldy CB.Cache+S.CB.DstPtr - lda CB.Cache+S.CB.DstPtr+1 - bne .2 - - sta SETWRITEAUX DstPtr is AUX hMem - tya - >SYSCALL2 GetMemPtr - -.2 >STYA ZPBMSavePtr +.8 sta CLRREADAUX -.3 jsr BITBLT.1 - - sta CLRREADAUX - sta CLRWRITEAUX rts - -BITBLT.1 ldy #S.BM-1 +*-------------------------------------- +BITBLT.2 ldy #S.BM-1 .1 lda (ZPBMDataPtr),y sta BM.Cache,y @@ -51,6 +160,7 @@ BITBLT.1 ldy #S.BM-1 bpl .1 ldx #0 + lda BM.Cache+S.BM.F cmp #S.BM.F.BBP1 beq .11 @@ -117,23 +227,7 @@ BITBLT.1 ldy #S.BM-1 inc BLT.BMMaskPtr+1 -.4 >LDYA CB.Cache+S.CB.X1 - jsr LBUF.SetBounds1YA - stx BLT.ScrBitOfs - lda CB.Cache+S.CB.X1 - clc - adc CB.Cache+S.CB.SrcW - tay - lda CB.Cache+S.CB.X1+1 - adc CB.Cache+S.CB.SrcW+1 - pha - tya - sbc #0 - tay - pla - sbc #0 - jsr LBUF.SetBounds2YA - ldx BLT.ScrBitOfs +.4 ldx BLT.ScrBitOfs beq BITBLT.LOOP0 ldy Shift.L.LO-1,x X = 1->6 @@ -147,6 +241,7 @@ BITBLT.1 ldy #S.BM-1 sta BITBLT.LOOPx.3+1 sta BITBLT.LOOPx.7+1 jmp BITBLT.LOOPx + *------------ Shift 0 BITBLT.LOOP0 lda CB.Cache+S.CB.OP @@ -211,12 +306,14 @@ BITBLT.LOOP0 lda CB.Cache+S.CB.OP bcc .5 inc BLT.BMDataPtr+1 + .5 jmp BITBLT.LOOP0 .8 clc rts *------------ Shift 1->6 Comment : SCRBitOfs=X=3 + BITBLT.LOOPx lda CB.Cache+S.CB.OP X = BLT.ScrBitOfs bit #S.CB.OP.MASK beq BITBLT.LOOPx.4 @@ -299,7 +396,9 @@ BITBLT.LOOPx.7 and #$ff SELF MODIFIED : #%01110000 get only col2 bites adc BM.Cache+S.BM.RowBytes sta BLT.BMDataPtr bcc .2 + inc BLT.BMDataPtr+1 + .2 jmp BITBLT.LOOPx .8 clc diff --git a/DRV/DHGR.DRV.S.LBUF.txt b/DRV/DHGR.DRV.S.LBUF.txt index 90cec1ca..d987d737 100644 --- a/DRV/DHGR.DRV.S.LBUF.txt +++ b/DRV/DHGR.DRV.S.LBUF.txt @@ -24,7 +24,7 @@ LBUF.SetBounds2YA rts .1 lda C1.MASK,x - and C2.MASK,x + ora C2.MASK,x sta LBUF.C1.MASK lda C1.DATA,x ora C2.DATA,x @@ -37,58 +37,9 @@ LBUF.DrawAtY lda BASEL,y setup line Base Ptr sta ZPBasePtr+1 lda CB.Cache+S.CB.OP - bit #S.CB.OP.RESTORE - bne .4 - - bit #S.CB.OP.SAVE - beq .3 - - ldx LBUF.C1 - -.1 ldy COL.BANK,x - sta $C000,y - txa - lsr - tay - - lda (ZPBasePtr),y - sta (ZPBMSavePtr) - inc ZPBMSavePtr - bne .2 - - inc ZPBMSavePtr+1 - -.2 cpx LBUF.C2 - inx - bcc .1 - - lda CB.Cache+S.CB.OP - -.3 and #$F - beq .8 + and #$F tax jmp (J.LBUF.DrawAtY,x) - -.4 ldx LBUF.C1 - -.5 ldy COL.BANK,x - sta $C000,y - txa - lsr - tay - - lda (ZPBMSavePtr) - sta (ZPBasePtr),y - inc ZPBMSavePtr - bne .6 - - inc ZPBMSavePtr+1 - -.6 cpx LBUF.C2 - inx - bcc .5 - -.8 rts *-------------------------------------- LBUF.DrawAtY.SET LBUF.DrawAtY.AND.SET diff --git a/LIB/LIBGUI.S.MENU.txt b/LIB/LIBGUI.S.MENU.txt index 266546cf..fe54d76c 100644 --- a/LIB/LIBGUI.S.MENU.txt +++ b/LIB/LIBGUI.S.MENU.txt @@ -256,6 +256,9 @@ MENU.Show >SYSCALL2 GetMemPtr .5 >LDYA ZPMENUPtr jsr OBJ.SetX2Y2 + jsr MENU.Save + bcs MENU.Show.RTS + jsr MENU.Show.Borders ldy #S.MENU.MITEMS @@ -344,6 +347,52 @@ MENU.Show.GetW ldy #S.MITEM.F .8 rts *-------------------------------------- +MENU.Save jsr CB.ClearCache + + lda #S.CB.CMD.GETRECTBUFSIZE + sta CB.Cache+S.CB.CMD + + ldy #S.OBJ.X1 + ldx #0 + +.1 lda (ZPMENUPtr),y + sta CB.Cache+S.CB.X1 + iny + inx + cpx #8 X1,Y1,X2,Y2 + bne .1 + + jsr GFXWrite.CB + >SYSCALL NewStkObj + bcs .9 + + stx CB.Cache+S.CB.DstPtr + + ldy #S.MENU.hSAVEBUF + sta (ZPMENUPtr),y + + lda #S.CB.CMD.BITBLT + sta CB.Cache+S.CB.CMD + + 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 + iny + inx + cpx #4 W,H + bne .2 + >DEBUG + jsr GFXWrite.CB + +* clc + +.9 rts +*-------------------------------------- MENU.Show.Borders lda #S.CB.CMD.FILLRECT jsr PutA2CBBuf