The length counter does seem kind of strange. If they're both running at the same time... in order for the length counter to EVER be used, it would have to be 1/4 of the linear counter (since it's clocked at 1/4th the speed). Why you would want to do that is beyond me.
>> Also, Disch what game were you using to test your triangle wave code.
All sorts... I'm working with an NSF player though... not an emulator.
But I've tested with the Megaman series, CV series, SMB series, the FamiCompo submissions (AI Bomb owns me), Maniac Mansion, and a bunch of other games.
The only one I can recall having any problems with is Megaman 1... which sounds strange at the intro to Fireman's stage, Iceman's stage, and during that little breakdown a few seconds into Bombman's stage. Though it's been so long since I played that game on the original console I forgot what they're supposed to sound like. And the emulators I've tried experience the same weirdness that I am.