Commit graph

180 commits

Author SHA1 Message Date
salvy
aa1cd95213 [!] [OSHLE] CALL DMA functions directly for SI/PI patches
[+] Added no-check-zero-division flag to disable divide by 0 checks for integers

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@767 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-09-12 19:36:07 +00:00
salvy
847807dac9 [!] [OSHLE] ALL SP patches will call call DMA and Status directly, instead of going through the memory handler
[!] Clean ups and commenting in Memory.cpp


git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@765 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-09-07 02:53:16 +00:00
salvy
755baf793d [!] Use vfpu memcpy for osSpTaskLoad (since copy is always 64 bytes, we gain from the the VFPU)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@763 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-09-04 03:05:16 +00:00
salvy
003ed1baca [!] Optimized osSpTaskStartGo (HLE tasks will be loaded directly now when using OSHLE)
[!] Fixed a bug in osSpTaskLoad when setting the status reg, also optimized it to DMA directly
[+] Enabled osSpTaskYield/osSpTaskYielded (I noticed it was used in OOT)
[!] increased MEM_UNUSED alloc to store word size data

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@762 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-09-04 02:07:59 +00:00
salvy
7228cba536 [!] Optimized OS_HLE_osCreateMesgQueue (we now cache the base address)
[!] Free up 8k bytes from MEM_UNUSED region (dunno why we were using this excess of memory..)

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@761 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-09-03 00:36:29 +00:00
salvy
b7f2771819 [!] Implemented osAiSetNextBuffer correctly (optimized it too)
[!] Allocate 8 bytes of memory to handle SP_PC_REG and SP_IBITS_REG (so we can use the pointer table opt and fix some bugs in OSHLE when setting pc)
[~] Removed nasty hack from osAiGetLength (no longer required since osAiSetNextBuffer is implemented correctly)

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@760 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-09-02 03:00:53 +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
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
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
09fc9d323f [!] optimization of Patch_strchr() (OSHLE)
[+] some comments

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@716 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-07-09 20:32: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
341cd0b5b3 [~] Forgot this
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@670 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-14 02:41:49 +00:00
salvy
411c6061cc [!] Simplified ConvertToPhysics (Check k0/1 in one go)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@669 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-14 02:39:07 +00:00
salvy
d619f9d975 [!] Some more optimizations with QuickWrite/Read methods
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@665 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-08 19:23:02 +00:00
Corn
868f19f55e [!] Clean up of GU HLE patches and made them compatible with CPU only
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@664 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-08 18:45:24 +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
61fa6af06e [!} Optimizations to HLE gu patches (saved over 160 ops)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@662 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-08 05:26:51 +00:00
Corn
c1133f7877 [!] reverted HLE cache patch (while it does cause issues there are more HLE issues in Fzero)
[-] removed redundant SP register update code in dynarec

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@661 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-07 20:02:37 +00:00
Corn
1335817044 [!] use CPU only for memcopy in HLE Patch_memcpy()
[-] Disable osInvalICache HLE patch since it causes issues in some games(Fzero/Starfox) 

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@660 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-05 14:33:27 +00:00
salvy
8d33b40f27 [!] Fixed issue in oshle that was breaking Star Soldier
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@659 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-05 02:34:48 +00:00
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
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
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
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
97528505f1 [!] some clean up
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@533 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-12-14 21:59:11 +00:00
Salvy
3987a1867a [!] Bring back changes to Patch_memcpy
[!] Check if len==0(NOP!) in Patch_memcpy (fixes SpiderMan)

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@384 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-08-26 06:25:03 +00:00
Salvy
421eab241a [!] Reverted changes to Patch_memcpy (was breaking SpiderMan, thx chito for reporting it)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@383 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-08-26 04:34:05 +00:00
Corn
707083a188 [!] let compiler inline R4300_JumpToInterruptVector() since it only adds ~100 bytes to .exe
[!] reorganize and improve checks in R4300_Handle_Interrupt()
[!] speedup and use 32bit (instead of 64bit) in DDIV and DDIVU when possible

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@338 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-08-04 19:26:25 +00:00
Salvy
7e63b7b0ee [!] Bump up OSHLE cache version
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@337 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-08-04 13:01:41 +00:00
Salvy
7fcdcbdd36 [!] Optimized out instances of status reg
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@335 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-08-04 05:23:38 +00:00
Salvy
196a34b5ff [!] Optimize interrupts (this time shouldn't cause issues)
[!] Check first if interrupts are enabled to avoid wasting time checking for pending interrupts


git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@334 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-08-03 06:40:50 +00:00
Salvy
89dd5e5359 [!] Simplified DMA_PI_CopyFromRDRAM (we only for DOM2/ADDR2 anyways)
[!] Simplified WriteValue_Cartridge (Added notes too for games that write to ROM in DOM1/ADDR2..)
[!] Moved RTC READ out of ProcessEeprom to keep code clean, and added an assert for NOP cmds in PIF.
[~] Killed a couple of dead externals
[!] Signed extend DADD/DADDU and also operand in 32bit (fixes Excite Bike and saves 4 ops)
[~] Small clean ups here and there..

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@307 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-06-17 22:48:30 +00:00
Salvy
d3b181f9f7 [~} Forgot a few changes from last commit
[+] Added Animal Forest to roms.ini
[!] Clean up left overs of LLE RSP emulation
[+] Added speed hack for MRC - Multi Racing Championship in the cheat database
[!] Ignore SP_PC_REG/SP_IBIST_REG regs (they are only needed in LLE emulation)

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@277 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-05-10 08:47:51 +00:00
Salvy
64898c2f55 [!] Bump up OSHLE magic number
[!] Fixed assert in OSHLE

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@247 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-04-23 19:18:47 +00:00
Corn
f60df4e34e [!] Corrected a lightning bug (I introduced earlier)
[!] Env mapping is now done (very fast) in the VFPU
[~] Move some defines

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@194 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-03-20 19:34:18 +00:00
Salvy
ff44a81585 [!] Fixed stupid error I did in Patch_Hacks (was causing to stop the oshle scanning when Patch_Hacks returned true!)
[~] Disable __osDispatchThread and __osEnqueueAndYield for Body Harvest (it boots now with oshle)

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@181 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-03-09 08:01:09 +00:00
Corn
ce3f7e8c2d [!] Fix for 16bit mode on TV, should look better now.
[!] Using CPU instead of VFPU in memcpy_patch() since VFPU breaks clay fighter 63 1/3
[!] Optimized the little endian memcpy()

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@175 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-03-05 20:59:18 +00:00
Salvy
598f6ac360 [!] Disabled osSendMesg for Clay Fighter 63 1-3 (It works with oshle now)
[!] Revert recent change that added memcpy in bcopy (breaks Clay Fighter 63 1-3)
[~] Made osAiSetNextBuffer thread safe, also added several asserts to make sure we handle everything.

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@173 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-03-05 06:28:46 +00:00
Corn
2407a23131 [!] Optimized Proj matrix sceGU load a bit more
[+] Optimized Bcopy() and MEMCPY_TEST() OSHLE patches
[!] Reverted check that made OOT bug (thnx salvy)
[-] removed unused copy of memcpy_vfpu()

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@164 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-03-03 19:58:59 +00:00
Corn
ff05220d58 [+] Only reaload Project matrix to sceGU if its updated
[!] fix/speed up bzero patch

Note: This build happens to be very fast

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@162 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-03-02 22:56:13 +00:00
Salvy
b38edced45 [!] Reverted changes to bcopy (we need to profile them)
[!] Bumped oshle version

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@159 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-02-26 02:24:04 +00:00
Salvy
82dbdf24ff [~] Fixed regression in osTaskLoad if sync was enabled
[!] Removed -fno-builtin (needs to be profiled)

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@158 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-02-26 02:18:23 +00:00
Salvy
a963fcb12d [!] Refactor how we apply oshle hacks
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@146 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-02-22 21:06:20 +00:00
Corn
0bee36d78f [!] Ops, corrected order in Patch_bzero()
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@145 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-02-19 12:32:50 +00:00
Corn
58a3dc669d [!] Optimized Patch_bzero()
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@144 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-02-19 10:22:08 +00:00