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
skidau
93a901dd1d
LLE JIT: Speed up the dispatcher by removing one of the cycle checks. This results in the DSP executing cycles slightly above what it is supposed to. This is not a problem currently but might be later on.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6489 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-28 12:28:03 +00:00
skidau
9c1fb241c7
LLE JIT: Speed up the idle skip detection by moving the logic into the block and removing it from the dispatcher. This works because we can detect the idle skip blocks at compile time.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6488 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-28 11:04:50 +00:00
skidau
6a6fb9cce9
LLE JIT: Added an ASM dispatcher. Should help pave the way for future optimisation.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6486 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-28 05:28:21 +00:00
skidau
2808f75f74
Corrected the FIFO breakpoint clause in the FIFO loop. This fixes Super Monkey Ball: Banana Blitz, Super Monkey Ball: Step & Roll and Pokemon XD.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6470 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-24 06:02:03 +00:00
skidau
1830342d66
Quick FIFO fix for Donkey Kong Country Returns. Added a FIFO breakpoint check in the main FIFO loop. Aligned some of the FIFO registers to 32 byte boundaries, matching the VideoSoftware plug-in code.
...
Fixes issue 3536.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6461 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-23 10:51:14 +00:00
skidau
0c5ccf7156
Tweaked the VBeam logic enough to fix Endless Ocean 2. This might also fix a few other games that have been black screening on boot recently.
...
Fixes issue 3472.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6423 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-15 11:32:30 +00:00
skidau
d4b72eaae5
Added a projection hack for Metroid: Other M. This fixes the black screens that occur in cut-scenes. Patch by Trevor002.
...
Fixes issue 3477.
Fixes issue 3127.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6381 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-11 09:22:19 +00:00
skidau
45f1948d33
Fixed double game entries in the game list. This occurs when there are two or more games of the same name in different folders. Fix by Lostmoment.
...
Fixes issue 2857.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6380 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-11 09:17:57 +00:00
skidau
b565618442
Removed the wait for swap when XFB is used. This fixes flickering in "Fragile Dreams" and "Another Code R".
...
Fixes issue 3466.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6360 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-08 08:51:30 +00:00
skidau
6666b400a3
Updated with a less aggressive optimisation to EFB copy to RAM. The destination texture now does not get invalidated if its hash is found in the texture cache. Fixes Metroid Prime 3.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6353 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-07 04:28:33 +00:00
skidau
8775abacc6
Optimised EFB copy to RAM.
...
The finding was that 99% of the time, textures are static in memory. However, Dolphin would pessimistically continue to decode and copy the same texture every time. The optimisation is to check if the texture matches what is in the cache, and if it does, Dolphin should early exit.
The result is the speed in New Super Mario Bros Wii increased 35% with spinning coins. Still not as fast as EFB copy to texture though.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6352 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-06 04:46:44 +00:00
skidau
f2f0f373a6
Fixed GeckoCodes.org retrieval for WiiWare.
...
Fixes issue 3438.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6348 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-05 20:58:27 +00:00
skidau
5436bef30b
Added NVIDIA 3D Vision support. Patch by Uhyve.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6347 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-05 11:24:46 +00:00
skidau
de62a190f1
Removed one of the extraneous conditions from JIT64 UnsafeLoadToEAX.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6339 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-04 11:43:44 +00:00
skidau
785154b89f
JIT fix for the lfs instruction in x64 builds. Fixes Ultimate Spider-man.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6332 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-02 10:27:57 +00:00
skidau
d5c941a3ba
Added NullSound to CMake without typo
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6331 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-02 03:35:44 +00:00
skidau
61c847eecc
Added NullSound to CMake
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6330 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-02 00:39:52 +00:00
skidau
0af0929a88
Re-implemented the NullSound back-end. Allows Dolphin to be used on hosts with no sound hardware. Emulates strict DSP timing in the DSP HLE plugin.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6329 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-02 00:16:49 +00:00
skidau
13dda74946
Allow the game to set the DSP sample rate. Fixes Bomberman Generation.
...
Fixes issue 2523.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6328 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-01 23:41:20 +00:00