2011-01-05

Dolphin SVN r6746

EmuCR:DolphinDolphin SVN r6746 is released. Dolphin is the first Gamecube emulator able to run commercial games! Dolphin is a great Gamecube(NGC) and Wii emulator. It has a partial Wii support and plays most Gamecube games. SSSE3 and SSE4 optimized are enabled in this build.

Dolphin SVN changelog:
r6738
Look for the DSP ROM files in Sys/GC as before before trying User/GC
to allow both system-side (also Windows) and per-user installations.

The IPL ROM is another candidate for this, but I don't have an
image to test with.

Perhaps a more general solution would be to just phase out the Sys
directory. As used for data which would have been available in ROM
or flash on the real hardware, it really contains two classes of
files that are both read-only during emulation:

- Settings and font files, which can be freely distributed
- ROM files which must be obtained from the user's own GC or Wii

Since the two could be freely put together on Windows without any
problems and with the users of that platform being resistant to
change, it may be easiest to just treat Sys as another directory
to be copied from the application bundle into User/Sys at startup
on non-Windows.
r6739
small fix for lle-int
r6740
~40% speed improvement for decoding GX_TF_CMPR (S3TC) textures using SSE2 intrinsics.
r6741
Temporarily reverting to unoptimized until I can figure this out. Apologies for the SNAFU :)
r6742
* By forcing resolution size to back-buffer size when the latter one is changed!
r6743
After removing the input queueing in IOdarwin.mm I was still seeing
the occasional HLE wiimote disconnection, although nowhere it was at
near the level before both the recent wiiuse integration and adding
the queue in the first place.

The callback-based bluetooth input method on OS X really requires
that packets be accepted immediately and the 1ms polling done by the
wiimote worker threads isn't quite good enough.

So just play along with the native OS X model and send the packet up
our stack directly from the callback. With our current API, this is
kind of a layering violation, but it seems less messy than either
putting back internal queueing in IOdarwin.mm or adding the platform
support for higher-frequency polling than what usleep(3) offers.

Perhaps we should just change our own API to a callback model. While
this makes no real difference right now, it would make it a fair bit
cleaner to accept new wiimotes at any time instead of having to click
Refresh, although with the recent realmote changes, that feature can
probably just be hacked in by looping around FindWiimotes().

For other platforms having problems with HLE disconnections caused by
dropped bluetooth packets, as a first stop I would suggest trying to
do more than just one wiimote->Read() per iteration in the thread.

This change also conveniently sidesteps another new IOdarwin.mm bug
where the discovery and I/O code would clash during a refresh because
they use the same default CFRunLoop, so if we switch back to using a
run loop for I/O, must remember to create a separate one.
r6744
Fixed S3TC DXT1 decoder implementation. I see ~40% speed improvements running on x86 Intel hardware and 0% improvements running on x64 AMD hardware. Strange. More investigation to follow!
r6745
Fixed Linux build.
Fixed small undiscovered bug in WII_IPC_HLE_Device_FileIO.cpp when looking at 0-length strings.
r6746
Changed order of operations in Profiler.cpp to calculate non-zero values for 'cost'. Integer division was too early. Credit to my brother, Joe, for figuring this one out.

Download: Dolphin SVN r6746 x86
Download: Dolphin SVN r6746 x64
Source: Here

0 Comments

Post a Comment