2896 Commits

Author SHA1 Message Date
Pierre Bourdon
0b00c95b79 Simulate a small delay on GC Memcard operations
This was not needed for most games before because the external exception was
itself delayed. aram-dma-fixes changed that and made the external exception
happen a lot quicker, breaking games that relied on the memcard operations
delay.

Fixes issue 5583.
2012-08-20 13:49:12 +02:00
Pierre Bourdon
54fc4029dd Use do { ... } while (0) for the *_LOG macros
Without this patch, such code would not compile:

if (cond)
    WARN_LOG(FOO, "msg");
else
    WARN_LOG(FOO, "msg2");
2012-08-20 13:12:49 +02:00
skidau
28bc5eca37 Added a check for out of bounds memory accesses. Fixes Avatar: The Last Airbender (GC). 2012-08-17 22:14:35 +10:00
Pierre Bourdon
80bf3c2c0b Add VTune profiling support for Dolphin's JIT 2012-08-05 16:39:15 +02:00
Pierre Bourdon
d44a3471be Fix DSP LLE thread affinity being set to the wrong core
Patch from konpie: http://forums.dolphin-emulator.com/showthread.php?tid=24658
2012-08-05 04:24:00 +02:00
Pierre Bourdon
e42c6214d9 Fix a typo in GenQuantizedLoads causing issues with SSSE3 in x86 builds
Patch from konpie: http://forums.dolphin-emulator.com/showthread.php?tid=24658
2012-08-05 04:23:46 +02:00
skidau
00df727d2f Optimised the JitCache struct size from 88 bytes to 80 bytes. Thanks to Lioncash for the patch. 2012-07-23 22:15:34 +10:00
Pierre Bourdon
174c1b00f8 Use the right modifier for hotkeys on Mac
Fixes issue 5324.
2012-07-22 19:22:50 +02:00
sktsqrl
c0060f9ef8 Merge branch 'bba'
OS X support not impl
2012-07-21 12:53:46 -07:00
sktsqrl
601b9fc03b typo fix 2012-07-21 12:50:40 -07:00
sktsqrl
9442d334d8 bba: stub the os x impl 2012-07-21 12:21:55 -07:00
sktsqrl
1d44de53b5 reset samples_avail when stopping gc mic sampling. fixes Mario Party 7 2012-07-11 01:03:25 -07:00
sktsqrl
a02cbedb0f bba: generate MAC if needed 2012-07-07 13:44:26 -07:00
Pierre Bourdon
dd48b246b2 Reduce logging verbosity in the Linux BBA code 2012-07-05 01:30:37 +02:00
Pierre Bourdon
5db70f452b Remove the now unneeded recv sleep hack and fixes game exit by implementing a timeout on read(2) calls in the read thread. 2012-07-05 01:29:42 +02:00
sktsqrl
bb84043de0 bba: (windows) fix games which stop and restart recving, such as logging off of PSO and loggin on again without stopping dolphin 2012-07-04 16:17:47 -07:00
sktsqrl
6cccbb91ec bba: implement recv buffer full interrupt
(windows) hopefully fix crashes from closing dolphin while recving
2012-07-04 16:02:05 -07:00
sktsqrl
9cff8316d2 code cleanup for win32/tap/eth 2012-07-04 16:02:04 -07:00
Pierre Bourdon
9a3dd778cb Preliminary BBA support for Linux. Assumes that a TAP interface named 'Dolphin' exists and is preconfigured. Contains some dirty hacks. 2012-07-04 04:34:40 +02:00
sktsqrl
3cb6e4a864 Redo BBA once again. Now it works on windows, if crappily.
To use, install OpenVPN's TAP device driver. Then create a network bridge between the TAP and your device connected to the internet.
TODO:
proper overlapped read - can look at qemu impl
non-windows impl
2012-06-29 17:33:56 -07:00
Pierre Bourdon
fa2ee1f4a0 Only call CheckExceptions in dcbz in interpreter mode, use FL_ENDBLOCK for Jit64. Now RS3 demo disc does ingame with Jit and block_size = 1 2012-06-20 18:33:23 +02:00
Pierre Bourdon
30de244050 Check for DSI exceptions after a dcbz instruction. Fixes Rogue Squadron 3 in interpreter mode. 2012-06-20 12:15:22 +02:00
Pierre Bourdon
e550623b11 Added a button to dump the FakeVMEM from the memory debugger if the game uses it 2012-06-19 13:51:29 +02:00
Pierre Bourdon
34606f34a9 Allow disassembly of FakeVMEM with the dolphin debugger 2012-06-19 11:57:57 +02:00
Pierre Bourdon
76a13604ef Optimize mtmsr by going to an exception exit only if EE are enabled and some
exceptions are pending.
2012-06-19 06:35:30 +02:00
Pierre Bourdon
bfc797ede1 Removed an obsolete comment 2012-06-16 14:39:17 +02:00
Pierre Bourdon
e1ddbdd214 Use WriteExceptionExit and implement the change for JitIL 2012-06-16 14:38:48 +02:00
Pierre Bourdon
da4141aa9f Simulate ARAM DMAState correctly and check for external exceptions after
MTMSR is executed.

This commits fixes issue 617. WWE Day of Reckoning 1 and 2 are now playable
with Dolphin.

The changes are not implemented for JitIL yet.
2012-06-16 14:38:44 +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
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
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
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
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
Matthew Parlane
1bc5f41e40 Fixes issue 5428. Thanks delroth. 2012-05-18 17:57:28 +12:00
Pierre Bourdon
fe1fdc5e7b Fix a compilation error 2012-05-16 09:38:58 +02:00
Pierre Bourdon
fdff4cb1ff Merge branch 'master' into wii-network
Conflicts:
	Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE.cpp
	Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_FileIO.cpp
	Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_es.cpp
	Source/VSProps/Dolphin.Win32.props
	Source/VSProps/Dolphin.x64.props
2012-05-16 09:27:37 +02:00
Pierre Bourdon
2b77acc705 EOL changes to ease the merge 2012-05-16 09:22:36 +02:00
skidau
5a8ad92302 Changed a JMP that needed to be a far JMP in JITIL. 2012-05-15 09:32:21 +10: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