Commit Graph

4230 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
j4ck.fr0st f599fdcec5 Added missing wxEvent for Widescreen Hack, unchecked and disabled 2x checkbox when selecting "Use Real XFB".
Fixes Issue 2026

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4868 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-17 14:17:23 +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
fgfemperor 1a25dfe279 Load IR Pointer settings on every game boot, because that's a per-game setting (each game has it's own IR calibration)...
Please ignore previous revision, which is a proof of why late-night coding isn't always a good idea...

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4853 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-16 15:02:01 +00:00
fgfemperor e203c80c5d Fix an Issue that made the IR Pointer values sometimes not to be loaded from the config.
More precisely, if you booted a game before opening the config panel, they'd all go to the default values...

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4852 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-16 13:07:03 +00:00
hrydgard f3b52ea23d D3D Plugin GUI cleanup of Advanced tab.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4850 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-16 11:30:23 +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
Rodolfo Osvaldo Bogado c62fb1d7d2 quick fix for MP games, only tested mp1 but my solve mp2 issues to
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4846 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-15 22:07:53 +00:00
Rodolfo Osvaldo Bogado 0a88519ecf :) this is what happens when you don't test what you commit, sorry :(
efb to ram fixed i hope :)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4845 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-15 18:46:02 +00:00
Rodolfo Osvaldo Bogado 9d36cd05be sooooooooooorry forget this file, now efb to ram if fixed
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4844 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-15 17:15:31 +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 e13dc4a58f heh, VS didn't save in time :> (remove nonexistent txt file from dsp lle vcproj, nothing important...)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4819 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-13 04:44:32 +00:00
Shawn Hoffman d558c534d2 Merge SrcSelect.c, AX.c, Crazy Taxi.txt, and DSP_UC_AX1.txt into new and improved disasm -> DSP/DSP_UC_6A696CE7.txt
Goal is complete/near complete RE of DSP_UC_6A696CE7 (GC AX), and hopefully ROM.
From there, seeing the additional changes in other GC AX versions (there are only 4 others, with minor differences), should be "simple".

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4818 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-13 04:43:18 +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