1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
;
; 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
|