Kernel 0.93+

This commit is contained in:
Rémy GIBERT 2019-07-30 10:57:25 +02:00
parent 59f9e298fd
commit b36efb0bb2
20 changed files with 46 additions and 136 deletions

Binary file not shown.

View File

@ -79,7 +79,7 @@ VLINE lda CB.Cache+S.CB.M
VLINE.MONO >LDYA CB.Cache+S.CB.X1 VLINE.MONO >LDYA CB.Cache+S.CB.X1
jsr DIVMOD7YA jsr DIVMOD7YA X = MOD 7
tay tay
lda COL.OFS,y lda COL.OFS,y
sta ZPTmpByte Save COL (DIV) sta ZPTmpByte Save COL (DIV)
@ -88,6 +88,9 @@ VLINE.MONO >LDYA CB.Cache+S.CB.X1
tay tay
sta $C000,y Select proper BANK sta $C000,y Select proper BANK
ldy CB.Cache+S.CB.Y1
clc
lda CB.Cache+S.CB.OP lda CB.Cache+S.CB.OP
* cmp #S.CB.OP.XOR * cmp #S.CB.OP.XOR
beq VLINE.MONO.XOR beq VLINE.MONO.XOR
@ -96,8 +99,6 @@ VLINE.MONO >LDYA CB.Cache+S.CB.X1
bne VLINE.MONO.WHITE bne VLINE.MONO.WHITE
VLINE.MONO.BLACK VLINE.MONO.BLACK
ldy CB.Cache+S.CB.Y1
clc
.1 lda BASEL,y .1 lda BASEL,y
adc ZPTmpByte adc ZPTmpByte
@ -115,22 +116,11 @@ VLINE.MONO.BLACK
rts rts
VLINE.MONO.WHITE VLINE.MONO.WHITE
lda #$1D ORA abs,x
.1 lda BASEL,y .HS 2C BIT ABS
adc ZPTmpByte
sta ZPBasePtr
lda BASEH,y
sta ZPBasePtr+1
lda (ZPBasePtr)
ora Mono.Masks,x
sta (ZPBasePtr)
cpy CB.Cache+S.CB.Y2
iny
bcc .1
rts
VLINE.MONO.XOR VLINE.MONO.XOR
lda #$5D EOR abs,x
sta .2
.1 lda BASEL,y .1 lda BASEL,y
adc ZPTmpByte adc ZPTmpByte
@ -139,7 +129,7 @@ VLINE.MONO.XOR
sta ZPBasePtr+1 sta ZPBasePtr+1
lda (ZPBasePtr) lda (ZPBasePtr)
eor Mono.Masks,x .2 eor Mono.Masks,x SELF MODIFIED
sta (ZPBasePtr) sta (ZPBasePtr)
cpy CB.Cache+S.CB.Y2 cpy CB.Cache+S.CB.Y2
iny iny
@ -153,91 +143,22 @@ VLINE.C16 lda CB.Cache+S.CB.X1
lsr CB.Cache+S.CB.X1+1 lsr CB.Cache+S.CB.X1+1
ror ror
tay Y=X/4 (range 0->139) tay Y=X/4 (range 0->139)
lda DIV7.0,y A=X/4/7 (range 0->19)
asl times 2 (range 0->38)
ldx CB.Cache+S.CB.Y1 ldx CB.Cache+S.CB.Y1
adc BASEL,x setup line Base Ptr (cc by asl)
sta ZPBasePtr ZPBasePtr now point to first of...
lda BASEH,x
sta ZPBasePtr+1 ...the 4 columns
lda MOD7.0,y get MOD .1 phy
phx
asl times 4 to compute index in MASK tables jsr SETPIXEL.C16.YX
asl
tax set in X for Masks,NMasks
lda CB.Cache+S.CB.COLOR plx
ply
asl times 4 to compute index in PIXELS table cpy CB.Cache+S.CB.Y2
asl
tay
lda Color.Masks,x bits in 1st byte to light?
beq .10
and Color.Pixels,y apply color
sta ZPTmpByte
sta SETPAGE2
lda (ZPBasePtr)
and Color.NMasks,x reset existing pixel,
ora ZPTmpByte
sta (ZPBasePtr)
.10 inx
iny iny
bcc .1
lda Color.Masks,x rts
beq .11
and Color.Pixels,y apply color
sta ZPTmpByte
sta CLRPAGE2
lda (ZPBasePtr)
and Color.NMasks,x reset existing pixel,
ora ZPTmpByte
sta (ZPBasePtr)
.11 inc ZPBasePtr
inx
iny
lda Color.Masks,x
beq .12
and Color.Pixels,y apply color
sta ZPTmpByte
sta SETPAGE2
lda (ZPBasePtr)
and Color.NMasks,x reset existing pixel,
ora ZPTmpByte
sta (ZPBasePtr)
.12 inx
iny
lda Color.Masks,x
beq .13
and Color.Pixels,y apply color
sta ZPTmpByte
sta CLRPAGE2
lda (ZPBasePtr)
and Color.NMasks,x reset existing pixel,
ora ZPTmpByte
sta (ZPBasePtr)
.13 rts
*-------------------------------------- *--------------------------------------
MAN MAN
SAVE USR/SRC/DRV/DHGR.DRV.S.LINE SAVE USR/SRC/DRV/DHGR.DRV.S.LINE

View File

@ -68,18 +68,22 @@ SETPIXEL.C16 lda CB.Cache+S.CB.X1
lsr CB.Cache+S.CB.X1+1 lsr CB.Cache+S.CB.X1+1
ror ror
tay Y=X/4 (range 0->139) tay Y=X/4 (range 0->139)
lda DIV7.0,y A=X/4/7 (range 0->19)
ldx CB.Cache+S.CB.Y1
* Y = PixelX (0,139), X = PixelY (0,191)
SETPIXEL.C16.YX lda DIV7.0,y PixelX MOD 7 (range 0->19)
asl times 2 (range 0->38) asl times 2 (range 0->38)
ldx CB.Cache+S.CB.Y1
* clc * clc
adc BASEL,x setup line Base Ptr (cc by asl) adc BASEL,x setup line Base Ptr (cc by asl)
sta ZPBasePtr ZPBasePtr now point to first of... sta ZPBasePtr ZPBasePtr now point to first of...
lda BASEH,x lda BASEH,x
sta ZPBasePtr+1 ...the 4 columns sta ZPBasePtr+1 ...the 4 columns
lda MOD7.0,y get MOD lda MOD7.0,y get pixelX MOD7
asl times 4 to compute index in MASK tables asl times 4 to compute index in MASK tables
asl asl
@ -93,6 +97,7 @@ SETPIXEL.C16 lda CB.Cache+S.CB.X1
lda Color.Masks,x bits in 1st byte to light? lda Color.Masks,x bits in 1st byte to light?
beq .10 beq .10
and Color.Pixels,y apply color and Color.Pixels,y apply color
sta ZPTmpByte sta ZPTmpByte

View File

@ -1,6 +1,5 @@
NEW NEW
PREFIX AUTO 3,1
AUTO 4,1
*-------------------------------------- *--------------------------------------
BM.Apple .DA #S.BM.F.BBP4 BM.Apple .DA #S.BM.F.BBP4
.DA #2 RowBytes .DA #2 RowBytes

View File

@ -1,6 +1,5 @@
NEW NEW
PREFIX AUTO 3,1
AUTO 4,1
*-------------------------------------- *--------------------------------------
CUR.T .BS 1 CUR.T .BS 1
CUR.bVisible .BS 1 CUR.bVisible .BS 1

View File

@ -1,6 +1,5 @@
NEW NEW
PREFIX AUTO 3,1
AUTO 4,1
*-------------------------------------- *--------------------------------------
hSYSFON .BS 1 hSYSFON .BS 1
hSYSFONB .BS 1 hSYSFONB .BS 1

View File

@ -1,6 +1,5 @@
NEW NEW
PREFIX AUTO 3,1
AUTO 4,1
*-------------------------------------- *--------------------------------------
WND.TB.H .BS 1 WND.TB.H .BS 1
WND.Stack.Top .BS 1 WND.Stack.Top .BS 1

View File

@ -1,6 +1,5 @@
NEW NEW
PREFIX AUTO 3,1
AUTO 4,1
*-------------------------------------- *--------------------------------------
BM.Get BM.Get
*-------------------------------------- *--------------------------------------

View File

@ -1,6 +1,5 @@
NEW NEW
PREFIX AUTO 3,1
AUTO 4,1
*-------------------------------------- *--------------------------------------
BUT.New >STYA ZPPtr1 BUT.New >STYA ZPPtr1

View File

@ -1,6 +1,5 @@
NEW NEW
PREFIX AUTO 3,1
AUTO 4,1
*-------------------------------------- *--------------------------------------
* CLIPPING Functions: * CLIPPING Functions:
* In: * In:

View File

@ -1,6 +1,5 @@
NEW NEW
PREFIX AUTO 3,1
AUTO 4,1
*-------------------------------------- *--------------------------------------
UpdateCursor lda CUR.T UpdateCursor lda CUR.T
cmp #CUR.T.WAIT cmp #CUR.T.WAIT

View File

@ -1,6 +1,5 @@
NEW NEW
PREFIX AUTO 3,1
AUTO 4,1
*-------------------------------------- *--------------------------------------
Draw >PULLW ZPCBPtr Get CB Draw >PULLW ZPCBPtr Get CB

View File

@ -1,6 +1,5 @@
NEW NEW
PREFIX AUTO 3,1
AUTO 4,1
*-------------------------------------- *--------------------------------------
EVT.Get EVT.Get

View File

@ -1,6 +1,5 @@
NEW NEW
PREFIX AUTO 3,1
AUTO 4,1
*-------------------------------------- *--------------------------------------
FON.Init >PUSHWZ Aux type FON.Init >PUSHWZ Aux type
>PUSHBI $CC Type >PUSHBI $CC Type

View File

@ -1,6 +1,5 @@
NEW NEW
PREFIX AUTO 3,1
AUTO 4,1
*-------------------------------------- *--------------------------------------
* Y,A = ptr to menu definition * Y,A = ptr to menu definition
*-------------------------------------- *--------------------------------------

View File

@ -1,6 +1,5 @@
NEW NEW
PREFIX AUTO 3,1
AUTO 4,1
*-------------------------------------- *--------------------------------------
MOU.Init MOU.Init
.1 >PUSHBI 0 .1 >PUSHBI 0

View File

@ -1,6 +1,5 @@
NEW NEW
PREFIX AUTO 3,1
AUTO 4,1
*-------------------------------------- *--------------------------------------
GetMPattern GetMPattern
clc clc

View File

@ -1,6 +1,5 @@
NEW NEW
PREFIX AUTO 3,1
AUTO 4,1
*-------------------------------------- *--------------------------------------
WND.Init >PUSHBI 0 WND.Init >PUSHBI 0
>LDYA L.DEVNAME.GFX >LDYA L.DEVNAME.GFX

View File

@ -1,6 +1,5 @@
NEW NEW
PREFIX AUTO 3,1
AUTO 4,1
.LIST OFF .LIST OFF
.OP 65C02 .OP 65C02
.OR $2000 .OR $2000

View File

@ -818,7 +818,7 @@ K.GetMemStat >STYA ZPPtr1
dey dey
dex dex
bpl .3 bpl .3
clc
rts rts
*-------------------------------------- *--------------------------------------
MAN MAN