If an entry in the cartridge database specifies use of a save type, then
verify that save type is present in the options. If not, warn and allocate
the save file in RAM.
Fixes#76
Some CIC seed values had bit 0x20000 set which is the reset type
indicated from PIF (1 = NMI, 0 = Cold Reset). Some games
follow different initialization paths for NMIs which can cause
some unexpected boot behavior during a cold reset.
Fixes#58 Expansion Pak detection in Perfect Dark
When -is-viewer is passed on the command line, create an IS Viewer
object that intercepts writes at 0x13FF0000. This is used by Ocarina of
Time Master Quest Debug to log debug messages.
The messages are encoded in EUC-JP, so we bring in iconv to convert that
to UTF-8 so the messages can be printed to modern consoles.
Props to jrra (@jkbenaim) and spinout for reverse engineering the
interface and documenting it: http://wiki.spinout182.com/w/IS64
(angrylion) rdp: fixed the interaction between x-scissoring and
the "texel 1" combiner input in one-cycle mode; fixed a bug in
x-scissoring that could occur when a coordinate was compared with
XH of the scissoring box (both bugfixes confirmed by a test rom).
(angrylion) rdp: new approach to interlaced mode emulation, based on
improved understanding. Most interlaced mode games should look correct
with most emulators now. Removed a redundant sign-extension used on YUV
texels (idea by LegendOfDragoon, thanks). Minor refactoring.
CPU extensions were previously ordered from oldest to newest, with
oldest (SSE2) being selected by default. This could cause poor
performance for less savvy users. Instead we use Native by default,
which will use the best available for the detected CPU, and list them in
descending order. If the compiled binary uses extensions not available
on the host CPU, the core will throw an error so user experience is not
significantly degraded.
See #56
If cen64 is compiled with CPU extensions not supported by the running
CPU, throw an error. If the code is compiled with older extensions but
the running CPU supports faster ones, throw a warning.