Dn-FamiTracker
Dn-FamiTracker copied to clipboard
NSF Driver and Export Fixes
This pull request aims to fix various bugs regarding NSF driver export and execution.
This pull request improves upon and supercedes #156.
Changes in this PR:
- Major export refactoring
- Use CCompiler pointer for writing ASM export title
- Decouple NSFDRV header from driver data
- Add NSF stub file for .asm export
- Fix assembly period table export
- Fix VRC7 period table assembly export
- Implement "glob" multichip assembly export
- Ignore invalid pattern data upon NSF export
- Fixes #215
- Specify what parts of pattern data are invalid
- Differentiate between error and warning colors
- Account for
HOLD_INSTRUMENTin pattern checking - Specify overflow in driver bank allocation
- Refactor compressed mode size calculation
- Include N163 period table in .asm export
- Declare alignment for first DPCM sample in assembly export
- Remove hardcoded bank references in assembly song header
- Implement bankswitched assembly config exports
- Add bank 0 for nonbankswitching config
- Refactor NSFe metadata generation
- Fix NES ROM export data alignment
- Fixes #278
- Fix DPCM segment start address in nonbankswitching assembly
- Refactor multifile export
- NSF driver fixes
- Fix N163 instrument load clobbering Kxx state
- Fixes #224
- Fixes #260
- Iterates on #156
- Fix S5B init clobbering Kxx state
- Fixes #256
- Fixes #246
- Fixes #215
- Write carrier frequency regardless of Kxx state
- Fixes #196
- Fix phase reset behavior
- Refactor phase reset code
- Update effect bytecodes in row skip handling
- Fixes #183
- Handle Gxx delay commands in both row and frame transitions
- Fixes #207
- Fix S5B instrument duty envelopes
- Fixes #267
- Clamp pitch and hi-pitch envelope period results
- Enable pitch sliding in linear pitch mode
- Implement linear pitch period limit
- Correct linear pitch calculation sequence
- Fix N163 instrument load clobbering Kxx state
- Internal fixes
- Fix debug constexpr
- In-beta issue (#276):
- Refactor Pitch/HiPitch bend logic
- Apply N163 slide shift if linear pitch is disabled
- Addresses #276
- Refactor period limit subroutine
- Fixes #276.
- Fix N163 portamento shift in linear period
- Fixes #276
Leafuw, nyanpasu64, and Zeta, thank you for your help!
TODO: fix linear pitch pitch sequences TODO: fix filename handling with two filetype extensions
TODO: fix asm export DPCM start address issue with beep.dnm
TODO: fix linear pitch pitch sequences
fixed in 4ce047dda2e9d2870039c3aa5b241b0b675b7576
TODO: fix asm export DPCM start address issue with beep.dnm
fixed in fa05bd9