Commit graph

2461 commits

Author SHA1 Message Date
Corn
50c3f2efaf [!] Dynarec: Improved performance of float compare and branching (BC1F/BC1T) (speedup)
[!] Dynarec: Removed exception check after interpreter calls from dynarec (speedup)

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@676 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-18 20:14:57 +00:00
salvy
90964de902 [!] Simplified branch type functions (Compiler was adding a bound checking, also reorder Enum to allow other optimizations)
[-] Removed svnversion.h (this created automatically anyways)

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@675 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-18 10:55:24 +00:00
salvy
443022494e [!] Update InsertTimer base pointer when is modified (fixes Animal Crossing no longer Quick methods in osInsertTimer)
[!] Enable TLUT hack for Beetle Racing (Game works fine now, Thanks King Pepper for reporting it!)

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@674 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-16 18:45:56 +00:00
salvy
cf8f01eaca [+] Added Polish translation by malymi45
[!] Removed hacks used to correct string length of translated strings 
[!] Avoid computing strlen twice when translating strings

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@673 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-15 18:47:19 +00:00
Corn
0bcbaae951 [!] reverted change that causes Yoshi to BSOD
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@672 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-15 17:20:42 +00:00
salvy
bae36ad5ba [!] Fixed debug build
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@671 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-15 16:48:08 +00:00
salvy
341cd0b5b3 [~] Forgot this
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@670 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-14 02:41:49 +00:00
salvy
411c6061cc [!] Simplified ConvertToPhysics (Check k0/1 in one go)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@669 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-14 02:39:07 +00:00
salvy
b5b996df10 [-] Removed Memory_ReadInternal (only used for debug purposes anyways, saves memory too!)
Note: Debug build is busted!

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@668 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-14 00:04:19 +00:00
Corn
cb9f855f66 [!] Dynarec: Disabled divide by zero check for DIV/DIVU
[!] Dynarec: Removed sign extension on MULT/MULTU & DIV/DIVU

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@667 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-13 13:03:23 +00:00
Corn
2becc08549 [!] minor cleanup in Codegenerator
[!] Added K0 & K1 as non temp registers

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@666 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-12 19:47:51 +00:00
salvy
d619f9d975 [!] Some more optimizations with QuickWrite/Read methods
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@665 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-08 19:23:02 +00:00
Corn
868f19f55e [!] Clean up of GU HLE patches and made them compatible with CPU only
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@664 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-08 18:45:24 +00:00
salvy
d52b7793bd [!] Optimized HLE osSendMesg/osRecvMesg patches (saved 145 ops, yay QuickRead/Write)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@663 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-08 06:17:42 +00:00
salvy
61fa6af06e [!} Optimizations to HLE gu patches (saved over 160 ops)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@662 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-08 05:26:51 +00:00
Corn
c1133f7877 [!] reverted HLE cache patch (while it does cause issues there are more HLE issues in Fzero)
[-] removed redundant SP register update code in dynarec

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@661 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-07 20:02:37 +00:00
Corn
1335817044 [!] use CPU only for memcopy in HLE Patch_memcpy()
[-] Disable osInvalICache HLE patch since it causes issues in some games(Fzero/Starfox) 

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@660 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-05 14:33:27 +00:00
salvy
8d33b40f27 [!] Fixed issue in oshle that was breaking Star Soldier
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@659 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-05 02:34:48 +00:00
Corn
ece1c6efd2 [!] Dynarec: More improved in SLTx functions (32bit bit)
[!] Fixed BlendExplorer to work with new blend functions

Note from Strmn that SLTI is buggy in 64bit mode


git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@658 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-03 18:58:00 +00:00
salvy
15d0af0cc5 [!] Removed number of cycles from blendmodes (blendmode explorer needs to be updated!)
[~] Fixed debug build

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@657 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-03 12:30:59 +00:00
salvy
70dea65db5 [~] opps
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@656 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-01 20:57:34 +00:00
salvy
354cc8258e [!] Fixed DKR from previous commit
[!] Removed RecolourTextureWhite from blendmode (not used)

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@655 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-01 20:56:25 +00:00
salvy
0f8ffabc3d [~] Fixed debug build
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@654 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-01 19:40:32 +00:00
salvy
8f5e06f6a5 [!} Some clean ups and simplifies
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@653 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-01 19:20:18 +00:00
Corn
daf8cd66b4 [!] HLE: changed code for CPU/FPU register save (better for CPU cache)
[!] HLE: Fixed annoying warnings
[!] DYNAREC: more optimizations for float load/stores (speedup)
[!] DYNAREC: Skip using full 64bit compare for SLT/SLTI/SLTU/SLTIU (speedup)

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@652 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-04-30 12:21:07 +00:00
salvy
c9a63af786 [!] Fixed a bug in osSpRawStartDma
[!] Fixed Daedalus not building under linux

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@651 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-04-25 18:51:18 +00:00
salvy
54bba54796 [!] Fixed build
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@650 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-04-22 19:46:48 +00:00
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
salvy
d1757fbeb9 [!] Made last stances of FPUControl[31] and CPUControl 32bit (Only the CPU inits are left)
[!] Some optimizations to OSHLE 

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@647 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-04-20 04:28:47 +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
salvy
8b72c5085d [!] Removed SimulateDoubleDisabled option (was replaced with specific game hacks)
[!] Tyde R4300_Cop1_CTC1 (saves 7 ops)
[!] Made all instances of FPUControl[31] to 32bit (Compiler was already optimizing it off anyways)
[!] Fixed languages not being unloaded properly when switching to default language
[!] Tyde when loading languages

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@645 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-04-18 03:33:42 +00:00
salvy
1fb864e9c9 [!] Rewrote COP1 unusable handler (again..) (Based from Strmn's original approach which is alot cheaper, since it doesn't add overhead to FPU heavy games like Zelda) - Note : All games that didn't like it, work fine now.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@644 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-04-16 01:52:48 +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
salvy
ffe6238764 [!] Code clean ups, mostly made debug only code which is obsolete in release
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@642 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-04-13 07:40:03 +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
85f3b021fe [!] Fixed various compile errors for debug versions (Dynarec stats work now)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@640 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-04-03 19:26:29 +00:00
Corn
d33bed74b3 [!] Fix for invalid light direction (avoid div zero) and debug output
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@639 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-04-02 19:25:41 +00:00
salvy
ea3e838fbb [!] Some small optimizations
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@638 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-04-02 02:16:42 +00:00
salvy
dbef2f7350 [!] Simplified RDP_MoveMemLight (~30 ops)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@637 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-04-01 22:19:46 +00:00
salvy
77a7fa15ea [!] Removed completely overhead of "Disable Simulate Doubles" (we now patch the R4300 jumptable as needed)
[~] Removed some unused code

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@636 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-03-30 22:12:38 +00:00
Corn
7d6b56ceb3 [!] more optimizations to float to int conversions
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@635 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-03-30 17:59:00 +00:00
Corn
bad448cd27 [!] Fix float to int conversion
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@634 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-03-29 19:27:13 +00:00
salvy
1c1894afd8 [!] Removed overhead of Buck Bumble hack from Cop1_D_ADD, biggest win is for games that need simulate doubles disabled
[!] Enabled simulate doubles for Buck Bumble (slight speed up) 
[!] Use pspfpu math for interpreted Opcodes that use floorf,roundf,truncf etc (generates much better assembly, for example our own implementation added mfc1) 
[!] Do proper floorf,roundf,truncf for Double precision Opcodes that use them (we should use double precision from libc actually( Im sure this the reason we didn't handled them in the first place?).. but since we simulate doubles for most games and doing it natively with single precision is alot faster, better than not handling them at all ;). Should fix some random bugs)

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@632 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-03-27 22:09:42 +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
c3671ef59e [!] Simplified as much as possible DMA_PI_CopyToRDRAM (based from Mupen's dma_pi_write)
[~] Some clean ups

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@630 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-03-21 01:30:39 +00:00
Corn
0d1cb7d636 [!] Fix rayman hack
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@629 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-03-16 20:23:27 +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
81c6fb5c64 [!] optimization and additional fixes for rayman hack
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@627 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-03-16 16:59:08 +00:00
Corn
ac9c584e6e [+] improved T1_HACK it now merges T0 with T1 so PSP can render textures properly(Rayman2, Donald Duck, Earth worm jim, Tom & Jerry)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@626 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-03-15 21:16:25 +00:00