Commit Graph

5100 Commits

Author SHA1 Message Date
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
Pierre Bourdon 7f055d6b56 UI: refactor the game list sorting code 2011-11-02 02:45:51 +01:00
skidau 1387da7900 Merge branch 'JitCache' of https://skidau@code.google.com/p/dolphin-emu/ 2011-11-01 20:45:50 +11:00
Pierre Bourdon 8f31968466 Revert "Merge branch 'zcomploc-support'"
This reverts commit 9dad9ebe89, reversing
changes made to e76bc71efe.
2011-11-01 01:37:54 +01: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
crudelios dd551814c9 Bounding Box bugfixes.
- Fixes all (I hope) BBox-related unknown pointer crashes.
- Fixes wrong BBox values with Frame Skip on (and the resulting unknown pointer crashes).
- Fixes a small oversight on the change I made to the ISO Properties dialog.

This should also be a (very very little) bit faster than the previous version.
2011-10-28 21:12:12 +01:00
skidau e03fd9a942 Added code to invalidate the JIT cache on dcbi and writes to memory. 2011-10-27 21:08:35 +11:00
Brad Gearon 9a627e89fb Add unimplemented device map for sdio/slot1 and slot2. Fixes #4932. 2011-10-26 14:28:57 -05:00
crudelios 852fe9c4be Added proper Bounding Box support.
Should fix most graphical issues with Paper Mario: TTYD and Super Paper Mario. Fixes issue 360.

Since only those two games seem to require BBox support, and as per ector's suggestion, BBox is only enabled for those two games.

BBoxes and Display List Caches don't get along too well, causing Paper Mario: TTYD to hang during certain effects where BBoxes are used. For now, I disabled DList Cache for the Paper Mario games, hopefully both will be compatible in the future.
2011-10-26 01:19:10 +01:00
Shawn Hoffman 105e7e4eb4 Added TaruKonga (DK Bongos) support.
Separated SI Device IDs from the enums used for config/gui since quite a few device types all have the gc controller SI ID.
2011-10-23 07:01:17 -07:00
Shawn Hoffman ba119e8c05 Set the correct bit for "trap" program exception. Fixes http://wiibrew.org/wiki/Descent 2011-10-23 02:53:31 -07: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
kostamarino@hotmail.com 8d9061ac39 Possible fix for random crashes with plenty of games(like Mario Galaxy) and issue 4568 (please test).
Gameini database changes that affects Black & Bruised, BLOODY ROAR(R): PRIMAL FURY, CASPER, Karaoke Revolution Party, Wii Music, TMNT.
2011-10-19 21:03:08 +03:00
skidau 5b2c5c9ce3 Removed the icache invalidation code as it is causing frequent code clearing. 2011-10-19 02:36:30 +11:00
Shawn Hoffman 3fc5d8d7cf Merge branch 'gc-mic'
Added GameCube Microphone support.  Uses your default audio recording device.  The Microphone is selectable from the Slot A/Slot B pulldowns under the GameCube tab.  The Microphone button can be set under GCPad configuration for pad 1 and 2. Thanks to MooglyGuy and skidau.
2011-10-17 03:21:11 -07:00
Shawn Hoffman 45eb9f0e7a fix some logic errors in the mic code and decrease latency a bit. emulate the buffer_overflow bit. 2011-10-17 03:14:20 -07:00
Shawn Hoffman c528978608 use callback model instead of blocking read/write.
fixes delay on linux.
currently not implementing the overflow bit, not sure it's needed since we manage our own buffer now.
2011-10-16 23:20:37 -07:00
Shawn Hoffman 1d6bd3248c It is safe to call Pa_Initialize and Pa_Terminate more than once. 2011-10-16 13:29:10 -07: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
Shawn Hoffman 46afefb14f Merge branch 'master' into gc-mic 2011-10-16 02:22:21 -07:00
Shawn Hoffman 676822891d ups, exi slots are on whole different channels... 2011-10-16 02:08:51 -07:00
skidau f6b9ae534e Merge branch 'master' of https://skidau@code.google.com/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
Shawn Hoffman 3556069f9f Also allow JitIL to update EXI exceptions much more frequently.
At this point, the mic branch is ready for testing by windows people at least. cmake/scons may work already, not sure.
2011-10-09 03:41:31 -07:00
Shawn Hoffman 41424d98e8 Make the mic button respect which slot it's plugged into.
*You need to open the Gamecube config page and reselect the devices in slot A and B after this commit*

Just jitil left...
2011-10-09 03:18:15 -07:00
Jordan Woyak ceef98b882 Added mic button to gcpad 1 and 2 diags. Both mic slots use gcpad 1 currently. Totally untested. 2011-10-09 04:27:43 -05:00
Shawn Hoffman 3790a16ece billliarrddd...here is how to set the button bit 2011-10-09 01:11:49 -07:00
Shawn Hoffman ade9485aac ok...just need to update the button... 2011-10-09 01:11:48 -07:00
Shawn Hoffman a751b627fd remove a now-unneeded comment 2011-10-09 01:11:44 -07:00
Pierre Bourdon 59072adc32 Align stack variables on a 16-bytes boundary in SSSE3 functions
Fixes issue 4450. Thanks to pholklore1 for his patch.
2011-10-08 17:36:01 +02:00
LPFaint99 03b65f3d89 Merge branch 'GCMemcardUpdates' 2011-10-04 13:18:22 -07:00
LPFaint99 5316c6d97b Move GCMemcard from DolphinWX/Memorycards to Core/HW 2011-10-04 13:14:18 -07:00
LPFaint99 8d91f1e0c1 EXI_Memcard: HLE memcard Formatting, GCMemcard: Add static format function, cleanup checksums code 2011-10-04 13:14:17 -07:00
LPFaint99 86950e7cce fix gcmemcard format broken by 5f9591cf9d
small cleanup to format, now works for slot a and b and any memcard size
2011-10-04 13:14:17 -07:00
Shawn Hoffman 5dc866bfc9 Fix gamecube microphone (button not implemented, yet :p).
Calls ExpansionInterface::UpdateInterrupts just before checking exceptions now.
2011-10-03 23:46:00 -07:00
Shawn Hoffman 856972f808 remove hacky old MicButton stuff 2011-10-03 23:46:00 -07:00
Shawn Hoffman d8def74dd1 add portaudio headers and windows static libs to Externals, enable by default in windows build. 2011-10-03 23:45:59 -07:00
Shawn Hoffman b4d751e43c Merge branch 'fix-icc-unsafe-string' 2011-10-03 23:44:35 -07:00
Jordan Woyak a65385d995 Merge branch 'fix-3rd-party-wiimote' 2011-10-04 01:36:10 -05:00
Pierre Bourdon 9dad9ebe89 Merge branch 'zcomploc-support'
zcomploc is a feature of the BP which switch depth test from before the alpha
test to after the alpha test. This way, transparent fragments are written to
the depth buffer too.

The current implementation is quite hacky and does not cover all cases but is
enough to fix problems in a lot of game. A complete implementation would
require a multipass rendering method and is attempted in the
zcomploc-experimental branch.

According to testers feedback, fixes bugs in the following games:
- Baten Kaitos
- Baten Kaitos Origins
- 007: Everything or Nothing
- Ty the Tasmanian Tiger
- Tony Hawk's Pro Skater 3

And probably other games too.

Conflicts (because of new-shadercache-uids):
	Source/Core/VideoCommon/Src/PixelShaderGen.cpp
2011-10-04 07:56:13 +02:00
Jordan Woyak 15d6c6e9fc fix 3rd party wiimotes, patch by pholklore 2011-10-01 21:36:16 -05:00
Jordan Woyak d3e639a397 fix build issue with intel compiler and fix some unsafe string usages, patch by FilthyMonkey 2011-10-01 21:31:43 -05: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
Pierre Bourdon 266cafb82d Add a call to VertexManager::Flush() when changing TC gen settings
In previous revisions of Dolphin, changing texture generation settings (via
GX_SetTexCoordGen for example) did not regenerate the vertex shader and flush
the vertices. Adding this flush should fix texture problems in a few game, for
example in Superman: Shadow of Apokolips:

Before: http://i.imgur.com/mHmfb.jpg
After: http://i.imgur.com/2ThES.png
2011-10-01 02:36:03 +02:00
NeoBrainX 0e1383b788 Bump disk cache version. 2011-09-29 22:55:28 +02:00
NeoBrainX 81c614fa07 Clean up various things. 2011-09-29 23:32:39 +02:00
NeoBrainX ddfe219293 Fixup line endings. 2011-09-29 23:32:39 +02:00
NeoBrainX ca7e8a9e88 Fix pixel lighting. 2011-09-29 23:32:39 +02:00
NeoBrainX cfba35f7e5 Only link against libav if it's available. 2011-09-29 23:32:38 +02:00
NeoBrainX f041eee23b Compile fix. 2011-09-29 23:32:38 +02:00
NeoBrainX c710ea33f9 Merge some frame dumping code to VideoCommon, fixes a memory leak in D3D9 and OpenGL if emulation is stopped while dumping frames.
Breaks D3D11 frame dumping for some weird reason (memory corruption or whatever?).
2011-09-29 23:32:38 +02:00
NeoBrainX bd4a5b5ef6 Implement frame dumping in D3D11.
Fixes issue 4831.
2011-09-29 23:32:38 +02:00
NeoBrainX 5dcb212fc7 Fix Windows build. 2011-09-29 23:32:38 +02:00
NeoBrainX 8c691767da Various changes which improve FreeBSD support.
Patches by martymac, all credits go to him ;)
2011-09-29 23:32:38 +02:00
NeoBrainX 5d075ce507 - D3D9: pass the correct API type to ValidatePixelShaderIDs
- don't load shader cache from disk in d3d9/11 if shader debugging is enabled (we won't have any info about the source shader code otherwise, etc)
- dump shader source codes on safe UIDs mismatch

Thanks to LordMark and [SS] for reporting those to me ;)
2011-09-10 03:10:28 +02:00
NeoBrainX a021dd7b79 Small fix to the previous commit. 2011-09-09 21:45:11 +02:00
NeoBrainX 5c14a24ce1 Make shader ID validation optional by adding a gfx setting called "EnableShaderDebugging".
Setting this to True will enable additional checks if the shader cache misses any relevant register changes.
2011-09-09 21:34:46 +02:00
NeoBrainX b28348066e Improve the shader UID debugging stuff and merge it to VideoCommon, effectively enabling it in D3D9 and D3D11 as well. 2011-09-09 00:32:04 +02:00
NeoBrainX 349a3ae91d Merge remote-tracking branch 'remotes/origin/master' into new-shadercache-uids 2011-09-08 02:14:18 +02:00
NeoBrainX 6c7bda6851 Various fixes and cleanups. 2011-09-08 02:09:44 +02:00
NeoBrainX 98b62d8362 Track alpha blending paramaters in the pixel shader UID. 2011-09-07 21:15:14 +02:00
NeoBrainX 3939f9595a Add runtime checks to make sure we aren't overoptimizing the pixel shader cache. 2011-09-07 21:15:09 +02:00
NeoBrainX 4702de591e Added safe pixel shader UIDs for debugging purposes. 2011-09-07 21:10:06 +02:00
NeoBrainX 231c13d6ce Added safe vertex shader UIDs for debugging purposes. 2011-09-07 21:03:10 +02:00
NeoBrainX df4e337ac9 Fix various pixel shader compilation errors caused by the Direct3D shader compiler going nuts due to uninitialized (and unused) shader variables.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7693 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-09-06 18:37:01 +02:00
NeoBrainX 17fcd406fc Merge some scissor rect related code to VideoCommon. 2011-09-05 22:04:28 +02:00
Shawn Hoffman b867c21fea apply to dx9 and dx11 backends as well 2011-09-05 12:19:11 -07:00
Shawn Hoffman 95517a9741 vs2010: Disable LTCG for realz 2011-09-05 09:43:23 -07:00
Pierre Bourdon d3ecf98213 Include the zcomploc bit in the shader UID
Fixes issues with switching zcomploc on/off during execution.
2011-09-04 05:38:32 +02:00
Pierre Bourdon 0bdf8646f0 Proof of concept zcomploc implementation
Fixes a few depth related graphics bugs. Example in Baten Kaitos (GKBEAF):

Before: http://i.imgur.com/EDdVA.png
After: http://i.imgur.com/h6GuY.png

Still a few bugs in this implementation: zcomploc switching is not yet
implemented, and the color is wrong with this test: http://codepad.org/7GpxklOi
(red on Dolphin, gray on Wii).
2011-09-04 05:08:09 +02:00
Pierre Bourdon d710eda0c5 Clean up a bit the shader code generation for alpha test fails 2011-09-04 04:44:50 +02:00
Jordan Woyak 931a31deca Untested attempt to fix real gcpad sticks not being detected by the input configuration dialogs. 2011-08-31 20:46:04 -05:00
NeoBrainX bcb8d11c1b Reduced the number of redundant vertex shader compilations (possibly to zero).
That one was almost too easy ;P
2011-08-31 20:46:03 +02:00
NeoBrainX 4137f287fd Fix a critical bug which caused shaders to be redundantly recompiled when disabling per-pixel depth.
As a nice side effect, the number of redundant shader compilations is now next to zero ;)
2011-08-31 19:45:28 +02:00
NeoBrainX 7f01139d13 Replace the pixel shader UID generation algorithm with a better one which reduces the number of redundant shader compilations by around 30% (can be optimized even further though).
This should help some games which suffer from heavy stuttering like e.g. F-Zero GX or Red Steel 2.
2011-08-31 18:03:33 +02:00
NeoBrainX 08e06b2293 Partially revert revision d511b50612.
Slightly slows down emulation, but deobfuscates the pixel shader gen greatly...
2011-08-31 16:09:54 +02:00
NeoBrainX 8a17e15943 Various cleanups and TODOs. 2011-08-31 16:09:46 +02:00
Shawn Hoffman c0dd84cf7d buildfix ON MASTER!! :<
(I am sonic's babysitter)
2011-08-26 21:19:40 -07:00
Ryan Houdek 62e790f109 Have the ability to disable screensaver due to Nvidia + Displayport can cause annoying flickering
Bring up to standards guidelines and also support Windows

Switch this around...
2011-08-26 13:29:01 -07:00
LPFaint99 7737b2cef1 create the User/* dirs on windows
configuration/savestates/etc will now save
Fixes issue 4815.
2011-08-25 21:49:20 -07:00
Shawn 7f56842a79 fixup scons (osx) to generate scmrev.h and build.
hopefully this will be the last code change committed directly to master for a while... :/
next is cmake to replace scons on osx hopefully. pointers anyone? (soren?)
2011-08-23 03:50:06 -07:00
LPFaint99 5c15292fd8 BS2: check the hash of the loaded ipl.bin file
remove some extra + chars from a few ini files (copypasta from a patch?)
2011-08-22 20:49:21 -07:00
Jordan Woyak 1528c95fe9 Remove hash from revision description for cmake and windows. 2011-08-22 20:06:17 -05:00
Jordan Woyak 6a80b9989a remove hash from rev description 2011-08-22 13:11:45 -05:00
Jordan Woyak a910f97c39 minor cleanup of make_scmrev.h.js 2011-08-22 13:11:42 -05:00
Shawn Hoffman cdaa5ea5d2 make sure the jscript is actually executed at build time 2011-08-21 20:00:30 -07:00
Shawn Hoffman 82dfee1642 make_scmrev.h.js needs to compare the full file instead of just the HEAD hash.
remove refs to deleted files from Common project
2011-08-21 19:53:09 -07:00
Shawn Hoffman fc12633055 Make the jscript for writing out scmrev.h work on windows.
Add scmrev.h to .gitignore
Remove some SubWCRev.exe and it's template
2011-08-21 19:15:50 -07:00
Jordan Woyak e8fe15c3f7 Make titlebar and about dialog fancy for cmake build.
Windows needs fixing.
2011-08-21 17:43:05 -05:00
Shawn Hoffman 6bc81f5ac4 git compat:
add git support to cmake and make_svnrev.h.js
add .gitignore
2011-08-14 13:17:57 -07:00
Glenn Rice 5ea787b087 Linux build fix.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7695 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-08-07 15:34:53 +00:00
LPFaint99 5f9591cf9d make it significantly harder to choose an invalid memory card file in the main dolphin config
should fix most errors of "Can not use memory card in slot A"
also fix display of a (rarely seen) panicalertT when the same file is chosen for both memorycards
recent examples ... http://forums.dolphin-emulator.com/showthread.php?tid=18408 http://forums.dolphin-emulator.com/showthread.php?tid=18354

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7694 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-08-07 07:17:49 +00:00
NeoBrainX 2a829fe36c New Wiimote configuration dialog design.
Uses a single page for configuring ALL wiimotes now.

Due to the use of wxWindow::NewControlId, this might increase our wx version requirements (irrelevant for windows users). Works fine with wx 2.8.10 at least, but the docs aren't more specific about when wxWindow::NewControlId was introduced. If anyone doesn't like this, I'll change it.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7692 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-08-06 14:38:23 +00:00
NeoBrainX c351743986 Some cleanups to the internal Wiimote configuration handling. No functional change.
Patch by lpfaint99.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7691 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-08-06 14:31:40 +00:00