Commit Graph

6969 Commits

Author SHA1 Message Date
calc84maniac a6d041bfa9 Removed an extraneous FlushLockX, further optimized simultaneous handling of carry/overflow. 2012-01-02 19:45:24 -05:00
calc84maniac 4cb1af0f13 Fixed a bad typo. Why are there different inst.Rc and inst.RC variables? >_> 2012-01-02 19:45:23 -05:00
unknown ab54000d73 Fixed and streamlined overflow detection, improved subtraction methods, general flag-based optimizations including GenerateRC() which uses the sign/zero flag of the last operation 2012-01-02 19:45:21 -05:00
skidau d399e6b26d Reordered the safe write path of the stfd instruction. 2012-01-03 10:20:20 +11:00
calc84maniac f575c2c3be srwx and slwx optimizations 2012-01-02 18:00:28 -05:00
calc84maniac 42cdda42c9 Erp, some changes were not committed 2012-01-02 17:34:07 -05:00
calc84maniac ce80772007 rolwinmix and rlwnmx optimizations, another Rc/RC typo fixed 2012-01-02 17:30:54 -05:00
calc84maniac 7d262ff1f4 rlwimix optimizations 2012-01-02 15:07:36 -05:00
calc84maniac a2bd91b726 Removed an extraneous FlushLockX, further optimized simultaneous handling of carry/overflow. 2012-01-02 11:50:01 -05:00
skidau 67e38fb6c6 Fixed the safe write path of the stfd instruction in the JIT. Fixes issue 4001. 2012-01-03 01:17:52 +11:00
calc84maniac 8d67354179 Fixed a bad typo. Why are there different inst.Rc and inst.RC variables? >_> 2012-01-02 04:00:47 -05:00
unknown d6bf166694 Fixed and streamlined overflow detection, improved subtraction methods, general flag-based optimizations including GenerateRC() which uses the sign/zero flag of the last operation 2012-01-02 03:42:00 -05:00
skidau 6b0d21efa7 Merge branch 'Gecko' 2012-01-02 15:21:58 +11:00
skidau f4d8e527b5 Updated the Gecko code handler to the latest version from Gecko OS 1.9.3.1.
Added a check to ensure that the number of codes fits in memory (maximum 231 codes).
Store a copy of codehandler.bin in the Sys directory.
2012-01-02 15:14:30 +11:00
skidau 96600ef48d Added a note to try the native code handler in the error message window.
Added copyright notices.
2012-01-02 13:53:39 +11:00
Pierre Bourdon 008fd446f5 Replace some printfs from the PPC Interpreter code by Dolphin logger calls 2012-01-02 00:59:37 +01:00
Pierre Bourdon 59e93bff78 Fix a crash at startup with Dolphin on Linux compiled in debug mode
Use the clobber list instead of the stack to save rbx when executing the cpuid
instruction with inline assembly. This avoids breaking GCC assumptions about
the stack pointer location.
2012-01-02 00:59:37 +01:00
nitsuja 0d9e87da18 prevent CLogWindow::UpdateLog from constantly burning through timer objects, because it was allocating memory a lot and making it hard to debug some things. I think this should be faster even in release builds, but any speedup is probably too tiny to measure. 2012-01-01 14:28:21 -08:00
nitsuja f0d7b8122f increased fault tolerance of shader cache files.
more specifically: if the emulator stops unexpectedly, it is quite possible that one of the shader cache files will have some bytes near the end that never got their values filled in. this change adds an index number at the end of each entry as extra verification that the entry is valid, so that invalid entries can be ignored (and eventually overwritten) instead of causing crashes.
2012-01-01 14:28:20 -08:00
nitsuja 6f1b2d7748 name all audio threads (that I know how to) for debugging, as suggested in response to revision d00b719966. 2012-01-01 14:28:19 -08:00
skidau ba545ec1e9 Build fix 2012-01-01 18:09:39 +11:00
skidau e4b4a65346 Merge branch 'PowerPC' 2012-01-01 16:17:52 +11:00
skidau 5a914744a2 Added some support for the OE flag. Thanks to j4ck.fr0st for the tip. 2012-01-01 16:12:53 +11:00
skidau c53593a40a Moved the Audio Throttle option to the Framelimit drop-down. The Audio Throttle should never be used alongside the frame limiter as that can cause audio sync issues. 2012-01-01 14:32:54 +11:00
skidau 80504efcdf Changed the Gecko code handling to the native code handler. This provides full compatibility with all Gecko codes.
To use the native code handler, place the kenobiwii.bin file into the Sys directory.  Dolphin will silently fall-back to the emulated code handler if the file is not there.

Fixes issue 4561.
2011-12-31 15:18:48 +11:00
skidau cfee6d8473 Stubbed the /dev/usb/oh1 path. Fixes issue 4936. 2011-12-31 09:51:41 +11:00
skidau f7ef58ff9a Removed the VID/PID validation for Wiimotes allowing Dolphin to detect third party wiimotes with a VID/PID that is different to Nintendo's.
Checked for timeouts reported by the bluetooth stack.
Added RVL-CNT-01-TR detection.
2011-12-29 21:18:35 +11:00
skidau 1df7af35e9 Reset errno to zero before testing it after the strtoul call. Fixes issue 5078. 2011-12-29 12:05:36 +11:00
Pierre Bourdon af8a866afc Implement what was done by r9a627e89 using a stub device
This is arguably better then using the slot0 device for slot1, because it maps
the real hardware better (nothing can be mounted on slot1 on a Wii AFAICT).
This also makes Kirby: Return to Dreamland work properly and fixes some of the
SD card problems (libs do not expect to have the same SD card mounted two times
in RW...).
2011-12-25 01:55:25 +01:00
Pierre Bourdon 070c933088 Revert "Add unimplemented device map for sdio/slot1 and slot2. Fixes #4932."
This reverts commit 9a627e89fb.

The attempted Kirby: Return to Dreamland fix does not work properly and while
it fixes this particular game, it completely breaks SD card support on Dolphin.
BTW, I've never head of /dev/sdio/slot2 before...
2011-12-25 00:03:45 +01:00
LPFaint99 d389f7139b restore wii sorting order by using the ascii string from the banner instead of the iso file 2011-12-22 15:53:41 -08:00
LPFaint99 ca8af741b8 Merge branch 'unicode_gamelist' 2011-12-22 14:29:47 -08:00
LPFaint99 825e2ea4df fix an ascii/wxstring in gamelistctrl, replace fromascii("") with wxemptystring, don't push_back 0 at the end of wstrings 2011-12-22 14:28:12 -08:00
LPFaint99 8f6c25a5aa cleanup: merge handling of ntsc/pal games in gamelist/isoproperties 2011-12-20 02:19:46 -08:00
LPFaint99 e4c4602d9e use windows-1252 for gamename/description, fixes copyright/tm symbol in the gamelist & isoproperties 2011-12-20 02:10:40 -08:00
LPFaint99 9ddb67d4a9 fix shift-jis conversion on linux, and check for the codepage on windows in the memorycard manager like everywhere else 2011-12-20 01:35:12 -08:00
nitsuja 33f0f9fd9f fix ZWW intro music crackling with DSPHLE 2011-12-19 21:52:47 -08:00
nitsuja 3006d0696c fix the read-only menu item being disabled when emulation is paused (the hotkey was fine but I guess some people still use the menu) 2011-12-19 16:38:07 -08:00
nitsuja 3e773f093d fixed a freeze on emu shutdown in windows build 2011-12-19 15:13:26 -08:00
LPFaint99 de4e3e7462 add wstring name(s)/description to the cachefile, use when available in gamelist and properties window 2011-12-18 22:01:46 -08:00
LPFaint99 7f4efa094e add the function to read the game name and description from the banner as unicode 2011-12-18 21:56:13 -08:00
LPFaint99 a73ad3554c add the function to read all unicode gamenames from a wad file 2011-12-18 21:42:20 -08:00
nitsuja 567e90bbd5 fix for an un-threadsafe call to UpdateGUI (oops) 2011-12-18 20:38:54 -08:00
nitsuja 4a88d5ae93 fix for wiimote dying if you use savesetates too fast
(by dying I mean all wiimote slots permanently disconnecting until emulation reset)
2011-12-18 19:47:11 -08:00
Glenn Rice 4ecb48eaf8 Update a few more translations and add Farsi. 2011-12-18 14:03:57 -06:00
Pierre Bourdon b20c26f0b7 Adding more drama to the git history. 2011-12-18 13:58:44 +01:00
kostamarino@hotmail.com 9829beab42 Gameini database update, mainly changes to the emulation issues lines (make them shorter, with more substance and less bla bla, update outdated stuff). The emulation issues lines can be further improved(this is a start).
Also re - implement the emulation issues column that was reverted, make it a bit bigger since sentences need more words and delete the issues portion of the emustate tooltip since it is unnecessary now.
2011-12-18 14:52:40 +02:00
nitsuja d00b719966 give the audio thread a name (this doesn't really matter, but it was bugging me) 2011-12-18 02:25:50 -08:00
nitsuja d44fc0c820 small fixes for some recording-related menu items 2011-12-18 02:23:59 -08:00
nitsuja c88e4a097e update ui after savestate load (because loading a savestate can affect whether certain items should be grayed out in the menu) 2011-12-18 01:15:59 -08:00
nitsuja cfad00d6e0 added missing ExpansionInterface data to savestates, and related fixes (for savestate robustness) 2011-12-18 00:23:12 -08:00
nitsuja e5286e0406 improve the movie savestate load verification a bit more 2011-12-18 00:22:57 -08:00
nitsuja c6ea5f31f5 remove some suspect code in PowerPC::DoState which I think has already been supplanted by more correct code in CoreTiming::DoState 2011-12-18 00:22:31 -08:00
nitsuja 1e4e05fdc3 made ucode saving more reliable (especially for the case of loading across boundaries where the ucode changes). I think this is related to the occasional memory corruption I was seeing upon loading a savestate. 2011-12-18 00:22:21 -08:00
nitsuja c68c8c388c made savestate loads less fragile by adding some markers and rolling back on a mismatch.
This should make it so if you try to load an incompatible save, it simply doesn't load, instead of crashing dolphin. (I can't guarantee no crash but it's much less likely now)
2011-12-18 00:22:06 -08:00
Jordan Woyak 98d22d0e03 Revert the latest GUI change (Emulation Notes column). We don't care for it. 2011-12-17 23:44:09 -06:00
Maarten ter Huurne ed1bfdf293 Merge branch 'cmake-osx2' 2011-12-17 16:30:02 +01:00
Maarten ter Huurne 83bf5790a6 Copy translation files into OS X bundle. 2011-12-17 16:26:52 +01:00
kostamarino@hotmail.com a58c46be81 Gui change and an update to the gameini database.
The "Notes" column is gone and in it's place an "Emulation Notes" column is placed (it contains the emulationissues lines from the game inis). Notes that contain useful info about the game can be seen with just a glance this way.

Fixes issue 5043.
2011-12-16 21:01:10 +02:00
nitsuja d2f61fa155 some movie playback fixes 2011-12-15 09:22:16 -08:00
nitsuja 1ad05f7440 Merge branch 'master' of https://code.google.com/p/dolphin-emu 2011-12-14 21:34:55 -08:00
nitsuja 9470f9545f many movie fixes (mainly for readonly mode), and some wii input display support 2011-12-14 21:26:42 -08:00
Maarten ter Huurne 4c7c29b8b6 Let "make install" on OS X copy the bundle to /Applications.
The "dsptool" executable is not included in the bundle.
The "tester" executable is not included in the bundle and it no longer
installed on other platforms, since it is neither expected nor useful
to install unit tests.
2011-12-14 02:50:36 +01:00
Jordan Woyak b44918d1ed Merge branch 'fix-real-gcpad-sticks' 2011-12-12 23:25:32 -06:00
Jordan Woyak 09d2301fed detect input at 55% to catch silly c-stick range 2011-12-12 23:24:10 -06:00
Maarten ter Huurne 27bda2c054 Fixed range check on TryParse() for u32, again.
The code from 748be364e5 incorrectly accepted -0x100000000 on x86_64.

Also if ERANGE is returned by strtoul(), reject the parsed value regardless
of what that value is. This fixes invalid values being returned when compiling
with Visual C++. Thanks to "cotton" for testing this.
2011-12-13 02:08:34 +01:00
nitsuja f3325036be fixed hotkeys getting ignored after tab is pressed 2011-12-11 21:54:50 -08:00
nitsuja 2c2ef9a961 made frame advance act normal (so it advances 1 frame each time instead of waiting for further unpause commands), and did some minor improvements to the read-only command (making the UI behavior a little nicer, no actual changes to what read-only does at this point) 2011-12-11 21:08:26 -08:00
Maarten ter Huurne ee5a29e6f2 For CPUID, save EBX on the stack instead of in a register.
This fixes GCC running out of registers when compiling for x86
in release mode.

Thanks to kiesel.
2011-12-12 02:14:56 +01:00
Maarten ter Huurne d75f45979b Copy data files into OS X application bundle. 2011-12-12 01:30:42 +01:00
Maarten ter Huurne 7423c74deb Force the "ebx" argument to be mapped to a register (not necessarily EBX).
Fixes crash on x86 under OS X.
Thanks to kiesel for the fix and to shuffle2 for remembering the problem.
2011-12-12 00:43:23 +01:00
Maarten ter Huurne 344ca5d360 Applied compile and link flags from SCons build for OS X to CMake build.
The following changes were made:
Restricted the "-march=core2" option to i386 because the first Intel Macs
had Intel Core CPUs, not Core2.
Removed the "-mdynamic-no-pic" flag as GCC lists it as a PPC specific flag.
Removed "-Wl,-read_only_relocs,suppress" because it seems to be related
to "-mdynamic-no-pic" and I see no need for it.
Removed "-Wextra-tokens -Wnewline-eof" because they are GCC specific and
not OS X specific.
2011-12-11 21:27:06 +01:00
Maarten ter Huurne 780e5e7244 Use a custom template to generate the Info.plist for the OS X bundle.
This allows us to add keys that don't exist in the CMake template.
I added the keys from the Info.plist that was generated by our SCons build
to the new template.
2011-12-11 16:54:37 +01:00
Maarten ter Huurne c1cf4f80cf Added bundle version and copyright string to OS X bundle info. 2011-12-11 16:21:17 +01:00
Maarten ter Huurne 9d2f589f01 Create application bundle on OS X. 2011-12-11 16:07:59 +01:00
Shawn Hoffman b0ffa72e37 Merge branch 'large-mram' 2011-12-10 18:48:35 -08:00
Shawn Hoffman 62858c8c14 Small logging changes. Pause core if Jit64 tries to compile at 0. 2011-12-10 18:42:49 -08:00
NeoBrainX 3d9c35f58e VideoCommon: Fix upper and lower depth bytes being switched when performing Z16L EFB copies (EFB to texture only).
Fixes issue 4989.
Fixes issue 5056.
2011-12-10 16:08:26 +01:00
Maarten ter Huurne f9133a7376 Link to the required OS X frameworks.
Previously, there was just one list of frameworks regardless of which part
of the code depended on which frameworks. Now we keep separate lists for
the Dolphin core, the Dolphin GUI and internal use by wxWidgets.
2011-12-07 08:26:44 +01:00
Maarten ter Huurne c04c3bd9d3 Use "unsigned int" instead of "unsigned".
By request of hrydgard.
See commit 045eb924d9.
2011-12-07 07:10:31 +01:00
Maarten ter Huurne 8a75351674 Link against OpenGL using the info gathered by the FindOpenGL module. 2011-12-05 06:18:04 +01:00
Maarten ter Huurne 958891b4eb Compile with OpenAL support on OS X. 2011-12-05 05:49:08 +01:00
Maarten ter Huurne d440dfe9b2 Link against systemwide LZO using the info gathered by check_lib(). 2011-12-05 05:33:35 +01:00
Maarten ter Huurne bb182d88b7 Link against systemwide OpenCL on OS X. 2011-12-05 05:26:28 +01:00
Maarten ter Huurne 8c3775ee6f Under OS X, link GL plugin against Cg framework instead of Cg library. 2011-12-05 01:12:09 +01:00
Pierre Bourdon 252093295b Do not fail with strict drivers when compiling a not SM2.0 shader
To enforce SM2.0 compatibility, the OpenGL plugin was made to crash when
compiling a shader which does not fit in the SM2.0a limits. However, on some
combinations of OS/drivers/GPU, our shaders already do not fit in these limits,
causing artificial failures only to try to keep a non existant SM2.0a compat.
Basically, this sucks.

This commit increases the artificial limit to SM3.0. If you're using a GPU
which does not support SM3.0 and Dolphin works properly, this should not cause
any problem at all.
2011-12-03 23:24:10 +01:00
Jordan Woyak 575814895c Merge branch 'clearscreen-kill-immediate-mode' 2011-12-01 20:16:23 -06:00
Maarten ter Huurne 748be364e5 Fixed range check on TryParse() for u32.
On x86-64, "unsigned long" is 64 bits wide, so it is possible for a number
to not trigger a range error on strtoul() but still not fit inside an u32.
An extra check is added to ensure that 32-bit and 64-bit builds will accept
the same numbers.
2011-12-02 02:24:43 +01:00
Maarten ter Huurne 045eb924d9 Changed type of GetTicksPer(Line|Frame) to unsigned.
Avoids a GCC warning about comparing signed and unsigned values
in Source/Core/Core/Src/State.cpp.
2011-12-02 00:33:45 +01:00
Maarten ter Huurne f50ea590ce Don't use the same name for two different local variables.
This avoids a warning when compiling with GCC.
2011-12-02 00:06:49 +01:00
Maarten ter Huurne 51127c1243 Added newlines at end of file.
This avoids warnings when compiling with GCC.
2011-12-01 23:30:28 +01:00
Maarten ter Huurne 98981cc724 Fixed EFB cache index computations in OpenGL renderer.
The previous computation was very likely to go out of array bounds,
which could result in crashes on EFB access.

Also, the cache size was rounded down instead of up. This is a problem
since EFB_HEIGHT (528) is not a multiple of EFB_CACHE_RECT_SIZE (64).
2011-12-01 02:46:59 +01:00
Jordan Woyak 4fcd6994c6 fix wireframe setting toggling 2011-11-29 22:21:43 -06:00
Jordan Woyak 0dfca1cf2b remove now unnecessary glPolygonMode from ResetAPIState 2011-11-29 22:02:18 -06:00
Jordan Woyak 88700e817a make OpenGL ClearScreen use glClear 2011-11-29 21:50:31 -06:00
Maarten ter Huurne 29865e6366 Avoid virtual memory range collision between JIT and emulated RAM.
Passing MAP_FIXED to mmap causes already mapped pages in the requested
region to be replaced. On Mac OS X this caused pages for JIT-generatd
code to appear in the memory range previously auto-allocated for the RAM
of the emulated machine. This led to a hang at boot time. The same problem
can probably occur on FreeBSD, but not on Linux since MAP_32BIT is used
there instead of MAP_FIXED.

The solution is to not use MAP_FIXED, but instead rely on the OS honoring
the hinted address which is below 4 GB: we don't need an exact match,
just a low address.
2011-11-30 00:37:57 +01:00
Shawn Hoffman b62cac2ca9 Allow modifying main ram size at compile time by changing Memory::REALRAM_SIZE. 2011-11-27 19:52:05 -08:00
Glenn Rice e5d051a4e9 Update linux libav frame dump code for recent api changes. 2011-11-22 19:24:05 -06:00
skidau cc6f90c7d5 Enabled memory breakpoints under JIT in the debugger. 2011-11-05 19:42:06 +11:00
skidau 9eaf20cc44 Fixed the slowdown that occurred under JIT32. Fixes issue 4969. 2011-11-05 13:04:46 +11:00