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 bpl .1
sta SET80STORE sta SET80STORE
VLINE.MONO ldx CB.Cache+S.CB.X1+1 Get X Hi byte.... VLINE.MONO ldx CB.Cache+S.CB.X1+1 Get X Hi byte....
lda DIV7.lo,x 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 eor Mono.Masks,y y = mod 7
sta (ZPBase) 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 ldx CB.Cache+S.CB.Y1
cpx CB.Cache+S.CB.Y2 cpx CB.Cache+S.CB.Y2
bne .3 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 sta CLR80STORE
rts rts

View File

@ -110,12 +110,12 @@ DrawLine ldy #S.CB.Y2+1
lda CB.Cache+S.CB.X2+1 lda CB.Cache+S.CB.X2+1
sbc CB.Cache+S.CB.X1+1 sbc CB.Cache+S.CB.X1+1
sta DX+1 DX% = X2% - X1% sta DX+1 DX% = X2% - X1%
bmi .1 DX < 0.... bmi .1 DX < 0....
ora DX ora DX
bne .2 DX > 0... bne .2 DX > 0...
ldx #DEVMGR.GFX.VLINE ldx #DEVMGR.GFX.VLINE
jmp GoDevGFX DX=0 : VLIN Y1,Y2 At X1 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.DrawLine2.CB .DA DrawLine2.CB
L.DrawLine3.CB .DA DrawLine3.CB L.DrawLine3.CB .DA DrawLine3.CB
L.DrawLine4.CB .DA DrawLine4.CB L.DrawLine4.CB .DA DrawLine4.CB
L.DrawLine5.CB .DA DrawLine5.CB
L.DrawLine6.CB .DA DrawLine6.CB
.DA 0 .DA 0
*-------------------------------------- *--------------------------------------
CS.INIT >LDYA L.MSG.INIT CS.INIT >LDYA L.MSG.INIT
@ -188,9 +190,9 @@ Destop.Paint lda #S.CB.MODE.C16
lda #20 lda #20
sta SetPixel.Y sta SetPixel.Y
.1 lda #20 .1 lda #28
sta SetPixel.X sta SetPixel.X
lda /20 lda /28
sta SetPixel.X+1 sta SetPixel.X+1
.2 >LDYA L.SetPixel.CB .2 >LDYA L.SetPixel.CB
@ -206,15 +208,15 @@ Destop.Paint lda #S.CB.MODE.C16
inc SetPixel.X+1 inc SetPixel.X+1
.3 lda SetPixel.X .3 lda SetPixel.X
cmp #79 cmp #84
lda SetPixel.X+1 lda SetPixel.X+1
sbc /79 sbc /84
bcc .2 bcc .2
inc SetPixel.Y inc SetPixel.Y
lda SetPixel.Y lda SetPixel.Y
cmp #192 cmp #192
beq .8 beq .4
and #$7 and #$7
bne .1 bne .1
@ -223,7 +225,7 @@ Destop.Paint lda #S.CB.MODE.C16
cmp #16 cmp #16
bne .1 bne .1
>PUSHW L.DrawLine1.CB .4 >PUSHW L.DrawLine1.CB
>LIBCALL hLibGFX,LIBGFX.DrawLine >LIBCALL hLibGFX,LIBGFX.DrawLine
>PUSHW L.DrawLine2.CB >PUSHW L.DrawLine2.CB
>LIBCALL hLibGFX,LIBGFX.DrawLine >LIBCALL hLibGFX,LIBGFX.DrawLine
@ -231,8 +233,12 @@ Destop.Paint lda #S.CB.MODE.C16
>LIBCALL hLibGFX,LIBGFX.DrawLine >LIBCALL hLibGFX,LIBGFX.DrawLine
>PUSHW L.DrawLine4.CB >PUSHW L.DrawLine4.CB
>LIBCALL hLibGFX,LIBGFX.DrawLine >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 SetPixel.Y .BS 2
*-------------------------------------- *--------------------------------------
DrawLine1.CB .BS 1 hDC DrawLine1.CB .BS 1 hDC
DrawLine1.OP .DA #0 .DA #0
DrawLine1.Mode .DA #S.CB.MODE.C16 .DA #S.CB.MODE.C16
DrawLine1.Color .DA #1 .DA #1
DrawLine1.X1 .DA 80 .DA 80
DrawLine1.Y1 .DA 191 .DA 191
DrawLine1.X2 .DA 80+191 .DA 80+191
DrawLine1.Y2 .DA 0 .DA 0
*-------------------------------------- *--------------------------------------
DrawLine2.CB .BS 1 hDC DrawLine2.CB .BS 1 hDC
DrawLine2.OP .DA #0 .DA #0
DrawLine2.Mode .DA #S.CB.MODE.MONO .DA #S.CB.MODE.MONO
DrawLine2.Color .DA #8 .DA #1
DrawLine2.X1 .DA 90 .DA 90
DrawLine2.Y1 .DA 0 .DA 0
DrawLine2.X2 .DA 140 .DA 140
DrawLine2.Y2 .DA 191 .DA 191
*-------------------------------------- *--------------------------------------
DrawLine3.CB .BS 1 hDC DrawLine3.CB .BS 1 hDC
DrawLine3.OP .DA #0 .DA #0
DrawLine3.Mode .DA #S.CB.MODE.MONO .DA #S.CB.MODE.MONO
DrawLine3.Color .DA #8 .DA #1
DrawLine3.X1 .DA 100 .DA 100
DrawLine3.Y1 .DA 0 .DA 0
DrawLine3.X2 .DA 100+191 .DA 100+191
DrawLine3.Y2 .DA 191 .DA 191
*-------------------------------------- *--------------------------------------
DrawLine4.CB .BS 1 hDC DrawLine4.CB .BS 1 hDC
DrawLine4.OP .DA #0 .DA #0
DrawLine4.Mode .DA #S.CB.MODE.MONO .DA #S.CB.MODE.MONO
DrawLine4.Color .DA #8 .DA #1
DrawLine4.X1 .DA 110 .DA 110
DrawLine4.Y1 .DA 0 .DA 0
DrawLine4.X2 .DA 559 .DA 559
DrawLine4.Y2 .DA 191 .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 MAN
SAVE /A2OSX.SRC/SBIN/DESKTOP.S SAVE /A2OSX.SRC/SBIN/DESKTOP.S
ASM ASM