Commit graph

2808 commits

Author SHA1 Message Date
salvy
005d71196d [!] Enabled osSetIntMask (ATM we just NOP it.. for some reasons games don't seem to bother, perhaps not important for emulation?) (Let me know if any game no longer works with OHSLE so I can try to implement it)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@774 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-09-23 23:51:07 +00:00
salvy
6342020194 [!] Tweak gHotTraceThreshold so it can identify more hot traces for the dynarec (speed up)
[!] Optimized guNormalize_Mario
[!] Implemented osSpTaskYielded correctly (OSHLE works for Yoshi again) 
[!] For memory write funcs only use offset for look up

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@773 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-09-23 23:22:43 +00:00
Corn
140c35e1e2 [!] better compatibility with 16:9 (non stretched) screen mode
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@772 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-09-22 18:36:45 +00:00
Corn
377eddcb05 [!] Improve SW racer Ep1 shadows
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@771 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-09-15 16:54:05 +00:00
Corn
6ff6503815 [!] change how fullscreen HD works
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@770 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-09-15 13:53:30 +00:00
Corn
81a3410b43 [!] Added Fullscreen HD mode(scales 3D to proper 16:9 format. Note: don't work on all ROMs yet)
[!] fixed typo/error in Makefile 

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@769 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-09-15 13:02:56 +00:00
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
Corn
a4552e1ed6 [!] fixed missing "break;" in switch/case for CIC_6105 boot option (tnx Strmn)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@766 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-09-08 18:12:39 +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
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