1
0
mirror of https://github.com/dschmenk/PLASMA.git synced 2025-08-12 20:25:06 +00:00

write-combine without intermediate var

This commit is contained in:
Peter Ferrie
2017-07-12 15:26:19 -07:00
parent 72f0558974
commit 60117f47bd

View File

@@ -206,9 +206,8 @@ export asm dgrBLT(buff, x, y, width, height, src)
CLC CLC
ADC ESTKL+2,X ; WIDTH ADC ESTKL+2,X ; WIDTH
STA SRCL STA SRCL
LDA SRCH BCC +++
ADC #$00 INC SRCH
STA SRCH
BNE +++ BNE +++
+ AND #$FE + AND #$FE
TAY TAY
@@ -268,12 +267,10 @@ asm _dgrSetPix
end end
asm _dgrSetEvnEvn asm _dgrSetEvnEvn
; EVEN PIXEL ; EVEN PIXEL
LDA $2000,X
AND #$0F
STA TMP
JSR $0100 ; LDA AUX (DST),Y JSR $0100 ; LDA AUX (DST),Y
EOR $2000,X
AND #$F0 AND #$F0
ORA TMP EOR $2000,X
STA $C005 ; WRITE AUX MEM STA $C005 ; WRITE AUX MEM
STA (GBASE),Y STA (GBASE),Y
STA $C004 ; WRITE MAIN MEM STA $C004 ; WRITE MAIN MEM
@@ -281,12 +278,10 @@ asm _dgrSetEvnEvn
end end
asm _dgrSetEvnOdd asm _dgrSetEvnOdd
; ODD PIXEL ; ODD PIXEL
+ LDA $1000,X + LDA (GBASE),Y
AND #$0F EOR $1000,X
STA TMP
LDA (GBASE),Y
AND #$F0 AND #$F0
ORA TMP EOR $1000,X
STA (GBASE),Y STA (GBASE),Y
RTS RTS
; ODD ROW ; ODD ROW
@@ -296,12 +291,10 @@ asm _dgrSetEvnOdd
end end
asm _dgrSetOddEvn asm _dgrSetOddEvn
; EVEN PIXEL ; EVEN PIXEL
LDA $2000,X
AND #$F0
STA TMP
JSR $0100 ; LDA AUX (DST),Y JSR $0100 ; LDA AUX (DST),Y
EOR $2000,X
AND #$0F AND #$0F
ORA TMP EOR $2000,X
STA $C005 ; WRITE AUX MEM STA $C005 ; WRITE AUX MEM
STA (GBASE),Y STA (GBASE),Y
STA $C004 ; WRITE MAIN MEM STA $C004 ; WRITE MAIN MEM
@@ -309,12 +302,10 @@ asm _dgrSetOddEvn
end end
asm _dgrSetOddOdd asm _dgrSetOddOdd
; ODD PIXEL ; ODD PIXEL
+++ LDA $1000,X +++ LDA (GBASE),Y
AND #$F0 EOR $1000,X
STA TMP
LDA (GBASE),Y
AND #$0F AND #$0F
ORA TMP EOR $1000,X
STA (GBASE),Y STA (GBASE),Y
RTS RTS
end end
@@ -358,9 +349,8 @@ export asm dgrTile(buff, x, y, src)
LDA SRCL ; SKIP TO NEXT ROW LDA SRCL ; SKIP TO NEXT ROW
ADC #$07 ; CARRY = 1 ADC #$07 ; CARRY = 1
STA SRCL STA SRCL
LDA SRCH BCC +++
ADC #$00 INC SRCH
STA SRCH
BNE +++ BNE +++
+ AND #$FE + AND #$FE
TAY TAY