Aha ok. Mostly makes sense (re the BPM) but I think I'll have to try it out and see to really know how it will affect things in practice but now I see what you're referring to.
Major changes to the NSF's tempo will mostly affect how a triplet or vibrato will sound, they'll be slower or faster, like changing the speed on a turntable (without pitch shift).
One workaround idea could be a second clock that free runs at or about 150 pulse rate for the NES but also syncs, in a very broad way, to the Midi master clock. You would write your NES track with it's internal BPM close to the song's BPM so it's 'what you hear is what you get'. Playback is controlled by the secondary clock's BPM but syncs to the Master Midi Clock every ~2, 4 or 8 bars (?) then adjust the Second Clock (small shifts) as needed to get the best timing.
This could all be in the uC, just a timer routine that's adjusted/locked to the incoming Midi Clock.
If the input/output trick works on Arduino there probably isn't much worry to do any other shenanigans so I think I'll try that first since I have all the stuff I need to get it going I think and I can go from there. Since this would be for stage and studio, I'll want to built something that is hardy enough. On that note, it sounds like MCTRL is doing very similar things so I'm guessing it would be useful for controlling FamiSlayer if I wanted to buy over build?
MCTRL is based on a Highly Liquid Midi board and is programmable but I think it responds to Note On/Off messages and not sure if it does Midi Clock messages.
So in your user case; you would have to use one of the tracks in your DAW to send the Note message timing, a Click track This may be more flexible to handle the issues; just come up with a note pattern that sends 150 'note ticks'
each Min of your song regardless of it's tempo. Does this sound more flexible to you? Because as I'm writing, it kind of seems like a really good way to control the NES, hummm.
By the way, thanks again! I've been wanting to do this for years now and the detail and time taken to explain all this is much appreciated!
No problem, Been wanting this sort of setup also, since I first heard about MidiNES in '01 or 02. That didn't workout too well for me, but lately there are a lot of great projects that pull this all together. Lucky Us
Yogi