Dn-Programming-Core-Management / Dn-FamiTracker

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

[Feature Request] Triangle linear counter retrigger command #291

Open Gumball2415 opened 3 months ago

Gumball2415 commented 3 months ago

Works similar to DPCM retrigger command (Xxx), but the xx parameter will control linear counter duration instead of tick period.

This command will write the linear counter value xx on every tick the command is active for.

Requested by @zeta0134

zeta0134 commented 3 months ago

Proposed documentation:

Triangle Effects
----------------

**Xxx - Linear Trill**

Retrigger's the linear counter on each tick, with a period of **xx** in APU Quarter Frames. Use xx=00 to disable.
Valid range: 00 - 7F

I'm not emotionally attached to Xxx, but as it performs a similar automatic retriggering for DPCM sample playback, it seems to fit.

zeta0134 commented 3 months ago

Motivation: this setup is used to great effect in Namco's Pacman CE demake for NES, here:

https://youtu.be/Fg8B3kiVckY?t=60

And here:

https://youtu.be/zAmF4QRf8eE?t=16

It is currently somewhat possible to recreate this effect in FamiTracker by using speed = 1, but this is both irritating to compose against and very inefficient in terms of the compiled bytecode data. The effect is pretty simple to implement in a driver, so it makes sense to include it as an automation.

Gumball2415 commented 3 months ago

this feature will be queued after #262