This page is a mirror of Tepples' nesdev forum mirror (URL TBD).
Last updated on Oct-18-2019 Download

pulse sweep unit behavior when unused?

pulse sweep unit behavior when unused?
by on (#212429)
I found some old code in ggsound that apparently does nothing to the sweep unit but set the negate flag. Removing all the code which references and uploads this register results in unchanged behavior. I can't remember why I have it in the codebase, except that it must have been something from MetalSlime's original audio tutorial from which I originally learned.

What is the behavior of the sweep unit if you do absolutely nothing to it from startup, or is it advised to at least set it to some nominal value?
Re: pulse sweep unit behavior when unused?
by on (#212430)
You need to set the N flag of the sweep register in order for the lowest notes to play (even without a sweep)

Ive noticed that games set the sweep register to $7f, when sweeps are off.
Re: pulse sweep unit behavior when unused?
by on (#212431)
It's initialized at power on, BUT using a game genie will mess that up. Some of the Mega Man games never touch the sweep registers and have messed up music if you play with a Game Genie.
Re: pulse sweep unit behavior when unused?
by on (#212507)
You can't play notes in the pulse channels' lowest octave (what FamiTracker calls A-0 through G#1) if the sweep is at the default ($00). From APU Sweep on NESdev Wiki:

If at any time the target period is greater than $7FF, the channel is muted. In particular, if the negate flag is false, the shift count is zero, and the current period is at least $400, the target period will be large enough to mute the channel. (This is why several publishers' NES games never seem to use the bottom octave of the pulse waves.)


Further reading: Google Search: lowest octave site:nesdev.com
Re: pulse sweep unit behavior when unused?
by on (#212580)
rainwarrior wrote:
It's initialized at power on, BUT using a game genie will mess that up. Some of the Mega Man games never touch the sweep registers and have messed up music if you play with a Game Genie.

So this means Mega Man games using the old Capcom sound driver (Mega Man and Mega Man 2) cannot use the lowest octave with pulse waves?