Fix a segmentation fault that occurs when «Confirm on Stop» is enabled, the close button of the window is clicked, and the user answers No to the resulting confirmation. Fixes issue 3716.
ABI fix for Linux x64. ABI_CallFunctionCC16 was not calculating the jump distance on far calls.
LLE JIT: Added another 9 DSP Load/Store instructions to the JIT. Fixed a couple bugs in the 32bit and Linux builds.
Fixed the throttle (Tab) key so that it takes effect when the frame-limiter is used. Hold down Tab to run the emulator unthrottled (Windows only).
Helps to add the new code to the repository.
* Added jit versions of 5 DSP LoadStore instructions: srs, lrs, lr, sr, si
* Renamed MainOpFallback to Default for consistency in naming with JIT64
* Made ext_dmem_read and ext_dmem_write more generic for wider use
* Optimised dmem_read and dmem_write slightly
* Added dmem_read_imm and dmem_write_imm optimised versions
Core/DSPCore: Fix more memory accesses for linux x64
Core/Common: Add more asserts for too large displacements
Fix an omission from the last commit.
Merge some state loading stuff to VideoCommon and fixed a crash on Linux system when trying to save a state.
Credits go to miquelmartos from the forums for the patch ;)
Revert most stuff from r6517 and revert r6501.
PixelShaderGen changes broke Mario Kart Wii, ClearScreen changes broke Super Mario Sunshine.
System Menu Region is now detected based on the Title Version in tmd
Title Version and region char of currently installed system menu are now listed in the menu as well
Which means disc channel will only show pal discs if it is a pal nand dump; ntsc nand dump will show ntsc discs, ntsc-j nand dump will show ntsc-j discs
sys menu now loads gamesettings from an ini file (as well as any other wad/nand title that does not have an ascii gamecode)
fixes system menu loading the ini file from the last run game
also check for all countries when setting bntsc for wad/nand titles
LLE JIT: Used a reiterative approach to linking blocks. The JIT flags blocks that have calls to blocks which have not yet been compiled. After more blocks have been compiled, the JIT reattempts to link the flagged blocks. This is repeated until the minimum number of unlinked blocks are left. This increases the success rate of the block linker and resultant speed up. Based on an idea by nakee.
Rename variable in WiiSaveCrypted for icc.
Changes file dialog to show *.bin for wii save import instead of data.bin
Move Sram dumps to Sram.cpp and change default FlashID
Fixes issue 3711.
Fixes issue 3042.
Make sure a few more directories exist when needed. Most package builders (including cmake/cpack) do not install the empty directories in the shared data, and so the paths need to be created at runtime.
Also set up cmake/cpack to create prebuilt binary packages and source packages.
Also change the vertex shader dump file name in the gfx debugger to something that makes more sense.
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.
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
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…
— 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)