FCare / Kronos

Kronos is a Sega Saturn emulator.
http://fcare.github.io
230 stars 21 forks source link

[Virtual Mahjong (Japan)] Ecran étiré... #1233

Open BenjaminSiskoo opened 2 years ago

BenjaminSiskoo commented 2 years ago

Kronos Wip du 14.10.2021 Mode CS Bios intégré / Vrai Bios

image

fafling commented 2 years ago

Affichage correct dans Yabause 0.9.14 : image

Ecran debug dans Kronos : image

Apparemment, Kronos double la taille verticale du NBG1 quand il est en mode bitmap et quand le VDP2 est en double interlace. C'est le même problème qui fait disparaître la carte dans la démo de Ponut64 du 09/12/2019 #702 . Ce problème date de la 1ère WIP de la 1.7.0 du 17/03/2019.

Je rappelle que l'affichage du coordinate increment y du NBG1 dans l'écran debug est faux (voir #1007 ), ce qui est peut-être à l'origine de ce bug, comme des infos debug fausses l'ont été pour les combinaisons de fenêtre incorrectes apparues également dans cette même WIP.

Pour voir le problème avec la dernière WIP, il faut désactiver les sprites car ils sont opaques de manière incorrecte, voir #1293.

Testé avec le redump.

Save state de la WIP du 31/12/2021, incompatible avec la v2.2.0 publique : virtual_mahjong_debut_partie_20211231.zip

fafling commented 1 year ago

Problème peut-être lié, au début de la démo, le line scroll est incorrect sur le NBG1 en mode bitmap en single interlace : image

Présent en v2.3.1 publique et dans la dernière WIP.

Affichage correct dans Mednafen 1.29 : image

Testé avec le CD d'origine.

fafling commented 11 months ago

L' étirement vertical du NBG1 est fixé in game, mais pas le line scroll dans la démo.

fafling commented 11 months ago

Le problème de line scroll est en grande partie fixé par 1ed7f6293c695235e88f6bd74cffd117d9d637f3 et 9589c4f569958dc0d2097ea4de0004bb14020b31.

Il reste un problème de répétition incorrecte du bitmap du NBG1 sur quelques lignes de l'écran où on voit des répétitions de pixels transparents et roses.

Le bitmap est basé en 05E20000 et fait 512x256 en 8 bpp. Il se termine donc en 05E3FFFF. A partir de 05E40000, on voit une répétition de 0x8000 qui correspond au graphisme incorrect. image

Si on met les 16 1ers de ces pixels à 0 avec une série de cheat codes, on voit le début des pixels incorrects du NBG1 passer à transparents (à gauche sans les cheat codes, à droite avec) : image

Cheat codes : virtual_mahjong_depassement_bitmap_nbg1.zip

Kronos affiche donc des pixels qui n'appartiennent pas au bitmap mais se trouvent juste après lui en VRAM.

BenjaminSiskoo commented 8 months ago

kronos20231130_75bb84e

image