I've noticed NSFPlay has an option to set the enable bits on the APU channels when the player resets. Turning this option off causes a few NSFs that never bother to set these bits to fail to play (e.g. Battletoads).
I know the spec tells us not to assume the state of anything on init except A and X, but there seems to be an expectation in a few NSFs that the APU should have its channels enabled. Even Loopy's PowerPak NSF reset routine does this.
Should I just make a note of this in the wiki? Is it important to fix the offending NSFs? Are there any NSFs that assume the enable bits are clear at reset?
Edit: ah, never mind. It was pointed out to me that it's actually stated in the "Properly initializing a tune" section: "Set volume register 4015h to 0Fh." I guess I was thrown off by "Do not assume the state of *anything* on entry to the init routine".
I know the spec tells us not to assume the state of anything on init except A and X, but there seems to be an expectation in a few NSFs that the APU should have its channels enabled. Even Loopy's PowerPak NSF reset routine does this.
Should I just make a note of this in the wiki? Is it important to fix the offending NSFs? Are there any NSFs that assume the enable bits are clear at reset?
Edit: ah, never mind. It was pointed out to me that it's actually stated in the "Properly initializing a tune" section: "Set volume register 4015h to 0Fh." I guess I was thrown off by "Do not assume the state of *anything* on entry to the init routine".