tehpola
8e140b39f6
Removing constant propagation and an unfinished function from dynarec. It'll remain in the tehpola branch, but doesn't really need to be here now.
2010-05-23 02:26:22 +00:00
emukidid
fab771a95b
Fixup for GC and wrappers.c
2010-05-23 02:22:17 +00:00
emukidid
a6af2bf913
Ported dynarec from /tehpola (with func linking and constant propagation)
2010-05-23 02:20:16 +00:00
tehpola
0f5f64a1ab
Changing start_addr and end_addr in funcs to be 32-bit instead of the shortened 16-bit addresses previously used. This allows links_out to use func trees correctly (previously conflicts would arise between links that had overlapping 16-bit addresses).
2010-05-22 11:58:11 +00:00
sepp256
a16995ceed
Fixed PAL video mode issue which caused a crash on Load ROM.
2010-05-22 08:08:17 +00:00
emukidid
5d215b35f1
ROM-Cache-MEM2 bug fixup (length/4 would round much causing bad reads)
2010-05-21 16:03:38 +00:00
tehpola
5629955b53
Linking on the PS3 now uses CTR to branch to an absolute address so there are no issues if the code is too far apart.
2010-05-21 15:37:45 +00:00
tehpola
31cecb51b7
Adding DCFlushRange and ICInvalidateRange from libogc to make sure that code is properly flushed and invalidated when modified.
2010-05-21 15:36:06 +00:00
tehpola
aed2fe7c96
I recently realized that mtfsf uses a FPR as its source register, not a GPR, so I've adjusted the CVT_W_FP code to work properly based on that. Currently, however, this runs the risk of unsetting IEEE mode and/or enabling inexact exceptions.
...
Also, I've added the nonvolatile func register to the clobber list of dyna_run.
2010-05-21 15:33:10 +00:00
emukidid
5f5e7f7d46
Code formatting cleaned up in exception.c and interupt.c
2010-05-21 15:27:50 +00:00
tehpola
985b1e3ce3
Bringing ps3 branch up to speed with changes made locally on my PS3.
2010-05-19 00:14:08 +00:00
tehpola
e0511214d6
Porting over fix from r396 from ps3. I had ensured that the jump pad would be created of the last instruction in a block (usually a delay slot) is branched to.
2010-05-19 00:02:28 +00:00
tehpola
cfb476738d
Porting latest func linking LRU fixes to PS3 for further debugging.
2010-05-18 23:55:49 +00:00
tehpola
eca4bbffff
Fixing issues with previous committed code. The LRU preservation when linking still crashes for now.
2010-05-18 23:28:49 +00:00
emukidid
5160b54f8b
Fix TLB-Cache.c compile issues
2010-05-18 22:33:05 +00:00
tehpola
94c3efb75b
Refactored TLB-Cache to reduce code duplication.
2010-05-18 16:50:30 +00:00
tehpola
32df09cf36
Updating my ROM-Cache code which was somewhat missing from the repository.
2010-05-18 16:48:09 +00:00
tehpola
43cd92577a
Adding missing profiling defines and printing.
2010-05-18 16:46:49 +00:00
tehpola
95da7d5425
Attempt at maintaining LRU when linking. This adds 4 instructions to direct branches out. This hasn't been tested yet, but does compile.
2010-05-18 16:45:26 +00:00
tehpola
f8f923aebe
Changed the freed_funcs tree to a linked list so that there was no need to dereference the necessarily freed pointers. Func linking seems to work now, but LRU won't be preserved through links currently.
2010-05-18 16:43:28 +00:00
tehpola
06e1452165
Porting previous commit to PS3 branch so that it won't link from freed funcs.
2010-05-18 16:38:22 +00:00
tehpola
0e5d263187
In Recompile.c, I create a tree of freed funcs which I can test the source of a link against to avoid trying to link an old func with its new hole.
2010-05-18 16:33:30 +00:00
tehpola
a7282f94c6
Looks like I had written the unlinking code before I added the func field to the link node structure because I was testing whether the branch of a potentially outgoing link resided in the func's code rather than just checking whether the link belonged to this func.
2010-05-18 14:15:51 +00:00
tehpola
97a5010e1c
Fixing some typos from previous commit
2010-05-18 14:13:34 +00:00
tehpola
a27820ee71
Replacing direct branches to external functions with lis/ori/mtctr/bctrl in generated code.
2010-05-18 14:10:14 +00:00
emukidid
9333e6f4c0
LWC1 / LDC1 FASTMEM ported to googlecode
2010-05-18 14:05:11 +00:00
tehpola
98e311e261
Fastmem LWC1/LDC1
2010-05-18 12:02:28 +00:00
sepp256
2fb62692cf
Tweak to fog parameter calculation.
2010-05-18 05:28:26 +00:00
sepp256
9f7de0a9b7
Always use software matrix transforms because hardware ones break on Goldeneye.
2010-05-18 05:28:03 +00:00
tehpola
3a6cfab57f
Rewrote execute-from-ROM support to use ROMCache_pointer
2010-05-15 03:50:03 +00:00
tehpola
0494f986b5
...and to the ROM-Cache header
2010-05-15 03:48:03 +00:00
tehpola
24d074e235
Adding ROMCache_pointer to ROM-Cache-MEM2
2010-05-15 03:46:48 +00:00
tehpola
0bae5a6eef
Removing ROMCache-MEM2's L1
2010-05-15 03:45:39 +00:00
emukidid
7b3411d899
GOLDENEYE WORKING IN DYNAREC!!!
2010-05-15 03:42:42 +00:00
tehpola
628a9ca5c7
Merging func linking into ps3 branch for debugging. This may not compile, and most certainly won't be stable.
2010-04-27 23:17:30 +00:00
tehpola
98f9f195e5
Actually enabling FP to/from long instructions via Interpreter defines
2010-04-27 23:13:19 +00:00
emukidid
aba3e986c1
- Full TLB in ARAM for GC (-DARAM_TLBCACHE & TLB-Cache.c)
...
- GC ROM cache is ~3.93MB (63x64Kb blocks) in ARAM
- Moved ARQ_Init and ARQ_Reset to ARAM_manager_init
- TODO: revise ROM cache or possibly remove it from ARAM to L1
2010-04-27 22:17:27 +00:00
emukidid
7105989276
Whoops, I forgot to add the actual ARAM-blocks.c and ARAM-blocks.h files
2010-04-27 22:16:22 +00:00
emukidid
c785428d7d
- ARAM-blocks blocks array in ARAM for GC (use -DARAM_BLOCKCACHE)
...
- recompCache on GC bumped up to 8MB
- ROM cache now 11.75MB for GC
- L1 ROM cache for GC increased (but still disabled)
- Wii uses inline funcs which use blocks[] array, no difference
2010-04-27 22:15:02 +00:00
tehpola
7108755e55
Stop rumble for Classic and Wiimote+Nunchuk when game is paused
2010-04-27 14:16:40 +00:00
tehpola
9d9f4ddf5a
Implemented TILT_AS_ANALOG flag for Wiimote+Nunchuk
2010-04-27 14:15:19 +00:00
tehpola
50060ceaac
Added "Shooter" configuration to Wiimote+Nunchuk and implemented NUNCHUK_AS_C and IR_AS_ANALOG flags for that config
2010-04-27 14:13:57 +00:00
sepp256
cc85641a6d
Logo texture now chosen by compile define.
2010-04-27 00:35:48 +00:00
sepp256
5ad57b779a
Simplifying libgui/menu headers.
2010-04-27 00:25:32 +00:00
tehpola
ec1ecd205c
Infrastructure for controller configurations. Only one configuration exists for each type so far.
2010-04-16 14:59:07 +00:00
emukidid
2b7961db26
Added appropriate headers to libgui and menu to fix compile issues with latest libogc/devkitPPC r18.
2010-04-16 12:23:08 +00:00
emukidid
e1fc243af9
fixed libDI fail if we DI_Close before DI_Init.
...
changed powerpc-gekko* to powerpc-eabi* in Makefile.menu2_*
2010-04-16 12:16:22 +00:00
tehpola
e2e1f7147f
Constant propagating through ADDI
2010-04-15 15:43:28 +00:00
tehpola
ee879ed0b7
Very basic constant propagation: LUI creates a constant that LW will consume if it is otherwise untouched
2010-04-15 15:42:31 +00:00
tehpola
a297a97cf1
Constant propagation Register-Cache code. Now it just needs to be used
2010-04-15 14:37:35 +00:00