Commit graph

681 commits

Author SHA1 Message Date
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
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
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
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