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
Corn
f7ba7a5e21
[!] Disable Dynarec implementation of LWR/LWL and SWR/SWL unaligned load/store used in OOT animations
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@764 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-09-04 18:33:15 +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
0f74f9f891
[!] Optimized VI read/write
...
[!] Fixed a bug in PI write
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@759 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-09-01 02:10:49 +00:00
Corn
c94fe6d32f
[!] Use jump table to select native textures
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@758 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-08-31 18:27:03 +00:00
salvy
431750adf5
[+] Use a jump table for ConvertImage
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@757 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-08-29 20:43:27 +00:00
salvy
4bd5078b16
[!] Increase both MAX_VERTICES and MAX_CLIPPED_VERTS (Fixes Flying Dragon crashing)
...
[!] Fixed debug build
[~] Silenced some annoying asserts
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@756 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-08-22 19:37:56 +00:00
salvy
79d10a560f
[!] Moved check if palette address is NULL for palette textures (Now is only check when trying to load a palletized texture)
...
[~] Removed unused tables from convert image
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@755 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-08-22 16:28:21 +00:00
salvy
9ff9d265a2
[-] Bye bye murmur2 hash
...
[!] Made slow memory access compatible with recent changes
[+] Added DKR64 hack which makes DK64 boot (This is disabled since we ignore IMEM transfers for speed which is required for DK64)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@754 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-08-22 16:13:10 +00:00
Corn
d0965caec6
[!] Abort texture generation if palette address is NULL for palette textures
...
[!] small optimization of hash function.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@753 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-08-21 21:08:17 +00:00
Corn
b513fbc09b
[!] Removed optimization of LBU for banjo while using dynarec mem opt.
...
[!] Changed to a simpler hash for texture indexing.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@752 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-08-19 14:43:02 +00:00
salvy
27061a6765
[=>] Merged from Daedalus js port:
...
[+] Added new hash for microcodes (MurmurHash2 wasn't endian friendly)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@751 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-08-18 21:51:17 +00:00
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
Corn
fc3435211f
[!] Fixed dynarec access to broken pointer from previous rev
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@749 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-08-15 17:54:28 +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
salvy
36486b8e2f
[<=] Reverted previous commit, broke several parts of the GUI
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@732 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-07-17 12:54:04 +00:00
Wally4000
28ca1f7188
[~] Fix SVNVersion so it compiles all times.
...
[~] Tidy up Text_Area Commands into new file UIArea.h (Saves 3KB)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@731 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-07-17 09:10:37 +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
Corn
fd9afeaa08
[!] Added possibility to scroll ASM when PSP BSODs (require #undef DAEDALUS_SILENT)
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@729 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-07-14 18:29:30 +00:00
Corn
81cf7272a8
[!] reverted and corrected logic in previous rev
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@728 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-07-14 12:54:57 +00:00
salvy
42efe81f35
[!] Improved previous optimization when register is known and is zero (they are basically a NOP), also added another opt for AND
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@727 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-07-14 10:53:40 +00:00
salvy
d50d7c572c
[!] Improve detection when hi reg isn't needed in GenerateOR
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@726 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-07-14 01:42:38 +00:00
Corn
2040fa0d98
[!] Optimizing AND/OR/XOR for when one of the hi regs are known and =0, small speedup
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@725 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-07-13 19:51:00 +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
1ea759305e
[!] fix for CBFD using LWR op
...
[!] fix for CBFD using AND op
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@723 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-07-13 09:57:10 +00:00
Corn
3630f80a4e
[!] Removed redundant checks for operations on hi part of CPU regs in DynaRec
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@722 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-07-12 19:54:16 +00:00
Corn
220eda6b60
[!] Dynarec: reimplemented LWL & LWR OPs with much simpler code (faster)
...
[!] Dynarec: implemented SWL & SWR OPs
[!] Framelimiter now averages with 4 frames (converge faster)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@721 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-07-12 10:16:32 +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
174c443405
[!] Made LoopOpt is more stable
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@719 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-07-10 22:53:35 +00:00
Corn
d5a8ab79e8
[!] Fixed bug that never enabled LoopOpt. (LoopOpt still only works in a few games like SM64)
...
[!] Cleaned up BSOD text dump (shows when registers are pointing in RDRAM)
[+] added EXT & INS in disassembly and fixed MSB/LSB order
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@718 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-07-10 19:01:08 +00:00
Corn
6087b03842
[+] Added LWL and LWR OP codes to Dynarec
...
[!] Only use real doubles in dynarec if forced from ROM hacks
[!] Some clean up and removal of Dynarec test code
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@717 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-07-10 13:40: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