mercredi, septembre 13, 2006

fighting with rotoscale hardware

sometimes, you realise you should have put more times reading the specs. That happens with my IXP2400 processor, but also with the NDS.
After the fight-against-blending story, i tried to put the grid of my sprite editor on a "rot/scale" background so that you could opt for 16x16, 32x32 or whatever edition size you prefer (though beside 24x24, i don't see what else we could have). That came just after a slight modification that was intended to fully useable 'upper' screen.

But the result was a rather black stuff. It took me hours of tests with the flash card (the emulator didn't help finding out what was going wrong, as in the blending case) to finally figure out that, while you have 8-bit per tile only on rotoscale layers, you still must write 16 bits at a time, or your access pattern is lost.

Il y a des jours où on se dit qu'on devrait lire les manuels plus en détail. C'est ce qui arrive régulièrement avec mon Network Processor IXP2400, mais aussi avec la nintendo. Après l'épisode "je me bats contre des fantômes transparents", j'ai essayé de mettre la grille du "Sprite Editor" sur un calque zoomable (rot/scale), histoire que l'on puisse aussi bien éditer des blocs 16x16 ou 32x32 ... Et ça juste après avoir modifié le code pour permettre l'utilisation de l'écran supérieur ...

Résultat? Du noir. C'est tout.

J'ai passé des heures à monter/démonter ma carte SD (comme dans le cas de la transparence, l'émulateur n'est pas vraiment utile ici non-plus) pour finalement me rendre compte d'une erreur débile. Même si les calques avec zoom n'utilisent que 8 bits par "tuile", on est quand même obligé d'écrire dans la mémoire vidéo par mots de 16 bits d'un coup... sans ça, les données se perdent :P

Aucun commentaire: