Wednesday, March 15, 2017

Super Turrican Soundfix proposal

It seems not a lot gamers have played Super Turrican. This is my assumption and it has to be true as not much information is available on a significant bug this game has.

While playing the game more frequenty on the sd2snes to do the MSU hack I ran into issues sometimes. The sound glitched up. I was pretty certain that this was not caused by my hack as I had the same issue very rarely with my original PAL cartridge and blamed it for this. There is actually a video on YouTube showing off how it could sound like. Please turn down the volume as headphone user :3


There also do exists some discussion on that topic on some forums:

http://www.racketboy.com/forum/viewtopic.php?f=17&t=37267
http://shmups.system11.org/viewtopic.php?f=6&t=40996


Let sum this up here:

  • It happens on the NTSC and the PAL version. (I've tested this)
  • It never appeared to me on higan while developing my MSU Hack.
  • It is caused by a soundeffect and not music. (As my hack doesn't have music on levels)
  • The glitch only happens on 1chip SNES hardware. (Assumed)
  • Chances for this bug to happen are quite low. It's possible to make a complete run of the game without having issues at all.

Also there do exists a theory that the blue laser makes this happen more frequently. I can not approve that as it happend to me with the spread shot once too.

It's a mystery why this was unnoticed so long as the game has aged for quite a while and it seems to be unnoticed until 2010.


I never really intented to try to solve this issue as I can't debug it with an emulator. But a few weeks ago I've read this article.
It says:
Hardware Quirk! When writing in 16-bit values to 2140 / 2141, a noise pulse (or some technical thingy) may write data to 2143 too! Always write to 2140 / 2141 with 8-bit writes if this is undesired.

So that's some interesting stuff to look into.
I've modded higan for that purpose to detect 16 bit writes to 2140. As it turns out games like Super Turrican 2 and Super Bomberman 4 didn't have these while Super Turrican uses these writes for loading SPC data between the levels.

I've removed these instructions and replaced them by subroutines which write these values as separated bytes. I did one playthrough and no bug happend yet.

What I now really need are players that love to play Super Turrican and willing to test this patch to give me some test statistics.

Here is the download link for the PAL versions patch.
Apply using flips or some other patch tool.

Please keep it mind that this is ONLY a soundfix patch. No MSU hack is applied here. I will update the MSU version of my hack with this fix when I've finished resolving issues with sd2snes revision differences on volume levels.

The NTSC version will follow if we are able to proove that the fix is actually working.

Here the md5sums for checking:
90c9fe8386a7f69de475c58bb8de01f7  Super Turrican (Europe).sfc
d17a07bd58bf295fe09ff6d88f7d0151  SuperTurricanSoundFix_PAL.bps
5d214342d2eb3beae115471e4dbc1a6e  SuperTurricanSoundFix_PAL.sfc



9 comments:

  1. Hi there, just came by here to confirm that I have this issue. I have ntsc model snes with a 1chip (I had bought it specifically for higher quality rgb signal) and an original super Turrican cart.

    ReplyDelete
    Replies
    1. I feel with you my friend. It's a disaster Factor 5 never realized this during development.
      I cannot guarantee that my fix will work. But if you have a sd2snes lying around give it a try.
      If not then I guess buying a 2chip SNES is all you can do...


      To be honest I've rarely ever seen this with my original PAL cart which is strange.

      Delete
  2. I have been playing with this hacked rom successfully on my 1chip. No issues after 3 hours of play. Any chance you want to do that NTSC version to test that?

    I hadn't even tried playing the PAL version until I found this, but great work!

    ReplyDelete
    Replies
    1. Spoke too soon... It happened right as I killed the boss of level 2 and locked up the game :(

      Delete
    2. The patch URL is down, I was interested to try this myself. Could I ask what the latest is with this? I see a user reports it did not help them but has there been any further developments? Does the MSU version help with the issue at all?

      Delete
  3. Sorry I meant to add this as a new comment not a reply, trying again:
    The patch URL is down, I was interested to try this myself. Could I ask what the latest is with this? I see a user reports it did not help them but has there been any further developments? Does the MSU version help with the issue at all? Many thanks

    ReplyDelete
    Replies
    1. Howdy. The issue was never resolved sadly. I also tried to talk to Factor 5 about this. But they didn't even knew about that problem. There is one version, the directors cut or what it's called. I don't know if that also has this bug.

      I also don't know why Google has deleted the files.
      Anyway, I didn't publish the source code yet. Let's fix that:
      https://github.com/Slamy/SuperTurricanMSU
      It is very old and not maintained. But all files should still be there.

      Delete
    2. Thanks for your reply and clarifying. I think you are saying there that the MSU version does not help with the problem. Yes, I wondered if the directors cut release might change things. I don't think I can help, but I wanted to test myself and see what works and what doesn't. I'll be playing different versions of this game and will report back with any findings, but I fear it will just be "version X seems to crash less often, but it still crashes".

      I don't see the patches listed there (non-MSU), are you able to point me in the right direction, so I can see what my experience is like with your patch? Thanks

      Delete
    3. It was in a different local SVN I had. I've uploaded my last state as a branch on the project.
      Here: https://github.com/Slamy/SuperTurricanMSU/tree/soundfix
      Maybe a hint. I thought it was related to 8 bit vs 16 bit access on the 4 mailbox registers. But that might have been wrong.
      The MiSTer project lists the initial RAM values of the audio ram as difference between 2chip and 1chip models. I don't know if this would be something to check.

      Delete