Kernel version 0.9 : DHGR.DRV, primitives....(Cont.)

This commit is contained in:
Rémy GIBERT 2017-06-16 17:27:48 +02:00
parent 967eb6cf17
commit 4d077d5416
6 changed files with 77 additions and 54 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -489,7 +489,7 @@ VLINE >STYA ZPBase
bpl .1
sta SET80STORE
VLINE.MONO ldx CB.Cache+S.CB.X1+1 Get X Hi byte....
lda DIV7.lo,x
@ -535,26 +535,25 @@ VLINE.MONO ldx CB.Cache+S.CB.X1+1 Get X Hi byte....
eor Mono.Masks,y y = mod 7
sta (ZPBase)
inc CB.Cache+S.CB.Y1
bra .6
.4 lda (ZPBase)
ldx CB.Cache+S.CB.COLOR get color
bne .5
and Mono.NMasks,y includes And $7F for mono
sta (ZPBase)
bra .6
.5 and #$7F switch back this byte to mono
ora Mono.Masks,y
sta (ZPBase)
.6 inc CB.Cache+S.CB.Y1
ldx CB.Cache+S.CB.Y1
cpx CB.Cache+S.CB.Y2
bne .3
sta CLR80STORE
rts
.4 lda (ZPBase)
ldx CB.Cache+S.CB.COLOR get color
bne .6
and Mono.NMasks,y includes And $7F for mono
sta (ZPBase)
sta CLR80STORE
rts
.6 and #$7F switch back this byte to mono
ora Mono.Masks,y
sta (ZPBase)
sta CLR80STORE
rts

View File

@ -110,12 +110,12 @@ DrawLine ldy #S.CB.Y2+1
lda CB.Cache+S.CB.X2+1
sbc CB.Cache+S.CB.X1+1
sta DX+1 DX% = X2% - X1%
bmi .1 DX < 0....
ora DX
bne .2 DX > 0...
ldx #DEVMGR.GFX.VLINE
jmp GoDevGFX DX=0 : VLIN Y1,Y2 At X1

View File

@ -44,6 +44,8 @@ L.DrawLine1.CB .DA DrawLine1.CB
L.DrawLine2.CB .DA DrawLine2.CB
L.DrawLine3.CB .DA DrawLine3.CB
L.DrawLine4.CB .DA DrawLine4.CB
L.DrawLine5.CB .DA DrawLine5.CB
L.DrawLine6.CB .DA DrawLine6.CB
.DA 0
*--------------------------------------
CS.INIT >LDYA L.MSG.INIT
@ -188,9 +190,9 @@ Destop.Paint lda #S.CB.MODE.C16
lda #20
sta SetPixel.Y
.1 lda #20
.1 lda #28
sta SetPixel.X
lda /20
lda /28
sta SetPixel.X+1
.2 >LDYA L.SetPixel.CB
@ -206,15 +208,15 @@ Destop.Paint lda #S.CB.MODE.C16
inc SetPixel.X+1
.3 lda SetPixel.X
cmp #79
cmp #84
lda SetPixel.X+1
sbc /79
sbc /84
bcc .2
inc SetPixel.Y
lda SetPixel.Y
cmp #192
beq .8
beq .4
and #$7
bne .1
@ -223,7 +225,7 @@ Destop.Paint lda #S.CB.MODE.C16
cmp #16
bne .1
>PUSHW L.DrawLine1.CB
.4 >PUSHW L.DrawLine1.CB
>LIBCALL hLibGFX,LIBGFX.DrawLine
>PUSHW L.DrawLine2.CB
>LIBCALL hLibGFX,LIBGFX.DrawLine
@ -231,8 +233,12 @@ Destop.Paint lda #S.CB.MODE.C16
>LIBCALL hLibGFX,LIBGFX.DrawLine
>PUSHW L.DrawLine4.CB
>LIBCALL hLibGFX,LIBGFX.DrawLine
>PUSHW L.DrawLine5.CB
>LIBCALL hLibGFX,LIBGFX.DrawLine
>PUSHW L.DrawLine6.CB
>LIBCALL hLibGFX,LIBGFX.DrawLine
.8 rts
rts
*--------------------------------------
*--------------------------------------
*--------------------------------------
@ -258,40 +264,58 @@ SetPixel.X .BS 2
SetPixel.Y .BS 2
*--------------------------------------
DrawLine1.CB .BS 1 hDC
DrawLine1.OP .DA #0
DrawLine1.Mode .DA #S.CB.MODE.C16
DrawLine1.Color .DA #1
DrawLine1.X1 .DA 80
DrawLine1.Y1 .DA 191
DrawLine1.X2 .DA 80+191
DrawLine1.Y2 .DA 0
.DA #0
.DA #S.CB.MODE.C16
.DA #1
.DA 80
.DA 191
.DA 80+191
.DA 0
*--------------------------------------
DrawLine2.CB .BS 1 hDC
DrawLine2.OP .DA #0
DrawLine2.Mode .DA #S.CB.MODE.MONO
DrawLine2.Color .DA #8
DrawLine2.X1 .DA 90
DrawLine2.Y1 .DA 0
DrawLine2.X2 .DA 140
DrawLine2.Y2 .DA 191
.DA #0
.DA #S.CB.MODE.MONO
.DA #1
.DA 90
.DA 0
.DA 140
.DA 191
*--------------------------------------
DrawLine3.CB .BS 1 hDC
DrawLine3.OP .DA #0
DrawLine3.Mode .DA #S.CB.MODE.MONO
DrawLine3.Color .DA #8
DrawLine3.X1 .DA 100
DrawLine3.Y1 .DA 0
DrawLine3.X2 .DA 100+191
DrawLine3.Y2 .DA 191
.DA #0
.DA #S.CB.MODE.MONO
.DA #1
.DA 100
.DA 0
.DA 100+191
.DA 191
*--------------------------------------
DrawLine4.CB .BS 1 hDC
DrawLine4.OP .DA #0
DrawLine4.Mode .DA #S.CB.MODE.MONO
DrawLine4.Color .DA #8
DrawLine4.X1 .DA 110
DrawLine4.Y1 .DA 0
DrawLine4.X2 .DA 559
DrawLine4.Y2 .DA 191
.DA #0
.DA #S.CB.MODE.MONO
.DA #1
.DA 110
.DA 0
.DA 559
.DA 191
*--------------------------------------
DrawLine5.CB .BS 1 hDC
.DA #0
.DA #S.CB.MODE.MONO
.DA #1
.DA 28
.DA 0
.DA 28
.DA 191
*--------------------------------------
DrawLine6.CB .BS 1 hDC
.DA #0
.DA #S.CB.MODE.MONO
.DA #1
.DA 84
.DA 0
.DA 84
.DA 191
MAN
SAVE /A2OSX.SRC/SBIN/DESKTOP.S
ASM