Dn-Programming-Core-Management / Dn-FamiTracker

modifications and improvements for 0CC-FamiTracker (based on j0CC-FamiTracker 0.6.3)
Other
366 stars 23 forks source link

Dxx does not behave properly in NSF export (under specific circumstances) #183

Open Threxx11 opened 1 year ago

Threxx11 commented 1 year ago

I was unable to replicate this bug in a fresh module, and I am not sure what the context of the error is in the module where it occurs.

Either way, the bug can be observed by comparing the audio in the tracker to the attached NSF export. The patterns on the 2A03 pulse channels seem to break and do not actually skip to the desired point in the next frame. Both files can be found in the attached .zip file.

If any more information is required, it can be provided in confidence, but this song specifically is from a module I cannot share publicly so if the full module is required it will have to be shared privately.

broke.zip

Threxx11 commented 1 year ago

It is also worth noting this bug occurs in 0.4.0.1 and was not introduced with 0.5.0.0.

Gumball2415 commented 1 year ago

this appears to be a bug regarding pattern loading, the driver variables tracking the current position of the song are correct. i might not be able to solve this if i don't figure out what's exactly going on.

Gumball2415 commented 5 months ago

observation: it's almost like the frame advance doesn't happen until the end of pattern length

Gumball2415 commented 5 months ago

the Dxx handling code in the NSF driver wasn't updated with the new command bytecode paradigm (implemented in #46), so it's scanning for 0CC bytecode instead of DNM bytecode

Gumball2415 commented 5 months ago

https://github.com/Dn-Programming-Core-Management/Dn-FamiTracker/actions/runs/8067304836 can you confirm if this build fixes the issue?