Small fix in addition to r6669.
LLE JIT: Completed the remaining JIT DSP instructions (lrrn, srrn, ilrrn).
LLE JIT: Completed the JIT versions of the DSP Branch instructions (added ifcc, ret, rti and halt).
more WIP BBA crap…nothing nice to see.
All 64-bit capable Macs have the SSSE3 extension.
Make ARAM DMAs take time. Allows WWE Day of Reckoning 1 & 2 to go ingame…then they crash. Not entirely sure if the crash is related.
r6676 x86 – скачать, зеркало
r6676 x64 – скачать, зеркало
Yet another ClearScreen fix, should be the last one now.
Should fix almost all regressions of the recent ClearScreen changes and keep the fixed stuff.
The Super Mario Sunshine glitch is caused by another issue and will be addressed in my next commit.
Core/DSPCore: Improve Interpreter address register add/sub, convert to
assembler for JIT. Replace JIT ToMask() with a different variant. Remove
superfluous zeroWriteBackLog calls(added by me).
Core/Common: Don’t bother creating a string and calling into a Logs trigger()
when there is noone listening. Change AtomicLoadAcquire for gcc to just
make the compiler not reorder memory accesses around it instead of doing
a full memory barrier, per the comment in the win32 variant.
Core/AudioCommon: Fix a use of uninitialized variable inside libalsa.
Microbenchmarking results for ToMask variants:(1 000 000 000 iterations):
cpu\variant| shifts | bit scan
intel mobile C2D@2.5GHz | 5.5s | 4.0s
amd athlon64x2@3GHz | 6.1s | 6.4s
(including some constant overhead identical to both variants)
r6668 x86 – скачать, зеркало
r6668 x64 – скачать, зеркало
little fix for my last commit
Ops! Little fix for my prior commit.
Second Experimental commit:
corrected peek color and peek z to correctly emulate real hardware formats.
implements native gamma correction.(i don’t own any game that uses this functionality so i will appreciate feedback)
i need a lot of feedback in this changes please
First Experimental Commit:
make some changes to the Clear code. please test a lot , the point of this commit is to determine the correct behavior of the efb clearing so feedback is welcome
More FIFO work, HACK Solution for extreme overflow on breakpoints.
1) What is the FIFO? The fifo is a ring queue for write (CPU) and read (GPU) the graphics commands.
2) What is the Brakpoints? The breakpoint is the FIFO mark to allow parallel work (CPU-GPU) When the GPU reached the breakpoint must stop read immediately until this Breakpoint will be removed for the CPU.
3) What is an overflow? The CPU write all room FIFO possible, and like a ring overwrite commands not processed yet.
4) ?Why you have an overflow? In theory should not have an overflow never because the fifo has another mark (High Watermark) When the CPU Write reach this mark raise a CP interruption and the FIFO CPU WRITES should stop write until distance between READ POINTER AND WRITE POINTER will be equal to another mark (LO Watemark to prevent and overflow.
5) ?So if impossible why you have overflows? Simple, the CP interruption is processed later and the Overflow happens. (there is a lot of theories about this)
6) ?Why is no so simple like when CPU WRITE POINTER is near to the end of the FIFO only process pending graphics command?
Because when this happens sometimes we are in BREAKPOINT and is IMPOSIBLE process the graphics commands.
— This HACK process the pending data when CPU WRITE POINTER is 32 bytes before the end of the fifo, and if there is a Breakpoint force the situation to process the commands and prevent an overflown.
In theory you have not see «FIFO is overflown by GatherPipe nCPU thread is too fast!» anymore. But if you have a hang in game where you had this please read the NOTICE LOG in user\logs, I’ve added this message «FIFO is almost in overflown, BreakPoint» when the hack is activated. (I will delete this message very soon)
Good Luck!! PD: Shuffle sorry for the large commit description :P
r6666 x86 – скачать, зеркало
r6666 x64 – скачать, зеркало
LLE JIT: Added the loop instructions to the JIT. Added ASM version of HandleLoop. Both x86 and x64 versions have been added.
Made the «Download Gecko Codes» button not add already existing codes.(fixes issue 3732) Minor fix to gecko code handling. Added a «Show Shader Errors» setting to video config dialog.
* Completed the JIT versions of the DSP Multiplier instructions (5 instructions added).
* Bug fixed the dec and lsr16 instructions.
* Minor code clean-up.
r6659 x86 – скачать, зеркало
r6659 x64 – скачать, зеркало
Guess what, more ClearScreen fixes.
Additionally a small cleanup.
r6656 x86 – скачать, зеркало
r6656 x64 – скачать, зеркало
CMPR texel blocks are 8×8 in hardware, even though the source format says 4×4.
r6655 x86 – скачать, зеркало
r6655 x64 – скачать, зеркало
Added support for a wider number of VID/PID reported by Wiimotes. Patch by palsch.
LLE JIT: Fixed the shift direction of the lsrnrx, asrnrx, lsrnr and asrnr instructions.
r6654 x86 – скачать, зеркало
r6654 x64 – скачать, зеркало
* Completed the JIT versions of the DSP arithmetic instructions (28 instructions added).
* Added JIT versions of maddx and msubx (thanks to LM1234).
r6652 x86 – скачать, зеркало
r6652 x64 – скачать, зеркало
More ClearScreen fixes for PIXELFMT_RGB565_Z16…
some better default settings:
logging: turn off write to file
core: don’t insert anything in memcard b slot
video: efb scale to integral, AF to 1x
audio: 100% volume, 48KHz sample rate
r6651 x86 – скачать, зеркало
r6651 x64 – скачать, зеркало
Clarify comment about the use of event.Skip().
Support for multiple wiimotes on OS X.
Fixes issue 3703.
Note that HLE wiimote activation is currently a little broken, so to
use multiple wiimotes you need to open the wiimote configuration window,
refresh (connect to) the real wiimotes, start the emulation and then
select Connect Wiimote 2/3/4 from the Tools menu or with hotkeys.
r6649 x86 – скачать, зеркало
r6649 x64 – скачать, зеркало