skidau
ba545ec1e9
Build fix
2012-01-01 18:09:39 +11:00
skidau
e4b4a65346
Merge branch 'PowerPC'
2012-01-01 16:17:52 +11:00
skidau
5a914744a2
Added some support for the OE flag. Thanks to j4ck.fr0st for the tip.
2012-01-01 16:12:53 +11:00
skidau
c53593a40a
Moved the Audio Throttle option to the Framelimit drop-down. The Audio Throttle should never be used alongside the frame limiter as that can cause audio sync issues.
2012-01-01 14:32:54 +11:00
skidau
cfee6d8473
Stubbed the /dev/usb/oh1 path. Fixes issue 4936.
2011-12-31 09:51:41 +11:00
skidau
1df7af35e9
Reset errno to zero before testing it after the strtoul call. Fixes issue 5078.
2011-12-29 12:05:36 +11:00
skidau
cc6f90c7d5
Enabled memory breakpoints under JIT in the debugger.
2011-11-05 19:42:06 +11:00
skidau
9eaf20cc44
Fixed the slowdown that occurred under JIT32. Fixes issue 4969.
2011-11-05 13:04:46 +11:00
skidau
2ee79e7057
Added the missing "table31" instructions into the JITIL tables.
2011-11-04 23:11:43 +11:00
skidau
38a97fb9d7
Added some missing "table31" instructions to the table. The instructions themselves are not properly implemented as they do not handle the OE case.
...
Allows ANIMA Ark of Sinners to go in-game.
2011-11-04 21:26:56 +11:00
skidau
4c3a799f08
Added a check for HID0.DCFA before proceeding to dcbz. Allows Rubik's Puzzle Galaxy: RUSH to go in-game.
2011-11-04 19:07:09 +11:00
skidau
3d2a2abb49
Made the JIT bypass the icache when it is executing the external interrupt
...
exception handler.
Fixed by comwiz.k
2011-11-03 20:55:47 +11:00
skidau
1387da7900
Merge branch 'JitCache' of https://[email protected] /p/dolphin-emu/
2011-11-01 20:45:50 +11:00
skidau
78b74101b0
Added code to invalidate the JIT cache on dcbf. This fixes Monster House and Scooby Doo: Mystery Mayhem.
2011-10-29 17:21:20 +11:00
skidau
e03fd9a942
Added code to invalidate the JIT cache on dcbi and writes to memory.
2011-10-27 21:08:35 +11:00
skidau
3cdcdba25f
Merge branch 'SaveStates'
2011-10-22 16:18:02 +11:00
skidau
599c3ccd7b
Fixed save states for games which use the MMU Speed Hack
2011-10-22 16:14:34 +11:00
skidau
5b2c5c9ce3
Removed the icache invalidation code as it is causing frequent code clearing.
2011-10-19 02:36:30 +11:00
skidau
18d9a275e7
Invalidated a wider range in the JIT cache to force recompile updated code in the ICache. This fixes the crashes in Mario Power Tennis and the remaining games in Mario & Sonic at the Olympic Winter Games.
...
Fixes issue 2102.
Fixes issue 2751.
2011-10-16 23:23:17 +11:00
skidau
f6b9ae534e
Merge branch 'master' of https://[email protected] /p/dolphin-emu/ into SaveStates
2011-10-16 17:51:41 +11:00
skidau
c0498ca831
Synchronised the JIT cache with the ICache by invalidating the JIT block when the ICache is updated. This fixes Mario & Sonic at the Olympic Winter Games. Thanks to DimitriPilot3 for the tip.
...
Fixes issue 1610.
2011-10-16 16:43:32 +11:00
skidau
5d14bb5e70
Changed the save state system to load/save only after the screen has been drawn. This should help stabilise the save states.
2011-10-15 22:19:42 +11:00
skidau
da9bd95a68
Renamed the "Disable Wiimote Speaker" option to "Alternate Wiimote Timing".
2011-10-09 22:10:47 +11:00
skidau
0ceb3cba36
Adjusted the system timing as DKCR was still getting disconnects with DSP HLE.
2011-10-09 22:10:46 +11:00
skidau
58cbe9cbd9
Adjusted the System Timing of the IPC HLE period for Wiimotes when used with DSP HLE.
2011-10-09 22:10:45 +11:00
skidau
a09e859b3a
Adjusted IPC HLE period to allow for four emulated wiimotes.
2011-10-09 22:10:45 +11:00
skidau
e76bc71efe
Fixed the controller config so that it lists DInput controllers with special characters (like the Registered (R) sign) in their name. UTF8 is used to match the encoding used by the Wx GUI.
2011-10-01 21:50:15 +10:00
skidau
5bdf27d159
Adjusted the IPC_HLE timing to fix the stuck rumble problem in some games. Fixes issue 4532.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7597 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-06-14 15:12:55 +00:00
skidau
a9f7a0c284
Added a game specific property to disable the speaker on real Wiimotes.
...
Fixes issue 4185.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7559 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-05-25 15:01:49 +00:00
skidau
3db702fe17
Removed the OpenMP option from the DolphinWX project. It was causing a slowdown when the EFB to texture option was activated. This means that the OpenMP texture decoder option will not be hidden for non-OpenMP builds.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7378 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-19 10:05:57 +00:00
skidau
8b2eddf3f3
Enabled OpenMP support in the Windows 32bit builds.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7377 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-19 04:06:46 +00:00
skidau
aac2972960
Fixed a memory leak that occurred while compiling the OpenCL kernels.
...
Reset the frame counter after loading a save.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7376 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-19 02:28:49 +00:00
skidau
50c5dbdb09
Added a toggle switch for the OpenMP texture decoder in the graphics settings.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7375 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-19 01:55:57 +00:00
skidau
4079523346
Game-specific video settings:
...
* Moved the config validity check to reflect the emulator enforced settings at the config dialog
* Removed some obsolete validity checks
* Corrected "EnablePixelLighting" typo in the ini files
Fixes issue 4277.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7374 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-19 00:50:34 +00:00
skidau
88c8b891f7
Changed the frame display to the number of polls. Changed frame counter to VI counter. Changed g_FrameCounter to u32. Patch by bzb95.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7367 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-17 10:41:56 +00:00
skidau
1e2d922342
Fixed channel loading from the Wii System Menu. The DOL is not being loaded properly by the system probably due to caching. Wiimotes will need to be manually reconnected after the channel loads.
...
Also fixed a small bug in the PowerPC ResetRegisters function (clearing CRFast).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7281 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-03 11:37:12 +00:00
skidau
960748b184
Added an option for opening up the wiki entry in the compatibility list. The option is in the right click menu of the games list. The game entries in the wiki are currently manually added by the administrator.
...
Based on an idea by JPeterson.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7250 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-25 23:33:11 +00:00
skidau
9680d3ac95
Added an option to disable the Wiimote speaker. The checkbox has 3 states:
...
Ticked = Clear sound but a bit unresponsive to controls
Filled = Same as r7225
Clear = Disable speaker
The option is in the Wii tab of the configuration.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7231 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-23 10:01:04 +00:00
skidau
d92aad4430
Added Wiimote speaker support by hack patching out the IsBusyStream function using HLE. DSP LLE is required to process the speaker data. This commit works with real Wiimotes. I have added the code to decode the audio from the emulated wiimotes but have not added the code to output their audio to the PC speakers.
...
* Added HLE function IsBusyStream which signals that the Wiimote is ready to accept speaker data. This function is not a conversion from the real PPC code. It a simple function that returns the "ready" status after being polled.
* Added code to find and patch HLE functions on boot
* Added 4bit Yamaha ADPCM decoder from the ffmpeg project
* Removed some test code
* Added some copyright notices
Fixes issue 438.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7225 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-22 12:48:35 +00:00
skidau
855bcfa40c
Added an option for input display. This option shows the controls read by the emulator at each frame. GameCube controls in all four ports have been implemented. Wii controls are todo. The option can be found in the graphics settings. This option is usually used for tool-assisted speed-runs (TAS).
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7186 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-17 09:12:36 +00:00
skidau
fb4c82fb48
Added the feature to allow creating a TAS movie from a save state. To activate this function, start the game and use the "Start recording" command. A save state will be created at that point in time and the emulator will start recording. This results in two files, a .dtm containing the movie and a .dtm.sav which is the save state.
...
Changes:
* Allow events to be scheduled when the emulator is not running. This allows the save state event to be added before the emulator starts.
* Removed the Audio back-end init flag from the save state. This value should not be saved as it is not data relevant to guest machine.
* Allow a recording to be started at any time (apart from when a recording is already being made).
* Updated the status bar and title bar when an on-screen message is shown
* Removed the saving of PEToken from the save state as the FIFO will save this information
* Added a couple Pixel Engine interrupt states to the save state
* Added the copyright notice to the GCPadStatus.h file.
This function is preliminary. Let us know of any bugs you find or any UI quirks.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7175 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-15 09:07:55 +00:00
skidau
e867341e4f
Added hotkeys for most of the commands available in the File and Emulation menus.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7145 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-12 06:46:33 +00:00
skidau
22553bd625
Added a frame counter while recording or playing back a TAS movie. Forced the GC/Wii to poll from the inputs at regular intervals. Disabled frame skip in record/playback mode. This helps the emulator to be determinate.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7128 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-11 12:26:15 +00:00
skidau
af139f4661
Used usleep(1) instead of _mm_pause on Linux and Mac OSX. This reduces the CPU usage in the video thread's idle loop. Added YieldCPU to the DSP LLE loop.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7125 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-10 12:56:21 +00:00
skidau
855f97841d
Paused the video thread while a save state was being created or loaded. Performed the save state operation after the fifo became idle. Saved the interrupt status of the video thread into the save state. This helps stabilise the save states in dual core mode in games like Super Mario Galaxy.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7112 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-08 10:37:47 +00:00
skidau
89594b1731
Automatically disconnect and reconnect the Wiimotes after a save state has been loaded. This makes the save states a bit more stable for Wii games.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7090 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-06 05:42:58 +00:00
skidau
d698e022f5
Changed the hash algorithm to CRC32 utilising the SSE4.2 instruction. The algorithm will automatically be used for the Accurate Texture Cache, EFB to RAM and texture id's when a SSE4.2 capable CPU is detected. It will fallback to the old algorithm if SSE4.2 is not detected. Using CRC32 speeds up the hash algorithm by around 2X.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7060 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-04 08:37:58 +00:00
skidau
6f93d77106
Fixed the DSP JIT timing when it is executing in a thread. This allows the Zelda ucode games to run when the "DSPLLE on thread" option has been enabled. However, the DSP Interpreter still hangs when this option is enabled.
...
* Tightened the timing between the CPU and the DSP in thread mode so that it works closer to how the non-threaded mode works. The CPU now waits for all of the DSP cycles to be exhausted before adding more cycles.
* DSP Idle skipping has been disabled as it messes up the timing when it is running in a thread.
* Checked for external interrupt requests before entering the dispatcher and inside the dispatcher loop
* Added a critical section around the mailbox read high function
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7040 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-02 14:47:45 +00:00
skidau
f2f9df90e1
VS2008 build fix
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7035 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-01 07:34:08 +00:00
skidau
5beb892d65
VS2008 build fix
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7017 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-31 09:10:18 +00:00
skidau
622af438f7
Fixed the black (alpha) textures in the 8ing games like Tatsunoko vs Capcom and the Naruto series when using the OpenGL plug-in. Thanks to jim.lee for the tip.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6930 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-27 10:17:13 +00:00
skidau
e153da1c9d
Disabled the JIT'd version of SUBARN
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6920 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-26 01:41:34 +00:00
skidau
5e814ff2cd
Enabled save-state support for the DSP LLE plug-in.
...
Disabled the SUBARN jitted instruction because it is causing issues with the NTSC IPL.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6918 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-25 23:30:58 +00:00
skidau
9749d617d0
VBeam emulation
...
* Fixed audio sync
* Fixed frame-limiter
* Fixed the cursor not showing in SMG
* Reworded the option to "Accurate VBeam emulation"
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6897 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-23 03:28:05 +00:00
skidau
12249296a1
Added an option in the game properties to disable the VBeam speed hack. This option may fix games which currently have an unusual FPS rate. For example, this option fixes the crackly audio in Tales of Symphonia. Leave this option turned off unless you're noticing problems related to the FPS rate because it might slow down the emulator.
...
Removed the Alternate RFI option as it is no longer needed.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6888 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-20 08:34:49 +00:00
skidau
5aa34d0483
Added the fake decrementer to the save state.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6880 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-19 08:13:15 +00:00
skidau
2911658d50
Fixed the window size changing slightly each time the game window is maximised or changed to full-screen mode. Fixes issue 3916.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6861 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-16 12:18:34 +00:00
skidau
e3d7e39b3e
Added a critical section around the external_interrupt_waiting variable, to be safe. Also, commit a file I missed in r6859.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6860 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-16 11:13:23 +00:00
skidau
f9f7629268
Fixed the DSPLLE on thread option. Works with DSP JIT, DSP Interpreter, AX and Zelda ucodes.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6859 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-16 10:47:29 +00:00
skidau
7e9f02869a
LLE JIT: Changed the ASM dispatcher so that it jumps to the blocks instead of calling them. This removes the need to push and pop all of the registers at each block, speeding up the JIT. Changed the cycle counting to work off memory accesses instead of a register. Removed the C++ JIT dispatcher because it will no longer work with this new format.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6858 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-16 06:24:48 +00:00
skidau
49a89c1739
Build fix for OSX
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6825 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-12 09:34:53 +00:00
skidau
542078c447
Added a SSSE3 version of the swap16 and memcpy used by the mixer
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6824 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-12 07:08:35 +00:00
skidau
5255c35a1d
Switched the DSP DMA transfers to unaligned versions of the SSSE3 instructions
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6823 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-12 05:43:06 +00:00
skidau
559fb7434e
Used SSSE3 instructions to swap16 and memcpy the DSP DMA transfers for a speed up
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6822 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-12 04:06:49 +00:00
skidau
f49efa8868
LLE JIT: The block linker will now recompile all blocks that it encounters immediately. Gives a speed boost in some games. Also removed an extraneous check for external exceptions.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6801 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-10 03:03:03 +00:00
skidau
ae71e63872
LLE JIT: Minimised exception checking. Instructions which need to check for exceptions are now marked in the analyser. Moved the checking for external interrupts to the point where the CPU writes to the control register.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6729 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-03 14:19:11 +00:00
skidau
a6637c257f
LLE JIT: Reworked the block linking code. It now keeps track of what each block is waiting on, minimising the amount of recompiling. Both jumps and calls can now become linked. The code also checks the cycle count before jumping to the linked block.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6728 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-03 10:39:48 +00:00
skidau
469e81e2fd
LLE JIT:
...
* Optimised out the R11 ImmPtr instructions
* Made the whitespacing a little more consistent
* Disabled block linking while it is being reworked
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6688 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-30 00:10:18 +00:00
skidau
8ccdba7273
LLE JIT:
...
* Fixed a bug in the JCC instruction.
* Changed the cycle count from u32 to u16.
* Added cycle counting to the block linker.
* Optimised the branch exit slightly.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6681 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-29 04:34:33 +00:00
skidau
9cc19447a9
LLE JIT: Completed the remaining JIT DSP instructions (lrrn, srrn, ilrrn).
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6675 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-28 00:42:00 +00:00
skidau
677fd7c052
LLE JIT: Completed the JIT versions of the DSP Branch instructions (added ifcc, ret, rti and halt).
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6674 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-27 23:23:53 +00:00
skidau
963ca6f963
LLE JIT: Added the loop instructions to the JIT. Added ASM version of HandleLoop. Both x86 and x64 versions have been added.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6659 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-26 12:34:38 +00:00
skidau
f2e54074f1
LLE JIT:
...
* Completed the JIT versions of the DSP Multiplier instructions (5 instructions added).
* Bug fixed the dec and lsr16 instructions.
* Minor code clean-up.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6657 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-26 03:12:29 +00:00
skidau
b5d482a0d3
Added support for a wider number of VID/PID reported by Wiimotes. Patch by palsch.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6654 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-24 02:21:09 +00:00
skidau
b9d4534a35
LLE JIT: Fixed the shift direction of the lsrnrx, asrnrx, lsrnr and asrnr instructions.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6653 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-23 22:42:10 +00:00
skidau
ef96ab7d4f
LLE JIT:
...
* Completed the JIT versions of the DSP arithmetic instructions (28 instructions added).
* Added JIT versions of maddx and msubx (thanks to LM1234).
x64 only
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6652 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-23 15:27:49 +00:00
skidau
0d5480073f
Added a game property for the "Enable CPU Access" video option. Patch by Link_to_the_past.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6641 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-22 01:05:29 +00:00
skidau
6cb78515c6
LLE JIT:
...
* Added 21 Arithmetic instructions to the JIT
* Used the DSPAnalyser to identify arithmetic/multiplier instructions that precede a conditional branch. This allows the JIT to skip updating the SR when nothing would read from it. Marked all arithmetic/multiplier instructions in the DSPTable for this purpose.
* Converted CheckExternalInterrupt into ASM
* Fixed a couple instructions in DSP Load/Store
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6633 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-21 14:48:05 +00:00
skidau
0b72d34f6d
Build fix for Linux x86
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6609 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-19 13:25:57 +00:00
skidau
9114c96c78
Cached the compiled OpenCL kernels to disk (User/OpenCL/kernel.bin). This reduces the start up delay in OpenCL mode. Added a 10 byte header to the file which contains the current svn rev string. This will recompile the OpenCL kernels with every new revision.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6608 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-19 11:03:09 +00:00
skidau
77a36cf9cb
ABI fix for Linux x64. ABI_CallFunctionCC16 was not calculating the jump distance on far calls.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6600 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-17 05:16:51 +00:00
skidau
2a54c445a0
LLE JIT: Added another 9 DSP Load/Store instructions to the JIT. Fixed a couple bugs in the 32bit and Linux builds.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6599 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-17 03:34:50 +00:00
skidau
aecc4f67a1
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).
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6598 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-17 01:34:40 +00:00
skidau
9afb1dab41
Helps to add the new code to the repository.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6597 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-16 23:37:58 +00:00
skidau
93a09ee7b5
LLE JIT:
...
* 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
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6596 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-16 23:27:38 +00:00
skidau
a90d0e8985
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.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6589 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-15 22:13:31 +00:00
skidau
02a38baf7c
Build fix for OSX.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6586 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-15 11:02:58 +00:00
skidau
c584bd5333
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%.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6585 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-15 07:08:36 +00:00
skidau
e61133625a
Fixed the "Locked threads to cores" option properly. Thanks to ernesto and xenofears.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6584 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-15 02:29:06 +00:00
skidau
f67afb4fca
LLE JIT:
...
* 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.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6582 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-15 01:42:32 +00:00
skidau
7c0e08b0e7
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.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6579 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-14 09:20:02 +00:00
skidau
38b3187e8a
Changed the LogWindow background colour back to black for Linux and Windows.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6566 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-12 05:38:37 +00:00
skidau
b926cb426e
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.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6565 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-12 04:53:18 +00:00
skidau
ad82dd59b9
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.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6563 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-11 22:47:04 +00:00
skidau
0447abef36
Changed the GC controller timer from a host based one to one based on the emulated hardware. This helps the emulator become more deterministic.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6552 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-10 21:24:25 +00:00
skidau
c718d2e630
Fixed an issue where the emulator would remain paused when attempting to load a non-existent save-state.
...
Fixes issue 3665.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6543 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-09 12:04:03 +00:00
skidau
f353f80302
LLE JIT: Implemented the addr, lsl and lsl16 instructions in the JIT (x64 only).
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6542 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-09 11:52:31 +00:00
skidau
85d36e38c3
LLE JIT: Jitted another 8 DSP multiplier instructions (x64 only)
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6519 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-04 23:20:31 +00:00
skidau
44285c2b30
LLE JIT: Implemented some of the DSP multiplier functions in the JIT compiler. Only the x64 version has been implemented so far.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6511 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-03 13:59:14 +00:00
skidau
c79f41d114
LLE JIT: Speed up the dispatcher by removing the compiled block check. Initialised the blocks with a stub which calls the compiler.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6490 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-28 13:06:52 +00:00