SmokeMonsterPacks / Super-NT-Jailbreak

Custom "Jailbreak" firmware for the Analogue Super NT
638 stars 35 forks source link

FFV garbled cursor and character graphics #159

Closed mattysaurus closed 1 year ago

mattysaurus commented 4 years ago

Firmware 4.9, No-intro Japanese rom and GBA script romhack

Expected behavior: When entering a shop (Tule, for example) and talking to the shopkeeper, both the cursor and character sprites appear as expected.

Actual behavior: Occasionally, randomly, the cursor hand graphics are garbled and the character sprites when browsing weapons and armor are garbled as well.

Steps to reproduce the problem

Enter a shop and speak to a shopkeeper. You may have to enter or exit the shop menu several times. It should appear at least once every dozen times. Sometimes much more often. Interestingly, I could not replicate the issue when the Region was selected as PAL (of course the game plays more slowly this way).

ROM name and hash value

Final Fantasy V (Japan).sfc No-Intro

firmware

relevant Super Nt settings

Does not occur when set to PAL

mattysaurus commented 4 years ago

E2524BE9-17CB-4F83-835D-18080A96DCFA

Here is a photo of glitch.

redacted173 commented 4 years ago

I haven't been able to reproduce this on snt, but it looks very similar to the ff6 dma bug. If I skip the DMA at $C2DA12 during the shop transition in an emulator I get the exact same tile pattern. The DMA writes new sprite data at VRAM (byte address) $4000 for the shop.

ff5_emu_bad_dma

redacted173 commented 4 years ago

I was able to hit the problem on snt with the attached zip with floating bps patch to ff5 jp on a SD2SNES with all the options disabled in the SD2SNES menu. It only happened on the snt 4.9 (non-JB) firmware for me. I couldn't hit it on 6.9, but I think it still has the bug. Just go in and out of the shop menu a few times until the sprites are messed up.

CRC-32: C1BC267D SHA-256: C6858D5C02894A6CC71F4DD452C7F288B319D1952CA56FDB185B4BF5E26244A2

Looks like the same problem as ff6: https://github.com/SmokeMonsterPacks/Super-NT-Jailbreak/issues/27. DMA sending over the sprites to VRAM ends early and all the stale tile data from before the shop menu is used. Trigger on the $420B write at $C2DA12 or the spurious(?) read at what I think is $0E8003 or $CE8003. I ran out of probes to get the upper bank bits. Can hopefully fix that and get some more address bit and other control signals soon.

ff5_snt_dma_bad

ff5jp_snt_issue159.zip

re4mat commented 3 years ago

Tested on JB7.0 using JP ROM patched with redacted173's patch above. Did not hit the bug. (Have not tried with the vanilla ROM, though.)

tjanas commented 3 years ago

@mattysaurus can you reproduce on latest JB version?

tjanas commented 1 year ago

@redacted173 can you see if it is reproducible on the latest official firmware update from today?

redacted173 commented 1 year ago

I can't reproduce the bug on SNT firmware 5.1.

tjanas commented 1 year ago

Closing this issue. @mattysaurus let us know if you experience this issue again with https://www.analogue.co/support/super-nt/firmware/5.1