Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Slight popping bug affecting the Pokémon Title Theme of Pokémon Black and White #4

Open
AmiSapphire opened this issue Oct 5, 2024 · 5 comments

Comments

@AmiSapphire
Copy link
Owner

AmiSapphire commented Oct 5, 2024

No investigation (yet), but this one song is affected by an apparent decade-old bug or oversight, and I admittedly do not care to try and fix this one just yet, either. (Mainly because it is -variant of song they keep using for ~20 years at this point.-)

Some notes:

  • The tempo fix fully exposes this one just like the now fixed PLAYER Record oversight. Without it, the popping is not as obvious.
  • in_ncsf v1.10.3 exhibits the same bug, so this one is older than the PLAYER Record oversight anyway.
  • Not tested yet: in_ncsf v1.10.2 to see whether it is present or not.
  • There's a sample, but it's unconverted, hence not uploaded here yet.

Sample (from current pre-wxWidgets v0.3/master):
Pokémon Black and White: Title Theme - current pre-wxWidgets v0.3/master

Sample (from unmodded v1.10.3):
Pokémon Black and White: Title Theme - unmodded v1.10.3

Note that the tempo fix fully exposes the bug; on pre-tempo fix, it only pops on the section when it would normally pop the third time.

Theory: Hopefully it's not the ring buffer. (Ironically, this was an earlier theory when tracking down the bug that turned out to be an oversight with Cnv_Sine during code cleanup.)

@AmiSapphire
Copy link
Owner Author

AmiSapphire commented Oct 5, 2024

This bug exists in v1.10.2, so it's actually earlier than I thought. I do not have any compiled builds earlier than v1.10.2, so where the bug is exactly is a mystery for now.

The ring buffer was actually introduced in v1.8, so at some point I will compile the version before that. Though... there is a chance it's not the ring buffer, but somewhere else in the code.

@AmiSapphire
Copy link
Owner Author

AmiSapphire commented Oct 10, 2024

Okay... it's not the buffer or the ADPCM code.

I managed to compile in_ncsf versions 1.4 (this predates even the circular buffer) and 1.5 (has circular buffer and predates the ring buffer), and the slight popping is still present in this track. I even applied the tempo fix to v1.4 to confirm this. I actually have no clue so far.

This workspace will have to be migrated to another Windows 10 install, as it is further cluttering up my old primary Windows 10 Pro install.

--

And one more sample: in_ncsf v1.4 with the tempo fix... just to prove the bug is still present there.
Pokémon Black and White: Title Theme - v1.4 with tempo fix

Looks like it is now an investigation, just a pretty lazy one.

@AmiSapphire
Copy link
Owner Author

AmiSapphire commented Oct 23, 2024

A LOT of real life stuff happened, but the tech-only parts would be:

  • October 16 would be the last 4TB HDD arrival. Installed in NAS, ran badblocks, was fine. Add to RAID array. Two days later, expand filesystem. Done. [Already planning an upgrade to the NAS and bought a SAS HBA card for it; such a build would be for next year at the earliest.]
  • October 20 was the point of finishing up the migration to a dedicated NCSF source code system build. It only has a 20-year-old Sony monitor with a 1280x1024 screen resolution, so to use the two better screens, it will have to be set up in my room... not bothering for now.
  • October 23 is the required 2FA setup of this account. Procrastinated on this for about a month.

@AmiSapphire
Copy link
Owner Author

I finally, FINALLY, had the chance to revisit this source code again today, and...

This bug was present here from the start.

@AmiSapphire
Copy link
Owner Author

Okay, managed to further scrutinize the code against the kode54/SSEQPlayer code, and it's pretty on par with each other.

This particular bug may be within part of the xSF framework, since it is unique with this code anyway. Also, and I didn't mention this earlier, there is a non-Winamp and non-Windows implementation of this very code that exhibits the same bug.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant