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:
@@ -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
|
||||||
|
Reference in New Issue
Block a user