Revision 6044:
Oops. Fix scons indentation mistake from my last commit.
Revision 6043
Fix the debug build on linux.
Revision 6042
Fix issue 2694.
Fix another dramatic spelling «mistake» in DX9 which I forgot to commit last time.
Скачать:
Revision 6041:
DSP HLE
* Some fixes to linear interpolation
* Adds interpolation to ADPCM samples
* Relaxed a volume limit in ADPCM_Vol
Fixed:
— Frac rolls over one iteration before samplePos advances. Can introduce noise similar to flipping samples (1234 => 1214). Introduced oldFrac to fix this. This isn’t as noticeable as it probably should be because of below.
— When samplePos doesn’t advance it interpolates between two copies of the same sample which actually does nothing. Changed it to always use the current and next sample.
— When frac is 0 you should get 100% of yn2 instead of ~99% added a +yn2 to balance it.
Other changes:
— Added linear interpolation for ADPCM. Sounds like a good idea.
— Set ADPCM_Vol to clamp to x8000 instead of x4e20. Some games will play some sounds at x8000 volume anyways since the volume is applied before this. Lower limit can result in quiet music (x4e20) but some loud ambient sounds (0x8000).
Revision 6040
MMMU Speed Optimisations:
* Optimised the memory bounds check in MMU and MMU speed hack games.
Revision 6039
Stub out glGetError() calls from the release build of the OpenGL plug-in (found by ector, code by LordMark). Gives a speed-up in the OpenGL plug-in.
Скачать:
Revision 6036:
* Fixed a careless mistake of mine with SetJumpTarget
* Changed ABI_PARAM back to ECX/EDX. Thanks for the tip, Soren
* Reverted r6035
Revision 6035
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.
Revision 6034
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.
Revision 6033
make «show pc» in dsp lle debugger actually work again
code cleanup in Hash.cpp
Revision 6032
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)
Скачать:
Revision 6027:
Spelling fixes, etc
Fixes issue 2954.
Revision 6026
Marginally improve FPS counting logic in the video plugins.
Should fix DX11 peaking at 59 FPS instead of 60 FPS.
Revision 6025
DX9: Create textures needed for CPU->EFB access even if it’s disabled.
That way, one can toggle that option during emulation.
Revision 6024
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.
Revision 6023
JitIL: Reverted «lbzu» added in r6018.
Revision 6022
JitIL: Fixed comment out style reviewed in r6017.
Revision 6021
fix small bug with dsp lle debugger: now it will highlight regs which just changed, instead of the ones which changed last step.
Скачать:
Revision 6018:
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.
Revision 6017
JitIL: Commented out the code which cause bugs in STGJAF OP movie.
Revision 6016
Newer versions of GCC’s
No matter. We don’t actually need it for our purposes.
Revision 6015
MaxOSX build fix. Thanks soren.
Revision 6014
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
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.
Скачать:
Revision 6006:
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
Revision 6005
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.
Revision 6004
Quick fix to get Monster Hunter Tri working.
Minor changes resulting from code review comments.
Revision 6003
Modal windows must be closed with EndModal(), not just Destroy()’ed.
wxFD_FILE_MUST_EXIST cannot be used with wxFD_SAVE.
Revision 6002
Fix a mistake in the menu from revision 5999.
Revision 6001
Use the portable SLEEP() macro in place of Sleep().
r5998 fixes the Center() problem in plugins on OS X.
Скачать:
Revision 6000:
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!!!
Revision 5999
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.
Revision 5998
Add fifoWait property of Event Object to SaveStates.
Revision 5997
New Wiimote Plugin: Keep track of the io_write report sizes instead of just sending MAX_PAYLOAD bytes. (Should fix the issues of my last commit)
Revision 5996
Oops, removed one
No need to autoconf for libusbhid — all USB-capable BSD’s have it.
Скачать:
Revision 5995:
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
Correct a few type nits.
Revision 5994
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
Revision 5993
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)
Скачать:
Revision 5989:
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.
Revision 5988
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.
Revision 5987
Sory, I’ve forgot to delete my logs in my last commit. :)
Revision 5986
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.
Revision 5985
Fix some more resizing and saving of such.
Revision 5984
BPHack option removed (it was not used anymore)
Скачать:
Revision 5983:
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.
Revision 5982
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…
Revision 5981
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.
Скачать: