Kernel 0.9.1 : GUI, Mixed Mode DHGR Driver

This commit is contained in:
Rémy GIBERT 2017-12-19 08:39:24 +01:00
parent cd3ae76382
commit 1d652f3ecb
6 changed files with 17 additions and 4 deletions

Binary file not shown.

Binary file not shown.

View File

@ -16,7 +16,7 @@ AUTO 6
* S.CB.SrcPtr : pointer to S.BM
* S.CB.SrcPtr+1 = 0, hMem in S.CB.SrcPtr
* S.CB.DstPtr : pointer to Save Buffer
* S.CB.DstPtr : pointer to Save Buffer
*--------------------------------------
BITBLT >LDYA CB.CACHE+S.CB.SrcPtr
bne BITBLT.1
@ -42,6 +42,14 @@ BITBLT.1 >STYA ZPBMDataPtr
dey
bpl .1
ldx #0
lda BM.Cache+S.BM.F
cmp #S.BM.F.BBP1
beq .11
ldx #$80
.11 stx BLT.CMASK
lda ZPBMDataPtr
clc
adc BM.Cache+S.BM.MASK.OFS
@ -181,6 +189,7 @@ BITBLT.LOOP0 lda CB.Cache+S.CB.OP
.3 jsr BLT.Get7BMBits we have 0xxxxxxxx in A
ora BLT.CMASK
ldx BLT.ScrColIdx
sta LBUF.DATA,x
inc BLT.ScrColIdx
@ -279,6 +288,8 @@ BITBLT.LOOPx.6 and #$ff SELF MODIFIED : MASK WITH #%00001111, keep col1 bits
lda (ZPScrShiftPtr),y make 0000dddd Shift left 3 : 0dddd000
ora BLT.CMASK
ldx BLT.ScrColIdx Get actual COL index
ora LBUF.DATA,x Light proper bits : 0dddd???
sta LBUF.DATA,x store 0xdddd???
@ -290,6 +301,7 @@ BITBLT.LOOPx.7 and #$ff SELF MODIFIED : #%01110000 get only col2 bites
lda (ZPScrShiftPtr),y shift right 4 (=shift left 3!!!) : 00000ddd
ora BLT.CMASK
sta LBUF.DATA+1,x
inc BLT.ScrColIdx

View File

@ -411,6 +411,7 @@ BLT.BMBitOfs .BS 1
BLT.BMBitOfsL .BS 1
BLT.ScrBitOfs .BS 1
BLT.ScrColIdx .BS 1
BLT.CMASK .BS 1
*--------------------------------------
GBYTE .BS 1
GWORD .BS 2

View File

@ -57,7 +57,7 @@ S.CB.MODE.MONO .EQ %00000001 b/w (1 bit/pixel)
*S.CB.MODE.C8 .EQ %00000100
S.CB.MODE.C16 .EQ %00001000 16 colors (4 bits/pixel)
*S.CB.MODE.C256 .EQ %00010000 256 colors (8 bits/pixel)
S.CB.COLOR .EQ 3 xPIXEL,xLINE,FILLRECT
S.CB.COLOR .EQ 3 xPIXEL,xLINE,FILLRECT,BITBLT
S.CB.hFONT .EQ 3 DRAWTEXT
S.CB.X1 .EQ 4 xPIXEL,xLINE,FILLRECT,BITBLT,GETRECTBUFSIZE,DRAWLINE
S.CB.Y1 .EQ 6 xPIXEL,xLINE,FILLRECT,BITBLT,GETRECTBUFSIZE,DRAWLINE

View File

@ -194,8 +194,8 @@ CB.Rect .DA #S.CB.CMD.FILLRECT
.DA #S.CB.CMD.FILLRECT
.DA #S.CB.OP.SET
.DA #S.CB.MODE.MONO
.DA #0
.DA #S.CB.MODE.C16
.DA #4
.DA 40 X1
.DA 40 Y1
.DA 519 X2