1
0
mirror of https://github.com/dschmenk/PLASMA.git synced 2025-02-09 04:30:37 +00:00

minor size optimisation

This commit is contained in:
Peter Ferrie 2016-08-03 16:19:08 -07:00
parent e94e05c3fa
commit d8c08bcecf

View File

@ -263,53 +263,49 @@ asm _dgrSetPix
BCS + BCS +
end end
asm _dgrSetEvnEvn asm _dgrSetEvnEvn
SEC
!byte $90 ; mask CLC
asm _dgrSetOddEvn
CLC
; EVEN PIXEL ; EVEN PIXEL
LDA $2000,X - JSR $0100 ; LDA AUX (DST),Y
AND #$0F
STA TMP STA TMP
JSR $0100 ; LDA AUX (DST),Y LDA #$FF
AND #$F0 ADC #$00
EOR #$F0 ; #$F0 if even, #$0F if odd
PHA
AND TMP
STA TMP
PLA
EOR #$FF ; #$0F if even, #$F0 if odd
AND $2000,X
ORA TMP ORA TMP
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
RTS RTS
end end
asm _dgrSetEvnOdd
; ODD PIXEL
+ LDA $1000,X
AND #$0F
STA TMP
LDA (GBASE),Y
AND #$F0
ORA TMP
STA (GBASE),Y
RTS
; ODD ROW ; ODD ROW
++ LSR ++ LSR
TAY TAY
BCS +++ BCC -
end
asm _dgrSetOddEvn
; EVEN PIXEL
LDA $2000,X
AND #$F0
STA TMP
JSR $0100 ; LDA AUX (DST),Y
AND #$0F
ORA TMP
STA $C005 ; WRITE AUX MEM
STA (GBASE),Y
STA $C004 ; WRITE MAIN MEM
RTS
end
asm _dgrSetOddOdd asm _dgrSetOddOdd
CLC
!byte $B0 ; mask SEC
asm _dgrSetEvnOdd
SEC
; ODD PIXEL ; ODD PIXEL
+++ LDA $1000,X + LDA #$FF
AND #$F0 ADC #$00
EOR #$0F ; #$F0 if odd, #$0F if even
PHA
AND $1000,X
STA TMP STA TMP
LDA (GBASE),Y PLA
AND #$0F EOR #$FF ; #$0F if odd, #$F0 if even
AND (GBASE),Y
ORA TMP ORA TMP
STA (GBASE),Y STA (GBASE),Y
RTS RTS