Skip to content

(0.80.0-dev) Some carts that poke to sound registers are broken #983

Closed
@The-Beesh-Spweesh

Description

@The-Beesh-Spweesh

After the effect-column update, I've noticed that some carts like this one don't produce any software-generated sound anymore.

The reason for this is because of a change in the stereo registers at 0x0FF98 to 0x0FF9B. The 4-bit values for the left and right balance levels used to be inverted prior to the update (0 becomes 15, 1 becomes 14, etc.). As a result, poking 0x00 (the default value) to either of the four stereo registers causes the level to be 15 (the maximum volume) on both sides.

Now after the update, the left/right level registers aren't inverted anymore. This means writing 0x00 will directly set both sides to 0 (mute), and now you'll need to write 0xFF to set both sides to max. Wait, what? Pre-0.80.0-dev carts don't write here!

The Fallspire demo isn't affected by this change, because that calls sfx() on all four channels, therefore setting all four stereo registers to 0xFF.

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions