Super-NT-Jailbreak
Super-NT-Jailbreak copied to clipboard
Glitches: Harukanaru Augusta 3 Masters New (Japan)
Expected behavior and actual behavior
Graphical glitches upon match start and continue throughout game.
This occurs on Harukanaru Augusta 3 Masters New but most likely also occurs on Pebble Beach no Hotou New: Tournament Edition.
firmware
- firmware version: 4.5
This same behavior was also reproduced by marvelus10 on discord
Confirming that this behavior also occurs on Pebble Beach no Hotou New: Tournament Edition but not going to create a separate issue for that game.
https://imgur.com/a/1s5lzsA
No such issues are present when running these games with the new sd2snes SA-1 core. The core has some minor graphical issues on the Super Nt and original consoles.
I can also confirm that the specific graphic anomalies described (and shown) in this bug report are not present when using SD2SNES new SA-1 core (v02). This could simply be because the SA-1 implementation on SD2SNES is still buggy and the specific SA1 instructions that cause this issue are simply not implemented yet on SD2SNES. Unfortunately I don't have a real cart of this game to compare with. I will update this report if and when a future SD2SNES SA-1 core revision is released with cause these symptoms to show up, as they do on a real cart.
Issue still does not occur on SD2SNES SA-1 firmware v06 on Super NT fw 4.5 - must be a real-cart-only issue... Very odd that the real cart would have these issues but not SD2SNES.
I can confirm this using a real cart of Pebble Beach no Hatou NEW
https://imgur.com/a/aWvfwPk
- Super NT problem photo
- Real cart confirmation photo
- Real SNES is OK photo
Can anybody retest on latest firmware? Thanks!
I see this on firmware 4.9 and 6.9. One unique thing about these two SA1 games is they both use character conversion DMA for a lot of the screen drawing. Character conversion DMA reformats the data, buffers it in SA1 IRAM, and provides a copy to the SNES via its own DMA which is triggered using a cart bus interrupt after the SA1 performs setup. I think SMRPG also uses character conversion DMA, but only for some text on the level up screen and not in 8bpp format or a width of 32.
The SA1 has to rely on cartridge bus address and control values to determine when the SNES has read the next address to advance its own state machine to produce new data. I didn't see an obvious problem with DMAs terminating early like ff3. The data just seems to get corrupted. Sometimes it looks like data gets dropped which causes tiles to get shifted earlier in the screen.
There is a difference in when the snt increments its DMA address at a bus refresh vs a 1-chip. The snt seems to pre-increment the address (or rather, increment on RD deassertion in all cases) but the 1-chip has unique behavior where it increments after the refresh on some none RD-edge. Perhaps this early increment is confusing the SA1's state machine causing the data corruption? Double increment? Maybe it's a function of what address bits are on the bus around the refresh? I tried masking the refresh pin on the cart, but, as expected, it doesn't boot. From grep'ing the code the SD2SNES SA1 implementation doesn't seem to do anything with the refresh pin so maybe that's why it works ok according to the earlier comments?
The DMA starts around ROM address $009D4D (LDA #$01 address). There are many calls to this function to fill in the 8bpp screen. Most seem to transfer $1600B of data from SA1 to VRAM. In masters new hit 'start' a lot to get into the game. Once in the game you can hit 'A' to toggle in and out of an on-screen menu. Parts of the menu get shifted to the left along with other corruption.
snt DMA with refresh
1-chip DMA with refresh
Still an issue...
2021-09-09: https://retro-gamer.jp/?p=16131
@MrGlz @G-lithcz @gingerbeardman can you please re-test your cartridges with the latest official firmware? https://www.analogue.co/support/super-nt/firmware/5.1
Change log: “Fixed Harukanaru Augusta 3 graphics issue.”
Pebble Beach NEW Tournament Edition
Looks fixed to me
@tjanas May I ask what the problem was?
I don’t know. You would have to ask someone from Analogue.