1
0
mirror of https://github.com/dschmenk/PLASMA.git synced 2025-04-03 19:29:48 +00:00

Revert and fix fixup addresses

This commit is contained in:
David Schmenk 2017-08-03 14:20:20 -07:00
parent 286f627c72
commit d3c785e1eb

View File

@ -206,8 +206,9 @@ export asm dgrBLT(buff, x, y, width, height, src)
CLC
ADC ESTKL+2,X ; WIDTH
STA SRCL
BCC +++
INC SRCH
LDA SRCH
ADC #$00
STA SRCH
BNE +++
+ AND #$FE
TAY
@ -267,10 +268,12 @@ asm _dgrSetPix
end
asm _dgrSetEvnEvn
; EVEN PIXEL
LDA $2000,X
AND #$0F
STA TMP
JSR $0100 ; LDA AUX (DST),Y
EOR $2000,X
AND #$F0
EOR $2000,X
ORA TMP
STA $C005 ; WRITE AUX MEM
STA (GBASE),Y
STA $C004 ; WRITE MAIN MEM
@ -278,10 +281,12 @@ asm _dgrSetEvnEvn
end
asm _dgrSetEvnOdd
; ODD PIXEL
+ LDA (GBASE),Y
EOR $1000,X
+ LDA $1000,X
AND #$0F
STA TMP
LDA (GBASE),Y
AND #$F0
EOR $1000,X
ORA TMP
STA (GBASE),Y
RTS
; ODD ROW
@ -291,10 +296,12 @@ asm _dgrSetEvnOdd
end
asm _dgrSetOddEvn
; EVEN PIXEL
LDA $2000,X
AND #$F0
STA TMP
JSR $0100 ; LDA AUX (DST),Y
EOR $2000,X
AND #$0F
EOR $2000,X
ORA TMP
STA $C005 ; WRITE AUX MEM
STA (GBASE),Y
STA $C004 ; WRITE MAIN MEM
@ -302,10 +309,12 @@ asm _dgrSetOddEvn
end
asm _dgrSetOddOdd
; ODD PIXEL
+++ LDA (GBASE),Y
EOR $1000,X
+++ LDA $1000,X
AND #$F0
STA TMP
LDA (GBASE),Y
AND #$0F
EOR $1000,X
ORA TMP
STA (GBASE),Y
RTS
end
@ -349,8 +358,9 @@ export asm dgrTile(buff, x, y, src)
LDA SRCL ; SKIP TO NEXT ROW
ADC #$07 ; CARRY = 1
STA SRCL
BCC +++
INC SRCH
LDA SRCH
ADC #$00
STA SRCH
BNE +++
+ AND #$FE
TAY
@ -655,16 +665,16 @@ fin
//
// Assembly fixups
//
_dgrPlotPix:1 = @_dgrSetPix
_dgrHLinPix:1 = @_dgrSetPix
_dgrVLinPix:1 = @_dgrSetPix
_dgrBLTPix:1 = @_dgrSetPix
_dgrTileTile:1 = @dgrTile
_dgrFillTile:1 = @dgrTile
_dgrSetEvnEvn:1 = @evnclr
_dgrSetEvnOdd:1 = @oddclr
_dgrSetOddEvn:1 = @evnclr
_dgrSetOddOdd:1 = @oddclr
*(@_dgrPlotPix):1 = @_dgrSetPix
*(@_dgrHLinPix):1 = @_dgrSetPix
*(@_dgrVLinPix):1 = @_dgrSetPix
*(@_dgrBLTPix):1 = @_dgrSetPix
*(@_dgrTileTile):1 = @dgrTile
*(@_dgrFillTile):1 = @dgrTile
*(@_dgrSetEvnEvn):1 = @evnclr
*(@_dgrSetEvnOdd):1 = @oddclr
*(@_dgrSetOddEvn):1 = @evnclr
*(@_dgrSetOddOdd):1 = @oddclr
// Put read AUX mem routine in scary location
memcpy($0100, @auxRead, 9)
done