Commit Graph

792 Commits

Author SHA1 Message Date
Ryan Houdek
7f3c06de27 [ARM] Add a few instructions. 2013-08-12 02:52:56 +00:00
Ryan Houdek
4ed8972c30 [ARM] Implement andx, andi_rc, and andis_rc. 2013-08-11 08:21:17 +00:00
Ryan Houdek
42aef24d78 [ARM] IMM support for all integer instructions that call ComputeRC. Small FPS gains everywhere. 2013-08-11 07:41:23 +00:00
Ryan Houdek
ef83d03dc0 [ARM] Fix ori again. 2013-08-11 05:07:20 +00:00
Ryan Houdek
805009abca Fix a merge fail that happened when I merged in Android. It is just a bit of duplicate code, no issues came from it. 2013-08-09 19:01:27 +00:00
Ryan Houdek
873987bc99 [ARM] Some initial support for immediates in integer. Plenty more to go. 2013-08-05 19:48:15 +00:00
Ryan Houdek
4752eae677 [ARM] Fix IMM support in the register cache. 2013-08-05 18:33:51 +00:00
Ryan Houdek
25fc0c27f3 [ARM] Make sure to flush a register location. IMM still doesn't work... 2013-08-05 07:15:15 +00:00
Ryan Houdek
f2e43f47a4 [ARM] Add support for IMMs to the GPR reg cache. Not yet using it since it doesn't quite work 2013-08-05 05:26:32 +00:00
Ryan Houdek
f485d96b0b [ARM] Remove Fastmem. It is buggy and may never have the potential to work correctly. 2013-08-05 05:26:32 +00:00
Ryan Houdek
db93b516b0 [ARM] Missed flushing our register caches in mtmsr. This would cause a buttload of problems, including the suspected ori being wrong issue. So flush caches and reenable ori. 2013-08-05 02:15:25 +00:00
Ryan Houdek
bafed349e8 [ARM] dcbst implementation. 2013-08-04 17:44:59 +00:00
Ryan Houdek
522d38d080 [ARM] Implement cmpl 2013-08-04 17:33:43 +00:00
Ryan Houdek
f690be3e94 [ARM] Disable ori since it breaks Wind Waker. 2013-08-04 17:05:53 +00:00
Ryan Houdek
cf8e8c91b6 [ARM] Implement lha and fix lfs. 2013-08-03 00:48:45 +00:00
Pierre Bourdon
8529addcc6 Removing the 'Clearing code cache' OSD message in Release builds 2013-07-29 09:56:50 +02:00
Ryan Houdek
a3e289e802 [ARM] Reenable FMRX, it seems to work fine. 2013-07-17 04:29:17 -05:00
Ryan Houdek
86826b28dc [ARM] Implement LFD. Reorder VFP register allocation a bit. 2013-07-17 04:23:38 -05:00
Ryan Houdek
5147e5167b [ARM] Implement xorx 2013-07-17 02:34:20 -05:00
Ryan Houdek
b30a697355 [ARM] Disable mfmsr. Implement stb and subfx. 2013-07-17 02:25:21 -05:00
Ryan Houdek
5899013876 [ARM] Implement MFTB 2013-07-17 01:35:07 -05:00
Ryan Houdek
fc6e06cb72 [ARM] Implement mfmsr 2013-07-17 01:25:06 -05:00
Ryan Houdek
bab3032185 On ARM Hosts, increase the instruction run count to 64bit. 32bit is /very/ quickly overflown. 2013-07-16 22:20:18 -05:00
Ryan Houdek
737df2a68c Patch from Degasus that removes the last of the the GL_TEXTURE_RECTANGLE usages. This is needed to have GLES3 support. 2013-07-13 17:24:23 -05:00
Ryan Houdek
d584150851 Remove a warning from ARM includes already defining PAGE_SIZE and a warning in the FPR cache. 2013-07-05 20:56:17 -05:00
NeoBrainX
15943de313 Revert "Added optimizations to ClassifyFloat/Double functions in Mathutil.cpp and to PPCCache.cpp"
This reverts commit 7aae9ccbc0.

Reasons:
- no test results have been provided to prove the usefulness of the patch
- broken coding style
- the author hasn't replied to any criticism
2013-06-22 12:25:03 +02:00
booto
a518a1cbdc buffer fixes found via cppcheck/tetsuo-- 2013-06-18 13:17:50 +08:00
eli173
7aae9ccbc0 Added optimizations to ClassifyFloat/Double functions in Mathutil.cpp and to PPCCache.cpp 2013-06-01 19:17:52 -05:00
John Peterson
f452a6442f Adding MMU state values to state
because that allow the MMU state to be loaded
2013-05-23 01:55:29 +02:00
Pierre
9a8dd7963e Merge branch 'dspjit'
Conflicts:
	Source/Core/Core/Src/DSP/Jit/DSPJitExtOps.cpp
	Source/Core/Core/Src/DSP/Jit/DSPJitMisc.cpp
	Source/Core/Core/Src/DSP/Jit/DSPJitRegCache.cpp
	Source/Core/Core/Src/DSP/Jit/DSPJitUtil.cpp
2013-04-21 12:29:18 +02:00
Ryan Houdek
9720d6b418 Allow runtime setting of fastmem in ARM and disable since it seems to be causing issues again. Cortex-A9 only? 2013-04-20 17:36:49 +00:00
lioncash
d244bca1f5 Fix a bunch of random typos in comments and logging.
Also update the comment headers for two functions in GCMemcard.cpp.
2013-04-19 09:21:45 -04:00
Ryan Houdek
47f1505499 Add a fastmem option for enabling and disabling fastmem at runtime. 2013-04-19 07:50:33 -05:00
Lioncash
ec10622425 New license header introduced to the Core project.
Also, remove DolLoader.h, it doesn't have any use. Boot_DOL.cpp/.h supercedes it.
2013-04-17 22:43:11 -04:00
Lioncash
2316cb6876 Remove all tab/space mismatches from the Core project. For anyone working on a branch that heavily involves the core, I am so sorry.
- Also killed off some trailing spaces/tabs.

- Updated the license header to be consistent with the rest of the project (All projects are now done moving over to this)

- Also, killed some dangling else's (where appropriate)

Now all the tab fixing is done. No more of this crap should be needed to be pushed. Rejoice!
2013-04-16 23:14:36 -04:00
Pierre
6b5b8ab5be Implement and use MOVZX(64, 32,...)
Probably better to keep that same-register-MOV assert useful. Also,
explicit type extension documents whats happening.

Internally, this boils down to the original MOV, but without the assert.
2013-04-14 13:34:29 +02:00
Ryan Houdek
ccf1cee203 Implement a few more store instructions on ARM 2013-04-13 05:02:27 +00:00
Ryan Houdek
62adcaf552 Fix fastmem on ARM 2013-04-12 20:19:42 +00:00
Jordan Woyak
385d8e2b15 ChunkFile has allowed me to accidentally "Do" a non-POD for the last time! 2013-04-09 19:02:22 -05:00
Lioncash
58159a1693 Some more logging typos and clarifications. Missed these in my last commit.
This commit mainly elaborates on some messages a little more. Also fixes some typos that slipped through the last commit.

A large change in text can be seen in EXI_DeviceMemoryCard.cpp. I added more info as to why a write to a memory card may fail. (This actually was a reason I was unable to write to a memcard recently).

Elaborations can be seen in WGL.cpp

I did change some comments in some files that I was correcting logging messages in, however this is only if I spot a typo or if an abbreviation is lower-cased. Even in that case, the amount of changes done to comments is very minimal.
2013-04-01 00:10:54 -04:00
Lioncash
f432d6038e Fix some typos and correct some capitalizations in the log messages.
Makes the logging look more orderly and less spammy when spitting out things.
2013-03-31 19:13:30 -04:00
skidau
e38e48923d Readded the tracking of the FIFO Writes.
Fixes issue 6165.
2013-03-28 19:36:37 +11:00
skidau
dfa1845ae1 Reverted rd76ca5783743 as it was made obsolete by r1d550f4496e4. 2013-03-25 01:01:29 +11:00
skidau
4fa61a1e7f Removed the tracking of the FIFO Writes as it was made obsolete by r1d550f4496e4. 2013-03-25 00:57:53 +11:00
Ryan Houdek
b512b23407 Reenable mulli and negx, seems to work fine. 2013-03-18 07:50:52 +00:00
Ryan Houdek
c93f7760ce Really clean up all the emitter loadstores on ARM. If a ARM device supports VFPv4, then it supports IDIVA, so handle that in CPUDetect. 2013-03-14 01:50:38 +00:00
skidau
83fc5f4747 Merge branch 'FIFO-BP'
# By skidau (30) and Pierre Bourdon (1)
* FIFO-BP: (31 commits)
  Set g_bSignalTokenInterrupt on the main thread.  Fixes the random hang in Harry Potter: Prisoner of Azkaban.
  Used a scheduled event to generate the ARAM DMA interrupt if the DMA is greater than a certain size.  Fixes NFS:HP2 GC.
  Bumped up the disc transfer speed enough to prevent audio stuttering in Gauntlet: Dark Legacy.
  Enabled Synchronise GPU on "SPEED CHALLENGE - Jacques Villeneuve's Racing Vision".  Required to go in-game.
  Added direct GameCube controller commands to the Serial Interface emulation.  Fixes the controls in MaxPlay Classic Games Volume 1 and the Action Replay disc.
  Increased the FIFO buffer size to 2MB from 1MB.  Fixes Killer 7's Angel boss.
  Used an immediate GenerateDSPInterrupt when transferring data from ARAM to MRAM and a scheduled DSP interrupt when transferring data from MRAM to ARAM.
  Fixes the audio cutting in and out in the Resident Evil GC games using DSP HLE. Triggered the ARAM interrupt by the scheduler instead of directly in function.
  Implemented proper timing for the sample counter in the AudioInterface, removing the previous hack. Cleaned up some of the audio streaming code.
  Skipped the EE check if there is a CP interrupt pending.
  Disabled "Speed up disc transfer" from the ZTP GC game ini.
  Removed the disc seek times for GC games and removed the disc speed option on Wii games. Checked for external exceptions only in mtmsr.
  Delayed the interrupts in the EXI Channel.
  Merge aram-dma-fixes (r76a13604ef49b522281af75675f044d59a74e871)
  Added a patch that bypasses the FIFO reset code in Wallace and Gromit: Project Zoo, allowing it to go in-game.
  Made vertex loading take constant time.
  Increased the cycle time of the vertex command.  Fixes "Speed Challenge: Jacques Villeneuve's Racing Vision".
  Moved the setting of the Finish interrupt signal back to the main thread as it was causing Wii games like Resident Evil 4 (Wii) to hang.
  Profile stores, fp stores and ps stores only to the fifo write addresses list.  This should make the JIT a little faster as it will not be checking for external exceptions unnecessarily.
  ...

Conflicts:
	Source/Core/VideoCommon/Src/PixelEngine.cpp
2013-03-12 19:47:59 +11:00
Ryan Houdek
8406d9972d Fix JIT from rebasing on PPSSPP ArmEmitter. 2013-03-12 02:35:29 +00:00
Ryan Houdek
b94b4a9e8f Rebase ArmEmitter on PPSSPP's base. The loadstores are making my heart cry at this point. 2013-03-11 13:57:55 -05:00
Ryan Houdek
f6d45ea461 Fix a potential issue when someone has a CPU core that isn't available on that host set in the INI file, it would just fail out. Now it defaults to interpreter. 2013-03-08 10:52:04 -06:00