Kernel version 0.9 : DHGR.DRV, saved few bytes in tables, room for additional primitives, Bugfix in drawline....

This commit is contained in:
Rémy GIBERT 2017-06-12 17:47:27 +02:00
parent d0d356419f
commit 5984f77ab0
4 changed files with 67 additions and 53 deletions

View File

@ -157,7 +157,11 @@ DRV.CS.START .DA STATUS
*--------------------------------------
L.STAT .DA STAT
L.DIV7.0 .DA DIV7.0
.DA DIV7.256
.DA DIV7.512
L.MOD7.0 .DA MOD7.0
.DA MOD7.256
.DA MOD7.512
L.Shift0.Lo .DA Shift0.lo
L.Shift0.Hi .DA Shift0.hi
.DA 0 end or relocation
@ -172,21 +176,21 @@ STATUS >LDYA L.STAT
*--------------------------------------
OPEN sta A2osX.SCRNDEVS+2 DEV.ID in A
lda L.DIV7.0+1
sta DIV7.hi
inc
sta DIV7.hi+1
inc
sta DIV7.hi+2
ldy #0
ldx #0
.1 lda L.MOD7.0,y
.1 lda L.DIV7.0,y
sta DIV7.lo,x
lda L.MOD7.0,y
sta MOD7.lo,x
iny
lda L.DIV7.0,y
sta DIV7.hi,x
lda L.MOD7.0,y
sta MOD7.hi,x
iny
inx
cpx #3
@ -254,8 +258,11 @@ SETPIXEL >STYA ZPBase
lda CB.Cache+S.CB.MODE
bit #S.CB.MODE.C16
bne SETPIXEL.C16
*---- MONO ----------------------------
ldx CB.Cache+S.CB.X1+1
SETPIXEL.MONO ldx CB.Cache+S.CB.X1+1 Get X Hi byte....
lda DIV7.lo,x
sta .2+1
lda DIV7.hi,x
sta .2+2
@ -264,23 +271,26 @@ SETPIXEL >STYA ZPBase
lda MOD7.hi,x
sta .4+2
lda DIV7.BASE,x
ldx CB.Cache+S.CB.X1
.2 lda DIV7.0,x A=Col*2+AuxBit
eor #1 toggle last bit : 0=Aux, 1=Main
lsr .3+1 reset CLRPAGE2 address
lsr CS=Aux
rol .3+1 if CS, -> SETPAGE2
.3 sta CLRPAGE2
ldy CB.Cache+S.CB.Y1
clc
.2 adc $ffff,x DIV7 : x = X.LO, a = X DIV 7
pha save X DIV 7
lsr
ldy CB.Cache+S.CB.Y1
clc
adc BASEL,y setup line Base Ptr (A=Col)
sta ZPBase
lda BASEH,y
sta ZPBase+1
ply
lda COL.BANK,y
tay
sta $c000,y
.4 ldy MOD7.0,x x = X.LO
.4 ldy $ffff,x MOD7 : x = X.LO, y = X MOD 7
lda CB.Cache+S.CB.OP
beq .5
@ -306,7 +316,7 @@ SETPIXEL >STYA ZPBase
sta (ZPBase)
sta CLR80STORE
rts
*-----16 Colors -----------------------
SETPIXEL.C16 lda CB.Cache+S.CB.X1
lsr CB.Cache+S.CB.X1+1 divide by 4
ror
@ -410,11 +420,11 @@ HLINE >STYA ZPBase
dey
bpl .1
lda CB.Cache+S.CB.MODE
HLINE.I lda CB.Cache+S.CB.MODE
bit #S.CB.MODE.C16
bne HLINE.C16
*----- MONO ---------------------------
HLINE.MONO
HLINE.C16
@ -430,7 +440,7 @@ VLINE >STYA ZPBase
dey
bpl .1
VLINE.I
rts
*--------------------------------------
@ -451,7 +461,7 @@ FILLRECT >STYA ZPBase
bpl .1
.2 jsr VLINE.I
.2 jsr HLINE.I
lda CB.Cache+S.CB.Y1
cmp CB.Cache+S.CB.Y2
@ -497,6 +507,7 @@ Shift6.hi .BS 128
*--------------------------------------
.INB /A2OSX.SRC/DRV/DHGR.DRV.T
*--------------------------------------
DIV7.lo .BS 3
DIV7.hi .BS 3
MOD7.lo .BS 3
MOD7.hi .BS 3

View File

@ -66,9 +66,33 @@ Color.Pixels .DA #%00000000,#%00000000,#%00000000,#%00000000 black (color bit di
.DA #%11011101,#%10111011,#%11110111,#%11101110 pink
.DA #%11101110,#%11011101,#%10111011,#%11110111 yellow
*--------------------------------------
* COL*2+AUX Bit
COL.BANK .DA #SETPAGE2,#CLRPAGE2,#SETPAGE2,#CLRPAGE2
.DA #SETPAGE2,#CLRPAGE2,#SETPAGE2,#CLRPAGE2
.DA #SETPAGE2,#CLRPAGE2,#SETPAGE2,#CLRPAGE2
.DA #SETPAGE2,#CLRPAGE2,#SETPAGE2,#CLRPAGE2
.DA #SETPAGE2,#CLRPAGE2,#SETPAGE2,#CLRPAGE2
.DA #SETPAGE2,#CLRPAGE2,#SETPAGE2,#CLRPAGE2
.DA #SETPAGE2,#CLRPAGE2,#SETPAGE2,#CLRPAGE2
.DA #SETPAGE2,#CLRPAGE2,#SETPAGE2,#CLRPAGE2
.DA #SETPAGE2,#CLRPAGE2,#SETPAGE2,#CLRPAGE2
.DA #SETPAGE2,#CLRPAGE2,#SETPAGE2,#CLRPAGE2
.DA #SETPAGE2,#CLRPAGE2,#SETPAGE2,#CLRPAGE2
.DA #SETPAGE2,#CLRPAGE2,#SETPAGE2,#CLRPAGE2
.DA #SETPAGE2,#CLRPAGE2,#SETPAGE2,#CLRPAGE2
.DA #SETPAGE2,#CLRPAGE2,#SETPAGE2,#CLRPAGE2
.DA #SETPAGE2,#CLRPAGE2,#SETPAGE2,#CLRPAGE2
.DA #SETPAGE2,#CLRPAGE2,#SETPAGE2,#CLRPAGE2
.DA #SETPAGE2,#CLRPAGE2,#SETPAGE2,#CLRPAGE2
.DA #SETPAGE2,#CLRPAGE2,#SETPAGE2,#CLRPAGE2
.DA #SETPAGE2,#CLRPAGE2,#SETPAGE2,#CLRPAGE2
.DA #SETPAGE2,#CLRPAGE2,#SETPAGE2,#CLRPAGE2
*--------------------------------------
DIV7.0 .HS 0000000000000001010101010101
DIV7.BASE .HS 002449 Indexed with X.HI
*--------------------------------------
DIV7.0 .HS 00
DIV7.512 .HS 000000
DIV7.256 .HS 000000
.HS 01010101010101
.HS 0202020202020203030303030303
.HS 0404040404040405050505050505
.HS 0606060606060607070707070707
@ -86,34 +110,13 @@ DIV7.0 .HS 0000000000000001010101010101
.HS 1E1E1E1E1E1E1E1F1F1F1F1F1F1F
.HS 2020202020202021212121212121
.HS 2222222222222223232323232323
.HS 24242424
DIV7.256 .HS 24242425252525252525
.HS 2626262626262627272727272727
.HS 2828282828282829292929292929
.HS 2A2A2A2A2A2A2A2B2B2B2B2B2B2B
.HS 2C2C2C2C2C2C2C2D2D2D2D2D2D2D
.HS 2E2E2E2E2E2E2E2F2F2F2F2F2F2F
.HS 3030303030303031313131313131
.HS 3232323232323233333333333333
.HS 3434343434343435353535353535
.HS 3636363636363637373737373737
.HS 3838383838383839393939393939
.HS 3A3A3A3A3A3A3A3B3B3B3B3B3B3B
.HS 3C3C3C3C3C3C3C3D3D3D3D3D3D3D
.HS 3E3E3E3E3E3E3E3F3F3F3F3F3F3F
.HS 4040404040404041414141414141
.HS 4242424242424243434343434343
.HS 4444444444444445454545454545
.HS 4646464646464647474747474747
.HS 4848484848484849
DIV7.512 .HS 494949494949
.HS 4A4A4A4A4A4A4A4B4B4B4B4B4B4B
.HS 4C4C4C4C4C4C4C4D4D4D4D4D4D4D
.HS 4E4E4E4E4E4E4E4F4F4F4F4F4F4F
.HS 24242424242424
.HS 25
*--------------------------------------
MOD7.0 .HS 00
MOD7.512 .HS 010203
MOD7.256 .HS 040506
.HS 00010203040506
.HS 0001020304050600010203040506
.HS 0001020304050600010203040506
.HS 0001020304050600010203040506
@ -131,7 +134,7 @@ MOD7.256 .HS 040506
.HS 0001020304050600010203040506
.HS 0001020304050600010203040506
.HS 0001020304050600010203040506
.HS 0001020304050600010203040506
.HS 00010203040506
.HS 00
*--------------------------------------
BASEL .HS 00.00.00.00.00.00.00.00

Binary file not shown.

Binary file not shown.