Commit graph

174 commits

Author SHA1 Message Date
strmnnrmn
9bc86745b7 [~] stdafx cleanup: Pull in Utility/Profiler.h directly
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1689 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-05-18 16:05:14 +00:00
salvy
176f84db75 [~] Very minor typo from previous commit
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1660 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-05-03 07:24:11 +00:00
salvy
80de2072d5 [+] Implemented task freeze (DK64 gets in game now!, intro works fine too, in game has core issues though)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1659 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-05-03 06:56:45 +00:00
Corn
1573d89716 [!] bugfix to LWL/LWR in combination with dynarec memory opt. make sure to invalidate cached loadbase address before and after the OP (fixes Banjo-Kazzoie)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1398 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-24 20:08:02 +00:00
Corn
e1975480ac [!] Fixed some typos and optimization for DDIV/DDIVU
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1099 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-26 13:49:33 +00:00
Corn
53cc23d9ed [!] Fixed and enabled DDIV/DDIVU instructions in Dynarec
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1098 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-24 18:22:17 +00:00
Corn
e988445c84 [!] Keep cached known values once they get loaded into a cached register
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1086 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-23 18:05:48 +00:00
Corn
67dd282e40 [!] Base regs gets reused for loads/stores (not LWL/LWR) until the base reg gets modified (small speedup ~2%)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1058 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-22 21:31:12 +00:00
Corn
7071846c2d [!] Use K0/K1 regs to store current load/store base reg address
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1053 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-21 20:46:15 +00:00
Corn
577fc3cd72 [!] Handle LWL/LWR in direct load path too (fixes Rayman2)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1052 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-21 20:07:37 +00:00
salvy
0091202937 [`] Fixed various typos from my previous commits
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1049 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-21 17:29:00 +00:00
salvy
6f304819d1 [!] x86 platform compiles now
[!] Fixed virtual alloc (x86)
[-] Removed debug COP2 code

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1040 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-20 20:39:26 +00:00
Corn
7c69ec021a [!] Fixed and enabled LWL/LWR instructions in DynaRec
[!] WIP on DDIV(U) instructions

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1032 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-19 20:54:29 +00:00
strmnnrmn
2994b74fdd Fix trailing whitespace
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@975 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-17 15:04:18 +00:00
Corn
4be4e488f7 [+] Implemented DSRA and DSLL (used in Doom64)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@955 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-12 20:53:04 +00:00
Corn
b11fa5b80e [!] corrected typo in DMULTU ASM
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@954 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-11 21:50:32 +00:00
Corn
b264f93b28 [!] Added DMULT & DMULTU to dynarec (nice boost in Doom64 and others)
[!] reverted sign extension removal of MULTU

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@951 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-11 19:16:30 +00:00
Corn
c04455bc57 [!] Dynarec now compiles code within a fragment so the result from MULT(U)/DIV(U) is taken directly from HI/LO regs.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@949 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-10 19:10:20 +00:00
Corn
1e81ff15b6 [!] Avoid using A1/V1 registers if possible (since these store current pre-calculated load/store base address)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@948 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-09 18:55:28 +00:00
Corn
a469003dfa [!] Fix crash in Aerogauge
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@945 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-07 13:43:14 +00:00
Corn
1984a9a9d9 [!] Ops seems all games but SM64 liked last commit, small fixed it
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@943 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-05 19:59:57 +00:00
Corn
f6d332ac84 [!] Additional improvements to Dynarec Memory opt.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@942 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-05 19:38:59 +00:00
Corn
13b4b02ff9 [!] Optimized Dynarec Memory opt. to keep both load and store regs also when COP1 opcodes are issued.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@941 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-05 15:12:14 +00:00
Corn
fd472f60df [!] PspFastRand() is now just FastRand().
[!] Make sure to invalidate regs when exiting a fragment.

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@937 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-03 21:59:04 +00:00
strmnnrmn
0f7e430619 [~] Merge whitespace fixes to some dynarec files
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@910 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-02 12:11:42 +00:00
Corn
be3e511061 [!] Some cleanup and optimization in DynaRecStubs.S
[!] fixed CRLF on additional files

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@906 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-01-30 19:47:24 +00:00
Corn
ed3a2cf7f6 [!] Made it possible to print values from ASM ( make sure value is in A0 and call JAL( CCodeLabel( (void*)_printf_asm ), true ); )
[!] small optimization of HandleException_extern()

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@899 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-01-26 13:29:01 +00:00
Corn
63abfdd381 [!] Optimization (interpreter) avoid excessive branching for floating point compare instructions
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@891 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-01-16 21:34:57 +00:00
salvy
b9378e1b4e [+] Implemented FLOOR_W_S in dynarec (used in Yoshi Story)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@890 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-01-11 18:56:13 +00:00
Corn
8cb35c0708 [!] Simulated CVT_D_S causes issues (in EWJ/PPGirls/Tom&Jerry/Mario Party) It is now made compatible with both interpreter and dynarec simdoubles
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@889 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-01-11 13:59:23 +00:00
Corn
c0b2ff0c69 [!] Power Puff Girls is now playable(textures are mostly fixed, use video rate match enabled)
[!] No need to use simulate doubles in Conker/Tom&Jerry/Mario Party Draft mini game/Earth Worm Jim/Power Puff Girls
[!] Fixed a subtle bug in MOV.D (both in interpreter and dynarec) that caused problems in Conker(and possibly other games)
[!] Added direct access to doubles in the emulated registers (FPUD)


git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@888 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-01-11 11:39:06 +00:00
Corn
49d6192e46 [!] Freed usage of T0/T1 registers in Dynarec. temp regs are now A0/A1 & V0/V1 (A2/A3 are still not freed but are unused)
[!] Use of two scratch registers in the CPU register struct for easy storage of temp variables (mainly used in Dynarecstubs.S)


git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@869 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-12-16 16:36:37 +00:00
Corn
da636325dd [!] Free up AT register for use as cached register in dynarec (case must be taken not to use A0 for load/store of variables)
[!] Removed usage of T0/T1 register (use V0/V1) except for in load/store OPs in dynarec.
[!] Some additional fixes to Fastmemcopy (and removed usage in PSPrenderer) tnx Salvy.
[!] Slight improvement of SW ep1 racer shadows (blendmode)

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@859 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-12-10 18:57:31 +00:00
strmnnrmn
96daafcb4c [~] Rename g_ReadAddressLookupTableForDynarec to g_MemoryLookupTableReadForSynarec (match C variable name)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@853 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-12-08 15:40:04 +00:00
strmnnrmn
ba29dea5cc Fix line endings - mostly LF with a dash of CRLF
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@851 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-12-08 14:20:44 +00:00
strmnnrmn
8ef65c6894 Fix mixed Windows/Unix line endings in a bunch of files. Add missing newlines before EOLs
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@849 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-12-08 14:20:20 +00:00
Corn
a39afafcb4 [-] Removed the usage of K0/K1 registers for the DYNAREC
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@826 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-12-02 09:24:09 +00:00
strmnnrmn
d7d116642a Fix more trailing whitespace (files with CRLF line endings?)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@825 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-11-28 23:23:11 +00:00
strmnnrmn
767e4efd9c Fix line endings
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@822 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-11-28 22:11:57 +00:00
salvy
53a80ed3ae [-] Removed Jump table for Dynarec
[!] Increased hash table size for fragment cache to 2048 entries

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@797 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-10-31 20:03:51 +00:00
Corn
86687f701c [!] Tidy up RDPStateManager
[!] Brought back old DYNAREC compiler with a #define in CodeGenerator.h (until new one is bug free)

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@796 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-10-31 13:05:51 +00:00
salvy
9a93540add [!] Clean ups/improvements to dynarec jump table
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@795 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-10-30 20:29:05 +00:00
salvy
3cd7395f61 [+] Use a Jump table for Dynarec (this is very dirty due the restrictions of C++..) WIP!!
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@793 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-10-30 19:37:03 +00:00
Corn
f7ba7a5e21 [!] Disable Dynarec implementation of LWR/LWL and SWR/SWL unaligned load/store used in OOT animations
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@764 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-09-04 18:33:15 +00:00
Corn
7daabc6eda [!] Optimized branch delay slots in dynarec service routines
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@750 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-08-15 18:48:53 +00:00
Corn
fc3435211f [!] Fixed dynarec access to broken pointer from previous rev
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@749 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-08-15 17:54:28 +00:00
salvy
ed7c346f47 [!] Optimized memory pointer table optimization (faster, and no longer computes the address twice when table is invalid) (Note: Dynarec is broken! Need to update DynaRecStubs.s)
[~] Removed "fast" memory write table (pointer table was already optimizing out) (saves memory too!)
[!] Increased maximum of clipped verts (Fixes Mortal Kombat 4) (Thnx jeanpave for reporting it)
[-] Reverted previous commit (I assumed wrongly that memory alloc was done in word size.. thnx Corn for pointing out!)

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@747 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-08-15 00:27:28 +00:00
salvy
cfb4c3a995 [!] FPU reg is now 32bit
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@734 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-07-17 14:53:35 +00:00
salvy
36f553f465 [!] FPUControl is now 32bit
[!] Some small optimizations in OSHLE

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@733 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-07-17 14:37:15 +00:00
Corn
9f6a16deb7 [!] CPUControl is now 32bit (from 64bit)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@730 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-07-16 09:51:56 +00:00