Posted By
![](/images/g.gif) Csabo on 2023-12-16 14:46:20
| Re: change graphics memory
It's a valid question To turn on multicolor graphics, you need to set 4 TED registers:
$20 bit of $FF06 has to be set (graphics mode)
$10 bit of $FF07 has to be set (multicolor)
The location of the bitmap can be any address on a $2000 boundary ($0000, $2000, $4000, $6000, etc.) This has to be written to $FF12. See the code below for values.
The location of the color map can be any address on a $0800 boundary. The high byte of this has to be written to $FF14.
Here's an actual working example, which turns on multicolor graphics at $8000, with the color map at $7800 (default Multi Botticelli file location):
lda #$3B ; turn graphics mode on sta $FF06 ; lda $FF07 ; PAL/NTSC friendly and #$40 ora #$18 ; $18 = multicolor, $08 = hires sta $FF07 ; lda $FF12 and #$03 ; keep lowest 2 bits (sound) ora #($8000) >> 10 ; $08 = $2000, $10 = $4000, etc. sta $FF12 ; lda #$78 ; color map at $7800 sta $FF14
Hopefully this is clear enough ![happy](/images/happy.gif)
|