Commit Graph

7382 Commits

Author SHA1 Message Date
NeoBrainX
227580d1a5 Remove "Disable Textures". 2012-06-11 23:35:46 +02:00
NeoBrainX
1dd6b978c1 Remove "Disable Lighting". 2012-06-11 23:30:20 +02:00
skidau
1d9ac2f6e1 Removed the check for changed JIT blocks before invalidation. Fixes the slow speed in Zelda: Ocarina of Time Master Quest.
Fixes issue 5454.
2012-06-09 18:48:15 +10:00
NeoBrainX
b5ad382b07 Fast mipmaps deserves to die!! 2012-06-08 00:22:57 +02:00
NeoBrainX
0d577d886a Remove some TODOs. 2012-06-02 19:23:20 +02:00
skidau
d74c50b942 OSX build fix for BPStructs. Thanks to pauldacheez for the fix. 2012-06-02 11:28:43 +10:00
skidau
bb4c9e2205 Fixed "Failed to compile pixel shader" error when Per-Pixel Lighting is enabled. Thanks to slmpika for the fix. 2012-06-02 11:25:44 +10:00
skidau
b0d271db3c Changed MOVDDUP to use MOVSD on non-SSE3 CPU's.
Added DMA wait time under DSP HLE mode.

Fixes Knockout Kings 2003.
2012-06-02 10:06:47 +10:00
skidau
99b7c91df5 Checked if dcbst instructions are preceded by dcbt. If it is, the game is prefetching memory into the data cache, and not loading new code. In these cases, the JIT cache will no longer be flushed. Fixes the frequent "Clearing code cache" issue in games like "The Last Story". 2012-05-31 22:09:33 +10:00
NeoBrainX
372e00632d Fix changing internal resolution via hotkeys (settings above 1.5x weren't accessible anymore before). 2012-05-29 13:11:28 +02:00
Pierre Bourdon
bfde41895f Update the viewport when the scissor offset is changed
Fixes a bug with Another Code: R that was noticed when gx-optimization was
merged.
2012-05-27 08:03:26 +02:00
Glenn Rice
00f6b7b6ea Fix core dump on start up on linux. Thanks to degasus. 2012-05-26 08:24:18 -05:00
Pierre Bourdon
1efabea9b4 Fix compilation errors with g++4.7 2012-05-26 08:09:50 +02:00
skidau
b79d8d9e10 Fixed the Cheat Search. Patch by nagosaki. 2012-05-26 15:45:58 +10:00
skidau
146b02615c Merge rodolfoosvaldobogado's zcomploc code (Graphic_Fixes branch) 2012-05-26 13:47:07 +10:00
Braden
82cb14e49b Actually fixes crashing on start up. 2012-05-26 13:21:30 +10:00
Braden
cbc84ecd72 set variables equal to zero or false correctly. Should fix crashes on 32bit version. 2012-05-26 13:21:30 +10:00
Braden
defb4c255d Allows analog sticks to be used with the TAS Input Open. 2012-05-26 13:21:30 +10:00
unknown
873437d58a Adds better support for the tas input. 2012-05-26 13:21:29 +10:00
nitsuja
9ea8d54343 remove some code that was made unused by rca287e7957c7 2012-05-26 13:19:57 +10:00
nitsuja
1f9586a8ba compile fix for my merging of rca287e7957c7 2012-05-26 13:19:57 +10:00
nitsuja
99b202fd2e savestate vertexmanager (base) since it affects VertexLoader::RunVertices which affects g_pVideoData 2012-05-26 13:18:08 +10:00
nitsuja
ae242e5675 added some missing VideoBackendHardware data to savestates. I think this makes savestates more stable (fewer "GFX FIFO: Unknown Opcode" errors) in dual core mode.
also added some extra verification markers around here, to potentially give better info on future version mismatches
2012-05-26 13:18:08 +10:00
nitsuja
2be579e8ba fixed some graphics problems with loading savestates (for example, wrong colors on title screen of metroid prime 3) 2012-05-26 13:18:07 +10:00
nitsuja
19b0b02ad7 add some missing IPC HLE data to savestates 2012-05-26 13:14:15 +10:00
nitsuja
c9059c708e save events in a safer way. the old way assumed that event type indices remain constant (they don't always), which could result in running arbitrary events or crashing upon loading. 2012-05-26 13:09:39 +10:00
nitsuja
a81631b58e made savestates synchronous and immediate. this allows saving or loading while the emulator is paused, fixes issues where savestate hotkeys would get ignored if pressed too close together, might speed up savestates in some cases, and hopefully makes savestates more stable too.
the intent is to replace the haphazard scheduling and finger-crossing associated with saving/loading with the correct and minimal necessary wait for each thread to reach a known safe location before commencing the savestate operation, and for any already-paused components to not need to be resumed to do so.
2012-05-26 13:09:38 +10:00
nitsuja
108f69eaa9 to help movie sync, added some more wiimote data to savestates and disabled auto-reconnect. although I think this is basically just removing hacks and should be more correct, I don't know what side effects this could cause for normal players, so for now these changes ONLY take effect when an input movie is playing back or being recorded. 2012-05-26 12:59:08 +10:00
nitsuja
d19c389246 clean up some savestate code 2012-05-26 12:59:08 +10:00
nitsuja
8ef75dac67 add missing SI device state to saves 2012-05-26 12:59:07 +10:00
nitsuja
5423bca79c add some more missing dsp ucode data to savestates 2012-05-26 12:59:07 +10:00
nitsuja
152351d96c implement PointerWrap::Do(std::map<unsigned int, T>) 2012-05-26 12:59:07 +10:00
nitsuja
aa674a65f1 implement PointerWrap::DoLinkedList and use it to simplify saving CoreTiming events 2012-05-26 12:59:06 +10:00
skidau
a54e72640f Merge branch 'misc-speedups'
* misc-speedups:
  fixed and reenabled and slightly optimized the JIT version of fcmpo/fcmpu.
  slightly more precise speed percent display (this is really minor)
  a small thread synchronization speedup for dual core mode. it's most noticeable in games where the CPU is running behind compared to the GPU.

Conflicts:
	Source/Core/Core/Src/PowerPC/Jit64/Jit.cpp

The Fifo.cpp changes from rdaefb3b550e2 was not merged as there was no performance benefit.
2012-05-26 12:35:08 +10:00
Pierre Bourdon
cf69e7ca8a Merge branch 'gx-optimization'
This branch reduces the number of useless state flushes in the video
emulation layer by checking whether a BP/XF change will have an effect
or not. Greatly reduces the number of GL calls per frame.

Thanks to degasus for his help!
2012-05-24 21:49:37 +02:00
NeoBrainX
4131ca8d38 Merge branch 'hires-tex-improvements' 2012-05-22 08:14:49 +02:00
Pierre Bourdon
fee2d83f68 Fix a data endianness problem introduced by r7cccb4baa724. 2012-05-20 22:16:21 +02:00
Pierre Bourdon
c95baf614d Avoid changing video state on useless BP writes
When a game writes the same value that was already configured to a BP
register, Dolphin previously flushed the GPU pipeline and reconfigured
the internal video state (calling SetScissor/SetLineWidth/SetDepthMode).

Some of these useless writes still need to perform actions, for example
writes to the EFB copy trigger or the texture preload registers (which
need to reload the texture from memory).
2012-05-20 20:56:03 +02:00
Pierre Bourdon
7cccb4baa7 Check if data was modified in LoadIndexedXF too 2012-05-19 10:54:40 +02:00
Pierre Bourdon
b8d4d013f6 Compute the comparison size properly (transferSize is in u32, not in u8) 2012-05-18 23:27:02 +02:00
Pierre Bourdon
5a77cae2e3 Check if BP and XF changes actually change values before flushing 2012-05-18 23:13:53 +02:00
Matthew Parlane
1bc5f41e40 Fixes issue 5428. Thanks delroth. 2012-05-18 17:57:28 +12:00
skidau
5a8ad92302 Changed a JMP that needed to be a far JMP in JITIL. 2012-05-15 09:32:21 +10:00
NeoBrainX
54aeec7a8f Dump the redundant "save textures" function. Use TextureCache's dumping feature instead. 2012-05-13 17:48:23 +02:00
NeoBrainX
72e83140f0 TextureCacheBase: Remove the texture size limit for custom textures. Only the GPU restrictions for maximum texture size remain. 2012-05-13 17:43:14 +02:00
NeoBrainX
41d37ab0a0 TextureCacheBase: Support loading custom mipmaps. 2012-05-13 17:42:22 +02:00
NeoBrainX
a5e68ab10e TextureCacheBase: Support dumping individual mipmaps. 2012-05-13 17:41:04 +02:00
NeoBrainX
a8ad59ee3e TextureCacheBase: Move texture dumping to a helper function. 2012-05-13 17:41:03 +02:00
NeoBrainX
3ecc5e879c TextureCacheBase: Move custom texture loading to a helper function 2012-05-13 17:41:03 +02:00
skidau
b27f471488 Invalidated the JIT cache when the dcbst instruction is used. 2012-05-13 21:07:03 +10:00
skidau
48bf5c739d Changed the block linker to work on physical addresses. Checked whether the code has changed before invalidating it. Fixes the cut-scenes in Tales of Graces.
Fixes issue 2933.
2012-05-12 21:43:39 +10:00
Pierre Bourdon
f567782b47 Implement a better heuristic to detect whether an ELF is for GC or Wii 2012-05-12 01:48:56 +02:00
Pierre Bourdon
04bde406d3 Fix DVD root path for Wii games. Now Wii games can be booted using extracted files instead of a disc image. 2012-05-11 22:19:57 +02:00
skidau
ec0ddb476e Fixed texture encoding in DX11. Thanks to wordmanwords for the patch. 2012-05-06 10:51:38 +10:00
skidau
1587cb3738 Fixed texture encoding. Fixes the interaction with objects in Another Code R. Thanks to wordmanwords for the patch.
Fixes issue 5405.
2012-05-05 11:21:05 +10:00
Pierre Bourdon
77f47866df Add Wii DVD integrity checking to Dolphin
This allows users to easily check whether their Wii dump is corrupted or not
using the Dolphin properties window. Right click on a game, Properties,
Filesystem tab, then right click on the game partition and select "Check
partition integrity".

This may have some false negatives due to the unused clusters heuristic (see
the comment in VolumeWiiCrypted.cpp). False positives are unlikely.
2012-05-04 16:27:42 +02:00
orphis
6254edcfbc Add the missing *.wbfs extension to the file picker. 2012-05-03 22:27:06 +00:00
skidau
0e812cb187 JIT32 fix.
Added wbfs to the File Open list.
2012-05-04 07:00:30 +10:00
skidau
7885e63deb Added wbfs support. Thanks to lordlyhobo for the patch. Fixes issue 859. 2012-05-04 00:09:01 +10:00
skidau
a1b3eaffb7 Reverted the ES changes from r0fc390b55226. Fixes the crash that occurred when loading a channel from the sysmenu. 2012-05-03 23:32:32 +10:00
skidau
e5d527340d Optimised the JIT path. 2012-05-03 23:17:15 +10:00
skidau
d7f468a781 Applied the "Hide cursor" fix to the Pause button. 2012-05-03 20:57:22 +10:00
Glenn Rice
40640217f1 Fix hide mouse cursor on linux.
Fix emulator window position when rendering to main on linux.
Allow building against wxWidgets 2.9.3 on linux.
2012-05-02 14:40:40 -05:00
Billiard26
1974938c5a Fix DirectInput D-Pad handling. 2012-05-02 06:31:38 +00:00
Pierre Bourdon
beb4204bbb Include libavutil/mathematics.h explictly in AVIDump.cpp. Fixes issue #5266. 2012-05-02 07:29:15 +02:00
Pierre Bourdon
5e2d692cec Lock the DSP thread on its own core when using "Lock threads to cores" and "LLE on Thread". Greatly improves DSPLLE performance on Linux with >= 3 cores CPUs. 2012-05-02 07:19:14 +02:00
skidau
1b15cd0b60 Added preliminary support for ARAM memory map mode "4".
Fixes issue 3410.
2012-05-01 22:05:48 +10:00
skidau
2540fe0606 Fixed ARAM DMA overflow situations. Fixes issue 4952. 2012-05-01 21:31:21 +10:00
skidau
30d6d22816 Merge Conflicts:
Source/Core/Core/Src/PowerPC/PowerPC.cpp
2012-05-01 21:00:57 +10:00
skidau
d015f0926a Fixed a typo and some far jumps in the JIT. 2012-05-01 20:52:35 +10:00
skidau
d557c913e8 Reset the performance counters at the start of the each block. 2012-05-01 20:42:01 +10:00
skidau
389823a749 Changed the performance monitor check to a compile time check instead of run-time. 2012-05-01 20:42:00 +10:00
skidau
cdace9d776 Added preliminary support for the Gekko CPU Performance Monitor. Fixes Harry Potter and the Prisoner of Azkaban. 2012-05-01 20:42:00 +10:00
skidau
75fbbcae40 Merge branch 'JIT-Exceptions'
* JIT-Exceptions:
  JitIL code cleanup
  Changed the JIT code to make the FPU exception timing more accurate.  The exception is now triggered at the first FP instruction instead of the start of the block. Rearranged the JIT exception code for a tiny speed-up.  Only external exceptions are checked at the end of the block.  All other exceptions are checked at the time they occur.

Fixes issue 5382.

Conflicts:
	Source/Core/Core/Src/PowerPC/Jit64/Jit_LoadStore.cpp
2012-05-01 20:35:12 +10:00
skidau
05040379e9 JitIL code cleanup 2012-05-01 20:26:05 +10:00
skidau
15d3c45159 Reset the performance counters at the start of the each block. 2012-04-29 00:10:20 +10:00
skidau
853d12b42c Changed the performance monitor check to a compile time check instead of run-time. 2012-04-28 22:47:55 +10:00
skidau
103e73030f Added preliminary support for the Gekko CPU Performance Monitor. Fixes Harry Potter and the Prisoner of Azkaban. 2012-04-28 20:42:45 +10:00
skidau
330f63df80 Corrected the file offset within the FST of virtual disks (used by the DVD Root path function). 2012-04-28 11:21:55 +10:00
skidau
8878ae5fc3 Merge branch 'AudioStreaming'
* AudioStreaming:
  Reset the stream playing flag on init.
  force VolumeDirectory to align files to 32KB (only streaming audio files really need to be aligned...)
  Removed the DTK Music option.  It is now always enabled.
  Added the response for audio streaming disc offset requests.  Generate an AI interrupt at the end of the audio streaming loop.  Fixes Pac-man Fever and the background music in Eternal Darkness.
  Fixed the erroneous looping in audio streaming games like Eternal Darkness and Zoids: Battle Legends.  Thanks for the tip, tueidj.
2012-04-23 22:40:58 +10:00
skidau
f0e1b4c1dd Reset the stream playing flag on init. 2012-04-23 22:15:23 +10:00
Shawn Hoffman
26521aa66a force VolumeDirectory to align files to 32KB (only streaming audio files really need to be aligned...) 2012-04-23 00:50:44 -07:00
skidau
5ceef0c513 Removed the DTK Music option. It is now always enabled. 2012-04-23 05:02:43 +10:00
skidau
f0a5214a3f Added the response for audio streaming disc offset requests. Generate an AI interrupt at the end of the audio streaming loop. Fixes Pac-man Fever and the background music in Eternal Darkness. 2012-04-23 04:47:31 +10:00
skidau
8ff3954069 Added the memcheck for stXx. 2012-04-21 21:38:57 +10:00
skidau
7038a841bd Fixed the erroneous looping in audio streaming games like Eternal Darkness and Zoids: Battle Legends. Thanks for the tip, tueidj.
Fixes issue 5378.
2012-04-21 15:50:07 +10:00
Matthew Parlane
0fc390b552 Modify state.dat before launching wads. Fixes Liight, maybe others. If in doubt, install the wad to the nand. 2012-04-21 16:21:13 +12:00
skidau
13b66df125 Changed the JIT code to make the FPU exception timing more accurate. The exception is now triggered at the first FP instruction instead of the start of the block.
Rearranged the JIT exception code for a tiny speed-up.  Only external exceptions are checked at the end of the block.  All other exceptions are checked at the time they occur.
2012-04-15 21:34:15 +10:00
Pierre Bourdon
c08510baa8 wxWindow::FindFocus() sometimes return NULL, check for that to avoid segfaulting 2012-04-15 02:24:41 +02:00
skidau
a488b2c0ca Fixed the rerecord counter when using more than one save state. Patch by rdragoon. 2012-04-13 19:50:44 +10:00
Jordan Woyak
722480cb2e Fix compilation with g++ 4.7 and some warnings. Fixes issue 5347. 2012-04-07 15:45:32 -05:00
skidau
5d9ac22d58 Added a "Keep window on top" option in the graphics options. 2012-04-08 10:29:49 +10:00
LPFaint99
87954dacad Revert part of r6bfb8c9597dc so new memory card files will be created.
some how  I neglected to remember that r+ requires the file to exist.
 still should fix the issue with 0 byte memory cards.
This reverts commit 6bfb8c9597.
2012-04-05 21:43:05 -07:00
rodolfoosvaldobogado
5650b3b5f6 more fixes. take in account when depth textures are used and alpha test fails :)( i really forgot that). 2012-04-03 15:08:58 -03:00
rodolfoosvaldobogado
4fafbd0700 Fix for my last commit thanks to Lolaker for pointing the error 2012-04-03 09:56:11 -03:00
Shawn Hoffman
702905131b follow-up for last commit: don't warn about the EUART init commands. 2012-04-03 03:54:17 -07:00
Shawn Hoffman
423cdb6398 fixes issue 5335 2012-04-03 03:26:06 -07:00
rodolfoosvaldobogado
6a446efd5f Second Stage: re implement zcomplock and correct all the logic error in PixelShaderGen.cpp. i disable fastzcomlock for the moment to avoid confusions.
please test for regressions
2012-04-03 00:08:36 -03:00
rodolfoosvaldobogado
a0d60210fd First Stage:
Fix depth related errors in dstalpha pass.
best place to test: water splash effect in super mario galaxy
2012-04-02 14:26:12 -03:00
skidau
f7ce27c91d Fixed the audio streaming "blocks left" register by making it zero-based. Fixes DreamMix TV World Fighters (GameCube). 2012-04-02 22:14:11 +10:00
LPFaint99
6bfb8c9597 small fix to writing memorycards, open as r+b so the file is not cleared when opening. should eliminate the 0byte memory card files reported http://forums.dolphin-emulator.com/showthread.php?tid=21964 http://forums.dolphin-emulator.com/showthread.php?tid=22631 http://forums.dolphin-emulator.com/showthread.php?tid=22098 2012-03-31 14:03:19 -07:00
Matthew Parlane
5c27e27a4a Oops how did that compile... 2012-03-31 16:26:41 +13:00
Matthew Parlane
763916a779 Comments about DVDLowAudioBufferConfig 2012-03-30 20:13:29 -07:00
Matthew Parlane
404a6b9ba8 Fixes issue 5330. 2012-03-30 20:10:48 -07:00
skidau
995a84e06a Removed CGDisplayCapture from the OSX fullscreen mode code, fixing full-screen mode. Thanks to celgilles for the patch.
Fixes issue 5331.
2012-03-31 13:48:40 +11:00
NeoBrainX
460610ea0e Revert Rodolfo's recent zcomploc commits until they actually work correctly.
This reverts commit 402006a83a.
This reverts commit 48d8d71391.
This reverts commit 450dcc9d2c.
2012-03-30 01:57:53 +02:00
LPFaint99
f7c17c6351 Merge branch 'GCMemcardFixes' 2012-03-29 14:39:01 -07:00
rodolfoosvaldobogado
402006a83a more fixes to zcomplock and opengl implementation 2012-03-29 18:26:58 -03:00
NeoBrainX
6ee6d0088a Merge branch 'zfreeze-new' 2012-03-29 23:02:27 +02:00
NeoBrainX
2356def0d4 Merge branch 'fifoplayer_updates'.
This adds an "Analyzer" tab to the fifoplayer dialog which allows to conveniently browse through all register pokes that are being sent by the game each frame.
There's also a search function, but it doesn't work all that well for anything but simple searches at the moment. However, I'm merging this anyway since I'm not sure if I'm going to finish this.

Note that due to recent fifo changes, it's not yet possible to run fifoplayer in dual-core mode.
2012-03-29 22:50:45 +02:00
NeoBrainX
04c2f2382f FifoPlayerDlg: Don't use wxString::fromAscii() 2012-03-29 21:50:21 +02:00
Sacha
5f85815922 Remove inherited variable that was no longer used. Clean up. 2012-03-29 17:01:59 +10:00
Shawn Hoffman
2ee5e5cebc Merge branch 'scons-removal' 2012-03-28 00:02:04 -07:00
rodolfoosvaldobogado
48d8d71391 Fix for my last commit, this must fix the problem in the algorithm pointed by neobrain. thanks 2012-03-27 23:14:59 -03:00
rodolfoosvaldobogado
450dcc9d2c As requested, this is my implementation of zcomploc using a multi-pass algorithm. My apologize to the others devs for committing in the main branch but is the only way to get this tested as soon as possible.
please test for regressions, speed and for other issues fixed, as a example, the black color in water splash in super mario galaxy are fixed with this rev.
please as soon as yo find a bug let me know.
2012-03-27 15:44:58 -03:00
Shawn Hoffman
48eb791a4e Merge remote-tracking branch 'timowiren/master' 2012-03-25 13:21:25 -07:00
Shawn Hoffman
48bfca3c86 Merge remote-tracking branch 'adlr/macwiimote' 2012-03-25 13:15:38 -07:00
Shawn Hoffman
d15740daf1 Merge branch 'wxw3-update' 2012-03-25 12:27:38 -07:00
skidau
f30aebf8d7 Added a check for TMEM overflows while preloading textures. Thanks to NeoBrainX for the tip. 2012-03-25 21:35:57 +11:00
Timo Wiren
cb92805445 Spaces to tabs. Removed a comment. 2012-03-25 13:01:26 +03:00
skidau
fa2b4cd8fc Quick fix for minimum number of cheat codes needed to activate Gecko. 2012-03-25 04:13:41 +00:00
rodolfoosvaldobogado
9ed83765e6 long time no commits :)
a little code cleaning to avoid duplicated execution of AlphaPreTest and a little correction to some comments from the previous commits.
this change must behave exactly like last revision, if something is broken please let me know
2012-03-25 00:01:47 -03:00
Pierre Bourdon
c662b8ee2f Bump the shader cache version 2012-03-24 20:46:40 +01:00
Pierre Bourdon
b5ba2eb030 Merge branch 'master' into zcomploc-support 2012-03-24 18:41:51 +01:00
Timo Wiren
11959a3781 Matching new and delete. 2012-03-24 19:41:13 +02:00
NeoBrainX
7a1744575d D3D9: Fix texel to pixel mapping when sampling textures properly. 2012-03-24 17:23:03 +01:00
NeoBrainX
fee98b426b Revert r41bcf657f89d, r3a9fed0ba285, r9adc119e3c2f and re58692653afd (all of them are wrong). 2012-03-24 15:58:44 +01:00
NeoBrainX
2afe605069 D3D11: Disable mipmapping when no mipmap filter is selected. 2012-03-24 06:04:00 +01:00
skidau
33e20cf76d Added a check for active Gecko codes before installing the Gecko code handler.
Fixes issue 5279.
2012-03-23 23:36:23 +11:00
skidau
41bcf657f8 Adjusted the DX9 offset of the Sampling address to more closely match what we are seeing in games.
Fixes issue 5305.
2012-03-23 23:20:19 +11:00
skidau
c4fbb6e377 Checked PRELOAD_MODE to determine if TMEMODD or TMEMEVEN should be used.
Fixes issue 5212.
2012-03-23 22:10:48 +11:00
Shawn Hoffman
fab037446c Forward "raw" reads of GC discs to the normal read function, since they are not encrypted in the first place. 2012-03-22 23:04:45 -07:00
Andrew de los Reyes
d3361494ce WiiremoteReal for Mac: Find Wiimotes by name.
The decided way to find Wii Remotes is by their bluetooth name, so
this patch introduces common code to identify if a given string is a
valid Wiimote name.

On Mac, when scanning bluetooth, consult the function with all found
bluetooth devices.
2012-03-22 20:55:41 -07:00
Andrew de los Reyes
93b78d7139 WiimoteReal for Mac: Send commands on interrupt channel.
There are two ways to send commands to Wii Remotes:

- On command channel, with a first byte of 0x52. This works on
  Nintendo RVL-CNT-01, but not Nintendo RVL-CNT-01-TR wiimotes.

- On interrupt channel, with a first byte of 0xa2. This works on
  Nintendo RVL-CNT-01 and Nintendo RVL-CNT-01-TR wiimotes.

This patch switches Mac from the former to the latter. Windows and
Linux remain unchanged.
2012-03-22 20:17:28 -07:00
Andrew de los Reyes
af8690a7d8 Revert "Add Support for Wii Motion Plus INSIDE Wii Remotes on Mac OS X."
This reverts commit c9dfcf8cf7.

That commit attempted to support all Wii Remotes on Mac OS X, but the
logic was incorrect, and as a result the original (non-TR) Wii Remotes
were broken by that change.

Future patches will address this problem in a better way.
2012-03-22 20:06:52 -07:00
Shawn Hoffman
36f3962551 small fix for last commit - didn't notice that was an #elif instead of #if 2012-03-22 18:57:30 -07:00
Shawn Hoffman
56b1373baf Remove scons-related files 2012-03-25 12:55:02 -07:00
Shawn Hoffman
5bf99f461b Add some padding to the GameList column sizes on non-MSW.
These underlying controls seem to insert 8px of divider between each column.
2012-03-22 18:45:11 -07:00
Shawn Hoffman
7d57b925e6 Disable wxHAS_MSW_TASKDIALOG because as of wxW svn r70933,
there is a bug with the wxPD_AUTO_HIDE style which can cause a non-dolphin
window to come to the foreground after auto-closing of the TaskDialog.
2012-03-24 20:59:20 -07:00
Shawn Hoffman
e0941828f5 Fix uglies on gcpad/wiimote config pages.
Use wxPanel in place of wxNotebookPage (which is really just a typedef for wxWindow). This applies the correct background color for the page.
2012-03-23 00:27:54 -07:00
Shawn Hoffman
f7423a0a4f Merge branch 'master' into wxw3-update
Conflicts:
	Source/Core/DolphinWX/Src/LogWindow.cpp
2012-03-22 17:57:38 -07:00
Pierre Bourdon
5242f09104 Fix Linux build: search for gthread-2.0 and pangocairo, then add both these libs to wx dependencies 2012-03-23 01:06:45 +01:00
LPFaint99
9c9e593479 fix crash on windows while changing exi/si devices when interface language is Japanese or Chinese 2012-03-22 14:52:20 -07:00
Pierre Bourdon
339ee98e62 Add a comment before the zcomploc test explaining the implementation/hack 2012-03-22 22:10:23 +01:00
Pierre Bourdon
0ffc12bbfd Merge branch 'master' into zcomploc-support
Conflicts:
	Source/Core/VideoCommon/Src/PixelShaderGen.cpp
2012-03-22 15:21:52 +01:00
Matthew Parlane
d95e31af3f Fixes issue 4932 AGAIN :D 2012-03-22 22:52:12 +13:00
skidau
006923e871 Disabled zcomploc while update_enable has been set in zmode. Fixes zcomploc in F-Zero GX. 2012-03-22 20:36:41 +11:00
Matthew Parlane
2d75d7a8be Fixes issue 5278. Thanks to megazig for finding the bug :) 2012-03-22 21:15:05 +13:00
Matthew Parlane
dc1cde4581 Re-enabled stfs, was caused by fast fp, thanks delroth! 2012-03-22 17:25:43 +13:00
Shawn Hoffman
15db05d7ab I am very picky about my VS files... :D 2012-03-21 14:53:50 -07:00
Pierre Bourdon
70b6c4280f Compile with /fp:precise instead of /fp:fast in release mode on Windows
/fp:fast was introducing FP precision problems, and mixing it with some
/fp:precise code caused strange game behaviors, DSI exceptions and freezes.

This commit should fix most of the issues introduced by 3.0-73 (r95517a97).

Thanks to hatarumoroboshi@hotmail.com for tracking a lot of these Win32 bugs.

Fixes issue 4906.
Fixes issue 5138.
Probably fixes (not tested) issue 5067.
2012-03-21 22:43:44 +01:00
NeoBrainX
6202714efd Fix some regressions from r3b38295cbd08. 2012-03-20 22:36:21 +01:00
skidau
5e2fd45203 Merge fix 2012-03-20 21:01:15 +11:00
skidau
a60a0825a3 Merged 'FifoBusy' branch. Thanks
to marcosvitali.

Added an external exception check when the CPU writes to the FIFO.  This allows
the CPU time to service FIFO overflows.  Fixes random hangs caused by FIFO
overflows and desyncs like in "The Last Story" and "Battalion Wars 2".  Thanks
to marcosvitali for the research.

Added some code to unlink invalidated blocks so that the recompiled block can be
linked (speed-up).

This release still fixed the hangs produced by fifo overflow without sacrifice
performance. For example you can test Tutorial moves at the beginning of The last history now
is fluid 30/60.

Fixed possibles random hangs in DC mode.
Fixed hangs in DC mode in (Simpsons, Monkey Island, Pokemon XD, etc)
Implemented accurate management of Pixel Engine Interrupts.  Now the GPU loop
is stopped when a PE Interrupt needs to be managed and resumed when Pixel Engine
finish.

Fixed Metroid Prime 3 and 2 desync. And other games with desync because of
FIFO Reset. That happens because  FIFO_RW_DISTANCE_HI must be written first, for checking
fifo.CPReadWriteDistance == 0, so some fifo resets was not managed in the right
way.

Fixed Super Monkey Ball in some cases when the game write the
WriteReadDistance need to be safe like the SafeCPRead.

Improved the CheckException for the GatherPipe writes in JIT, now only the
External Exceptions are processed.

Fixed definitely Pokemon XD in dual core mode. This game is doing something
not allowed. It attach to CPU the same fifo attached to the GPU in multibuffer
mode. I added a check to prevent overwrite the GPU FIFO with the CPU FIFO. If
the game do that on breakpoint the solution can fail.

Fixed ReadWriteDistance calc when CPRead > CPWrite.

Added Token and Finish cause to GP Jit checking.

Additional cleanup in CommandProcessor.



Fixes issue 5209
Fixes issue 5055
Fixes issue 4889
Fixes issue 4061
Fixes issue 4010
Fixes issue 3902
2012-03-20 19:37:25 +11:00
Matthew Parlane
14ea442382 srawx fixed thanks to boo toe. 2012-03-20 19:51:42 +13:00
Shawn Hoffman
c0992cc73e Build fix:
Don't use isascii() - just do it ourselves
Bump required wxw version (for shared libs)
There still seems to be linking issues on some linux distros, I can't reproduce it though...
2012-03-19 23:16:01 -07:00
Shawn Hoffman
dd5df17688 forgot to save my buffer :( 2012-03-19 12:07:47 -07:00
Shawn Hoffman
cf52029b51 Check if the game's ID is valid before accessing it to set the ntsc u/j register. Prevents discs without a real ID from crashing dolphin. 2012-03-19 11:12:40 -07:00
Shawn Hoffman
ff6023df27 Change wxString(<string>, wxConvUTF8) method of creating unicode from filenames to wxSafeConvertMB2WX()
(Just applied to FrameTools.cpp for now)
Allows one to properly restart Pokémon by hitting play :P

Ignore non-ASCII strings passed to DisplayMessage(). These strings would end up going to renderer display and statusbar/titlebar, which can't handle them properly.
2012-03-19 10:37:15 -07:00
Shawn Hoffman
4a1e8ba30a sigh...fix #ifdefs in last commit... 2012-03-19 07:46:23 -07:00
Shawn Hoffman
05c964e6d6 wxw3: OSX can use the same method of hiding cursors as MSW 2012-03-19 07:40:27 -07:00
Shawn Hoffman
35a5a3b9d4 Fix "Hid cursor" causing a wxWidgets warning 2012-03-19 06:54:02 -07:00
Shawn Hoffman
c3a537728f Don't allow wiimote config while in Gamecube mode
Fixes crash when attempting to open emulated wiimote config in Gamecube mode
2012-03-19 06:03:23 -07:00
Shawn Hoffman
bfcc720a47 Make sure updating scmrev.h causes a rebuild of dependant projects. 2012-03-19 03:40:14 -07:00
Matthew Parlane
418f46ea72 Fixed memory leak. And added braces to match the rest of the switch statement in FileIO. 2012-03-19 18:08:16 +13:00
marcosvitali
20eca1bf7e Ive fixed definitely Pokemon XD in dual core mode. This game is doing something not allowed. It attach to CPU the same fifo attached to the GPU in multibuffer mode. I added a check to prevent overwrite the GPU FIFO with the CPU FIFO. If the game do that on breakpoint the solution can fail.
Fixed ReadWriteDistance calc when CPRead > CPWrite.
Added Token and Finish cause to GP Jit checking.
2012-03-18 22:54:58 -03:00
Andrew de los Reyes
d6d52920ec Fix segfault in LogWindow on Mac
Commit 9ddb67d4a9 seems to have
introduced a segfault on Mac. The issue is that it this change casts
wxConvCurrent (which is a wxMBConvLibc) to a wxCSConv. This is an
unsafe cast because wxCSConv has member variables, but wxMBConvLibc
does not.

In LogWindow.cpp, the constructor for m_SJISConv is dereferencing one
of those member variables, which is a dereference of uninitialized
memory!

This CL reverts to the older (non-crashing) constructor, but keeps the
behavior the same.
2012-03-18 15:11:34 -07:00
Shawn Hoffman
2ab2afaa1f update portaudio to stable_v19_20111121 and fix linker warnings 2012-03-18 07:50:37 -07:00
Shawn Hoffman
c5d746f3d8 remove scons files from VS projects 2012-03-18 06:41:12 -07:00
Shawn Hoffman
483d15a9c3 fix Common lib re-linking all the time
rename wxBase28 project to wxWidgets
2012-03-18 05:47:55 -07:00
skidau
cfbcaa2cc6 Linux build fix 2012-03-18 23:37:38 +11:00
Shawn Hoffman
d9a7510937 forgot to add wxwidgets3 vcxproj to git, since it was masked by gitignore...
fix up misc warnings and build errors
2012-03-18 03:30:03 -07:00
Shawn Hoffman
ff63c689d6 wxMSW no longer allows overriding OnPaintDrawImages, so remove the msw-specific drawing code from the GameListCtrl (it's rendered correctly by default) 2012-03-18 02:33:03 -07:00
Shawn Hoffman
c3d13b048c build against wxWidgets3 from Externals on Windows.
use Externals version of libpng on Windows.
2012-03-18 02:31:19 -07:00
Matthew Parlane
8479d5bdf7 Some code clean up. I am terrible at coding styles... 2012-03-18 21:50:07 +13:00
Matthew Parlane
6fe495e1aa Fixed Pokepark 2! Maybe... :D Don't trust save states, although I think they are correct. File fd's were too large. Let me know if file related loading stops working in some games. fds are many to 1, not 1 to 1. ES has two instances available at a time. Sadly a clean up requires changing IWII_IPC_HLE_Device Constructor, as a deviceID doesn't make much sense per device. I won't do this until we have less branches :| 2012-03-18 21:00:23 +13:00
Shawn Hoffman
8bdf93a15c fix logwindow crash 2012-03-17 21:51:24 -07:00
Shawn Hoffman
1fbf2e38c4 wxw implements wxEVT_THREAD itself now 2012-03-17 21:50:40 -07:00
Shawn Hoffman
a648aca65c wxWidgets3: update to svn r70933 2012-03-17 21:47:47 -07:00
skidau
05692b1e7e Sped up to the Dolphin debugger by not checking for breakpoints when stepping.
Fixed the JIT cache, invalidating one instruction length at a time.
Fixed a bug where the JIT cache did not get invalidated when stepping.
Disabled fused instructions in the debugger.
2012-03-16 20:08:05 +11:00
skidau
8ed6ea3b07 Sped up the Dolphin debugger in JIT mode by splitting a block only while stepping or when it contains a breakpoint. The block is invalidated when a breakpoint is set or cleared.
Fixed a bug in the JitCache where the JIT icache was not being invalidated when a block containing the instruction was destroyed.
2012-03-15 21:48:19 +11:00
skidau
0ed8af2287 Forced reload of the native Gecko Code handler if the game overwrites it.
Fixes issue 5225.
2012-03-13 23:41:40 +11:00
skidau
dc79d68e72 Added the corresponding change from r352ab2ba4394 into JITIL.
Tidied some code.
2012-03-13 22:35:11 +11:00
Matthew Parlane
b37c468039 Fixes issue 5269
Sorry guys but I needed to disable stfs so that Pokepark 2 would not freeze(?). Feel free to put some effort in to finding out why, I do not understand Jit sorry.
2012-03-13 23:42:30 +13:00
marcosvitali
352ab2ba43 Improved the CheckException for the GatherPipe writes in JIT, now only the External Exceptions are processed.
We Didn't Check 0x0008000 in PowerPC::ppcState.msr this was killing the performance, this also fix a hang when this check is performed.
SMG for example.
Deleted the HiWatermark condition from GPFifo.
Please test games affected in this  Revision 9e649ce798, and games affected in this Revision b0f75f17ae.
I do not want to excite the game players of 'The Las Story', but Could test again the random hangs with this rev?

Thanks
2012-03-13 01:44:10 -03:00
marcosvitali
fedf6055ce I've fixed Super Monkey Ball in some cases when the game write the WriteReadDistance need to be safe like the SafeCPRead.
This fix is not related with the previous commits, but the previous commits help me to see that because in the new scenery SMB was hanging. May be in the past also doesn't boot some times because of that.

Please Test FZero boot also. Thanks.
2012-03-11 12:40:39 -03:00
skidau
bf76b802a7 Fixed the in-built Dolphin profiler. 2012-03-10 16:24:13 +11:00
marcosvitali
104603467b This commit fix games hanging because of my prior Revision c2e6fdf09f
The external exceptions in dolphin are checking frequently but is different to real HW, so sometime the game is in a loop checking GPU STATUS, the exceptions doesn't checked, and the game hang.\
For solve this I need a trick: still waiting for the exception handler be linked but if CommandProcecsor is reading the GPStatus, resume this.

This fixed "TimeSplitters: Future Perfect" broken in the Revision c2e6fdf09f and surely others games.
2012-03-09 18:58:23 -03:00
marcosvitali
41652d6b1f I've fixed Metroid Prime 3 and 2 desync. And other games with desync because of FIFO Reset.
That happens because  FIFO_RW_DISTANCE_HI must be written first, for checking fifo.CPReadWriteDistance == 0, so some fifo resets was not managed in the right way.
I didn't test Metroid 2 desync reported in Issue 4336 but I think is the same.
About the flickering in MP2, I don't know for my is not related or yes, but you can test anyway.

Fixed Issue 3902

Well now the FIFO is 99.99% finished :)
2012-03-09 01:33:29 -03:00
marcosvitali
c2e6fdf09f - I've fixed possibles random hangs in DC mode.
- I've fixed hangs in DC mode in (Simpsons, Monkey Island, Pokemon XD, etc)
- I've implemented accurate manage of Pixel Engine Interrupts, now the GPU loop is stopped when a PE Interrupt needs to be managed and resume when Pixel Engine finish,
I think now, the Fifo in DC mode is more accurate than SC mode. :)

Time to close the big fifo Issue 3694 (snif), please if you have a possible fifo issue report this like a game issue.

I was working with Skid_AU together, especially thanks for him.

Test a lot all games, and compare the performance with the master maybe this accuracy has a cost (not a lot).
I think now the fifo is very stable, overflow fixed, random hang fixed, if you have a game with a hang with this rev and not in master please report this.
2012-03-08 02:47:55 -03:00
LPFaint99
6fc8cdf12d revert r90a2096a24f4 behavior changes in PixelEngine.cpp. Thanks to Autoran1 for finding the responsible commit. Fixes Scrubbing Serena Beach Countdown in both SC and DC.
Fixes issue 1498.
2012-03-07 20:08:14 -08:00
Matthew Parlane
880992b10f Fixed DoState and removed unneeded class variable. 2012-03-07 00:22:55 +13:00
Matthew Parlane
53d2d9718f Fixes issue 2917 and possibly others like 5232 2012-03-06 23:32:13 +13:00
Matthew Parlane
e8e2c241d7 delroth pointed out that it should be "starts with" not "contains". Unlikely this has ever affected anyone.... 2012-03-06 23:31:59 +13:00
Matthew Parlane
614c43029f fixed files so they can have more than one handle opened at a time. 2012-03-06 23:31:48 +13:00
marcosvitali
b0f75f17ae This release still fixed the hangs produced by fifo overflow without sacrifice performance.
For example you can test Tutorial moves at the beginning of The last history now is fluid 30/60.
Shuffle2: I've delete the hacky line, I think is not necessary anymore. Additional some clean in CommandProcessor.
Please test The Last Story and others games affected in the previous commits and give me a feedback.
2012-03-05 02:40:10 -03:00
skidau
a53916ff5d Changed the detection of FIFO write addresses to writes at the gather pipe boundary. This speeds up games which frequently write to the gather pipe like the pre-rendered movies in The Last Story.
Added some code to unlink invalidated blocks so that the recompiled block can be linked (speed-up).
2012-03-04 23:42:33 +11:00
skidau
5de8366db2 Made the invalidation of the FIFO write JIT blocks more selective (efficient). Fixes the slowdown in the House of the Dead: Overkill cutscenes. 2012-03-04 08:10:46 +11:00
Henrik Rydgard
f5d4fe0bfe Fix some minor bugs pointed out by PVS Studio (thanks!) 2012-03-03 20:07:20 +01:00
skidau
874e17e504 Added the corresponding change from r9e649ce79850 to JITIL. 2012-03-03 15:41:55 +11:00