2a91d40f4d75ec5affdbd63b95815f14d7a62884
The FDS modulator unit's per-step bias table is documented on the
nesdev wiki and used in MDFN, NSFPlay, and negativeExponent's
fceumm_next as { 0, +1, +2, +4, RESET, -4, -2, -1 }. The conditional
form in this file expanded to { 0, +1, +2, +3, RESET, -3, -2, -1 } -
producing the wrong magnitude at indices 3 and 5 where real hardware
takes a power-of-2 step.
Replace the conditional with a literal lookup table matching the
hardware. Bit-identical for mod table values 0, 1, 2, 4, 6, 7; only
indices 3 and 5 change.
This is a step toward #560 (VS Excitebike FDS triangle pitch) but
unlikely to resolve it on its own. The modulator's deeper bug is
that this file is missing the sweep_bias integrator entirely: real
hardware accumulates the bias steps over time and the resulting
running total scales the carrier frequency adjustment, whereas this
implementation applies each mod table entry's bias instantaneously to
the b8shiftreg88 sub-clock gating without accumulation. Tracked
separately; the structural fix needs the modulator unit rebuilt
around an sweep_bias accumulator (or a wholesale backport of
_next's fds_apu rewrite).
FCE Ultra mappers modified
FCEU "mappers modified" is an unofficial build of FCEU Ultra by CaH4e3, which supports a lot of new mappers including some obscure mappers such as one for unlicensed NES ROM's.
Sequential targets Light Guns support added
Support for Sequential targets Light Guns has been added. "Gun Aux A" serves as light sensor logic input.
Description
Languages
C
97.7%
Python
2%
C++
0.2%