Build fix for OSX.
LLE JIT: Added simple block linking at immediate CALL’s and JUMP’s. The code checks if the block being jump to has already been compiled and jumps there if it has, bypassing the dispatcher. This results in a speed-up of around 7 — 10%.
Fixed the «Locked threads to cores» option properly. Thanks to ernesto and xenofears.
Linux build fix.
* 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.
When the gfx debugger is saving shaders make sure the directory exists.
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.
r6586 x86 – скачать, зеркало
r6586 x64 – скачать, зеркало
Revert back to LogTypes. Fixes issue 3668.
r6580 x86 – скачать, зеркало
r6580 x64 – скачать, зеркало
Forced the video thread to the third core when «Lock threads to cores» is enabled. This should fix the slowdown that this option produced on CPU’s with HyperThreading. Thanks to NaturalViolence for the tip.
Build fix for case sensitive platforms.
Remove LOGGING from the DSPCore vcproj. It isn’t really used like that anymore. This commit doesn’t really change anything…
EXI: grab the FlashID from the memory card headers and update sram to include correct id and chksum
allows using any (valid) memorycard.raw in any slot (including real memcard dumps)
Fixes issue 684.
I’ve fixed a beautiful bug in GPFifo the current Memory in some conditions was not assigned right. Pleaseee test again your games with FIFO hangs like WII music, WII sport, Wii resort, etc. May be this help :P
r6579 x86 – скачать, зеркало
r6579 x64 – скачать, зеркало
DX9: Added another comment to further elaborate what drawShadedTexQuad is doing.
This comment should give a great speed increase, numerous games (SMG, NSMBW, DKCR, …) which I tested are at least 20% faster now!
DX9: Write a detailed description of the vertex position offset magic in drawShadedTexQuad. I hope this makes at least a bit sense to anyone but me, it’s better than no documentation at all though.
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…
r6574 x86 – скачать, зеркало
r6574 x64 – скачать, зеркало
— I’ve implemented cache of interrupt states for PEFINISH and PETOKEN
— 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.
Added a FASTLOG option for the cmake build to enable all logs.
Also make sure all necessary include directories are added in the check_lib macro.
Before my second part, little fixes :D 1) I was wrong the games can use also BP and BP int in multi buffer mode or or at least Pokemon XD can hehehe. Pokemon is booting again but this game also need accurate AbortFrame dont care about «GFX FIFO: Unknown Opcode» in this case 2) Fixed a stupid error in UpdateInterrupts (CUT&PASTE mistake)
r6572 x86 – скачать, зеркало
r6572 x64 – скачать, зеркало
DSPLLE-int AR increase, decrease finally 100% (code by kiesel-stein/dolphin-forum, great work btw!!)
Rename wii wc24 system files to lower case as on the wii itself. These files are not detected on linux unless the case matches. This fixes an issue when Mario Kart Wii (and possible other games) is run with a clean user directory that renders the game unplayable.
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.
r6569 x86 – скачать, зеркало
r6569 x64 – скачать, зеркало
Remove the watermark tightness option since it’s obsolete now.
Changed the LogWindow background colour back to black for Linux and Windows.
Disabled the paired single sum instruction (ps_sum) as it is causing
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.
HLE_IPC_BuildFilename was actually ignoring the size argument. Fixes «/tmp/sys» error.
Disabled the paired single multiply instruction (ps_mul) in JIT as it is causing the black screen in Sonic Colours. JITIL has a different bug as disabling ps_mul in JITIL did not help the issue.
r6567 x86 – скачать, зеркало
r6567 x64 – скачать, зеркало
BIG FIFO Commit PART 1! Sometimes you need to write everything from 0, so 10 days later Ive rewrited some parts of the FIFO in Dual Core mode. Is pending use the same code for SC mode.
— 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
r6554 x86 – скачать, зеркало
r6554 x64 – скачать, зеркало
Fix a linkage issue on newer linux distributions created in revision 6544.
Also update the menu link to dolphin-emulator.com
Changed the GC controller timer from a host based one to one based on the emulated hardware. This helps the emulator become more deterministic.
r6553 x86 – скачать, зеркало
r6553 x64 – скачать, зеркало
DX9: Fix Renderer::SetLineWidth like hrydgard suggested ;)
DX9: Build fix. Also removed the Renderer::SetLineWidth implementation since it wasn’t really useful.
VideoCommon: Use integer arithmetic instead of floating point arithmetic when dealing with EFB scales.
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.
r6551 x86 – скачать, зеркало
r6551 x64 – скачать, зеркало