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

Increase SFX instrument limit from 28 to 128 #80

Open
KungFuFurby opened this issue Mar 31, 2021 · 0 comments · May be fixed by #406
Open

Increase SFX instrument limit from 28 to 128 #80

KungFuFurby opened this issue Mar 31, 2021 · 0 comments · May be fixed by #406
Labels
enhancement New feature or request spc-side Involves the SPC700 code.

Comments

@KungFuFurby
Copy link
Owner

There is currently a 28 instrument limit on sound effect instruments due to an 8-bit limitation on the utilization of offsets in the code at this time (meaning the instrument table has a limit of 256 bytes: this means that $1B is the last valid instrument ID that can be used. The next ID overflows on its offset in the process of reading the table.).

I am interested in increasing the limit to half of the 8-bit limit (due to the highest bit instead loading a noise clock parameter). Because each instrument entry is nine bytes, this requires a 16-bit offset to be supported when reading the table.

@KungFuFurby KungFuFurby added enhancement New feature or request spc-side Involves the SPC700 code. labels Mar 31, 2021
KungFuFurby added a commit that referenced this issue Oct 12, 2023
Using a 16-bit offset allows for up to 128 SFX instruments to run at once. The
only reason why more isn't permitted is because $80 and up are used for noise.

This commit closes #80.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request spc-side Involves the SPC700 code.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant