With this fix to GameScript's graphic chip initialization, SchoolZone's colours are back to normal despite the new ink pipes tiles that use the same colour numbers as the browns used for "owl background". I thought at first that I was using a too small memory bank for extended palettes, but no. VRAM_E_LCD is 64K and only 32K are used when mapping as VRAM_E_EXT_PALETTES. But I wrongly set "BG_WRAP" while tile planes are always wrapping (unlike bitmap planes), and for the plane used for the owl background, it forces sharing of the palettes of the playground plane.
Voilà. Une vieille erreur dans l'initialisation des plans de décor de corrigée, et mes couleurs sont enfin comme elles le doivent sans "couleur interdite" pour l'avant plan. Je vais pouvoir passer à la programmation des bouchons et des vaguelettes.
Et au passage, je retombe sur
un outil en ligne de planification pour la mémoire vidéo de la NintendoDS assez pratique. Voir dans les commentaires pour ce qui me semble le plus intéressant pour la suite du programme.
vramSetBankA(VRAM_A_MAIN_BG_0x06000000);
ReplyDeletevramSetBankB(VRAM_B_MAIN_SPRITE_0x06400000);
vramSetBankC(VRAM_C_SUB_BG_0x06200000);
vramSetBankD(VRAM_D_TEXTURE_SLOT0);
vramSetBankE(VRAM_E_BG_EXT_PALETTE);
vramSetBankF(VRAM_F_TEX_PALETTE_SLOT0);
vramSetBankG(VRAM_G_TEX_PALETTE_SLOT1);
vramSetBankH(VRAM_H_LCD);
vramSetBankI(VRAM_I_SUB_SPRITE);