Open BenjaminSiskoo opened 6 years ago
Le même problème d'affichage incorrect est visible sur l'écran titre et tous les écrans de la liste de jeu. Sur l'écran titre :
Tous ces écrans utilisent le même paramétrage sur le VDP2 :
L'affichage est en haute résolution double entrelacé 640x480i :
Les couches impliquées dans le graphisme incorrect sont le NBG0 et le NBG1. Ils sont tous les 2 en mode bitmap 8 bpp 1024x512. L'adresse de départ du bitmap du NBG0 est au début de la VRAM A, et celle du bitmap du NBG1 est au début de la VRAM B. Le bitmap du NBG0 fait 512 ko et occupe la totalité de la VRAM. Sa 1ère moitié se trouve sur la VRAM A, et sa 2ème sur la VRAM B, là où se trouve le bitmap du NBG1. Celui-ci a une taille limitée à 256 ko (la taille de ram comprise entre son début et la fin de la vram), seules ses 256 premières lignes tiennent en VRAM et les 256 suivantes sont une répétition verticale de ces 256 1ères lignes, voir p. 95 de la doc du VDP2 "The bit map size and bit map color count can be set to exceed the VRAM capacity, but the same picture would be repeated in the vertically.").
Le RAMCTL à 0x1000 indique que les VRAM A et B ne sont pas partitionnée.
Le cycle pattern indique que les character patterns du NBG0 ne sont accessibles que sur la VRAM A, et ceux du NBG1 que sur la VRAM B.
Si on n'affiche que le NBG0 : la partie haute est correcte jusqu'à la bande noire, mais la partie basse devrait être noire (NBG0 transparent au back screen) car c'est celle qui est sur la VRAM B, inaccessible pour le NBG0. Comme indiqué pour Aquazone ( #772), il manque dans Kronos un contrôle de l'accessibilité des character patterns en fonction de leur adresse dans la VRAM et de la valeur du cycle pattern (ou bien ce contrôle est incorrect).
Si on n'affiche que le NBG1 : la partie basse est correcte sous la bande noire, mais la partie haute devrait répéter le même graphisme que la partie basse au lieu d'afficher le graphisme de la VRAM A, qui se trouve avant l'adresse de début du NBG1. Comme le NBG0 et le NBG1 ont la même priorité, la partie visible du bitmap du NBG0 est par-dessus la répétition du NBG1. Cette répétition n'est visible que sur une bande de 8 pixels en haut de l'écran titre, qui est blanche comme sur la console si cette répétition est implémentée. .
Kronos 1.4.5