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
salvy
05336a5db3
[!] Made DAEDALUS_ALIGN_REGISTERS compatible with previous changes (Might be a good idea to give it another shot since we have decreased register pressure lately)
...
[~] Forgot to twiddle address in previous commit
[+] Add back svnversion.h (Still needed when compiling Daedalus in cygwin)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@748 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-08-15 01:05:06 +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
cbf9f1ff31
[!] Reduced PIF RAM even more, now is only 16 bytes
...
[!] Pre-swap when writing to PIF RAM, also simplified MemoryUpdatePIF
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@746 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-08-01 17:01:08 +00:00
salvy
90af62af88
[!] Reduce PIF RAM usage from 2048 bytes to 64 (It can be reduced more, but need to do some tests first)
...
[!] Enabled SI hack for Cruisn' USA (it boots now)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@745 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-08-01 09:13:05 +00:00
salvy
86bf8344e9
[!] Simplify a few more things in Memory.cpp
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@744 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-08-01 07:07:46 +00:00
salvy
79f63e0b98
[!] Do not allocate memory for RD_REG4,RD_REG4,and DPS_REG (They are unused anyways)
...
[!] Simplified mapping Rom region (It'll use new memory mapping, as a result will respect Rom boundary as well)
[~] Some small clean ups
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@743 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-08-01 06:10:43 +00:00
salvy
d17c919540
[+] Add support for games that write to ROM (Bug's Life and Toy Story 2 boot now)
...
[!] Use fast memory read for DPC, AI, and SI reg
[!] Removed memory bound checking (paranoid checks..this was already disabled in release mode anyways)
[!} Several clean ups in memory.cpp
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@742 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-07-31 12:03:24 +00:00
Corn
3088c99ef2
[!] Fixed some dynarec constants that slowed down War Gods and PD
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@741 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-07-29 11:30:23 +00:00
salvy
6328ce297b
[!] Games that use EPAK should work again
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@740 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-07-29 03:35:29 +00:00
salvy
02698955e6
[!] Rewrote N64 memory initialization (This based from 1964 and Mupen)
...
[!] Simplified ReadRom/WriteValue_Cartridge (FlashRam read/write is more robust too)
[!] Use attribute const for ReadAddress (hints compiler to optimize further)
[~] Lotsa of clean ups in Memory.cpp etc
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@739 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-07-28 07:21:28 +00:00
Corn
4502ef5f4f
[!] It is now possible to map emulated CPU/FPUregs to psp scratchpad
...
[!] Debug_console is now possible to compile without silent flag
[!] Adjustments to dynarec/traces parameters
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@738 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-07-24 20:30:44 +00:00
Corn
bc7a7177a2
[!] Added showing handled speed hacks (with OP code) in dynarec (undef DAEDALUS_SILENT)
...
[!] moved some code under DAEDALUS_SILENT to DAEDALUS_DEBUG_CONSOLE and DAEDALUS_DEBUG_DISPLAYLIST
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@737 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-07-24 13:40:26 +00:00
salvy
fbcfff31df
[~] Fixed debug build
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@736 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-07-18 08:02:06 +00:00
Corn
585696e11f
[!] Some cleanup after 64bit to 32bit register changes
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@735 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-07-17 19:05:23 +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
salvy
c630081391
[!] SDC1,LDC1,LDL,LDR,COP0 (except ERET) don't need PC, removed entries which are already handled in dynarec too
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@724 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-07-13 11:19:02 +00:00
Corn
196a2dcaca
[!] Reworked exception/BSOD information screen and log
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@720 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-07-11 16:42:22 +00:00
Corn
4d99abae21
[!] fixed audio pitch when using PAL ROMs (tnx re4thewin to point that out)
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@705 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-06-17 08:34:29 +00:00
Corn
af43f1eace
[+] New Speed up option: Dynarec Doubles Optimizations (advanced menu) when enabled dynarec compiles code to simulate doubles with floats
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@692 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-06-04 18:50:57 +00:00
Corn
af5e1c9378
[!] Aerogauge fix
...
[!] small optimization in floats branching when fast mode fails
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@687 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-31 19:18:36 +00:00
Corn
3a0eed9c4a
[+] Added INS/EXT and CFC1 OpCodes to AssemblyWriterPSP
...
[!] Dynarec: Optimized float compare (no branch)
[!] Small fix/optimization to PIF swizzle
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@684 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-27 12:50:06 +00:00
salvy
f4d2fe488a
[!] Bring back changes to PIF/DMA changes (This is was the proper way, PJ64 are compatible now)
...
[!] Added workaround to support older savestates created after rev 715
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@683 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-26 07:49:21 +00:00
Corn
f6c89b1ec2
[!] Proper double handling in interpreter (and some clean up)
...
[!] Reverted PIF/DMA changes (Incompatible with older SaveStates)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@682 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-25 21:15:11 +00:00
salvy
945d0c432e
[+] Added known value optimizations to SLTx ops (32bit only!) in dynarec (they are disabled since I'm not sure is worth to handle them)
...
[!] PIF Ram - swap while copying in one go and fuses 4 transfers in one (slight speed-up) (Salvy & Corn)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@679 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-22 09:08:52 +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
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
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
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
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
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
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
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
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
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
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