Commit graph

2745 commits

Author SHA1 Message Date
strmnnrmn
a64b8252fa [~] Some minor ucode cleanup
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@917 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-03 17:41:23 +00:00
strmnnrmn
7b26f510d4 [~] pspFastRand only exists on PSP. TODO: add a wrapper for this to avoid ifdef DAEDALUS_PSP everywhere
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@915 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-02 12:33:38 +00:00
strmnnrmn
e99609635a [~] Merge some minor alignment changes
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@914 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-02 12:33:12 +00:00
strmnnrmn
8d02eaa1e8 [~] Fix inconsistent line endings (no functional changes)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@913 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-02 12:12:00 +00:00
strmnnrmn
34004d0248 [~] Merge some minor whitespace fixes to RDP.h
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@912 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-02 12:11:51 +00:00
strmnnrmn
6a3dc1b215 [~] Add some ifdef DAEDALUS_PSP guards for the OSX/W32 builds
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@911 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-02 12:11:47 +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
strmnnrmn
b032afb3f0 Merge some whitespace fixes
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@909 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-02 12:11:36 +00:00
salvy
432d158b54 [+] Handle size 32bit in fillrect (fixes the sky in SuperMan 64, Lambo's intro bg looks correct now too)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@908 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-01 02:44:39 +00:00
salvy
aa22f40a05 [+] Optimized FetchNextCommand
[!] Yoshi_MemRect only need to fetch one instruction 
[-] Removed my previous optimizations to Texrect* cmds, FetchNextCommand now gives the same asm anyways 

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@907 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-01-31 06:38:58 +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
strmnnrmn
a9074c5714 [~] OSX doesn't (yet) define InputManager::GetConfigurationName etc
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@905 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-01-27 20:44:15 +00:00
strmnnrmn
84b5f81098 [~] Merge some minor whitespace fixes
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@904 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-01-27 20:44:09 +00:00
strmnnrmn
6d36f77ca0 [~] Define memcpy_swizzle first - it's a bit tidier
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@903 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-01-27 19:31:58 +00:00
strmnnrmn
422823e52e [~] FastMemcpy.h was a bit broken for big-endian targets. fast_memcpy_swizzle correctly just called memcpy, but memcpy_swizzle ended up incorrectly byteswapping. I've renamed the underlying implementations to _byteswap (which always byteswap, regardless of enianness) and make the _swizzle functions correctly select between memcpy/memcpy_byteswap as appropriate. I think it would probably be clearer to rename memcpy_swizzle to n64_memcpy, or something like that?
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@902 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-01-27 19:31:53 +00:00
strmnnrmn
64b82bda28 [~] Cast is not needed here
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@901 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-01-27 19:31:47 +00:00
salvy
351f9656ef [!] Simplified emulation's main loop (CPU is stopped in CPUMain anyways)
[~] Changed priority of CPU_STOP_RUNNING to least likely (happens only when emulator is stopped)

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@900 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-01-26 16:13:07 +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
salvy
bf5e76d078 [!] Optimized CPU_FetchInstruction
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@898 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-01-25 07:21:38 +00:00
salvy
ef2777cea3 [!] Optimized R4300_SWL/SWR/SDL/SDR
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@897 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-01-24 07:12:54 +00:00
salvy
9ea723a616 [~] Some misc changes
[+] Init/reset FlashRam
[!] Simplified ReadInvalid to take advantage of the movn instruction
[!] Need to check for interrupts when writing to DPC_END_REG

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@896 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-01-24 06:14:30 +00:00
salvy
d242daf73c [!] Simplified DacrateChanged (only PAL or NTSC are used anyways)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@895 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-01-18 22:33:41 +00:00
salvy
df78281e03 [!} Optimized when fetching instructions for Texrect, Texrect_Flip, Yoshi_Memrect and TexRect_Last_Legion
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@894 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-01-18 01:06:40 +00:00
salvy
12273ad7cc [!] Change abit detection when jumping to the same addr in speedhack (saves 1 op li v0,-1)
[!] Changed a suspicious speedhack in R4300_BLEZL (why was added?)
[!] Added defines to disable speedhack and sim doubles in interpreter (sim doubles is only enabled for PSP)

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@893 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-01-17 20:23:27 +00:00
salvy
012b803f5d [!] Optimized speed hack in interpreter (use cached instruction pointer to check next op, also removed a very unlikely speed hack)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@892 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-01-17 01:49:08 +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
salvy
aefa21ff69 [!] [Dynarec] LWL,LWR,SWL,SWR don't need pc
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@887 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-01-11 08:56:17 +00:00
salvy
cfc5102be4 [!] Fixed silly typo in bcopy (sorry!)
[!] Small optimizations in osAtomicDec and strlen

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@886 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-01-11 06:43:51 +00:00
strmnnrmn
7eff3cfda0 [~] Restore SysOSX, SysW32 dirs
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@885 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-01-06 17:02:49 +00:00
salvy
57389bd1c2 [!} Some small optimisations in Patch___osDispatchThread
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@883 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-01-04 21:23:52 +00:00
salvy
bc380f9700 [!] Fixed ISS200 no longer working with OHSLE (thx kakarotto for reporting)
[!] Optimized Patch_strlen/bzero
[~] ReadAddress wasn't being inlined completely in Patch_bcopy


git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@882 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-01-04 20:59:52 +00:00
Corn
cede927eb8 [!] small improvement to memcpy and some clean up
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@881 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-01-02 12:03:50 +00:00
salvy
a11d29c5c1 [!] Avoid sltiu in loop for unaligned copies (This speeds up unaligned copies quiet bit)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@880 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-12-30 22:42:12 +00:00
Corn
31bbfaae18 [!] Some further refinements to Fastmemcopy
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@879 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-12-30 08:28:30 +00:00
Corn
92c451823f [!] FastMemcpy now uses 32bit reads also for unaligned transfers.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@878 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-12-28 13:32:57 +00:00
salvy
d0f03d3de5 [!] ~50% speed up of unaligned copies in fast memcpy swizzle (Noticed 99% of the time we are atleast word aligned)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@877 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-12-26 03:46:29 +00:00
salvy
947f1f5dfa [!] Just call builtin_bswap32 instead
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@876 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-12-25 08:59:22 +00:00
salvy
748a68932e [!] Use PSP's wsbw opcode for swapping four bytes in a 32bit value
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@875 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-12-25 06:06:57 +00:00
salvy
81c4c5f03e [~] Forgot this...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@874 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-12-24 19:29:02 +00:00
salvy
5308274e8f [!] Fixed bug with savestate screenshot when having more than 64 more folders (Corn)
[+] Added Azimer's DK64 hack(DK64 boots now, make sure to have Double Display List off)
[!] Set EEPROM4k for DK64 (fixes hang when entering main menu in DK64) 

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@873 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-12-24 19:27:20 +00:00
salvy
d2de763192 [!] Used a temporal buffer for storing screenshots for savestates
[!] Take savestate screenshot after the next frame rather than storing it in a buffer
[!] Optimized Patch_osCreateThread


git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@872 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-12-21 21:02:39 +00:00
Corn
e3a7eb552b [+] Added storing and displaying previews to Save States (Uses a 128kByte buffer)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@871 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-12-21 17:38:31 +00:00
salvy
2bc64156e6 [!] Some clean ups
[!] Made guRotateF and volatile memory platform independent 
[!] Check for invalid reads/writes to PIF

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@870 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-12-20 21:50:27 +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
salvy
f3a82901af [!] Make sure FlashRead/Write regions are valid
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@868 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-12-15 01:34:15 +00:00
salvy
85fea84831 [!] Fixed bug in memcpy_vfpu_swizzle when size is less than what we are aligning to
[!] Some optimizations to osStartThread

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@867 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-12-14 18:55:39 +00:00
salvy
dfa4ebfb4f [+] Added QuickRead16Bits/QuickWrite16Bits (will start optimizing oshle functions more aggressively soon)
[!] Optimized osViSwapBuffer

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@866 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-12-13 22:31:14 +00:00