1
0
mirror of https://github.com/cc65/cc65.git synced 2024-07-03 06:29:36 +00:00
cc65/libsrc/cbm510/color.s
cuz 14f2349ea1 Adding CBM510 support
git-svn-id: svn://svn.cc65.org/cc65/trunk@913 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-13 21:37:59 +00:00

66 lines
1.5 KiB
ArmAsm

;
; Ullrich von Bassewitz, 13.09.2001
;
.export _textcolor, _bgcolor, _bordercolor
.import sys_bank, restore_bank
.importzp vic
.include "zeropage.inc"
.include "io.inc"
; ------------------------------------------------------------------------
; unsigned char __fastcall__ textcolor (unsigned char color);
; /* Set the color for text output. The old color setting is returned. */
;
.proc _textcolor
ldx CHARCOLOR ; get old value
sta CHARCOLOR ; set new value
txa
rts
.endproc
; ------------------------------------------------------------------------
; unsigned char __fastcall__ bgcolor (unsigned char color);
; /* Set the color for the background. The old color setting is returned. */
;
.proc _bgcolor
jsr sys_bank ; Switch to the system bank
pha ; Save new color
ldy #VIC_BG_COLOR0
lda (vic),y ; Get current color...
tax ; ...into X
pla ; Get new color
sta (vic),y ; Set new color
txa ; Get old color into X
jmp restore_bank ; Restore the old color
.endproc
; ------------------------------------------------------------------------
; unsigned char __fastcall__ bordercolor (unsigned char color);
; /* Set the color for the border. The old color setting is returned. */
.proc _bordercolor
jsr sys_bank ; Switch to the system bank
pha ; Save new color
ldy #VIC_BORDERCOLOR
lda (vic),y ; Get current color...
tax ; ...into X
pla ; Get new color
sta (vic),y ; Set new color
txa ; Get old color into X
jmp restore_bank ; Restore the old color
.endproc