0.1.1:
SDL_QUIT events are now handled properly.
Increased the default fast-forward speed to 4x.
Fast-forwarding will now invoke the emulation frame-skip code, to achieve much higher
fast-forwarding speeds. Fast-forwarding with frame skipping code may break some games,
but I haven´t encountered any yet...
Jitter correction is now done when configuring virtual input devices and command keys, and
the button pressed is on a physical joystick/gamepad. This is particularly necessary for
some(all?) analog joysticks connected via the ancient gameport interface on the PC, at least
under Windows 98
.
Various code cleanups and subtle usability fixes.
The "cheats" subdirectory under the Nintencer base directory is now created on startup(broken in 0.1.0).
Fixed sound code used when expansion channels are used and the internal pre-downsample target format
is floating-point.
Added error condition checks and more verbose error messages to various pieces of code.
Implemented a modified version of the old PPU rendering code that is used when it is
safe to do so. This helps to offset the increased CPU requirements of the new code.
The command-line option "-nothrottle" works again.
Joysticks are now configured by a unique hash id, instead of by index number. This should
help if people install or uninstall joysticks. It has not been tested, but the code structure
was copied from the old Win32 port of
FCE Ultra, so it should work.
Note that this change will break old button configurations in the configuration file from 0.1.0.
Fixed mapper 19´s(Namco 106) expansion sound. It now actually outputs sound(broken in 0.1.0)!
Rewrote large parts of the PPU rendering code to be more accurate, and slower. :/
This fixes Final Fantasy´s "orb lighting" effect, and Micro Machines´ title screen,
among others.
Reads from $2004 will now return something meaningful to the games "Bee 52" and
"Micro Machines"(it returned nothing meaningful before, so it shouldn´t break anything).
This, combined with the correct background palette selection used when sprites and background are
disabled, fixes some graphical issues in Micro Machines and Bee 52.
Internal text rendering will now truncate strings that are too long to fit on the screen
(an issue with NSFEs and song titles...). Is there a better, sane way to deal with this?
Added support for loading NSFE files, and made changes to the NSF player to display
more information if it´s available.
file.cpp: The FCEU_f* wrapper functions will now always load the entire file
into memory on FCEU_fopen(). I hope people don´t do something silly like trying
to load a 1GB file of garbage.
I might add mmap() capabilities in the future.
Reworked the UNIF/FDS/iNES/NSF file loading code.
Removed the "en" translation from the po directory, since it was a bit...redundant
or silly. If you did a "make install" with 0.1.0, you should run a command like:
rm /usr/local/share/locale/en/LC_MESSAGES/nintencer.mo
Fixed a compile-time error in general.cpp when the asprintf() emulation function is used.
Replaced the
SDL WM icon with a scaled image of the Nintencer Beetle.
Fixed the Super24-in-1 bootleg cart board emulation by removing a line of silly debug(?) code.
Added FCEU_indent() function, for use with FCEU(I)_printf(), to automatically set indentation
for newlines, rather than having it in the format strings directly. This should make strings in the
gettext catalogs more manageable.
config.h is now used instead of passing gobs of defines on the command-line to g++/gcc.
Added code and an NTCRI_* interface to set the sound speed multiplier from the driver code, and
modified the driver code to use it. This is MUCH better than the method used in 0.1.0, which
was just telling
FCE Ultra to reinitialize sound at a different rate whenever fast forwarding
started and stopped(which caused clicking).
The sprite hit flag will no longer be set if the sprite hit would occur on pixel column 255, which matches
behavior on the NES.