; ; Ullrich von Bassewitz, 13.09.2001 ; .export _textcolor, _bgcolor, _bordercolor .import sys_bank, restore_bank .import vic: zp, CHARCOLOR: zp .include "cbm510.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