2010-04-12

MacFCEU v0.6.1

MacFCEU v0.6.1 is released. MacFCEU is a Mac OS X port of FCE Ultra. A Mac OS-specific port of FCE Ultra 0.98.13 - an NES/Famicon emulator. Classic and Carbon are supported exclusively.

MacFCEU v0.6.1 Changelog:
A Mac OS-specific port of FCE Ultra 0.98.13 - an NES/Famicon emulator. Classic and Carbon are supported exclusively.

MacFCEU 0.6.1
CPU: revamped the N2A0x emulation code altogether, optimized the hell out of it.
With exception to the stack, RAM is treated as Mem (read/writes) for
certain Game Genie / cheats to work with DebugLevel (slower).
Optimized in C, a new M68K asm. version will have to wait.
The messy sound for nes_saw was due to M68K assembly bug(s).
New 32-bit structures to reduce zero-extension (PC is finally uint32).
TOP (0x0C) no longer reads from the address gathered.
Corrected the FCE Ultra ABIY addressing modes.

MMC5: numerous improvements; corrected the Hack stuff (as much as I could).
Namcot1xx: WRAM allocation and disposal (all of those little static 8KBs add up).

PPU: revised CheckSpriteHit to stop before pixel 255; suggested by dwedit.

State: the +/-10000 range was too narrow in _count/_tcount validity checking.
Now +/-0x800000.

Palette: NTSC generator "improved" using Shay Green's YIQ method.
Customizable DecoderIQ (diq*), since I'm not getting a fitting palette.

Mac OS: handling of case where a cart's open while another's opened from the Finder.
Function-given dir. tracking so getfile won't always go back home.
The custom palette now gets saved in the config file, as it's supposed to,
and is no longer displayed in the palette dialog when NTSC-col overrides it.

Debugger: fixed the 'wh' end-address mistake.
Getting trace-line portion (traceflags) to show up...
BP Expression execution is now implemented;
Put expression in quotes before address(es).
Length's truncated to 263 chars.
Fixed re-entry bug (close debugger, hard points'd be skipped).
Command-line: cmd-Up/Down for Message Log scroll top/bottom.

MacFCEU 0.6a4
Bug fixes: DebugGenSetByte (and yet so little; 6 chars):
When affecting cheat RAM, wrote to the wrong real address!
(In other words, don't use sb or cheat with 0.6a3.)
The setprg2 macro did setchr2r. Fortunately, it was never used.
VRCVII mirror for mapper 16 did HV instead of VH.
Added DebugGetAddrType for 'wh' to tell you what address does what.
SnapName is on by default.
Leaner include'ing means faster processing/compilation time.
Revising [Calculate]Palette to be more accurate...

Another major bug! FlipByteOrder flipped data two times the size.
Fixed, but for backward-compatibility reasons, the bad version is
partly supported (it'd be better to just trash the old state files).

Mac OS: [ExitToShell patch] to ensure that `exit` is called.
(A call to ShowMenuBar, and VSync routine removal need to be done
regardless of whether the program crashes.)
Contiguous sound playback using the callback method -- finally!
Debugger: A stupid command line bug fix.

MacFCEU 0.6a2-0.6a3 (removed - too many serious bugs):
Some platform-unspecific code now put into the core code (i.e., debug.c).
Capitalization correction of more file names.
Put SDL networking src file back in since trying to write netplay for Classic
isn't worth it.

iNES: Added handling of version 2, VS System case (untested), PPU detection.
Cleaned up the VSUni code, now uses correct bit values.
More accurate error messages in FCEU.c.
Zapper[, Family Keyboard] data added to ExState.

Sound: Rect filter values are now cast as int32 so negative amps. can work...

Input: default GamePad #2 buttons changed for all four GPs to be implemented.
Default #3 and #4 added (for testing purposes, obviously).
Family Keyboard/Scroll Lock(F14) xxxable added (was it removed?).
Fixed an input issue that caused zpong3 to constantly reset (Select+Start).

PPU: fixed UPALRAM read (2007h) bug. NEStress now only gives a "partial read error."

Game Genie: Ptr disposal on failure (crash fix).
Added GENIE.NES as 2nd to gg.rom.
Error messages no longer scream with exclamation points.
GENIE.NES now GENIE.ROM as to avoid accidental opening as a cart.
(Change the extension from .NES to .ROM, and you're good to go.)
Fixed a rather stupid bug I introduced a while back.
I can't see that "NUTANT" works... the byte it deflects is, as far as I can tell
with Super Mario Bros. 3 (E), always zero making the cheat ineffectual.
[Always get star cards? That's lame.]

Debug: cheat-RAM is also set for DebugGenSetByte.

Mac OS: Diamond mark only shown for when selection is denied.
A sound revision yields a 2A0x.a optimization.
I think I cleared up a case where the sound would be forced off,
and throttle wouldn't take over. Other corrections...
Increased the application suggested/prefered sizes to 4000/3200KB
since iNES 2.0 and some boards may call for more memory.
Debugger: Added user step trace-flags (tf). Fixed bugs made via rewrite.
Trace-flags now uint16 (expansion). Added TFxx constants.
If echo is >1 (or bit #15 of tf), any kind of stepping will be printed.
Increased the maximum executed line store to 50.
Message Log: logtofile is now treated as multiplier of 512KB in clipping value,
or unlimited (0xFF).
Video: finally added refresh VSync (Classic only). I can't say it works, though...

Download: MacFCEU v0.6.1
Source:Here

0 Comments

Post a Comment