mirror of
https://github.com/cc65/cc65.git
synced 2024-10-31 04:04:49 +00:00
61 lines
1.2 KiB
ArmAsm
61 lines
1.2 KiB
ArmAsm
;
|
|
; Ullrich von Bassewitz, 06.08.1998
|
|
; Adapted for Vic20 by Steve Schmidtke 05.08.2002
|
|
;
|
|
; unsigned char __fastcall__ textcolor (unsigned char color);
|
|
; unsigned char __fastcall__ bgcolor (unsigned char color);
|
|
; unsigned char __fastcall__ bordercolor (unsigned char color);
|
|
;
|
|
|
|
|
|
.export _textcolor, _bgcolor, _bordercolor
|
|
.importzp tmp1
|
|
|
|
.include "vic20.inc"
|
|
|
|
|
|
|
|
.code
|
|
|
|
_textcolor:
|
|
ldx CHARCOLOR ; get old value
|
|
sta CHARCOLOR ; set new value
|
|
txa
|
|
rts
|
|
|
|
|
|
_bgcolor:
|
|
asl
|
|
asl
|
|
asl
|
|
asl
|
|
sta tmp1
|
|
sei ; don't want anything messing around while we update
|
|
lda VIC_COLOR ; get old value
|
|
and #$0F
|
|
tax
|
|
ora tmp1
|
|
sta VIC_COLOR ; set new value
|
|
cli
|
|
txa
|
|
lsr
|
|
lsr
|
|
lsr
|
|
lsr
|
|
rts
|
|
|
|
|
|
_bordercolor:
|
|
and #$07
|
|
sta tmp1
|
|
sei ; don't want anything messing around while we update
|
|
lda VIC_COLOR ; get old value
|
|
and #$F8
|
|
tax
|
|
ora tmp1
|
|
sta VIC_COLOR ; set new value
|
|
cli
|
|
txa
|
|
rts
|
|
|