mirror of
https://github.com/cc65/cc65.git
synced 2024-10-31 20:06:11 +00:00
70 lines
1.6 KiB
ArmAsm
70 lines
1.6 KiB
ArmAsm
;
|
|
; Written by Groepaz/Hitmen <groepaz@gmx.net>
|
|
; Cleanup by Ullrich von Bassewitz <uz@cc65.org>
|
|
;
|
|
; 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
|
|
.import return0, ppubuf_put
|
|
|
|
.include "nes.inc"
|
|
|
|
_textcolor = return0
|
|
_bordercolor = return0
|
|
|
|
.proc _bgcolor
|
|
|
|
tax
|
|
lda BGCOLOR ; get old value
|
|
stx BGCOLOR ; set new value
|
|
pha
|
|
|
|
lda colors,x
|
|
pha
|
|
ldy #$3F
|
|
ldx #0
|
|
jsr ppubuf_put
|
|
pla
|
|
pha
|
|
ldy #$3F
|
|
ldx #4
|
|
jsr ppubuf_put
|
|
pla
|
|
pha
|
|
ldy #$3F
|
|
ldx #8
|
|
jsr ppubuf_put
|
|
pla
|
|
ldy #$3F
|
|
ldx #12
|
|
jsr ppubuf_put
|
|
|
|
pla
|
|
rts
|
|
|
|
.endproc
|
|
|
|
.rodata
|
|
|
|
colors: .byte $0f ; 0 black
|
|
.byte $3d ; 1 white
|
|
.byte $04 ; 2 red
|
|
.byte $3b ; 3 cyan
|
|
.byte $14 ; 4 violett
|
|
.byte $1a ; 5 green
|
|
.byte $01 ; 6 blue
|
|
.byte $38 ; 7 yellow
|
|
.byte $18 ; 8 orange
|
|
.byte $08 ; 9 brown
|
|
.byte $35 ; a light red
|
|
.byte $2d ; b dark grey
|
|
.byte $10 ; c middle grey
|
|
.byte $2b ; d light green
|
|
.byte $22 ; e light blue
|
|
.byte $3d ; f light gray
|
|
|