Set up an exit(3) task to shut down real wiimotes. This shouldn't
really be necessary, but we do currently handle a number of error
conditions by calling exit(3).
Retire the inputuicommon library.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6852 8ced0084-cf51-0410-be5f-012b33b47a6e
stacks), addition of a register cache(currently accumulators on 64bit only).
It feels a bit slower, but the numbers are about the same.
Caching accumulators doesn't change speed either.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6848 8ced0084-cf51-0410-be5f-012b33b47a6e
Initialize locale in each of the plugins on windows so that the plugin configuration dialogs are translated and the translators will get off my back.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6847 8ced0084-cf51-0410-be5f-012b33b47a6e
which has too narrow a view of what constitutes a joystick.
Now if only I could find my Apple IR Remote.. :-)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6844 8ced0084-cf51-0410-be5f-012b33b47a6e
* Change the process ProcessAllDistace to ClearRegister
* Fix a bug in ProcessFifoEvents() in commandProcessro (thanks Skid)
-- The last 2 items should be improve the speed lost in r6572 and maybe improve a little bit because ProcessFifoEvents() is right. (Test car selection in GxZero)
* Alliviate Fifo desyncs, In the meant time I still Researching for real solution. (This fix RE0 again and maybe others
"FIFOs linked but out of sync" and "GFX FIFO: Unknown Opcode (0x%x).\n" games suffers these for desync.)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6837 8ced0084-cf51-0410-be5f-012b33b47a6e
Fixes issue 3913.
The underlying problem, however, is that PanicAlert GUI popups
are broken on 32-bit Linux. I haven't looked into why that is.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6836 8ced0084-cf51-0410-be5f-012b33b47a6e
- note: big update, but incomplete again
- fixed a compiling error introduced in the previous revision
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6833 8ced0084-cf51-0410-be5f-012b33b47a6e
Add Hungarian translations by Delirious.
Update Italian translations by RebuMan.
Update German translations by JackyCola and LucasX.
Update Greek translations by Gpower2.
Update Frensh translations by Pascal.
Make sure the game list is refreshed when the GC language is changed.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6826 8ced0084-cf51-0410-be5f-012b33b47a6e
and disconnect any wiimotes.
The Windows code has special handling of both exceptions
and bluetooth connection state, neither of which I really
understand, so this is enabled on the other platforms only.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6821 8ced0084-cf51-0410-be5f-012b33b47a6e
Use wxS to get the right string type on either 2.8 or 2.9.
Default to cmd-f for the fullscreen toggle hotkey on OS X.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6820 8ced0084-cf51-0410-be5f-012b33b47a6e
in the title bar. It is more usefully displayed using the overlay
and long pathnames are not suitable for title bars and probably not
even safe depending on the underlying windowing system.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6817 8ced0084-cf51-0410-be5f-012b33b47a6e
full-screen mode is toggled, so we just re-set it afterwards.
Didn't mean to include the version string in the status bar updates.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6814 8ced0084-cf51-0410-be5f-012b33b47a6e
Placing the render window at position 0,0 makes it unmovable on OS X.
Use the conventional r1234 format for SVN revision numbers.
Delete mis-copied .svn directories from the application bundle.
Only warn about a failed low-memory allocation if one was requested.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6811 8ced0084-cf51-0410-be5f-012b33b47a6e
Make pthreads linkage precise for the nowx build. Fixes issue 3875.
Fall back to pkg-config for gtk+-2.0 if cmake is version 2.8.2. That version has a bug that doesn't detect gdk-pixbuf-2.0.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6810 8ced0084-cf51-0410-be5f-012b33b47a6e
Add Japanese translations thanks to DanbSky.
Add Greek translations thanks to Link_to_the_past and gpower2.
Add Dutch translations thanks to MADCreations.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6806 8ced0084-cf51-0410-be5f-012b33b47a6e
Save wxLanguage enumeration value in ini file so that users are not surprised when a language is added and dolphin-emu is suddenly translated in a different language.
Update Spanish, Korean, and Simplified Chinese translations.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6804 8ced0084-cf51-0410-be5f-012b33b47a6e
Add Korean translations thanks to Siegfried.
Updated German translations from JackyCola, revised with suggestions from LucasX.
Updated Polish translations by Baszta.
Also updated the windows language target. We seriously need to find a way to get that target working for general users. Probably by importing parts of gettext in the externals. That way we don't need the maintain the mo files in svn. It should be easy to implement this on OSX as gettext is in MacPorts.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6800 8ced0084-cf51-0410-be5f-012b33b47a6e
- add support for precompiled headers with MSVC
- compile with _FILE_OFFSET_BITS=64 and _LARGEFILE_SOURCE only for our sources, some dependencies seem to have problems with it enabled...
- disable -Wall for MSVC too prevent warning flood
- rename aes_cbc.c and aes_core.c to cpp files since it makes stuff a lot easier and there's really no reason not to do it since they had been compiled as C++ before anyway
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6797 8ced0084-cf51-0410-be5f-012b33b47a6e
Even with LoadStorePaired accounted for, there are still some
niggling 64-bit cleanliness bugs left that are not practical
to weed out on a single platform. We should probably have an
option to use >2GB memory only on all platforms for debugging.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6792 8ced0084-cf51-0410-be5f-012b33b47a6e
It will now decode entities of unsupported FAT32/NTSC/etc characters in filenames to be returned, so that games such as HP:HBP won't fail to find files containing such unsupported characters.
Unless there are still parts of code waiting for file name replacements, this should completely fix issue 3443...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6791 8ced0084-cf51-0410-be5f-012b33b47a6e
Enhanced the gettextize script to update mo files for windows and osx. This script should be run any time that a new language is added (don't for get to svn add the Data/Languages language subdirectory), and on occasion to update the language files with strings from the source code.
Added the Hebrew mo file for windows and osx (and update the others).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6790 8ced0084-cf51-0410-be5f-012b33b47a6e
Added Norwegian Bokmål thanks to KHRZ
Added Polish thanks to Baszta
Added Russian thanks to Kein
Also cleaned up the appearance of the GFX config dialog a bit, fixed a minor issue in the cmake build, and fixed the nowx build.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6786 8ced0084-cf51-0410-be5f-012b33b47a6e
As side-effect, changed GameListCtrl sorting to use the configured IPL/GC language instead of the UI language, which is misleading with missing translations, and possibly wrong if we ever get translations that are not part of the GC ones.
In case we want the old behavior back, revert GameListCtrl.cpp and ISOProperties.cpp.
For translators: use either "<System>" if your operating system is the same language as the one you're translating for, or replace one of the others. Someone will add them to the list when they are committed.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6785 8ced0084-cf51-0410-be5f-012b33b47a6e
please test for regressions and fixes.
some little changes to make pixel shader more dx9 sm2.0 friendly. the condition is not to use pixel lighting ( sorry no hardware support for the quantity of parameters needed).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6777 8ced0084-cf51-0410-be5f-012b33b47a6e
Fix the number of connected wiimotes in the configuration dialog so it works with translations, and update translations accordingly.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6771 8ced0084-cf51-0410-be5f-012b33b47a6e
About 40% faster than the SSE2 implementation.
May not be required in future but good for reference.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6766 8ced0084-cf51-0410-be5f-012b33b47a6e
Added German language translations. Thanks to JackyCola.
Added Italian language translations. Thanks to RebuMan.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6763 8ced0084-cf51-0410-be5f-012b33b47a6e
The code now uses direct pointer access from C code to write the colors to the destination texture instead of trying to force them back up into an __m128i and a single write call. This is what produces the major speed-up.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6761 8ced0084-cf51-0410-be5f-012b33b47a6e
* Fixed a bug on Texture Converter when Copy EFB to RAM's cache is disabled, so...
* ...accordingly, I revert my latest commit because now it becomes useless.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6760 8ced0084-cf51-0410-be5f-012b33b47a6e
- add some more strings for translation, change others for easier translation (in case anyone knows a better way than _("a") + wxString(wxT("b")), feel free to fix it).
- removed strings that shouldnt be translated.
- added gettextize script from glennrics to generate the .pot file; this excludes debugger-related strings which are usually not used by the end user anyways (again, less stuff to translate).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6759 8ced0084-cf51-0410-be5f-012b33b47a6e
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.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6743 8ced0084-cf51-0410-be5f-012b33b47a6e
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.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6738 8ced0084-cf51-0410-be5f-012b33b47a6e
keyword "id" in the public auibar.h header.
You now need at least r66546 of wxWidgets to build on OS X.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6735 8ced0084-cf51-0410-be5f-012b33b47a6e
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).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6734 8ced0084-cf51-0410-be5f-012b33b47a6e
- 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.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6730 8ced0084-cf51-0410-be5f-012b33b47a6e
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.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6719 8ced0084-cf51-0410-be5f-012b33b47a6e
the private SVN_REV_STR which relies on finicky build mechanics.
With SCons, kill the old svnrev.h in Source if still present.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6715 8ced0084-cf51-0410-be5f-012b33b47a6e
Tweaked SetMultiVSConstant functions to prefer glProgramEnvParameters4fvEXT over glProgramEnvParameter4fvARB with fall-back for older harder.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6713 8ced0084-cf51-0410-be5f-012b33b47a6e
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.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6711 8ced0084-cf51-0410-be5f-012b33b47a6e
additional input queueing in IOdarwin appears to be unnecessary.
IOBluetoothDeviceInquiry does not find already connected devices,
so no need to filter those out.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6710 8ced0084-cf51-0410-be5f-012b33b47a6e
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.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6708 8ced0084-cf51-0410-be5f-012b33b47a6e
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.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6707 8ced0084-cf51-0410-be5f-012b33b47a6e
GX_TF_RGBA8 texture decoder optimized with SSE2 producing a ~68% speed increase over reference C implementation.
TABified the entire document per NeoBrainX. :)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6706 8ced0084-cf51-0410-be5f-012b33b47a6e
~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.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6698 8ced0084-cf51-0410-be5f-012b33b47a6e
Changed the EFB color order from RGBA to ABGR to emulate it correctly on little-endian platforms. Added some enumerations to clear up what components are which colors. Fixed the TEV alpha input LUT which would have caused problems if anything was doing alpha comparisons.
Changed box filter for EFB copies from 3x3 to 2x2 because that is probably correct. Also makes the math nicer.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6696 8ced0084-cf51-0410-be5f-012b33b47a6e
TextureDecoder.cpp: merged two functionally identical decode5A3RGBA and decode5A3rgba methods.
OpcodeDecoding.cpp and DLCache.cpp: optimization for GX_LOAD_XF_REG. The PSUHFB solution sounds better for SSSE3, but this is a small win for the default case.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6692 8ced0084-cf51-0410-be5f-012b33b47a6e
Adjusted the code work without ToMask.
This code should be functionally identical for all inputs to the previous code.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6691 8ced0084-cf51-0410-be5f-012b33b47a6e
* Optimised out the R11 ImmPtr instructions
* Made the whitespacing a little more consistent
* Disabled block linking while it is being reworked
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6688 8ced0084-cf51-0410-be5f-012b33b47a6e
functions accidentally added. Fixed the jitted ar register arithmetic.
Added a CMakeList.txt for the UnitTests, but did not add the subdirectory
to Source/CMakeLists.txt.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6687 8ced0084-cf51-0410-be5f-012b33b47a6e
A lot of tests are failing right now, not sure yet if this is caused by the recent reg changes or other stuff (at least broken according to tests: iar, subarn, addarn, 'ir, 'nr, 'l, 's, 'sn, 'ln, 'lsn, 'lsm, 'lsnm, 'sl etc - err, most/all that use increase/decrease)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6683 8ced0084-cf51-0410-be5f-012b33b47a6e
* Fixed a bug in the JCC instruction.
* Changed the cycle count from u32 to u16.
* Added cycle counting to the block linker.
* Optimised the branch exit slightly.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6681 8ced0084-cf51-0410-be5f-012b33b47a6e
(acc and ax) and product register with one read/write.
Gives a minuscule speedup of not more than 4%. In exchange, breaks all
your out-of-tree changes to dsp. Tests are not building again, yet.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6680 8ced0084-cf51-0410-be5f-012b33b47a6e
Whatever that means, it fixes that stupid Super Mario Sunshine glitch and possibly lots of other stuff, so test as many glitchy games as possible with this ;)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6669 8ced0084-cf51-0410-be5f-012b33b47a6e
Should fix almost all regressions of the recent ClearScreen changes and keep the fixed stuff.
The Super Mario Sunshine glitch is caused by another issue and will be addressed in my next commit.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6668 8ced0084-cf51-0410-be5f-012b33b47a6e
assembler for JIT. Replace JIT ToMask() with a different variant. Remove
superfluous zeroWriteBackLog calls(added by me).
Core/Common: Don't bother creating a string and calling into a Logs trigger()
when there is noone listening. Change AtomicLoadAcquire for gcc to just
make the compiler not reorder memory accesses around it instead of doing
a full memory barrier, per the comment in the win32 variant.
Core/AudioCommon: Fix a use of uninitialized variable inside libalsa.
Microbenchmarking results for ToMask variants:(1 000 000 000 iterations):
cpu\variant| shifts | bit scan
intel mobile C2D@2.5GHz | 5.5s | 4.0s
amd athlon64x2@3GHz | 6.1s | 6.4s
(including some constant overhead identical to both variants)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6667 8ced0084-cf51-0410-be5f-012b33b47a6e
corrected peek color and peek z to correctly emulate real hardware formats.
implements native gamma correction.(i don't own any game that uses this functionality so i will appreciate feedback)
i need a lot of feedback in this changes please
enjoy
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6664 8ced0084-cf51-0410-be5f-012b33b47a6e
make some changes to the Clear code. please test a lot , the point of this commit is to determine the correct behavior of the efb clearing so feedback is welcome
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6663 8ced0084-cf51-0410-be5f-012b33b47a6e
1) What is the FIFO? The fifo is a ring queue for write (CPU) and read (GPU) the graphics commands.
2) What is the Brakpoints? The breakpoint is the FIFO mark to allow parallel work (CPU-GPU) When the GPU reached the breakpoint must stop read immediately until this Breakpoint will be removed for the CPU.
3) What is an overflow? The CPU write all room FIFO possible, and like a ring overwrite commands not processed yet.
4) ¿Why you have an overflow? In theory should not have an overflow never because the fifo has another mark (High Watermark) When the CPU Write reach this mark raise a CP interruption and the FIFO CPU WRITES should stop write until distance between READ POINTER AND WRITE POINTER will be equal to another mark (LO Watemark to prevent and overflow.
5) ¡So if impossible why you have overflows? Simple, the CP interruption is processed later and the Overflow happens. (there is a lot of theories about this)
6) ¿Why is no so simple like when CPU WRITE POINTER is near to the end of the FIFO only process pending graphics command?
Because when this happens sometimes we are in BREAKPOINT and is IMPOSIBLE process the graphics commands.
- This HACK process the pending data when CPU WRITE POINTER is 32 bytes before the end of the fifo, and if there is a Breakpoint force the situation to process the commands and prevent an overflown.
In theory you have not see "FIFO is overflown by GatherPipe nCPU thread is too fast!" anymore. But if you have a hang in game where you had this please read the NOTICE LOG in user\logs, I've added this message "FIFO is almost in overflown, BreakPoint" when the hack is activated. (I will delete this message very soon)
Good Luck!! PD: Shuffle sorry for the large commit description :P
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6662 8ced0084-cf51-0410-be5f-012b33b47a6e
on OS X as on other Unices so OS X initial installs aren't so easily
broken by files being created in constructors.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6661 8ced0084-cf51-0410-be5f-012b33b47a6e
* Completed the JIT versions of the DSP Multiplier instructions (5 instructions added).
* Bug fixed the dec and lsr16 instructions.
* Minor code clean-up.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6657 8ced0084-cf51-0410-be5f-012b33b47a6e
* Completed the JIT versions of the DSP arithmetic instructions (28 instructions added).
* Added JIT versions of maddx and msubx (thanks to LM1234).
x64 only
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6652 8ced0084-cf51-0410-be5f-012b33b47a6e
logging: turn off write to file
core: don't insert anything in memcard b slot
video: efb scale to integral, AF to 1x
audio: 100% volume, 48KHz sample rate
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6650 8ced0084-cf51-0410-be5f-012b33b47a6e
Fixes issue 3703.
Note that HLE wiimote activation is currently a little broken, so to
use multiple wiimotes you need to open the wiimote configuration window,
refresh (connect to) the real wiimotes, start the emulation and then
select Connect Wiimote 2/3/4 from the Tools menu or with hotkeys.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6648 8ced0084-cf51-0410-be5f-012b33b47a6e
wiimote bd's are now read from (or added to if < 4 exist) SysConf
in theory you should be able to use any valid sysconf file now,
but i would advise against using a dolphin edited SysConf on a wii
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6646 8ced0084-cf51-0410-be5f-012b33b47a6e
- Clear alpha channel to 0xFF instead of 0x00 whenever we (re-)create the EFB texture
- Disable color/alpha channels whenever the actual EFB format doesn't use them
Fixes issue 2826.
Fixes issue 1879.
Please check if issue 3014 is fixed now, as well as any other games which might have broken due to ClearScreen changes.
For what it's worth, Super Mario Sunshine still shows a small glitch even with these changes.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6635 8ced0084-cf51-0410-be5f-012b33b47a6e
* change File::GetSize to fetch the size directly from the open file instead
of stat'ing it when challed with a FILE*
* use changed File::GetSize(FILE *f) instead of calling with file name in two
places
* remove "seek_pos % file_size" hack for ZTP, so one can seek to the end of
file again. Please check Zelda: Twilight Princess for regressions
* return error codes when reading or writing from/to a file
A lot of those changes are from j4ck.fr0st, so kudos to him.
I did not change the file open mode for ISFS_OPEN_WRITE to "wb". While that
would probably be more correct, it says in the comment that it might affect
Mario Kart Wii. I would prefer somebody with that game try that change
locally first.
Please check your games for regressions (or even improvement). Some games that
may be affected are Zelda - Twilight Princess and Metroid Prime 3.
Fixes issue 1749
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6634 8ced0084-cf51-0410-be5f-012b33b47a6e
* Added 21 Arithmetic instructions to the JIT
* Used the DSPAnalyser to identify arithmetic/multiplier instructions that precede a conditional branch. This allows the JIT to skip updating the SR when nothing would read from it. Marked all arithmetic/multiplier instructions in the DSPTable for this purpose.
* Converted CheckExternalInterrupt into ASM
* Fixed a couple instructions in DSP Load/Store
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6633 8ced0084-cf51-0410-be5f-012b33b47a6e
avoid wxWidgets sounding the system beep for unhandled key events
when receiving pad/wiimote keypresses separately from HID devices.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6630 8ced0084-cf51-0410-be5f-012b33b47a6e
Will fix some games and break some others.
Assist trophies in SSBB work fine now, Super Mario Sunshine is a little broken again.
Still needs some more work...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6627 8ced0084-cf51-0410-be5f-012b33b47a6e
skid_au had implemented this in a previous revision and enabled it by default, but it caused glitches if STC wasn't set to "safe" (which kinda defeated the purpose since it slowed down stuff again).
Also renamed the "safe texture cache" to "accurate texture cache", since setting the "safe" texture cache to "safe" sounds kind of silly..
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6625 8ced0084-cf51-0410-be5f-012b33b47a6e
this is mainly so they fit within ps_2_0 limits, but I made this separate from my last checkin to make it easier to test separately in case it somehow causes problems
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6619 8ced0084-cf51-0410-be5f-012b33b47a6e
(probably nobody else cares, but I need at least one video plugin that actually works on this computer)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6618 8ced0084-cf51-0410-be5f-012b33b47a6e
- Merge the EmuWindow class to VideoCommon.
- Implement free look in the D3D plugins. Seems like it had broken before though; only rotating the view works..
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6616 8ced0084-cf51-0410-be5f-012b33b47a6e
on any other, including "" when a different one is specified through the
POSIX locale environment variables.
This is not normally a problem since these variables are stripped out from
the environment when an application is launched by the Finder. This is not
the case when running the binary directly from the command line, such as
when debugging.
I have temporarily disabled the use of std::locale("") on OS X while I try
to come up with a better solution.
Fixes issue 3598.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6615 8ced0084-cf51-0410-be5f-012b33b47a6e
Fixes issue 2805. Fixes issue 3235.
If this causes problems on Windows, just use this intead:
#if defined(HAVE_X11) && HAVE_X11 || defined __APPLE__
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6614 8ced0084-cf51-0410-be5f-012b33b47a6e
To do so I had to re-add the casting bloat removed in revision 6102. Also, for some odd reason the NVidia OpenCL drivers don't like 8 bit rotations, but are okay with 2, 4 bit rotations. These are apparently bugs in the NVidia drivers that are hopefully fixed in future versions.
Also, on linux make sure the TextureDecoder.cl file is copied from the shared data directory to the users directory.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6611 8ced0084-cf51-0410-be5f-012b33b47a6e
* More formats recognition for "Clear Screen" step. Improved the ability handling the alpha channel (% color translucency).
* Related to CPUID detecting:
- Added support displaying correct SysInfo for recent multicore Intel CPUs x86-64 with HT/SMT (Core i3/i5/i7 and Xeon) based on Nehalem architecture.
+ minor and passive changes.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6604 8ced0084-cf51-0410-be5f-012b33b47a6e
* Added jit versions of 5 DSP LoadStore instructions: srs, lrs, lr, sr, si
* Renamed MainOpFallback to Default for consistency in naming with JIT64
* Made ext_dmem_read and ext_dmem_write more generic for wider use
* Optimised dmem_read and dmem_write slightly
* Added dmem_read_imm and dmem_write_imm optimised versions
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6596 8ced0084-cf51-0410-be5f-012b33b47a6e
Title Version and region char of currently installed system menu are now listed in the menu as well
Which means disc channel will only show pal discs if it is a pal nand dump; ntsc nand dump will show ntsc discs, ntsc-j nand dump will show ntsc-j discs
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6591 8ced0084-cf51-0410-be5f-012b33b47a6e
fixes system menu loading the ini file from the last run game
also check for all countries when setting bntsc for wad/nand titles
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6590 8ced0084-cf51-0410-be5f-012b33b47a6e
Changes file dialog to show *.bin for wii save import instead of data.bin
Move Sram dumps to Sram.cpp and change default FlashID
Fixes issue 3711.
Fixes issue 3042.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6588 8ced0084-cf51-0410-be5f-012b33b47a6e
Also set up cmake/cpack to create prebuilt binary packages and source packages.
Also change the vertex shader dump file name in the gfx debugger to something that makes more sense.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6587 8ced0084-cf51-0410-be5f-012b33b47a6e
* Optimised the updating of g_dsp.pc in the compile loop (code by kiesel-stein)
* Added JIT version of LRI (code by kiesel-stein)
* Added JIT versions of the branch instructions (code by Jack Frost)
* DSP_SendAIBuffer fix (code by Mylek)
* Marked instructions that update g_dsp.pc in the DSP table and updated PC based on the table (speed up)
* Fixed the signed bits not being set properly in the addr instruction
* Created a MainOpFallback function to use interpreted versions of the instructions if necessary (code by kiesel-stein)
* Disabled the jit versions of subarn and addarn as they are slowing down NSMBW
The above work in both x86 and x64 modes.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6582 8ced0084-cf51-0410-be5f-012b33b47a6e
Make sure the gfx debugger unpauses when the emulator is stopped.
When a wad is installed make sure directories exist.
For the cmake build if a header is not provided in the check_lib macro don't check for it, and assume pkg-config was supposed to work.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6581 8ced0084-cf51-0410-be5f-012b33b47a6e
allows using any (valid) memorycard.raw in any slot (including real memcard dumps)
Fixes issue 684.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6576 8ced0084-cf51-0410-be5f-012b33b47a6e
This comment should give a great speed increase, numerous games (SMG, NSMBW, DKCR, ...) which I tested are at least 20% faster now!
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6574 8ced0084-cf51-0410-be5f-012b33b47a6e
DX9: Revert to the old EFB coordinate scaling. Glitches caused by higher EFB scales probably can't even be fixed properly in DX9, so let's not even mess with it...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6573 8ced0084-cf51-0410-be5f-012b33b47a6e
- I've implemented calling to ProcessFifoEvents when is there is a pending event in the main queue from CP, PE & GP
- I've implemented FifoIntReset(TRUE, TRUE) in write Clear Register.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6572 8ced0084-cf51-0410-be5f-012b33b47a6e
Also fix some compiler warnings.
On linux don't install the license.txt file. Most distributions handle license files via a package. For example on debian based systems this gives a lintian warning.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6568 8ced0084-cf51-0410-be5f-012b33b47a6e
the black screen in Sonic Colours. Both JIT and JITIL have this work-around.
Re-enabled ps_mul as that instruction was not the root cause.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6565 8ced0084-cf51-0410-be5f-012b33b47a6e
- Improved the GP Register Status: now this is all the time from the fifo loop.
- Improved the Interrupts manage:
1) Removed All UpdateInturrupts from CommandProcessor Writes and Read.
2) now the CP interrupts are schedule from the video thread and the fifo loop waiting until this happens
3) considering Inmediate mode for the CP interrupts
3) Implemented Interrupt CP Cache State
4) Implemented only Overflow interrupt in GatherPipeCheck because this need to be detected quickly.
- Implemented Overflow handling like a real HW, when Hiwatermark interrupt happens this write ClearRegister with True en HI and False in LO (FifoIntReset) after that a Control Register is writed and the FIFO is processed to LO Watermark.
- Removed all ugly code from LO and HI watermark manage
- Removed all ugly code from BP manage
- Change >= by == in the BP clauses
- Removed speed hack (1024 chunk) for better GP Status Control.
- Commented GXSetGPFifo very soon hack
- Commented FackWatchDog hack
- Commented FIFO_RW_DISTANCE = WritePointer hack
This is the beginning and the base for the future., If this broke your favorite game my apologize, only report this and will try solve it. If you have a Overflown don't worry, I've implemented the real solution code using the Overflow Interruption only need continue working for a perfect protection. Why I did it? Because is preferable a accurate and clean fifo instead hack y fifo for improve that. Thanks to DONKO for you awesome Video Plug in and skid for the chatting. PD: I have 7-10 fps more in the star fox video. bye :P
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6554 8ced0084-cf51-0410-be5f-012b33b47a6e
Should fix problems caused by EFB scales other than Native (excluding fractional!). Test whether this fixes games which work fine with native EFB resolution but show glitches with higher internal resolutions.
Also fixed numerous warnings.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6549 8ced0084-cf51-0410-be5f-012b33b47a6e
Notable Changes:
Fixes right click menu in linux.
Fixes Issue 2412.
sram.raw file is no longer required to format a memcard
Update to use new ini sections, automatically remove default settings from ini file
enable pages setting no longer requires memcard manager to be reopened to take effect
it is no longer possible to switch to a negative page number
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6546 8ced0084-cf51-0410-be5f-012b33b47a6e
systems where size_t is typedef int.
It's either this or use the C99 %zu but while we can probably
safely assume C99 compilers, I am not at all sure that that's the
case for stdio libraries and this solution is fairly low-impact.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6535 8ced0084-cf51-0410-be5f-012b33b47a6e
Fix the default wiimote emulation mouse button settings on linux.
Fix a little c++ operator precedence issue.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6534 8ced0084-cf51-0410-be5f-012b33b47a6e
for the real wiimote thread as for the other threads.
Turns out we use OS X bluetooth API's that were introduced in 10.5.4.
Remove vestiges of previously removed wiiuse_set_bluetooth_stack().
XXX We should probably have a Common equivalent of htonl and friends.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6531 8ced0084-cf51-0410-be5f-012b33b47a6e
Most of the code dealing with the LogTypes namespace was C which lead to a
lot of nonsensical casting, so I have dumbed LOG_TYPE and LOG_LEVEL down to
plain C even though the move of wiiuse into Source means we don't currently
call GenericLog from C.
Set logging threshold to MAX_LOGLEVEL at startup so debug builds will also
p rint debugging messages before the GUI is running.
For some reason the way we use SetDefaultStyle doesn't play nice with wx 2.9
so we just get the default black text on a black background. Using a gray
background works around that problem, but I found it to also be much easier
on the eyes so I have switched the background color on all versions.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6528 8ced0084-cf51-0410-be5f-012b33b47a6e
so the recent addition of VideoCommon/Src/Debugger.h clashed with
DebuggerWX/Src/Debugger.h.
The latter had atrophied anyway, so just get rid of it to resolve the
conflict.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6526 8ced0084-cf51-0410-be5f-012b33b47a6e
Separated UI from debugger functionality. Generally cleaned up that stuff.
Most functionality needs to be reimplemented now, but will be available to D3D9, D3D11 as well as OpenGL then.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6523 8ced0084-cf51-0410-be5f-012b33b47a6e
first fix for issues introduced in sms in r6501, please test for a regressions in The Calling
Second Fix for Issue 3539, by making pixel Dept calculation an option. in games with this issue Enabling pixel depth will solve the issue, in other games disabling the option will not cause speed lost
some cleanup in dlist cache
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6517 8ced0084-cf51-0410-be5f-012b33b47a6e
Replaces all occurrences of ftell and fseek with ftello and fseeko, respectively. This matters on non-win32 where only these names are altered by the _FILE_OFFSET_BITS define. Win32 still just maps the funcs to ftelli64/fseeki64.
Also add some File::GetSize I had skipped in my last commit.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6515 8ced0084-cf51-0410-be5f-012b33b47a6e
* I've fixed concurrency problem with fifo.bFF_GPReadEnable when the breakpoint is achieved
* I modified when fifo.bFF_Breakpoint is turn off to prevent that the interruption happens
* I reverted r6483
* I improved the commit r6495 adding another protection when the GPRead is enabled in CTRL_REGISTER
You can test Pokemon XD in dual core mode is more estable now :P This commit could solve others hangs fifo related in DKC, Sport Resorts, etc. I dont have these games.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6503 8ced0084-cf51-0410-be5f-012b33b47a6e
Plus: I added a _assert_msg_ in FIFO loop when the WriteDistance is negative. Please if that happens report it, this can help to solve strange issues with wrong WriteDistances.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6495 8ced0084-cf51-0410-be5f-012b33b47a6e
ESI is not available as callee save register on linux 64, so use R12, which
is available on windows 64, too. The only callee save register still available on
all platforms is EBP, but i guess we don't want to fiddle with that one.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6492 8ced0084-cf51-0410-be5f-012b33b47a6e
10.0 level hardware can't create multisampled depth buffers which can be bound as shader resources as well, but we need that for e.g. EFB access or EFB copies.
Only multisampling the color buffer doesn't work either since color and depth targets must be using the same sample count.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6491 8ced0084-cf51-0410-be5f-012b33b47a6e
Return values from RunCycles isn't consistent/meaningful at the moment so assuming it runs as many cycles as asked.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6487 8ced0084-cf51-0410-be5f-012b33b47a6e