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

STK: Axx is incorrectly interpreted as D00 in some files #6

Open
bryc opened this issue Apr 20, 2020 · 6 comments
Open

STK: Axx is incorrectly interpreted as D00 in some files #6

bryc opened this issue Apr 20, 2020 · 6 comments

Comments

@bryc
Copy link

bryc commented Apr 20, 2020

This STK here is jumping constantly with D00 commands. SLL-high byte.zip

@8bitbubsy
Copy link
Owner

I'm fully aware, and this is too complicated to have an elegant fix. Identifying what tracker a 15-sample .mod was created with is based on hackish heuristics.

@bryc
Copy link
Author

bryc commented Apr 22, 2020

ah that sucks. this is a major bug in playback. but this file played fine in a 2017 version i had laying around. i guess you hit the limit of STK compatibility? :(

@8bitbubsy
Copy link
Owner

While the older version may have loaded those exact modules correctly, it also failed on more modules than the modern version does. Getting Axx/Dxx right in STK import is a challenge. They were mixed in different STK tracker versions.

@bryc
Copy link
Author

bryc commented May 6, 2020

So what are your intentions for this? I see now how it can be hacky, as I'm working on a stk>mod converter. In case of 'high byte', checking if Dxx has data where xx is, it obviously can't be a pattern break, since specific row support did not come until ProTracker 1.1. The usage of D makes no sense in that file.

The most elegant solution is to just support DOC+ only, since that is when the commands started being 'standard'. No heuristics or guessing necessary. And if that's the case, this issue can be closed and I'll know which STK files are worthy to report bugs on ;)

@8bitbubsy
Copy link
Owner

8bitbubsy commented May 6, 2020

Your assumption about Dxx is wrong. Just because any Dxx parameter would yield the same result doesn't mean you couldn't accidentally type a value in a Dxx in the tracker. I bet the saver didn't sanitize any effect parameters. In fact, I actually did stumble upon an STK .MOD where a Dxx with a value is found, but it has to be converted to D00.

@8bitbubsy
Copy link
Owner

My intentions are not very defined, but I guess I want to support loading "most" of the STK modules out there. In reality it works a bit different since it's so hard to get them all to load correctly. This is why I look at this as a hackish import instead of a proper load.

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

2 participants