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

(Probably?) incorrect sample header structure in IMS loader (and more) #733

Open
sagamusix opened this issue May 7, 2024 · 0 comments
Open

Comments

@sagamusix
Copy link
Contributor

sagamusix commented May 7, 2024

The IMS loader seems to contain some code that is questionable in more than one way.

  1. First off, from my observations, the sample headers are exact replicas of SoundTracker sample headers, including the 22-char sample name. libxmp instead truncates the sample name to 20 characters and assumes that a 16-bit finetune value follows. The code notes that this finetune value causes some "squeaks" in a specific track - no wonder, because that track contains one particularly long sample name that overflows into this "finetune" field. The field that normally serves as finetune in ProTracker MODs is left as "unknown" instead. Note that I found no IMS files where this field is ever non-zero, so either this feature is unsupported or simply unused.

  2. The "zero" field appears to be song restart position.

  3. I couldn't find any files with notes <= 12 but it would seem weird to me that both note values 0 and 63 would serve as "no note", A quick reading of the Wanted Team player of this format seems to confirm my suspicion (when loading the effective period from label lbL0007CC, the first entry is 1712, a valid period two octaves below middle-C). Note that the lack of finetuned periods in this table would also most likely confirm that there is indeed no support for finetune in this format.

@sagamusix sagamusix changed the title (Probably?) incorrect sample header structure in IMS loader (Probably?) incorrect sample header structure in IMS loader (and more) May 7, 2024
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