mirror of
https://github.com/cc65/cc65.git
synced 2024-11-19 06:31:31 +00:00
29 lines
715 B
ArmAsm
29 lines
715 B
ArmAsm
; 2019-07-02, Jede (jede@oric.org)
|
|
;
|
|
|
|
.export _textcolor
|
|
.import CHARCOLOR
|
|
.import CHARCOLOR_CHANGE
|
|
.include "telestrat.inc"
|
|
|
|
.proc _textcolor
|
|
cmp CHARCOLOR ; Do we set the same color? if we don't detect it, we loose one char on the screen for each textcolor call with the same color
|
|
bne out ; yes
|
|
lda #$00
|
|
sta CHARCOLOR_CHANGE
|
|
|
|
lda CHARCOLOR ; return last color
|
|
|
|
rts
|
|
out:
|
|
ldx CHARCOLOR ; get last color in order to return it
|
|
sta CHARCOLOR
|
|
|
|
lda #$01
|
|
sta CHARCOLOR_CHANGE
|
|
txa ; return previous color
|
|
rts
|
|
.endproc
|
|
|
|
|