Commit graph

174 commits

Author SHA1 Message Date
Corn
9f409e389c [+] Optimized non swizzled loads and stores when MemOpt fails
[!] Some cleanup in non handled OPs in dynarec

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@649 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-04-22 14:19:14 +00:00
salvy
bde08d245f [!] Some CodeGen logic optimizations
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@648 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-04-22 02:37:55 +00:00
Corn
e73ee9e5fc [+] Optimized MemOpt static analyzer
[+] Implemented LWC1/SWC1 (Skipping MTC1/MFC1 for every access to or from FPU)
[+] Re-use old base register if possible for LW/LWC1 and SW/SWC1 (skipping address calculation for every load and store, most effective with MemOpt enabled)
[!] LoopOpt should be much more stable now 

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@646 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-04-19 20:12:00 +00:00
Corn
3f1e612b52 [-] Reverted LWC1/SWC1 FPU OPs (caused to many issues need more work)
[!] Reorganized Build Config flags

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@643 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-04-13 13:12:34 +00:00
Corn
4e7d69e889 [+] Dynarec: Added K0 and K1 to available cashed regs
[!] Dynarec: Skip sign extension on GP and SP regs on update
[!] Dynarec: Optimized ADDU when when source reg is R0
[!] Dynarec: Optimized ADDUI not to store sign extension on SP reg
[+] Dynarec: Implemented LWC1 and SWC1 to load and store directly to FPU
[!] Fixed some ASSERTs
[-] Removed automatic fragment dump on ROM exit

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@641 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-04-10 14:55:18 +00:00
Corn
c579df6db4 [!] Clean up and optimizations in Dynarec
[!] Clean up and nicer looking tool tip
[!] Clean up in T1_HACK  


git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@631 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-03-27 19:37:42 +00:00
salvy
7b2183b505 [~] Removed unused code from Fragment.cpp
[+] Added const and pure attributes which when given correctly the compiler can do some additional optimisations

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@628 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-03-16 17:27:58 +00:00
Corn
a6c58b4d9b [!] fixed missing function in previous rev
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@625 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-03-14 19:11:33 +00:00
salvy
bee8785d7f [!] Optimizations to CodeGen (small speed-up)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@624 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-03-13 22:24:13 +00:00
Corn
d7bbcab7df [!] Small optimization in Dynarec/fragments
[!] Disabled Loop Opt for Donald Duck Going Quackers
[~] Reverted Loop Opt to old code (pre 618)

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@541 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-12-17 19:42:49 +00:00
Salvy
c4d9f89e02 [!] Simplified memory access analyst (shoves off 3k+ ops in StaticAnalysis.cpp)
[!] Simplified parameters in CodeGen

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@387 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-09-01 05:44:22 +00:00
Salvy
f98d6981d4 [!] Clean up options etc (Removed Stack Optimisation option, it works perfectly fine with all the games, there's no point to have an option for it)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@355 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-08-15 21:28:54 +00:00
Salvy
aa403ef24e [~] Corrected typo from previous commit which broke GenerateCACHE (Corn)
[!] Enabled option to ignore memory bound checking in release mode (slight speed up)

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@344 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-08-08 18:39:14 +00:00
Corn
efaf483618 [!] some small optimizations in code generator
[-] removed non working fix for TV output

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@343 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-08-07 14:57:50 +00:00
Salvy
ef103db924 [!] Optimized GenerateCTC1
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@342 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-08-06 14:31:06 +00:00
Salvy
d79531585d [+] Implemented MFC0 in dynarec
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@341 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-08-06 06:58:04 +00:00
Salvy
aeaf90d317 [!] Trap r0 write in LW (fixes San Francisco 2049 crashing when race is about to start)
[+] Added debug code to detect r0 writes

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@312 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-06-24 22:41:24 +00:00
Salvy
04329769c3 [-] Reverted changes from 64 -> 32bit in interrupts (slightly slower but safer)
[-} Reverted change in GenerateCFC1 (it caused issues in the interpreter, it can be risky for the dynarec as well)

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@229 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-04-12 06:20:36 +00:00
Salvy
8e463d7064 [!] Fixed two bugs in oshle when loading from ss (fixes Doom and RR64 when loading from ss)
[!] Inlined IsDirty ( We need to clean up N64RegisterCachePSP, is really messy )
[~] Small changes to polish gui for Beta 3

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@137 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-02-14 03:17:31 +00:00
Salvy
9bc291106b [-] More clean ups to dynarec
[!] Forgot to enabled mem access opt for cache op

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@78 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-01-13 07:32:55 +00:00
Salvy
04f8b89782 [~] Simplified a couple of parameters in dynarec codegen
[~] Disabled mem opt for LW op (breaks Paper Mario)
[~] Do mem access opt for cache op (balances speed lost from LW)
[!] Made RDP_SetOtherMode debug only (we no longer use gRDPOtherMode._u64 anyways)
[+] Added locally a modified build.mak, also restored -MD flag and old makefile style) 


git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@77 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-01-13 06:33:20 +00:00
Salvy
de2b288b5b [!] Merge back Memory Access opt (Disabled by default, Mario 3D head is now 25+ fps)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@42 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-01-05 06:45:30 +00:00
Corn
4d1d08b178 [+] inline N64 register cache functions
[-] printf in audio HLE 

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@9 42e9bfbe-799a-4a2d-bad1-236e862a387a
2010-12-24 19:22:55 +00:00
Salvy
bdbd952c60 [+] Initial repo (based from r630 dx64 branch)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@3 42e9bfbe-799a-4a2d-bad1-236e862a387a
2010-12-24 04:37:41 +00:00