nand2mario / snestang

Super Nintendo Entertainment System for Tang FPGA boards
GNU General Public License v3.0
180 stars 21 forks source link

Sprite rendering and mode 7 glitches #17

Open radiance28 opened 5 months ago

radiance28 commented 5 months ago

I finally received my Primer25K kit and have already tested it out a bit in some games. First of all, I would like to note the beautiful, juicy, clear picture, I see every sharp pixel and it makes me happy. However, the overall impression is spoiled by wheezing or vibrating sound and periodic clicking sounds from the TV speakers during the game. Below I want to show some problems in game compatibility.

In Sunset Riders and some other games, sometimes a black bar appears on the left 20240501_013357_2

In Chrono Trigger and MarioKart, phantom pixels appear during screen rotation effects 20240501_013708_2

In Secret of Mana, the font is almost unreadable (this is not due to translation into another language, verified) 20240501_013619_2

The Legend of Zelda - Link to the past has no in-game sounds, only music. There are sounds in the menu.

But most of all, as has been said here many times, the hoarse sound spoils the impression, because this is one of the strongest sides of snes. Thank you, I hope that I will be heard!

upd:

Duffy Duck - Marvin Mission, Final Fantasy V, VI - Instead of music, a set of unrelated sounds, Super Mario World - The echo effect periodically disappears in cave levels, Final Fantasy II (IV) - no sound, Aero AcroBat 1 - stuck on "Iguana" splash screen,

nand2mario commented 4 months ago

The sound issue will be tracked in #16.

There are two graphics issues here:

  1. Sometimes sprites on the left side of the screen become black. The Sunset Riders. And it can be seen in the title screen of Mario Karts. This needs investigation.
  2. Mode 7 rendering glitches, in Chrono Trigger and MarioKart. This is mostly a memory issue. Mode 7 requires more memory bandwidth and has different memory access patterns than other modes. We should be able to mitigate this, if not completely solve this.