Commit Graph

3761 Commits

Author SHA1 Message Date
Shawn Hoffman
fec9234aca IPC HLE: don't automatically make all addresses the cached one, leave them as however they have been written.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6099 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-16 00:14:08 +00:00
Shawn Hoffman
b83d3e8970 make memory breakpoints log the PC when hit.
if the PC makes no sense, it's probably because some HLE has done the access.
perhaps we should wrap accesses from IOS HLE, so that we can trace it? dunno if it presents that much of a problem anymore.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6098 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-16 00:13:23 +00:00
Jordan Woyak
dac2666236 New Wiimote Plugin: Fix hang on close issue of my last commit.(thanks to glennrics) Made profile saving/deleting a bit more user friendly.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6097 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-15 23:03:15 +00:00
Jordan Woyak
7c7257b825 New Wiimote Plugin: Give each real wiimote an individual thread.(eliminates multi-wiimote delay)(fixes issue 3037 for the new plugin) Fix a mem-leak in the input config dialog.(GCPad/NewWiimote)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6096 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-15 20:33:07 +00:00
Marko Pusljar
0a606d7356 fixes for my previous commits
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6095 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-14 09:07:28 +00:00
NeoBrainX
1f9dbb5afe Warning fixes and some cleanups.
Correct me if I was wrong when changing those 0s to '\0's.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6093 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-13 19:07:59 +00:00
nodchip
0c1977dc45 JitIL: Added code which deal with psq_st/psq_l in the case of inst.W == 1.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6092 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-12 12:31:15 +00:00
skidau
df8ffa69bb Used a less hacked way of making the multiboot games work. Instructions are now executed at their proper number of cycles. The timeslice has instead been increased to compensate. Increases VPS in some games.
Thanks to BhaaL for the tip.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6090 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-11 12:49:38 +00:00
skidau
e82c128043 Applied the multiboot dol fix to JITIL too.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6089 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-11 11:15:59 +00:00
skidau
6918a9e1d6 Added support for multiboot dols. This allows demo discs, bonus discs etc to be played.
* Flushed the JIT cache on "ICFI" (Flush Instruction Cache)
* Made all instructions one cycle in duration

Fixes issue 233

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6088 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-11 10:45:27 +00:00
Soren Jorvang
db072e1986 Add Common::AtomicDecrement for gcc to match win32.
Use the debug option for conf.CheckWXConfig on OS X as on Unix.

Take care of a few compiler warnings.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6084 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-10 08:29:15 +00:00
Marcos Vitali
3b7a6ce336 I've observed that "FIFO is overflown by GatherPipe" is not real overflow.
Really that happens because the fifo.CPReadWriteDistance is negative.
Example: CPReadWriteDistance: -864 CPEnd: 10092672 fifo.CPBase: 9568416
In SMG this is because  PI_FIFO_RESET is writing and after fifo.CPReadWriteDistance will be setted to 0.
To Prevent that, I've Implemented AbortFrame function in the CommmandProcessor. It should fix overflown because of that. 
Note: There is other issue (Issue 2846) where the fifo.CPReadWriteDistance is negative too but the effect is different.
I'm working to solve this.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6083 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-10 07:25:35 +00:00
Jordan Woyak
2b45e87b3e New Wiimote Plugin: Added a "Hybrid Wiimote" input source type. This allows a real wiimote to be used with an emulated extension.(and in the future, real wiimote with emulated motion plus) If the emulated extension is set to "None", a real extension can be used. Real/Emulated buttons are combined. Real acceleration data is used. Currently, emulated IR data is used.(might change this to allow both) Switching between an emulated and a real extension in-game is a bit testy right now, but if you switch the emu-extension to "None" before connecting a real extension, it usually works.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6082 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-10 04:12:32 +00:00
Glenn Rice
a1daa636c2 Take care of some compiler warnings from unused variables, and a little code cleanup.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6081 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-10 01:08:22 +00:00
dok.slade
55d7f93e0c Revert r6076 and r6077 since they broke x64 builds
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6080 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-09 19:00:24 +00:00
pierre
468b9bfe68 Fix the OpenGL depth buffer values from the vertex shader.
I am not sure i am understanding what the pipeline really does, and more so what
the GC/WII expects here. If my comments are incorrect, please let me know.

This was tested with MP2:E, ZWW on r6075.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6078 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-08 22:27:35 +00:00
dok.slade
244191f18f Fixed some mistakes from r6076:
* Fixed missing UnlockAllX
* Fixed 64-bits compilation

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6077 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-08 18:53:00 +00:00
dok.slade
5a248b46a1 JIT compiler:
* Improved constants folding in load instructions
* Merged load instructions
* Fixed the register allocator so that it can restore the registers state after jumping to the dispatcher (in case of a conditional jump)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6076 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-08 18:12:58 +00:00
Marko Pusljar
95b0abb737 dsplle - another small fix
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6075 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-08 16:35:10 +00:00
Shawn Hoffman
2ac8691911 ok...svnrev crap finally under control? please?
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6074 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-08 16:34:32 +00:00
Shawn Hoffman
4ae77b2d70 revert last two commits. screw it.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6072 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-08 15:37:18 +00:00
Shawn Hoffman
78add0ca9b must've gotten too excited, forgot a file
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6071 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-08 15:22:25 +00:00
Shawn Hoffman
7823eddd4e kill that annoying relinking once and for all!
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6070 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-08 15:21:29 +00:00
skidau
208ecd698e Debugger enhancements:
* Added working Step Over function.
* Added hard-coded hotkeys for step into (F11), step over (F10) and toggle breakpoint (F9).  The hotkeys are only active when the debugger is enabled.  They function as before when the debugger is disabled.
* Added Debug menu item.
* Removed obsolete NotifyBreakpoint function from JIT and JITIL.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6069 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-08 06:00:22 +00:00
Shawn Hoffman
7b8863dc9c r6066, part two: learning to count
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6068 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-08 00:54:04 +00:00
Glenn Rice
957e7c415e Several little things:
Clean up of the input selected for the opengl x window in linux.
Fix a potential segfault when taking a screenshot (happens consistently when using "Save Targets" from the video debugger window).
Fix a memory corruption error that results from the wrong image size being passed when dumping textures.
Make the screenshot hotkey configurable.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6067 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-08 00:13:05 +00:00
Shawn Hoffman
105c05bb7e make_svnrev.h.vbs: look for "Last committed at revision [0-9]+" instead of "Updated to revision [0-9]+" for svn
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6066 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-07 23:18:43 +00:00
Shawn Hoffman
521c7558bc Change make_svnrev.h.vbs so that it won't cause svnrev.h to be regenerated if it's already at the current revision (saves re-linking all the time)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6065 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-07 21:22:15 +00:00
skidau
b2791b2d79 Added code to unlock the reg in lwzux. Fixes issue 3017 (thanks j4ck.fr0st).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6064 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-07 13:26:53 +00:00
dok.slade
1faff6aeb7 JIT compiler:
* Improved constant folding/propagation in integer instructions
* Merged boolean instructions

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6063 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-06 19:35:40 +00:00
Fircrestsk8
05401aeb0e Fixes NeobrainX's new method for toggling the ZTP Hack. The game properties is a much more appropriate place for the hack (I didn't even know about that menu:) ) Thanks to NeobrainX for the code cleanup, and to Mandrix999 for the fix. Also noticed a minor typo.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6062 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-06 02:53:09 +00:00
pierre
92b180b71f Opengl and D3D are doing the perspective division differently
Thanks to glennricster for catching this.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6061 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-05 23:04:34 +00:00
NeoBrainX
d5d7beb6c7 Move the ZTP hack to the game properties (reverted all changes from r6057 to the video plugins) due to some obvious reasons. Also some fixes to the coding style.
Remove a member variable which I introduced in r5907 although it never actually got used. Restores binary compatibility (at least in that regard) to pre-r5907 video plugins, but breaks any binaries after that :P

Update FIFO watermark tightness recommendations. 1000 is quite a high value I guess, but some people seem to need it.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6060 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-05 18:41:02 +00:00
Marko Pusljar
8dc01b685f dsp stuff - the same ucode hash under lle and hle now (had to rename couple of dissasms), ucode dumping under hle (debug only), small dsp:read32 change (needed for some homebrew)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6059 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-05 17:00:32 +00:00
skidau
ca9c174450 Stability fix for JIT load/stores
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6058 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-05 10:01:27 +00:00
Fircrestsk8
040a6e1eb3 This commit addresses the Hyrule field slowdown issue in Zelda: Twilight Princess, as discussed in Xtreme2damax's thread: http://forums.dolphin-emu.com/thread-10638.html. It can be activated in the DX9, DX11, and OpenGL plugin GUI's. Enabling the hack while playing other games besides ZTP will likely have either an undesirable or no(more likely) effect.
The code changes disable the usual pipeline flush for certain BP Writes that occur while the minimap is being drawn in Zelda: twilight princess. This significantly increases speed while in hyrule field. The way this is accomplished is described more in depth on page 42 of Xtreme's thread. Big thanks to Xtreme for doing a great job hosting that thread, and Kiesel-stein for initial work on the hack

Also, I used the resource editor in Visual studio to generate the GUI code for the DX11 plugin, and some code appeared to be removed, although the behavior of the GUI did not seem to change. Hopefully someone more experienced with resource files (forms?) can double check that no code was damaged


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6057 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-05 03:24:13 +00:00
pierre
9e4ff175ec Set z-position for opengl, too
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6056 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-05 00:09:33 +00:00
dok.slade
7a80e8e409 Added missing unlocks from r6053 (thanks mylek4)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6055 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-04 23:30:47 +00:00
pierre
e5f629da37 Fix saving states on mesa3d and clean up the handling of asynchronous requests
(those originating from a thread other than the gpu thread)

glxMakeCurrent is supposed to error out when the context is
still current in another thread. NVIDIA handles that, but mesa3d errors.



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6054 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-04 21:02:32 +00:00
dok.slade
9b6180ab27 Fixed JIT register allocator.
Now it only writes back dirty registers when flushed
	* Fixed KillImmediate
	* Renamed LoadToX64 and StoreFromX64 to BindToRegister and StoreFromRegister respectively (as suggested by ector)
	* Code cleanup in calls to the reg allocator


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6053 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-04 19:34:47 +00:00
Soren Jorvang
7ddf0aa711 Silence gcc warnings about empty statements and out-of-order initializers.
Increase ISO properties window size to make room for the new Gecko codes.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6050 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-04 14:00:59 +00:00
skidau
dc0a67b53a Brings back any speed lost from r6040 while maintaining all speed gains.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6045 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-04 11:07:40 +00:00
NeoBrainX
552a535f6d Fix issue 2694.
Fix another dramatic spelling "mistake" in DX9 which I forgot to commit last time.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6042 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-03 18:57:59 +00:00
skidau
fe0f25c737 MMMU Speed Optimisations:
* Optimised the memory bounds check in MMU and MMU speed hack games.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6040 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-03 10:52:02 +00:00
ayuanx
ffef6affff Explicitly designate VB script engine, as it might not have been linked to any script host due to security concerns.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6038 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-03 09:41:26 +00:00
Glenn Rice
22872b383c Make toggling of word wrap for the log window nicer for linux. Unfortunately this method is only implemented for wxGTK (what not wxMSW? Shocker!).
Made it so that Source/Core/DolphinWX/Globals.h is only used for the wxWidgets build, and a little other file inclusion clean up.
Fix an issue where a user runs a game from the open menu or toolbar items with a clean user directory, and henceforth double clicking on the empty game list (where it says double click to browse for games), that game is run again.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6037 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-03 03:20:44 +00:00
skidau
f7c4670c9f * Fixed a careless mistake of mine with SetJumpTarget
* Changed ABI_PARAM back to ECX/EDX.  Thanks for the tip, Soren
* Reverted r6035

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6036 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-02 14:06:27 +00:00
Soren Jorvang
bbc69a64ad Revert parts of r6032 that break OS X and probably other non-Windows
platforms as well. It would seem that ABI_PARAMx will have to be
used more consistently elsewhere to match up with a change to use
them here.

Not sure yet why I still need the final section of Jit64::stX.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6035 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-02 10:36:33 +00:00
skidau
fcf2fb2b9b MMU Speed Optimisations:
* Un-cleaned the Load/Store code.  I think this will fix the stability issues from r6032
* Added memory exception checking to a couple more JIT FPU instructions
* Optimised the 64bit fast memory access slightly
* Optimised the MMU speed hack.

The rest of the speed optimisations from r6032 have been retained.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6034 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-02 10:28:37 +00:00
Shawn Hoffman
7b83640a28 make "show pc" in dsp lle debugger actually work again
code cleanup in Hash.cpp

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6033 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-02 05:30:38 +00:00
skidau
9c36f0bc88 MMU Speed Optimisations:
* Added memory exception checking to JIT instructions
* Cleaned up Load/Store code (thanks dok.slade)
* Consolidated memory access routines
* Fixed graphics corruption in some games (dcbz instruction)
* F-Zero GX in 32bit JIT mode now works
* Removed temporary slow hack in JITIL (introduced in r4839)


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6032 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-02 04:22:04 +00:00
Glenn Rice
26aee8ff76 Create the log window after the menus. This fixes the font ugliness on windows.
Fix modality for the config dialogs on windows.
Fix the compress/decompress dialog wxString issues for MacOSX (hopefully).
Fix the DSP-LLE debugger for linux.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6031 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-02 01:52:00 +00:00
Soren Jorvang
52d3137598 Build with -msse3 on OS X. The first Intel Macs were Core Duo/Solo, which
had SSE3. Keep -msse2 on other platforms. Not sure if there are actually
any Dolphin-capable machines out there without SSE3, but..

Use -search_paths_first to give our statically linked libraries precedence
over /usr/local/lib. 

Some work-in-progress changes to facilitate a more easily redistributable
application bundle on OS X.

Group compiler/preprocessor/linker flags together to make the full set
more intuitively apparent.

The various libraries in Externals have rather inconsistent conventions
for include paths. Best to encapsulate that knowledge in foo/SConscript.

Re-use utils.GenerateRevFile for all three places in the build system 
where we need the SVN revision number.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6030 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-01 16:30:22 +00:00
Soren Jorvang
fad075351c Silence some compiler warnings.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6029 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-01 16:14:35 +00:00
Soren Jorvang
4bef335632 Remove duplicate instantiation of PNG wxImage handler.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6028 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-01 15:48:11 +00:00
Glenn Rice
2c6f851bba Clean up and fix some issues with the dialogs for compression and decompression of iso and gcm images. Also added a confirmation to overwrite existing files.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6024 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-01 04:09:59 +00:00
nodchip
949fec41ca JitIL: Reverted "lbzu" added in r6018.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6023 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-01 02:17:52 +00:00
nodchip
f79eff00e4 JitIL: Fixed comment out style reviewed in r6017.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6022 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-01 01:23:14 +00:00
Soren Jorvang
3d25197a1c Avoid always-true and signed/unsigned comparisons.
Make empty while loops a little more obvious with a {} suffix.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6019 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-31 19:06:44 +00:00
nodchip
0e83d52382 JitIL: Added "lbzu" instruction and "crXX" instructions. "crXX" are ported from Jit_SystemRegisteres.cpp. "lbzu" may cause crush in GFZP01 (F-Zero GX PAL). I could not test with GFZP01 because I don't have it. I tested "lbzu" with other games, though.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6018 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-31 15:43:54 +00:00
nodchip
2213d423bf JitIL: Commented out the code which cause bugs in STGJAF OP movie.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6017 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-31 15:32:02 +00:00
Soren Jorvang
453f7c67cd Newer versions of GCC's <tmmintrin.h> check for __SSSE3__ (-mssse3).
No matter. We don't actually need it for our purposes.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6016 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-31 15:26:46 +00:00
Glenn Rice
4d27ecf736 MaxOSX build fix. Thanks soren.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6015 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-31 14:45:35 +00:00
Soren Jorvang
824b509d2e Make the SSE3.1 VideoCommon code available in GCC builds.
The GCC model for extended instructions like these is that you compile
with -msse3 etc. These affect code generation for whole compilation units,
so the idea is that you have a separate .c file for each instruction set
class and then indirect to the desired one at runtime.

Without e.g. -msse4.1, the GCC built-ins used by <foointrin.h> are not
available. However, in our specific case of compiling with -msse2 and
wanting to use SSE3.1 code, enough built-ins are available that we only
need to provide a little hack for pshufb.

Upgrading this to also use SSE4.1 instructions doesn't appear feasible
without a lot of undesirable duplication of GCC built-in functions and
headers, so we'd probably have to move to the GCC model of separate
source files for that.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6014 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-31 14:40:01 +00:00
Glenn Rice
840bd3613f Use GetClientRect in the GameListCtrl OnSize function, but removed the +5 padding. This seems to look best on windows and linux. Unfortunately wxWidgets on linux doesn't account for visibility of the vertical scrollbar in this or any calculation I have found.
Also fixed an issue with the saving of the log/console window size.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6013 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-31 14:14:01 +00:00
dok.slade
c88689381f Merged JIT crXXX instructions (thanks XTra.KrazzY)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6012 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-31 10:29:08 +00:00
nodchip
d5a698f188 JitIL: Removed unused variables reviewed in r6010.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6011 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-31 10:12:11 +00:00
nodchip
aaa083f8f0 JitIL: Added instruction combining rules for speed up.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6010 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-31 03:26:25 +00:00
skidau
432335cda5 Fixed some boundary issues in PPCAnalyst. This fixes Rogue Leader and other MMU games.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6009 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-31 02:29:11 +00:00
dok.slade
12be9952ab Implemented more JIT instructions
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6008 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-30 21:28:20 +00:00
j4ck.fr0st
6ed3357066 Experimental: Implement skid's MMU Demand Paging in JitIL.
This one needs a lot of testing, since I don't have any games that need it, except Rogue Leader (GSWP64) - and I didn't do more "testing" than watching the stormtroopers dance due to speed reasons (altho it seems twice as fast as JIT for me; it does spit out a lot more warnings too)

btw, ITS OVER 6000!!111

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6006 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-30 17:51:05 +00:00
skidau
1d2f4283d1 Added a self modifying code option in the game properties. Turn this on for Monster House and other games that hang or show memory errors. Turn it off for everything else. This fixes Legends of Wrestling.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6005 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-30 17:12:59 +00:00
skidau
84b5824670 Quick fix to get Monster Hunter Tri working.
Minor changes resulting from code review comments.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6004 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-30 16:54:16 +00:00
Soren Jorvang
1fb47e6393 Modal windows must be closed with EndModal(), not just Destroy()'ed.
wxFD_FILE_MUST_EXIST cannot be used with wxFD_SAVE.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6003 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-30 13:14:53 +00:00
Glenn Rice
2d108f8d57 Fix a mistake in the menu from revision 5999.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6002 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-30 12:52:35 +00:00
Soren Jorvang
72494a0363 Use the portable SLEEP() macro in place of Sleep().
r5998 fixes the Center() problem in plugins on OS X.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6001 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-30 11:58:18 +00:00
skidau
bae8c6ed9c Fixed the crash that occurred while loading and saving states. This change freezes the system while a save state is being made or loaded, ensuring that the sub-systems (e.g. CPU and GPU) is in a consistent state when the save-state is created. Removed the clearing of the JIT cache as invalidated memory would sometimes be jumped to from the block descriptors, causing the crash. Removed the saving of the old JIT unlimited icache from the state as this now serves only as transient data to track what has been compiled in the JIT (and it took up a lot of space). The icache is now saved inside the PPCState.
Fixes issue 2964.  (I hope)

HAPPY 6000th!!!

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6000 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-30 09:24:23 +00:00
Glenn Rice
06fb0c292a Removed the hackery that was being done with the plugin configuration dialogs on windows. That was unnecessary and ugly. The HWND type is dead for non windows. Also cleaned up the gui a little.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5999 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-30 03:51:49 +00:00
Marcos Vitali
75bd5ed645 Add fifoWait property of Event Object to SaveStates.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5998 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-30 00:35:33 +00:00
Soren Jorvang
f081710800 Oops, removed one <sys/stat.h> too many.
No need to autoconf for libusbhid - all USB-capable BSD's have it.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5996 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-29 17:52:43 +00:00
Soren Jorvang
24fdf942a4 Use .cpp suffix when detecting libraries. On some systems, g++
is required to correctly link with C++ libraries like wxw.

Tell OS X that the user is doing something when using the wiimote
so that the screensaver doesn't come on when playing a Wii game.

Replace unnecessary floating point with integer math.

Remove unnecessary <sys/stat.h>'s.

Correct a few type nits.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5995 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-29 13:29:15 +00:00
skidau
9ff5e836eb Implemented MMU Demand Paging
* Emulated correct behaviour of DSI and ISI exceptions
* Added memory exception checks
* Added fast TLB cache implementation (written by booto)
* Added "Enable MMU" option in the game properties
* Renamed old TLBHack to "MMU speed hack"

Thanks to booto (PowerPC) and nash (testing) who spent many weeks of their time helping me make this work.  Also thanks to shuffle2 for finding and converting the map file of the original target.

There are two options for MMU emulation found under the game properties.  "Enable MMU" is the accurate emulation option.  "MMU speed hack" is the old TLBHack renamed. Most games will work with one or the other.  Some games can work with both options ticked.

Only the JIT recompiler and Interpreter work with the MMU code.  JITIL is not supported (too hard for me to add).

The speed optimised code still needs a lot more work and is disabled for now.

Fixes issue 2546
Fixes issue 2583
Fixes issue 2704



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5994 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-29 12:17:47 +00:00
Jordan Woyak
b70f134c88 New Wiimote Plugin: Added a real wiimote io_write queue like the old plugin. A combination of locks and lack of a write queue were the cause of the real wiimote slowdown. - new plugin should work as good as the old one with real wiimotes now.(but still lacking a pairup button) Other stuff: Disabled execution of Gecko Codes when Dolphin has cheats disabled.(fixes issue 2971) Allow the range of an input to be increased to 500% (will make ps3 controller's tilt more usable)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5993 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-29 10:21:48 +00:00
Marcos Vitali
25accdec23 I add a CriticalSection in RemoveThreadsafeEvent for safety
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5992 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-29 04:02:45 +00:00
dok.slade
a72339b086 Work on JIT branches part #2/2:
* Code cleanup
* Reduce the cost of RFI instruction (heavily used on PowerPC)
* Implement missing cases in bclrx

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5991 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-28 21:24:23 +00:00
dok.slade
f09c5ad6c1 Work on JIT branches part #1/2:
Try to merge cmpXX with all types of conditional branches (not only bcx)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5990 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-28 21:21:30 +00:00
Glenn Rice
1f119d5e73 Revert the conversion from u32 to size_t from my last commit to reduce compiler warnings in windows.
Fix an issue that made it impossible to close the console and log windows in windows.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5989 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-28 15:54:22 +00:00
Glenn Rice
71d4ece44e Fix an issue that caused the DSP-LLE window to be openned twice in windows. (Thanks shuffle2).
Fix an issue that prevented the code window settings from taking effect on application start.  (Thanks shuffle2, skid_au, and sanchez).
Fix a potential segmentation fault with the DSP-LLE debugger window.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5988 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-28 15:22:27 +00:00
Marcos Vitali
a122a4dc2c Sory, I've forgot to delete my logs in my last commit. :)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5987 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-28 10:24:54 +00:00
Marcos Vitali
688fda1a0e When the new FIFO is being attached We make sure there wont be SetFinish event pending if so reset this. This protection fix Eternal Darkness booting, because the second SetFinish event when it is booting seems invalid or has a bug and hang the game.
This is EXPERIMENTAL, in theory don't break any game but if so Revert this commit immediately please.
Note: Beside Eternal Darkness needs DirectX 11 or DirectX 9 with Zelda Hack to works fine.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5986 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-28 02:57:17 +00:00
Glenn Rice
9fea384ed3 Fix some more resizing and saving of such.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5985 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-27 22:12:19 +00:00
Marko Pusljar
67e6ae5fac BPHack option removed (it was not used anymore)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5984 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-27 10:29:34 +00:00
Glenn Rice
586f24645a Fix an issue using render to main in combination with the log window or console window, in which the renderer was not resized when the panes were resized.
Also refresh the log window at that time so artifacts are cleared.
A little more code cleanup of the debugger windows.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5983 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-27 02:39:12 +00:00
dok.slade
99ffecd675 Merge JIT instructions when loading 32-bits immediate values :
PowerPC needs 2 instructions to load a 32-bits immediate value in a register (lis + addi; lis + ori). We can merge both instructions into a single SetImmediate().
This commit shares code with r5799, so to prevent another flame war on OSX vs Windows, I added #ifdef around the "bad" lines...


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5982 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-26 23:06:34 +00:00
Glenn Rice
ce3eb85d96 Fix an issue introduced in my last commit. When the debugger is not used and the log or console windows are closed from the menu the notebook is not closed.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5981 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-26 13:22:42 +00:00
Jordan Woyak
5be58c6772 Gecko codes: Added parenthesis where they were needed.(thanks to glennrics and soren) Fixed a copy paste error with write & fill 8bit codes. Also forgot to remove a return false;.(some more codes should work (fixed issue 2968)) New Wiimote Plugin: Added emulated swinging.(seems to work) Changed the emulated calibration data to some nice values. ControllerInterface: moved and constified some stuff.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5980 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-26 05:30:50 +00:00
Glenn Rice
0eaa7352fd More work on the FrameAui:
Added a default perspective for the debugger.
Save all perspectives, and not just the active one.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5979 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-26 03:46:14 +00:00
dok.slade
d340b9497e Commit r5970 part #5: Removed unneeded MOV in branch instructions
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5977 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-25 19:10:50 +00:00
dok.slade
673f18837b Commit r5970 part #4: Merge some loops in PPCAnalyst::Flatten()
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5976 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-25 19:01:32 +00:00
dok.slade
16129f6f6d Commit r5970 part #3.1: Forgot to remove code unused since r5974
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5975 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-25 18:52:02 +00:00