Kernel 0.9.1 : GUI, BitBlt debugging....

This commit is contained in:
Rémy GIBERT 2017-11-29 07:59:27 +01:00
parent 834d6b5054
commit ab08792170
6 changed files with 54 additions and 68 deletions

Binary file not shown.

Binary file not shown.

View File

@ -179,7 +179,7 @@ BITBLT.LOOP0 lda CB.Cache+S.CB.OP
*------------ Shift 1->6 Comment : SCRBitOfs=X=3 *------------ Shift 1->6 Comment : SCRBitOfs=X=3
BITBLT.LOOPx lda CB.Cache+S.CB.OP BITBLT.LOOPx lda CB.Cache+S.CB.OP X = BLT.SCRBitOfs
bit #S.CB.OP.MASK bit #S.CB.OP.MASK
beq .4 beq .4
@ -226,6 +226,8 @@ BITBLT.LOOPx lda CB.Cache+S.CB.OP
cpx LBUF.C2 cpx LBUF.C2
bne .1 bne .1
ldx BLT.SCRBitOfs
.4 lda Shift7BitsCol1,x get #%00001111, BM bits that go in Col1 .4 lda Shift7BitsCol1,x get #%00001111, BM bits that go in Col1
sta .6+1 sta .6+1
lda Shift7BitsCol2,x get #%01110000, BM bits that go in Col2 lda Shift7BitsCol2,x get #%01110000, BM bits that go in Col2

View File

@ -239,6 +239,7 @@ LBUF.DrawAtY.AND.ORA
sta $C000,y sta $C000,y
ldy COL.OFS,x ldy COL.OFS,x
>DEBUG
lda LBUF.MASK,x get MASK bits lda LBUF.MASK,x get MASK bits
ora LBUF.C2.MASK ora LBUF.C2.MASK
and (ZPBasePtr),y and (ZPBasePtr),y

View File

@ -53,7 +53,7 @@ C1.DATA .DA #%11111111 set (ORA) COL 1 bits
.DA #%11100000 .DA #%11100000
.DA #%11000000 .DA #%11000000
*-------------------------------------- *--------------------------------------
C2.MASK .DA #%11111110 Clear (AND) Col 1 bits C2.MASK .DA #%11111110 Clear (AND) Col 2 bits
.DA #%11111100 .DA #%11111100
.DA #%11111000 .DA #%11111000
.DA #%11110000 .DA #%11110000
@ -61,7 +61,7 @@ C2.MASK .DA #%11111110 Clear (AND) Col 1 bits
.DA #%11000000 .DA #%11000000
.DA #%10000000 .DA #%10000000
C2.DATA .DA #%10000001 set (ORA) COL 1 bits C2.DATA .DA #%10000001 set (ORA) COL 2 bits
.DA #%10000011 .DA #%10000011
.DA #%10000111 .DA #%10000111
.DA #%10001111 .DA #%10001111

View File

@ -118,10 +118,21 @@ CS.INIT >LDYA L.MSG.INIT
ora #S.PS.F.EVENT Now accept events ora #S.PS.F.EVENT Now accept events
sta (pPs) sta (pPs)
>PUSHWI 0 Aux type
>PUSHBI $CB Type
>PUSHBI SYS.FOpen.R
>PUSHW L.FILENAME
>SYSCALL LoadFile
bcs .9
txa
>SYSCALL GetMemPtr.A
>STYA BitBlT.CB+S.CB.SrcPtr
jsr Destop.Paint jsr Destop.Paint
clc clc
rts .9 rts
*-------------------------------------- *--------------------------------------
CS.RUN lda A2osX.ASCREEN GUI screen active ? CS.RUN lda A2osX.ASCREEN GUI screen active ?
cmp #3 cmp #3
@ -184,60 +195,8 @@ CS.QUIT clc
Destop.Paint >PUSHW L.Rect.CB Destop.Paint >PUSHW L.Rect.CB
>LIBCALL hLIBGUI,LIBGUI.Draw >LIBCALL hLIBGUI,LIBGUI.Draw
lda #S.CB.MODE.C16 * >PUSHW L.DrawLines.CB
sta SetPixel.Mode * >LIBCALL hLIBGUI,LIBGUI.Draw
lda #0
sta SetPixel.Color
lda #20
sta SetPixel.Y
.1 lda #28
sta SetPixel.X
lda /28
sta SetPixel.X+1
.2 >PUSHW L.SetPixel.CB
>LIBCALL hLIBGUI,LIBGUI.Draw
lda SetPixel.X
clc
adc #4
sta SetPixel.X
bcc .3
inc SetPixel.X+1
.3 lda SetPixel.X
cmp #84
lda SetPixel.X+1
sbc /84
bcc .2
inc SetPixel.Y
lda SetPixel.Y
cmp #192
beq .4
and #$7
bne .1
inc SetPixel.Color
lda SetPixel.Color
cmp #16
bne .1
.4 >PUSHW L.DrawLines.CB
>LIBCALL hLIBGUI,LIBGUI.Draw
>PUSHWI 0 Aux type
>PUSHBI $CB Type
>PUSHBI SYS.FOpen.R
>PUSHW L.FILENAME
>SYSCALL LoadFile
txa
>SYSCALL GetMemPtr.A
>STYA BitBlT.CB+S.CB.SrcPtr
>LDYAI 105 >LDYAI 105
>STYA BitBlT.CB+S.CB.DestX >STYA BitBlT.CB+S.CB.DestX
@ -256,19 +215,41 @@ Destop.Paint >PUSHW L.Rect.CB
>LDYA L.BM.Arrow >LDYA L.BM.Arrow
>STYA MousePtr.CB+S.CB.SrcPtr >STYA MousePtr.CB+S.CB.SrcPtr
>PUSHW L.MousePtr.CB
>LIBCALL hLIBGUI,LIBGUI.Draw
>LDYAI 128 >LDYAI 7
>STYA MousePtr.CB+S.CB.DestX >STYA MousePtr.CB+S.CB.DestX
>PUSHW L.MousePtr.CB >PUSHW L.MousePtr.CB
>LIBCALL hLIBGUI,LIBGUI.Draw >LIBCALL hLIBGUI,LIBGUI.Draw
>LDYAI 182 >LDYAI 29
>STYA MousePtr.CB+S.CB.DestX >STYA MousePtr.CB+S.CB.DestX
>PUSHW L.MousePtr.CB >PUSHW L.MousePtr.CB
>LIBCALL hLIBGUI,LIBGUI.Draw >LIBCALL hLIBGUI,LIBGUI.Draw
>LDYAI 51
>STYA MousePtr.CB+S.CB.DestX
>PUSHW L.MousePtr.CB
>LIBCALL hLIBGUI,LIBGUI.Draw
>LDYAI 73
>STYA MousePtr.CB+S.CB.DestX
>PUSHW L.MousePtr.CB
>LIBCALL hLIBGUI,LIBGUI.Draw
>LDYAI 95
>STYA MousePtr.CB+S.CB.DestX
>PUSHW L.MousePtr.CB
>LIBCALL hLIBGUI,LIBGUI.Draw
>LDYAI 117
>STYA MousePtr.CB+S.CB.DestX
>PUSHW L.MousePtr.CB
>LIBCALL hLIBGUI,LIBGUI.Draw
>LDYAI 139
>STYA MousePtr.CB+S.CB.DestX
>PUSHW L.MousePtr.CB
>LIBCALL hLIBGUI,LIBGUI.Draw
rts rts
*-------------------------------------- *--------------------------------------
*-------------------------------------- *--------------------------------------
@ -290,12 +271,14 @@ MouseData .BS S.MOUSE
Rect.CB .DA #S.CB.CMD.FILLRECT Rect.CB .DA #S.CB.CMD.FILLRECT
.DA #S.CB.OP.SET .DA #S.CB.OP.SET
.DA #S.CB.MODE.C16 .DA #S.CB.MODE.C16
.DA #2 .DA #1
.DA 0 .DA 0
.DA 0 .DA 0
.DA 559 .DA 559
.DA 191 .DA 191
.DA #0
.DA #S.CB.CMD.FILLRECT .DA #S.CB.CMD.FILLRECT
.DA #S.CB.OP.SET .DA #S.CB.OP.SET
.DA #S.CB.MODE.MONO .DA #S.CB.MODE.MONO
@ -424,8 +407,8 @@ MousePtr.CB .DA #S.CB.CMD.BITBLT
.DA 0 Y1 .DA 0 Y1
.DA 11 X2 .DA 11 X2
.DA 12 y2 .DA 12 y2
.DA 112 DestX .BS 2 DestX
.DA 24 DestY .DA 1 DestY
.BS 2 SrcPtr .BS 2 SrcPtr
.DA 0 .DA 0
@ -456,8 +439,8 @@ BM.Arrow.DATA .DA %0000.00000000
.DA %0000.01111110 .DA %0000.01111110
.DA %0000.11111110 .DA %0000.11111110
.DA %0001.11111110 .DA %0001.11111110
.DA %0010.01110010 .DA %0010.01111110
.DA %0100.11110010 .DA %0000.11110010
.DA %0000.11100000 .DA %0000.11100000
.DA %0000.00000000 .DA %0000.00000000
@ -471,8 +454,8 @@ BM.Arrow.MASK .DA %1111.11111100
.DA %1110.00000000 .DA %1110.00000000
.DA %1100.00000000 .DA %1100.00000000
.DA %1000.00000000 .DA %1000.00000000
.DA %0000.00000000 .DA %1000.00000000
.DA %0000.00000000 .DA %1110.00000000
.DA %1110.00001111 .DA %1110.00001111
.LIST OFF .LIST OFF
*-------------------------------------- *--------------------------------------