I was trying to point out that the console and the background share a palette. dmaCopy expects the size to be in bytes. by changing the palette load to 128 bytes you are limiting your background to images that are 64 colors or less. which in this case is fine. however, you will likely find (depending on the palette for your background) that all of the default 16 colors that the console provides for text are not what you expect. the console sets up the palette like so for 4 bit:
Code: Select all
//set up the palette for color printing
palette[1 * 16 - 1] = RGB15(0,0,0); //30 normal black
palette[2 * 16 - 1] = RGB15(15,0,0); //31 normal red
palette[3 * 16 - 1] = RGB15(0,15,0); //32 normal green
palette[4 * 16 - 1] = RGB15(15,15,0); //33 normal yellow
palette[5 * 16 - 1] = RGB15(0,0,15); //34 normal blue
palette[6 * 16 - 1] = RGB15(15,0,15); //35 normal magenta
palette[7 * 16 - 1] = RGB15(0,15,15); //36 normal cyan
palette[8 * 16 - 1] = RGB15(24,24,24); //37 normal white
palette[9 * 16 - 1 ] = RGB15(15,15,15); //40 bright black
palette[10 * 16 - 1] = RGB15(31,0,0); //41 bright red
palette[11 * 16 - 1] = RGB15(0,31,0); //42 bright green
palette[12 * 16 - 1] = RGB15(31,31,0); //43 bright yellow
palette[13 * 16 - 1] = RGB15(0,0,31); //44 bright blue
palette[14 * 16 - 1] = RGB15(31,0,31); //45 bright magenta
palette[15 * 16 - 1] = RGB15(0,31,31); //46 bright cyan
palette[16 * 16 - 1] = RGB15(31,31,31); //47 & 39 bright white
essentially it treats it as 16 4bit palettes with the last entry being the font color. as you can see there is ample opportunity for conflict.