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
BITBLT.LOOPx lda CB.Cache+S.CB.OP
BITBLT.LOOPx lda CB.Cache+S.CB.OP X = BLT.SCRBitOfs
bit #S.CB.OP.MASK
beq .4
@ -225,6 +225,8 @@ BITBLT.LOOPx lda CB.Cache+S.CB.OP
stx BLT.ScrColIdx
cpx LBUF.C2
bne .1
ldx BLT.SCRBitOfs
.4 lda Shift7BitsCol1,x get #%00001111, BM bits that go in Col1
sta .6+1

View File

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

View File

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

View File

@ -118,10 +118,21 @@ CS.INIT >LDYA L.MSG.INIT
ora #S.PS.F.EVENT Now accept events
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
clc
rts
.9 rts
*--------------------------------------
CS.RUN lda A2osX.ASCREEN GUI screen active ?
cmp #3
@ -184,60 +195,8 @@ CS.QUIT clc
Destop.Paint >PUSHW L.Rect.CB
>LIBCALL hLIBGUI,LIBGUI.Draw
lda #S.CB.MODE.C16
sta SetPixel.Mode
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
* >PUSHW L.DrawLines.CB
* >LIBCALL hLIBGUI,LIBGUI.Draw
>LDYAI 105
>STYA BitBlT.CB+S.CB.DestX
@ -256,19 +215,41 @@ Destop.Paint >PUSHW L.Rect.CB
>LDYA L.BM.Arrow
>STYA MousePtr.CB+S.CB.SrcPtr
>LDYAI 7
>STYA MousePtr.CB+S.CB.DestX
>PUSHW L.MousePtr.CB
>LIBCALL hLIBGUI,LIBGUI.Draw
>LDYAI 128
>LDYAI 29
>STYA MousePtr.CB+S.CB.DestX
>PUSHW L.MousePtr.CB
>LIBCALL hLIBGUI,LIBGUI.Draw
>LDYAI 182
>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
*--------------------------------------
*--------------------------------------
@ -290,12 +271,14 @@ MouseData .BS S.MOUSE
Rect.CB .DA #S.CB.CMD.FILLRECT
.DA #S.CB.OP.SET
.DA #S.CB.MODE.C16
.DA #2
.DA #1
.DA 0
.DA 0
.DA 559
.DA 191
.DA #0
.DA #S.CB.CMD.FILLRECT
.DA #S.CB.OP.SET
.DA #S.CB.MODE.MONO
@ -424,8 +407,8 @@ MousePtr.CB .DA #S.CB.CMD.BITBLT
.DA 0 Y1
.DA 11 X2
.DA 12 y2
.DA 112 DestX
.DA 24 DestY
.BS 2 DestX
.DA 1 DestY
.BS 2 SrcPtr
.DA 0
@ -456,8 +439,8 @@ BM.Arrow.DATA .DA %0000.00000000
.DA %0000.01111110
.DA %0000.11111110
.DA %0001.11111110
.DA %0010.01110010
.DA %0100.11110010
.DA %0010.01111110
.DA %0000.11110010
.DA %0000.11100000
.DA %0000.00000000
@ -471,8 +454,8 @@ BM.Arrow.MASK .DA %1111.11111100
.DA %1110.00000000
.DA %1100.00000000
.DA %1000.00000000
.DA %0000.00000000
.DA %0000.00000000
.DA %1000.00000000
.DA %1110.00000000
.DA %1110.00001111
.LIST OFF
*--------------------------------------