Salvy
08f4518902
[!] Revert previous commit, need to test further
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@365 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-08-20 06:58:47 +00:00
Salvy
b07e842a94
[+] Added QuickWrite_Long/QuickRead_Long (these are usually 50% faster when the compiler isn't able to optimize Read64Bits/Write64Bits, mostly happens when we need to combine two FPU registers into one long )
...
[!] Use QuickRead_Long for LDC1 (~24 ops)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@364 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-08-19 07:23:17 +00:00
Salvy
09c9e42b1c
[!] inlined GetChunkStartAddress and AddressToChunkMapIndex (saving ~20 ops)
...
[!] Made ContainsAddress debug only
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@363 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-08-19 06:53:41 +00:00
Corn
656451c9ad
[-] removed bit info from main menu
...
[!] Cosmetic change to splash screen
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@362 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-08-18 14:26:49 +00:00
Salvy
f0b6207747
[~] Fixed text in splash screen
...
[!] Avoid creating two instances of intrafont
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@361 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-08-18 14:02:08 +00:00
Corn
a726e6c78b
[!] Optimized unaligned load/store (saving ~340 OPs)
...
[!] Moved alloc/free fonts to Create/Destroy so it won't happen every frame when showing splash screen
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@360 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-08-18 13:02:27 +00:00
Corn
a245fff6cd
[+] Show 32/16Bit choice in splash screen
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@359 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-08-17 10:53:15 +00:00
Corn
3fc10c60d8
[+] Enable to choose 32bit color mode at boot time by pressing "Circle" until splash screen shows up (default is 16bit)
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@358 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-08-16 22:14:15 +00:00
Salvy
6030caf1e2
[!] Add back hack for Aydin, since the assumption I took was breaking Rampage
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@357 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-08-15 22:06:42 +00:00
Corn
b8863a3e53
[~] Keep texture in the cache a little longer to avoid swapping textures in and out
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@356 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-08-15 21:41:14 +00:00
Salvy
f98d6981d4
[!] Clean up options etc (Removed Stack Optimisation option, it works perfectly fine with all the games, there's no point to have an option for it)
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@355 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-08-15 21:28:54 +00:00
Salvy
68a911d423
[!] Created lib to make it easier to manage modules (since we have plenty)
...
[!] Simplified inits of our modules
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@354 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-08-15 21:02:09 +00:00
Salvy
2256555b3d
[!] Stop and unload imposectrl.prx after we impose HOME button (is only required once for that task anyways)
...
[!] Stop and unload dvemgr.prx if no tv out cables were connected.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@353 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-08-15 18:30:59 +00:00
Salvy
0d69d8929a
[!] Forgot VolatileMemPSP.cpp
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@352 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-08-15 06:47:01 +00:00
Salvy
50ea1c7c76
[!] Enable callbacks when gprof build is compiled
...
[!] Unlocked volatile memory (this unlocks 4mbs extra of memory)
[!] Disabled suspend (this won't work anymore when volatile memory is unlocked)
Note: The only side effects when volatile memory is used is that suspend and dialogs won't work I twon't affect us though, since we don't depend on neither ;)
Note2: Only cheat codes are using the extra mem atm as a test.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@351 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-08-15 06:43:15 +00:00
Corn
08d5f979b8
[!] Improved speed in PIF CRC calculations (w/o using table)
...
[!] Proper name to IRQ hack -> SkipPifIRQ
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@350 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-08-14 09:45:52 +00:00
Salvy
886c096f4e
[-] Removed experimental interrupts (it never worked correctly anyways)
...
[~] Simplified abit UseIRQmode check, and added comments
[!] By mistake I removed to clear pi status reg in DMA_PI_CopyFromRDRAM...fixed
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@349 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-08-11 06:25:26 +00:00
Salvy
42dd81126f
[!] Simplified and optimized TLB refill/invalid exceptions
...
[~] Simplified CopUnusuable exceptions
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@348 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-08-11 05:46:58 +00:00
Corn
0b986f47c5
[+] added ROM setting to enable Body Harvest and Night Creatures to boot
...
[!] modified IRQs
[+] added roms.ini for GEX3, Donald Duck and Rayman2
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@347 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-08-10 21:43:54 +00:00
Salvy
38bb63c277
[!] inlined(again) R4300_JumpToInterruptVector (reduces # of ops from 239 to 299)
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@346 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-08-08 23:54:29 +00:00
Salvy
ab94edf73f
[~] Fixed EXPERIMENTAL_INTERRUPTS option (when defined, Body Harvest and Nightmare Creatures work)
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@345 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-08-08 23:49:20 +00:00
Salvy
aa403ef24e
[~] Corrected typo from previous commit which broke GenerateCACHE (Corn)
...
[!] Enabled option to ignore memory bound checking in release mode (slight speed up)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@344 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-08-08 18:39:14 +00:00
Corn
efaf483618
[!] some small optimizations in code generator
...
[-] removed non working fix for TV output
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@343 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-08-07 14:57:50 +00:00
Salvy
ef103db924
[!] Optimized GenerateCTC1
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@342 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-08-06 14:31:06 +00:00
Salvy
d79531585d
[+] Implemented MFC0 in dynarec
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@341 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-08-06 06:58:04 +00:00
Salvy
e177c05cbf
[!] Made COP0 registers 32bit (to save a few cycles, since the values written aren't 64bit anyways)
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@340 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-08-06 05:55:20 +00:00
Salvy
e41581a964
[!] Optimized CPU_SetCompare
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@339 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-08-05 02:05:53 +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
9ee2245358
[+] Different approach to check for Cop1 Unusuable exceptions (previous approach added too much bloat to the emulator)
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@336 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-08-04 05:55:40 +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
Corn
3a0c3a4617
[!] small optimization of StoreFPR_Double()
...
[~] clean up some redundant code in math.h
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@333 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-08-01 19:20:11 +00:00
Salvy
4edc17aba7
[~] Corrected order of rt and rs in SPECIAL opcodes that had it incorrect
...
[~] DSUBU/ADDU should be unsigned
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@332 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-08-01 18:17:46 +00:00
Salvy
cf95d74258
[!] Simplified alpha test checks
...
[!] Simplified and inline SetMux
[~] Removed hack for Aidyn (no longer needed)
[~] Do not test for GU_GREATER in alpha threshold mode (was breaking Aidym)
[!] Fixed debug build
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@331 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-08-01 17:18:22 +00:00
Salvy
73007b7d1d
[!] Full extend DADDU (Fixes cut scene in final stage in Conker) (Note : This is the proper way, not sure why ExciteBike needs the operand to be 32bit.. I'll investigate eventually)
...
[!] Fixed DSUBU (Fixes crash in final stage in Conker, also random lock ups in Animal Crossing, and random lock up when entering pause menu in Majora's Mask)
PS : Final stage in Conker should be playable now \o/
Note: There's a big design flaw in our SPECIAL opcodes (and probably other opcodes), since rt and rs order is wrong! This doesn't matter for mults and adds, but is a break deal for subs and divs, I'll correct this soon.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@330 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-07-31 15:22:05 +00:00
Corn
be8c1bbaac
[!] Optimized order for ENV mapping in Conkers SetNewVertexInfo()
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@329 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-07-31 12:03:12 +00:00
Corn
5f8d49f65b
[!] Clean up SetNewVertexInfo() for Conker
...
[!] Change order for PIF processing in DMA
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@328 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-07-31 09:58:05 +00:00
Salvy
5e12ac1f7e
[+] Added mem*0 + mem*1 blender (really weird blend.. fixes menu in Wave Racer)
...
[-] Removed wave racer blendmode/hack for menu (no longer needed)
[!] Force disable simulate doubles for Gex64
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@327 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-07-26 21:16:51 +00:00
Salvy
97206374d5
[+] Added blendmode for Zora's Domain water
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@326 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-07-26 20:01:01 +00:00
Salvy
e6f559517a
[!] Simplified Audio_Ucode
...
[~] Make sure to reset isMKABI and isZeldaABI
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@325 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-07-26 17:53:34 +00:00
Salvy
2d317ddf3c
[~] Fixed compiling error from last commit
...
[-] Small clean ups here and there
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@324 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-07-25 01:52:03 +00:00
Salvy
0c374b474d
[!] Simplified and inlined CPU_TakeBranch
...
[~] Made TranslateOp debug only
[-] Removed useless speedhack in R4300_J
[~] Reverted last remaining changes from 557-558..
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@323 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-07-23 23:52:58 +00:00
Salvy
41c02edd42
[+] Implemented env mapping for Conker (Using the CPU, we need to port this to the VFPU to avoid slowing down Conker!!)
...
[!] Pass directly gConkerVtxZAddr
[~] Clean ups in Microcode.cpp
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@322 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-07-23 21:55:55 +00:00
Salvy
592e0537b4
[!] Enabled DisableSimulateDoubles for Conker (fixes "green textures" bug)
...
[~] Removed full-length fp mode (Only adds overhead and bloat to the emulator, I have yet to see a game that needs it, only RARE games that like poke the status reg..)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@321 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-07-23 05:40:30 +00:00
bdacanay
89664dbd36
[+] Added a hack to Wave Racer 64 to fix the dangerous menu blend without breaking any other games. Tested and working perfectly. (Thanks corn)
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@320 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-07-14 22:32:15 +00:00
bdacanay
83f497de74
[-] Reverted Wave Racer 64 blend, as it was breaking Super Mario 64 horribly.
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@319 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-07-11 02:11:57 +00:00
bdacanay
8b85fa63d6
[+] Imported Paper Mario blend from old file.
...
[~] Fixed the Conker chainsaw smoke blend
[+] Added a blend to the river in Doubutsu no Mori
[-] Reverted Kirby blend that was breaking Kirby
[+] Added a blend to fix the menu and HUD in Wave Race 64
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@318 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-07-11 01:41:18 +00:00
Salvy
a85208bb9a
[+] Added alot more opcodes to new interpreter (Note: Pretty much only COP0 and COP1 opcodes are left to add)
...
[~] Workaround to green textures and static textures bugs in Conker (Note : This can be "fixed" in the daedalus interpreter by ignoring FullLength in R4300_LDC1 ;)
[+] Added switch-based opcode dispatch to make easier to debug new interpreter while fallback to daedalus interpreter for easier bug hunting
Note: switch-based approach doesn't get along with the dyanrec when GenerateGenericR4300 is called, while it still works, we end up executing "hot" opcodes twice. So is mostly recommended to only use the interpreter only.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@317 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-07-06 06:23:32 +00:00
Salvy
51c5bdede6
[~] Simplified array for custom ucodes (we only need the ucode and hash anyways)
...
[!] Clean ups in PIF
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@316 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-06-29 23:30:00 +00:00