Commit Graph

2939 Commits

Author SHA1 Message Date
hrydgard 3e01152793 Shader Disk Cache implementation for D3D. Saves generated shaders on disk. Eliminates "freeze jerks" in D3D plugin the _second_ and later times you play something.... not much to do about the first time. The D3D shader compiler is just slow.
Also assorted cleanup around the shader code.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4869 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-17 17:44:09 +00:00
hrydgard f50e3cf5fe Add code for frsqrtex to JIT. Disable the table-based implementation in the interpreter until we find something that it actually fixes, so far it seems like it breaks stuff.
Assorted cleanup around the JIT of flags that we don't need anymore.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4867 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-17 11:47:35 +00:00
Sonicadvance1 936664314f Allow OSX to quit Dolphin cleanly in NoWX build with command+Q. Not sure how to let them do it via close button in the Window
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4866 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-17 08:47:35 +00:00
Shawn Hoffman 4927e5607e Do ARAM DMA less often, and in larger chunks. hopefully it adds some speed, but probably only a tiny amount.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4865 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-17 07:20:15 +00:00
skidau 59e7c19380 drkIIRaziel reversed engineered the frsqrte instruction providing hardware accurate emulation.
The algorithm and lookup table are 99% accurate which is far better than the approximation that Dolphin had previously.

The frsqrte instruction is used for a lot of 3D graphics functions so this change may help fix graphics glitches.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4864 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-17 04:29:44 +00:00
LPFaint99 703cb0bdb8 Fix for importing / exporting more than one save per launch
SD_IV should not be global, thanks to interdpth as I was only testing with one save before 
remove duplicated code from BannerLoaderWii.cpp

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4863 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-17 03:25:42 +00:00
hrydgard b61b04352e Stop Story Mode in F-Zero GX from crashing. Story mode still doesn't work though, it just stops.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4862 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-17 01:16:16 +00:00
hrydgard b84a1823b2 Hopefully fix all remaining quantizer issues in Mario Kart Wii:
* must use a truncating float-to-int conversion, for example.
  * introduce optimized variants of the single value psq_st operation (JIT only).
  * fix bug in SafeWriteRegToReg when swap = false

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4861 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-16 22:44:49 +00:00
ayuanx 734b0f5dd4 Fixed a stupid error left by me.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4860 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-16 22:37:38 +00:00
hrydgard 4aeec95513 Temporarily disable a couple of unsafe quantizer optimizations. they will return in a better form.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4858 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-16 20:05:37 +00:00
hrydgard 9d14042a0c Move Segher's hashing/crypto code from the Dolphin project to Common.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4857 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-16 19:31:11 +00:00
hrydgard 48e3f0e17f delete some leftovers
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4856 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-16 19:06:11 +00:00
hrydgard 901316e61b (assorted cleanup and reindent that didn't belong in the quantizer change)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4855 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-16 19:01:00 +00:00
hrydgard 1848e93790 RIP "Optimize Quantizers" option. Now using the safe quantizer code from JITIL in all builds.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4854 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-16 19:00:09 +00:00
skidau efe20c93e8 In the Interpreter, marked mtmsr as an "end of block" instruction, making it consistent with the JIT tables.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4849 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-16 04:43:07 +00:00
skidau fa5823ad9a Minor bugfix to the TLB cache
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4848 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-16 03:55:53 +00:00
skidau b3b7ed2a2f FPU NaN and negative zero fixes. Verified against the real hardware.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4847 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-16 03:43:16 +00:00
j4ck.fr0st 5cd81033c3 Taking screenshots now creates an extra folder for each Game ID.
Fixes Issue 1905

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4842 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-15 16:11:06 +00:00
Rodolfo Osvaldo Bogado 8de76f8fe8 ok big changes here:
in videocommon little fix for the alpha test values, return to the original values as they are more accurate.
in D3D:
huge change in state management, now all the state management is centralized and redundant state changes are eliminated.
Fixed the overlapped viewport error in non ati cards:
the error was caused by this: when a viewport is defined larger than the current rendertarget, an error is thrown and the last valid viewport is used, this is the reference behavior, in ati cards if a larger viewport is defined, no eror is returned, the rendering is valid and is rendered using the projection defined by the viewport but limited to the rendertarget are, exactly like opengl or the GC hardware.
to solve this in reference drivers defined a large rendertarget (2x the size of the original) and proceed to render in a centered quad insithe the larger rendertarget, in this way larger viewports always falls inside a valid rendertarget size, the drawback of this is the waste of resources. it can be dynamized, depending or games or changed at runtime when a oversized viewport is detected, but i live that to future commits.
please test this and let me know the results.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4841 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-15 15:52:08 +00:00
Shawn Hoffman c7e055d1f5 small buildfix for debug
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4840 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-15 15:28:21 +00:00
skidau 9c264a1047 Implemented MMU:
* Added BAT algorithm
* Page Address translation algorithm is now used in all games
* Added TLB cache
* Temporarily forced JITIL to use the slow memory access for Win32 when playing tlbhack games.

F-ZERO GX is now playable.  It works only on JITIL in the 32bit version.  It works in both JIT and JITIL on x64.

The MMU code may fix other games that are crashing.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4839 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-15 14:39:27 +00:00
Shawn Hoffman 61eed07ec4 scons buildfix
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4838 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-14 23:26:53 +00:00
hrydgard 75c1661e19 Fix mtsrin/mfsrin instructions. Not likely to change anything since they are only used by MMU code which doesn't work right anyway.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4837 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-14 22:16:12 +00:00
Marko Pusljar d7b4175605 JITIL : fixes games that require "EnableFPRF=True" under jitil
- Super Monkey Ball
- Super Monkey Ball 2
- Virtua Striker 2002
- ...

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4836 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-14 16:59:52 +00:00
LPFaint99 0ec6d85b2f add correct copyright to WiiSaveCrypted.cpp
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4835 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-14 16:30:20 +00:00
ayuanx 571a47ef9a This could alleviate the suffering of dual core synchronization a bit.
But I doubt you would notice it in most cases.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4830 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-14 10:52:14 +00:00
LPFaint99 b186f0821e Adds experimental data.bin export of wii saves,
use at your own risk as it has been tested only to the point that a real wii recognizes the save on an sd card
Please post test results here or on issue 1945
removed the automated backup when importing from a save.bin

fixed display of pokemon titles in memcardmanager

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4829 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-14 07:19:10 +00:00
hrydgard 2db709aeb6 Add "Auto Aspect Ratio" to both graphics plugins. It's the new default, so you can forget about switching aspect manually from now on. In the Auto mode, aspect ratio is automatically set depending on whether it's a Wii or GC game, and whether the global Wii Widescreen setting has been set. There is still the possibility to override, which can be useful for the very few GC games that do support widescreen.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4828 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-13 21:11:02 +00:00
Shawn Hoffman dd01e0d417 commit patch from http://forums.dolphin-emu.com/thread-6527.html fixes the "Purge Cache" in the "View" menu, maybe other things.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4827 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-13 21:09:31 +00:00
ayuanx 5aac8a5437 Fixes Issue 2004
This also mutes the sound when paused in Debug mode.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4825 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-13 14:18:13 +00:00
ayuanx 429691ce96 This should settle the FIFO BP critical games like Metroid Prime 2
G2ME01.ini

[Video]
FIFOBPHack = 1

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4823 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-13 11:42:04 +00:00
nakeee fd40513fed Better comment the writelog code
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4822 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-13 11:09:20 +00:00
ayuanx ecdcffc7cf Fixes Issue 1997
This also makes the CP FIFO hack obsolete.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4821 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-13 09:03:55 +00:00
ayuanx 1e2f7c89c3 Fixed Issue 2005
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4820 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-13 06:34:34 +00:00
Shawn Hoffman 94570d31f5 DSP: fix disassembler a little.
addis, cmpis, xori operate on ACx.M instead of ACCx
addax, subax, movax use whole AXx reg, not just AXx.L
addpaxz uses whole AXx instead of AXx.H

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4817 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-13 00:19:02 +00:00
Shawn Hoffman 3848e68585 DSP LLE: code cleanup that doesn't affect behavior.
Make DSPCore build properly in debugfast (breakpoints work again)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4816 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-13 00:11:29 +00:00
hrydgard a81efdb597 D3D: Fix some texture wrapping issues by setting the texture state for every texture used at draw time. Hopefully there will not be a noticable slowdown, thanks to the state caching. Also some minor cleanup. Should fix issues like repeated shadows. TODO: In theory it should have worked without this, so I should investigate why this change was needed.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4815 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-12 23:40:30 +00:00
tmator 4172928b14 coreaudio backend make sound now
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4814 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-12 22:35:28 +00:00
hrydgard af08186daa DSP comments & minor reorganization (moved all DSP state into the g_dsp struct). No functionality change.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4813 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-12 21:38:39 +00:00
Rodolfo Osvaldo Bogado 532ab905c4 this is a dev commit, a cleanup in the pixel shader generator to make the generate code a lot cleaner and readable, and a little fill rate optimization when using alpha test, i don't thing any game is limited by fill rate but the code looks more cleaner and is ordered in the same way is executed in hardware.
please test, if any problem apears let me know

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4812 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-12 03:39:14 +00:00
hrydgard 573a7f4d6e DSPLLE: Add a comment describing my latest unverified theory: that 'l and the other opcode extensions might be meant to sign extend the loaded value in some cases.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4811 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-12 00:38:54 +00:00
hrydgard 9012d4f4b8 Fix missing shading in NSMBWii etc in the D3D plugin. Now, I'm not entirely sure why the existing code didn't work properly, but hey, this fixes it :)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4810 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-12 00:08:02 +00:00
hrydgard 1bca5e8c86 (nothing of value, just reindentation and removal of commented out includes. i'm just cleaning my svn client here)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4808 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-11 23:28:54 +00:00
hrydgard ddcb39d8e3 ISO compression: Report filename in corruption warnings.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4807 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-11 23:27:02 +00:00
hrydgard c840297615 Better-quality downsizing of Wii banners (yeah yeah I know it's not important but it's been sitting on my harddrive for ages).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4806 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-11 23:24:32 +00:00
ayuanx 98ce4c4d8f Dedicate Wii SD Card & Wii USB Keybaord settings
When they are disabled, you get over 50% speed boost in Wii Menu.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4804 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-11 11:56:17 +00:00
nakeee 345f922549 1. Removed the waitfordeath time out as it seems to crash dolphin every now and then
if it hangs on stop now please report so we can fix it.
2. Change linux to use the same threading module in single core mode as windows

Anyone knows which revision broke dual core mode on linux?


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4803 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-11 07:14:30 +00:00
LPFaint99 183804e442 Small unicode fix for extracting files (ISOProperties.cpp)
Change some PanicYesNo to AskYesNo so that they will always show (WiiSaveCrypted.cpp)
Adds more country filtering options to Gamelist (france, italy, korea, taiwan, and unknown country)
Misc. fixes for potential crashes that can only occur with a corrupted dump == check filesize of a dump before spending time looking for the cause of a crash :P

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4802 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-11 05:07:56 +00:00
donkopunchstania a19be73be3 Do special handling of texture coordinate generation if there is only a position and texture coordinate present.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4801 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-11 00:44:40 +00:00
fgfemperor 175162e661 Fixed Issue 1979 - Crash when scanning WAD files with no title information...
Removed the panic alert about HCI_CMD_INQUIRY because it doesn't crash Dolphin or anything like that...
It's called from MiiChannel, when you try to upload your Miis to a WiiMote.
And it works just fine! (except for the warning "Can't find Wiimote by bd: xx:xx:xx:xx:xx:xx", which is really odd)...

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4800 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-09 22:03:20 +00:00