68 lines
3.3 KiB
Plaintext
68 lines
3.3 KiB
Plaintext
|
FCE Ultra General User's FAQ
|
||
|
preliminary version
|
||
|
Last updated on: Friday 13th, 2003
|
||
|
------------------
|
||
|
|
||
|
|
||
|
Q: Why do some games make a popping sound(Rad Racer 2, Final Fantasy 3)?
|
||
|
A: These games do a very crude drum imitation by causing a large jump in
|
||
|
the output level for a short period of time via the register at $4011.
|
||
|
The analog filters on a real NES and Famicom make it sound rather decent.
|
||
|
I have not completely emulated these filters. Enabling high-quality
|
||
|
sound emulation will also make these pseudo-drums sound better. See
|
||
|
the next question for more information.
|
||
|
|
||
|
Q: Why do some games' digitized sounds sound too loud?
|
||
|
Why do the drums in Crystalis and other games sound fuzzy?
|
||
|
|
||
|
A: The NES' digital to analog converter is faulty, in that it does not output
|
||
|
sound linearly. This effect is most noteable when a games messes with
|
||
|
register $4011, which is added with the triangle wave channel and the noise
|
||
|
channel outputs. When $4011 is set to a large value, the volume
|
||
|
of the triangle wave channel and the noise channel drop significantly. More
|
||
|
Importantly, when digitized sounds are being played and the digitized sample
|
||
|
stream is at a high value, less changes will be noticeable. In other words,
|
||
|
the byte sequence "00 01 00" would be much more audible than the sequence
|
||
|
"7e 7f 7e". This non-linearity is only emulated when high-quality sound
|
||
|
emulation is enabled.
|
||
|
|
||
|
Q: Why doesn't the NSF <insert name here> work(correctly) on FCE Ultra?
|
||
|
A: Some NSF rips are bad. Some read from addresses that are not specified
|
||
|
in the NSF specifications, expecting certain values to be returned.
|
||
|
Others execute undocumented instructions that have no affect on
|
||
|
less-accurate software NSF players, but will cause problems on NSF players
|
||
|
that emulate these instructions. Also, the playback rate specified
|
||
|
in the NSF header is currently ignored, though I haven't encountered
|
||
|
any problems in doing this.
|
||
|
|
||
|
Q: Why doesn't the game <insert name here> work(correctly) on FCE Ultra?
|
||
|
A: Many factors can make a game not work on FCE Ultra:
|
||
|
|
||
|
- If the ROM image is in the iNES format(typically files that have
|
||
|
the extension "nes"), its header may be incorrect. This
|
||
|
incorrectness may also be because of garbage in the
|
||
|
header. Certain utilities used to put text in the reserved
|
||
|
bytes of the iNES header, then those reserved bytes were
|
||
|
later assigned functions. FCE Ultra recognizes and
|
||
|
automatically removes(from the ROM image in RAM, not on the
|
||
|
storage medium) SOME header junk.
|
||
|
|
||
|
If the game has graphical errors while scrolling, chances are
|
||
|
the mirroring is set incorrectly in the header.
|
||
|
|
||
|
You can try to edit the header with a utility(in the NES
|
||
|
utilities section at http://zophar.net ) or a hex editor.
|
||
|
|
||
|
- The on-cart hardware the game uses may not be emulated
|
||
|
correctly.
|
||
|
|
||
|
- Limitations of the ROM image format may prevent a game from
|
||
|
being emulated correctly without special code to recognize that
|
||
|
game. This occurs quite often with many Koei MMC5(iNES mapper 5)
|
||
|
and MMC1(iNES mapper 1) games in the iNES format. FCE Ultra identifies
|
||
|
and emulates some of these games based on the ROM CRC32 value.
|
||
|
|
||
|
- The ROM image may be encrypted. The author of SMYNES seems to
|
||
|
have done this intentionally to block other emulators from
|
||
|
playing "SMYNES only" games.
|