mirror of
https://github.com/dschmenk/PLASMA.git
synced 2025-01-10 21:30:04 +00:00
write-combine without intermediate var
This commit is contained in:
parent
72f0558974
commit
60117f47bd
@ -206,9 +206,8 @@ export asm dgrBLT(buff, x, y, width, height, src)
|
||||
CLC
|
||||
ADC ESTKL+2,X ; WIDTH
|
||||
STA SRCL
|
||||
LDA SRCH
|
||||
ADC #$00
|
||||
STA SRCH
|
||||
BCC +++
|
||||
INC SRCH
|
||||
BNE +++
|
||||
+ AND #$FE
|
||||
TAY
|
||||
@ -268,12 +267,10 @@ 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
|
||||
ORA TMP
|
||||
EOR $2000,X
|
||||
STA $C005 ; WRITE AUX MEM
|
||||
STA (GBASE),Y
|
||||
STA $C004 ; WRITE MAIN MEM
|
||||
@ -281,12 +278,10 @@ asm _dgrSetEvnEvn
|
||||
end
|
||||
asm _dgrSetEvnOdd
|
||||
; ODD PIXEL
|
||||
+ LDA $1000,X
|
||||
AND #$0F
|
||||
STA TMP
|
||||
LDA (GBASE),Y
|
||||
+ LDA (GBASE),Y
|
||||
EOR $1000,X
|
||||
AND #$F0
|
||||
ORA TMP
|
||||
EOR $1000,X
|
||||
STA (GBASE),Y
|
||||
RTS
|
||||
; ODD ROW
|
||||
@ -296,12 +291,10 @@ 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
|
||||
ORA TMP
|
||||
EOR $2000,X
|
||||
STA $C005 ; WRITE AUX MEM
|
||||
STA (GBASE),Y
|
||||
STA $C004 ; WRITE MAIN MEM
|
||||
@ -309,12 +302,10 @@ asm _dgrSetOddEvn
|
||||
end
|
||||
asm _dgrSetOddOdd
|
||||
; ODD PIXEL
|
||||
+++ LDA $1000,X
|
||||
AND #$F0
|
||||
STA TMP
|
||||
LDA (GBASE),Y
|
||||
+++ LDA (GBASE),Y
|
||||
EOR $1000,X
|
||||
AND #$0F
|
||||
ORA TMP
|
||||
EOR $1000,X
|
||||
STA (GBASE),Y
|
||||
RTS
|
||||
end
|
||||
@ -358,9 +349,8 @@ export asm dgrTile(buff, x, y, src)
|
||||
LDA SRCL ; SKIP TO NEXT ROW
|
||||
ADC #$07 ; CARRY = 1
|
||||
STA SRCL
|
||||
LDA SRCH
|
||||
ADC #$00
|
||||
STA SRCH
|
||||
BCC +++
|
||||
INC SRCH
|
||||
BNE +++
|
||||
+ AND #$FE
|
||||
TAY
|
||||
|
Loading…
x
Reference in New Issue
Block a user