Commit Graph

1001 Commits

Author SHA1 Message Date
nitsuja 9ab69febe5 fix for stack corruption caused by certain DSP LLE JIT ABI calls.
if you were getting crashes or freezes as a result of using the "DSP LLE on Thread" option, this might fix that.
2012-01-07 20:46:41 -08:00
calc84maniac 5a15d58964 Added emitters for BT/BTR/BTS/BTC x86 instructions, optimized extended arithmetic PowerPC instructions 2012-01-05 22:36:27 -05:00
nitsuja 39613a95a8 initialize the uninitialized 2012-01-04 01:36:09 -08:00
nitsuja 81a1efab8e fixed an issue where the CPU sometimes single-steps an extra time after pausing 2012-01-04 01:33:38 -08:00
skidau b9547a07f5 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-03 01:24:17 -05:00
skidau 69b2d4ddc1 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.
2012-01-03 01:24:14 -05: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 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
skidau 1df7af35e9 Reset errno to zero before testing it after the strtoul call. Fixes issue 5078. 2011-12-29 12:05:36 +11: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
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
Maarten ter Huurne ed1bfdf293 Merge branch 'cmake-osx2' 2011-12-17 16:30:02 +01: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
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 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
Shawn Hoffman b0ffa72e37 Merge branch 'large-mram' 2011-12-10 18:48:35 -08: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 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
Shawn Hoffman d8def74dd1 add portaudio headers and windows static libs to Externals, enable by default in windows build. 2011-10-03 23:45:59 -07:00
Jordan Woyak d3e639a397 fix build issue with intel compiler and fix some unsafe string usages, patch by FilthyMonkey 2011-10-01 21:31:43 -05:00
NeoBrainX 0e1383b788 Bump disk cache version. 2011-09-29 22:55:28 +02:00
NeoBrainX 81c614fa07 Clean up various things. 2011-09-29 23:32:39 +02:00
NeoBrainX 5dcb212fc7 Fix Windows build. 2011-09-29 23:32:38 +02:00
NeoBrainX 8c691767da Various changes which improve FreeBSD support.
Patches by martymac, all credits go to him ;)
2011-09-29 23:32:38 +02:00
NeoBrainX b28348066e Improve the shader UID debugging stuff and merge it to VideoCommon, effectively enabling it in D3D9 and D3D11 as well. 2011-09-09 00:32:04 +02:00
NeoBrainX 6c7bda6851 Various fixes and cleanups. 2011-09-08 02:09:44 +02:00
NeoBrainX 3939f9595a Add runtime checks to make sure we aren't overoptimizing the pixel shader cache. 2011-09-07 21:15:09 +02:00
Shawn Hoffman fc12633055 Make the jscript for writing out scmrev.h work on windows.
Add scmrev.h to .gitignore
Remove some SubWCRev.exe and it's template
2011-08-21 19:15:50 -07:00
Jordan Woyak e8fe15c3f7 Make titlebar and about dialog fancy for cmake build.
Windows needs fixing.
2011-08-21 17:43:05 -05:00
Shawn Hoffman 82b635b799 vs2010: build dsptool again
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7681 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-07-17 08:38:08 +00:00
Glenn Rice b853d7de3d Oops. Forgot to add the CriticalAlert definitions for windows.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7679 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-07-15 16:50:54 +00:00
Glenn Rice a5a45992ad Add a new type of message box (CRITICAL style) which can not be disabled. Then use that message box to display shader compilation errors in the OpenGL backend to maintain consistency with the behaviour of the DirectX backends.
Also fix the wxMessageAlert called from non-gui threads in the WXGTK build to use the passed caption.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7678 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-07-15 14:49:34 +00:00
Shawn Hoffman 2b9b4a3306 Make PatchAddEdit complain and not modify entry if fields are invalid instead of just filling in zeros. Fixes issue 4291.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7672 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-07-09 21:00:30 +00:00
pierre 383d12185f JIT: Use RAX instead of INVALID_REG for offsetOrBaseReg in MScaled
Fixes asserts triggering in WriteRex with 32bits.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7656 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-06-30 19:17:53 +00:00
pierre 6cdb40a194 JIT: Add support for memory accesses with scaled index register but without base register
This is mostly useful for removing SHLs by constant 1, 2, 3, which this
commit implements in one place.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7652 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-06-29 22:40:01 +00:00
Shawn Hoffman 2309e36b28 Revert changes made for 3.0 release 2011-08-20 14:05:43 -07:00
NeoBrainX 35d1599724 Tag Dolphin 3.0
git-svn-id: https://dolphin-emu.googlecode.com/svn/tags/3.0@7615 8ced0084-cf51-0410-be5f-012b33b47a6e

3.0: Removed SVNRevGen stuff; changed revision string to 3.0; Removed installer since it was vastly outdated; Bumped CMake major version to 3

git-svn-id: https://dolphin-emu.googlecode.com/svn/tags/3.0@7616 8ced0084-cf51-0410-be5f-012b33b47a6e

3.0: Add the languages which were chosen to be release-worthy.
Uhm, unless I forgot something important, I guess we can declare 3.0 as officially released now and stuff. Cheers ;)

git-svn-id: https://dolphin-emu.googlecode.com/svn/tags/3.0@7617 8ced0084-cf51-0410-be5f-012b33b47a6e

3.0: Fix SCons build

git-svn-id: https://dolphin-emu.googlecode.com/svn/tags/3.0@7627 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-06-23 23:11:12 +00:00
LPFaint99 1d29204ae6 Windows: Sets the cwd to the folder that dolphin.exe resides in.
Removes the ugliness that was the portable file, and now creating a shortcut or file association is less of a pain
it is still necessary to modify the file association from ".../dolphin.exe" "%1" to ".../dolphin.exe" /e "%1"

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7593 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-06-11 20:45:09 +00:00
NeoBrainX 8244efcc02 Revert r7421 and r7422.
Should fix issue 4413.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7592 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-06-11 19:37:21 +00:00
pierre 3bcb406c46 Improve WII state saves by saving /tmp and IPC request/reply queues
mp3:c stores temporary files in /tmp and needs them restored to
resume properly.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7564 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-05-27 19:55:07 +00:00
Rodolfo Osvaldo Bogado 0e225a5ad1 some code cleanup i have left in my folder :)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7560 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-05-25 18:14:29 +00:00
LPFaint99 e4fa493a27 Adds the option to change the path to the wii nand root
when nand root is changed the current sysconf is saved,
and the sysconf in the new location is either loaded (if exists)
or the default sysconf is created
wii menu item is updated when the root changes
small fix to saving gamelist paths to .ini paths that are removed from the gui are now removed from the ini instead of simply changing the number of paths

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7555 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-05-24 19:12:18 +00:00
LPFaint99 1236e584e0 NAND:Consolidate Wad/Directory loading in CNANDContentLoader to one function
add ticket to CNANDContentLoader
move wad installer to CNANDContentManager
system menu can now be launched from a wad file without being installed first, (return to system menu from another title will still only work if system menu is installed)
cdb.vff: flushed to disc immediately, creates if the file exists but is too small, moved creation to Boot_WiiWad

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7530 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-05-09 05:47:29 +00:00
LPFaint99 423db843b7 typo/ put back a log that i removed
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7522 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-05-07 03:52:32 +00:00
LPFaint99 69645d421b Move the HLE hack of setting.txt file redirection to the BS2Emu
we already copy the file to memory here, now we also copy the file to 
1/2/data/
 This should really fix issue 4287.
Thanks to hosigumayuugi for finding the exact cause of the issue

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7521 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-05-07 03:48:27 +00:00
LPFaint99 c88126233b Update the country code in SysConf when wii system language is changed.
remove annoying assert for invalid loaders on disc titles.
Fixes issue 4287.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7514 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-05-05 22:38:07 +00:00
pierre 35026f9de1 Core/Common: Allow LEA(32,...) with M() OpArgs exceeding the 2G range.
Fixes JitIL in debug builds.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7478 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-04-22 15:51:40 +00:00
Glenn Rice 37beef5a35 Fix sysconf generation. Fixes issue 4348.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7449 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-04-11 15:57:45 +00:00
Jordan Woyak 021193b22f Use mutexes in LogManager to make it threadsafe, as suggested by beistin's patch. Change some LogManager function names to be consistent with Dolphin's naming conventions.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7433 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-04-01 07:43:02 +00:00