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

DPCM echo buffer does not respect new instrument sample layout in NSF export? #292

Open
Gumball2415 opened this issue Jul 31, 2024 · 1 comment
Labels
bug Something isn't working nsf-driver sound engine used in NSF/assembly file export

Comments

@Gumball2415
Copy link
Collaborator

Gumball2415 commented Jul 31, 2024

echo buffer tests.zip
in the nsf export, echo buffer on DPCM does not seem to play the respective instrument's sample layout, instead playing the older instrument.

@Gumball2415 Gumball2415 changed the title DPCM echo buffer does not respect new instrument sample layout? DPCM echo buffer does not respect new instrument sample layout in NSF export? Jul 31, 2024
@Gumball2415
Copy link
Collaborator Author

due to the way the pattern compiler abstracts DPCM instruments and notes into DPCM sample indices, this cannot be fixed unless the method of DPCM pattern processing is rewritten entirely.

https://github.com/Dn-Programming-Core-Management/Dn-FamiTracker/blob/2c997736c1bd87bcee634d1225299fb0f4420617/Source/Compiler.cpp#L65C1-L67C14

DPCM instruments + note + octave gets translated into a sample index type via CPatternCompiler::FindSample() then storing the result in the note parameter, thus making echo buffer commands possible, but not instrument changes.

the only alternative is "baking" in echo buffer commands at compile time, but this may be impractical.

@Gumball2415 Gumball2415 added bug Something isn't working nsf-driver sound engine used in NSF/assembly file export labels Nov 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working nsf-driver sound engine used in NSF/assembly file export
Projects
None yet
Development

No branches or pull requests

1 participant