Архив рубрики: Dolphin SVN

Dolphin SVN r6747

Revision 6747:

Add internationalization support. There aren’t really any translations yet other than a little French thanks to DavidVag. So now the translators need to go to work. See http://wiki.wxwidgets.org/Internationalization for directions. The binary .mo files are generated at build time on linux. They are provided in Data/Languages for windows. I don’t know where they need to go on OSX, but they should be able to be generated there at least. I added a target to generate them on windows, but does not build by default as it requires that msgfmt.exe from the gnu gettext tools be installed and in the path.

Revision 6746

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.

Revision 6745

Fixed Linux build.
Fixed small undiscovered bug in WII_IPC_HLE_Device_FileIO.cpp when looking at 0-length strings.

Revision 6744

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!

Revision 6743

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.


r6747 x86 – скачать, зеркало

r6747 x64 – скачать, зеркало

Dolphin SVN r6739

Revision 6739:

small fix for lle-int

Revision 6738

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.

Revision 6737

D3D9: Fall back to just creating a depth surface instead of a depth texture if the latter one isn’t supported by the hardware.

This is a workaround for issue 3256.

Revision 6736

Some minor tidying of the OS X audio and wiimote code.

Revision 6735

Retire the workaround for wxWidgets using the Objective-C reserved
keyword «id» in the public auibar.h header.

You now need at least r66546 of wxWidgets to build on OS X.

Revision 6734

Move the expected location of the DSP ROM files from Sys/GC to User/GC.

These files are acquired from the hardware ROM by the individual user,
who does not normally have write access to Sys on Linux and OS X.

If you currently have these files in Sys/GC, just move them to User/GC
(~/Library/Application\ Support/Dolphin/GC on OS X).


r6739 x86 – скачать, зеркало

r6739 x64 – скачать, зеркало

Dolphin SVN r6731

Revision 6731:

Taking a random guess at what could possibly fix issue 3256…

Revision 6730

— Assign width and height to the actual powers of two rather than to the exponents…
— Clean up FramebufferManager()
— Make use of more depth buffer formats to prevent some devices from failing to create a depth buffer

Should fix issue 3256.

Revision 6729

LLE JIT: Minimised exception checking. Instructions which need to check for exceptions are now marked in the analyser. Moved the checking for external interrupts to the point where the CPU writes to the control register.


r6731 x86 – скачать, зеркало

r6731 x64 – скачать, зеркало

Dolphin SVN r6728

Revision 6728:

LLE JIT: Reworked the block linking code. It now keeps track of what each block is waiting on, minimising the amount of recompiling. Both jumps and calls can now become linked. The code also checks the cycle count before jumping to the linked block.

Revision 6727

Warning fix for gcc ;)

Revision 6726

Fix for bit reduction regression in GX_TF_RGB565 textures from previous commit.

Revision 6725

D3D9: Make sure to use powers of two as render target dimensions if it’s needed by the device.
Some other cleanups.

Possibly fixes issue 3256.

Revision 6724

GX_TF_RGB565 texture decoder optimized with SSE2 producing a ~78% speed increase over reference C implementation.
Fixed crash in debugger when attempting to enable profiler before having run any game.


r6728 x86 – скачать, зеркало

r6728 x64 – скачать, зеркало

Dolphin SVN r6723

Revision 6723:

ISFS_Seek: Turns out POSIX allows seek past EOF, the Wii does not.
Should fix Issue 3761 (really!), please test this.

Revision 6722

Fix an issue on windows where found wiimotes were not being reported as found. This fixes issue 3832.

Revision 6721

Cast size_t to unsigned long for printing.

Revision 6720

Audio volume slider support for OS X.

Revision 6719

Core/Core/HW: Give small amounts of time to the dsp whenever the ppc
reads the high bits from the mailbox registers. It is probably waiting for
the dsp to read the data from the cpu-to-dsp mailbox or for the dsp to
write to the dsp-to-cpu mailbox.

This about removes DSP::Read16 from lle profiles where it previously used
up to 2% of all system time. Also speeds up games quiet a bit.

Revision 6718

Handle FileIO Read/Write more like real hardware.
Fixes Issue 3761.
Fixes Issue 1749.


r6723 x86 – скачать, зеркало

r6723 x64 – скачать, зеркало

Dolphin SVN r6714

Revision 6714:

Possibly fixed game crash issues by switching to unaligned SSE2 loads/stores.
Removed unnecessary work being done in the file system when logging is disabled.

Revision 6713

Patch applied from issue 3829, author admin@dasmetzelmaennchen.de.
Tweaked SetMultiVSConstant functions to prefer glProgramEnvParameters4fvEXT over glProgramEnvParameter4fvARB with fall-back for older harder.

Revision 6712

Avoid shadowing variables.

Revision 6711

Fix for r6707. Looks like I tried to do some invalid 16 bit addressing.

Also a small change to the mixer. This should fix audio throttling in cases where num_samples > RESERVED_SAMPLES. This seems to happen now with zelda ucode games, possibly others.


r6714 x86 – скачать, зеркало

r6714 x64 – скачать, зеркало

Dolphin SVN r6710

Revision 6710:

With the more aggressive polling by the per-wiimote threads,
additional input queueing in IOdarwin appears to be unnecessary.

IOBluetoothDeviceInquiry does not find already connected devices,
so no need to filter those out.

Revision 6709

OGL: Clean up ClearScreen

Revision 6708

Revive io_osx.mm revision history and reapply the changes in r6693.

Avoid sending the Wii OS bluetooth packets with uninitialized data
past the nominal length of the report.

XXX IOWin.cpp still always returns MAX_PAYLOAD because I don’t have
a Windows environment to test with.

Revision 6707


Applied the logic from r6691 to the LLE dec/add/sub functions so they work without ToMask. This should give a modest speedup for these.

Pierre’s AR inc was already perfect and I only adjusted its logic a bit for visual consistency between the interpreter and JIT code.

Also applied Pierre’s optimization from the LLE inc to the Int inc.


r6710 x86 – скачать, зеркало

r6710 x64 – скачать, зеркало

Dolphin SVN r6706

Revision 6706:

GX_TF_I4 texture decoder optimized with SSE2 producing a ~76% speed increase over reference C implementation.
GX_TF_RGBA8 texture decoder optimized with SSE2 producing a ~68% speed increase over reference C implementation.
TABified the entire document per NeoBrainX. :)

Revision 6705

Initialize bluetooth input queue when creating wiimote object.

Revision 6704

clamp OGL depth clear value, this might fix a problem some people reported with r6678

Revision 6703

This may fix the extension issue on windows. Please test. Thanks BhaaL.

Revision 6702

This should fix wiimote extensions on linux. Now to figure out the windows issue, and then OSX … Sigh!


r6706 x86 – скачать, зеркало

r6706 x64 – скачать, зеркало

Dolphin SVN r6701

Revision 6701:

Removed left-overs from wiiuse, should fix the problems when building on windows.

Revision 6700

fixed crash when compressing 4+gb isos on some builds

Dolphin SVN r6699

~68% increase in GX_TF_IA8 decoding speed. Not an oft-used texture format. An example use is the Wii cursor in MKWii in the menus.

Dolphin SVN r6698

~80% speed improvement in decoding GX_TF_I8 textures. Yes, EIGHTY PERCENT. However, for MKWii movie playback I still can’t break the fluffin’ 48 FPS boundary on my machine! There’s something else at play here because this decoder is ridonkulously fast.
~25% speed improvement in decoding GX_TF_RGB5A3 textures which aren’t used very much. I thought it would help for movie playback but I misled myself. Video playback has nothing to do with this texture format.
Next I’ll see if I can knock out some of these other texture decoders. Byte swizzling I’m sure can somehow be accomplished using _mm_unpacklo_epi8 trickery, so that’d be another big win I hope.


r6701 x86 – скачать, зеркало

r6701 x64 – скачать, зеркало