Commit graph

2789 commits

Author SHA1 Message Date
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
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
Wally4000
0b7249ea27 added
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@623 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-03-08 03:28:21 +00:00
Corn
f3406a94b2 [-] reverted ucode changes from previous rev since it broke ucode changes
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@622 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-03-06 21:58:16 +00:00
salvy
722ea29353 [!] Play with pointers to avoid (expensive) array building for custom ucodes, removed array for custom ucodes too. (~20 ops)
[~] Some clean ups InitMicrocode
[+] Added -pipe option to makefile for faster compile time (Note: This will use more RAM from your computer, make sure to have atleast 512Mb+ when compiling Daedalus)

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@621 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-03-04 02:57:31 +00:00
Salvy
410a4c24a6 [!] Do not render Conker's shadow (even though our generic blendmode does hide it fine, we can save some cycles by not rendering at all)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@620 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-02-25 23:56:06 +00:00
Corn
45f6ecc182 [!] Additional fixes to T1 hack
[!] Clean up tris culling
[!] Optimization of zero size tris for GE and PD

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@619 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-02-22 19:39:43 +00:00
Corn
62f9e66462 [!] Fixed T1 hack (textures in Donald Duck and Rayman2 should look very good eg. non blocky)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@618 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-02-21 20:34:17 +00:00
Salvy
3ad78170bc [!] Fixed potential bug in our home button implementation with signed builds under FW 6XX or higher
[!] Slight change to our loading screen for ROM buffer

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@617 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-02-17 21:11:50 +00:00
Salvy
7797f48dfb [!] Fixed typo in hash in all translations
[!] Only try to load language files once when system inits
[!] Fixed crash when number of language files changed
[+] Conserve the order of languages, regardless if their number was changed
[!] Increase ROM cache size for PHAT from 2MB to 4MB

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@616 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-02-17 20:47:22 +00:00
Corn
ac5f60f2e4 [!] Fixed loading screen showing progress bar
[!] fixed text for buffer modes

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@615 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-02-13 18:33:50 +00:00
Salvy
1e18d8e339 [+] Added quick loading bar for ROM buffer (based from our compressed Rom loading bar, pretty much a test, doesn't work with many games, ex SM64)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@614 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-02-13 01:40:28 +00:00
Salvy
ec58ebcab3 [!] Updated French translation (niccoooodu61)
[!] Huge clean up (redundant code, unnecessary checks/asserts etc) in our RomFile code
[!] Removed nasty hack I had when either reading to header of Rom or loading Rom completely (everything is allocated separately now to avoid this sort of bugs..)

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@613 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-02-13 00:42:15 +00:00
Salvy
ee3e1c854b [~] More clean ups to ROMFileMemory
[!] Made more robust when Allocating and freeing ROM Cache/Buffer
[+] Create memory pool for PHAT as well to avoid fragmentation and keep things neat

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@612 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-02-11 22:09:03 +00:00
Corn
b5aeded531 [!] Made ROM cache lines equal length regardless of cache size
[-] Removed debug info
[!] Changed description text for ROM buffer/cache 

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@611 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-02-09 19:52:29 +00:00
Salvy
89b4f4bf4c [!] Fixed PHAT compatibility with recent changes
[!] Made conditions when using large Rom cache or Rom buffer, more safely to avoid any unwelcome bugs ;)
[!] Some clean ups 

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@610 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-02-08 22:54:44 +00:00
Corn
95ee660a64 [+] Add 1.5MB of volatile RAM to the memory pool for textures (SLIM->5.5MB and PHAT->3.5MB)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@609 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-02-08 19:32:03 +00:00
Salvy
61b047c560 [!] Clean ups and fixes to previous commit
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@608 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-02-08 01:19:26 +00:00
Salvy
f5e0eff5b6 [!] Allocate the entire extra memory of PSP Slim and newer models (32mbs in total)
[+] Added a new option (Found in Global Settings) which allows you to use either Rom cache (default, slower but faster boot time) or Rom Buffer (faster, but slower boot time, since it has to buffer the entire Rom to the Ram, Note: Any Rom biger than 32mbs will fall back to use Rom Cache)
[!] Don't allocate RomCache if we load the whole ROM (Rom Buffer)
[!] Don't allocate memory for VideoManager (Was used to fall back if running out of VRAM, happens very rare [about 3 known games, we could use the volatile memory for this eventually?] )

All of these is a nop for PSP Phat.
Note: This is a WIP!!!!

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@607 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-02-07 01:42:32 +00:00
Salvy
7acfbde220 [!] Updated Spanish translation (Ricot)
[!] Updated French translation (niccoooodu61)
[!] Tyde compile flag to disable compressed Roms support, also disabled remaining code used for it.
[~] Reverted Rom cache size change for Phat PSPs
[~] Some small cleans ups

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@606 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-02-04 21:49:35 +00:00
Salvy
fe2543c589 git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@605 42e9bfbe-799a-4a2d-bad1-236e862a387a 2012-02-03 18:15:10 +00:00
Salvy
f5151c39bb [!] Forgot this
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@604 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-02-03 18:13:37 +00:00