Commit graph

26 commits

Author SHA1 Message Date
Wally4000
15e3e2a1d0 Update to the Bazel Directory Structure.. 2020-08-22 18:42:41 +10:00
Carlos R
3d1184f990 *Removed vertex stride from the ucode cache, now vertex stride its applied at compile time for all microcodes
*Removed GBI0_Tri4 (F3D microcode doesn't support it)
*Moved GBI0_Tri4 implementation to Ucode_GE.h since this is actually part of the custom microcode used by GE and PD.
2020-07-04 17:37:52 -07:00
Carlos R
f70c0180b5 Prep work to add more custom ucode implementations
*Refactored RDP_MoveMemLight to prevent duplicate code and simplified it for adding custom lighting impls. Also added bound checks for invalid light index and addresses
*Added hash for Rogue Squadron (this a custom GBI1 ucode), currently unimplemented 
*Do not hardcode GBI commands when patching custom ucode tables
*Fixed DKR's index mtx address, thanks Rinnegatamante for pointing out this error
2020-07-02 09:15:45 -07:00
Carlos R
ef3752e3d2 Implement F3DBETA ucode (this an early version of Fast3D)
*Remove SOTE ucode implementation, this was wrong. Now both SOTE and WRUS will use the Beta ucode
*Fix typo from previous commit that caused that changed ucode hash.
*Added WIP to set the vertex stride at compile time to allow the compiler to do further optimizations when the stride its a power of two. Currently its only done for the new F3DBETA ucode as a test.
2020-06-28 23:13:42 -07:00
Carlos R
9bec25e3ca More improvements to the gfx ucode detection
* Auto defect and cache ucode functions and vertex stride
* Speed up custom ucode detection, avoid string detection and return as soon as there's a match
* Do not attempt to auto defect ucodes that lack a version string
*Alot of code clean up, now custom ucodes should be easier to add (everything related its now in Microcode.cpp)
*Bound checking for InitMicrocode and make sure to set a default ucode version if there's a failure
*Hardcode code_size to avoid issues when hashing ucodes when games set an invalid size, ex Conker
*Simpler way to clear the ucode cache
*Always include gNormalInstructionName even on release builds, the memory we saved wasn't worth the hassle to keep it out of release builds..
2020-06-28 19:28:21 -07:00
Paul Holden
49a06ed319 [~] Make header guards consistently use FULL_PATH_TO_FILE_H_, with script 2013-06-04 22:02:30 +01:00
strmnnrmn
5366827789 [~] stdafx cleanup: Start adding DaedalusTypes.h where needed.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1696 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-05-18 16:06:16 +00:00
strmnnrmn
9269769d4a [~] Remove a cyclic dependency between Microcode.cpp and DLParser.cpp
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1020 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-18 20:59:55 +00:00
strmnnrmn
7fba1278a6 Fix more mixed newlines
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@850 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-12-08 14:20:28 +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
Salvy
eecd8dd480 [!] Reduced number of ucode cache entries to 6 (Max ucodes I ever seen per game is 4 anyways)
[!] Don't cache ucodes globally, only per game (to avoid hitting max of entries and spreading too far from the first entry)
[!] Revert change to chunk size for ROM cache

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@600 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-01-28 03:03:03 +00:00
Salvy
12c3f0454c [!] Use LoadUcode to switch to S2DEX2 to avoid adding overhead to GBI2 ucodes (our ucode cache should handle off any overhead from LoadUcode anyways)
[!] Added detection for S2DEX2 ucodes
[!] Some more optimizations in copying data with vectors (~30 ops)


git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@522 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-12-09 19:57:26 +00:00
Salvy
1910ee981d [!] BranchZ, given address from RDP_HALF1 rather display stack (cheaper)
[!] Yoshi_Memrect no longer adds any overhead to RDP cmds, instead we'll just retrieve from LoadDetailsMap
[~] Small clean ups..

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@439 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-10-11 23:03:03 +00:00
Salvy
a8ec3958e9 [!] Simplified and added comments to SetUcode (~100 ops)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@414 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-09-25 07:22:16 +00:00
Salvy
2197a90dbd [+] Patch normal ucode tables to create "custom" ucode tables
[!] Removed all custom ucode tables since they aren't needed anymore (saves alot of space to binary)
[!] Set ucode, patch ucodes, set vtx multiplier in one go (ToDo : set ucode names in one go too)


git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@412 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-09-23 19:16:09 +00:00
Salvy
faaf063c0b [!] Unified DKR and JFG ucode tables
[!] Simplified DKR/JFG's Vtx ucode
[!] Simplified abit MoveWord_DKR

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@396 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-09-13 05:58:50 +00:00
Salvy
18bcf76810 [!] Fixed static in textures in DKR/Mickey/JetForce Gemini
[!] Simplified DLInMem (heavily used by DKR)
[!] Fixed bug in ucode cache that was breaking menu in SSV
[+] Added blendmode for Mountains in Majora's Mask (thx chito for reporting it)

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@373 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-08-23 00:53:47 +00:00
Salvy
934cd00733 [!] Code clean up
[!} Made static functions in Microcode.cpp to hint compiler to optimize (~30 ops)

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@285 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-05-23 21:55:22 +00:00
Salvy
d9ffcd338a [!] Corrected typo that caused tv out not to work anymore
[~] Fixed bug that caused PSP screen to stretch when tv out cables were connected
[!] Removed software clipping option (Been optimized over time, there's no benefit to disable it anymore)
[+] Added PSP info and other stats in BSOD
[+] Cull texrects and fillrects
[~] Removed microcode debug code which is now useless

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@220 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-04-09 01:49:25 +00:00
Corn
0772a46ba8 [!] Reverted microcode changes to cure compile error with Debug Dlist
[!] Reverted Fzero ship blend to shiny look
[!] Fixed proper and independent Zfight/Zbuffer checks

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@218 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-04-05 15:54:45 +00:00
Salvy
558e6b9a0d [!] Removed "feature" that allowed to swap home with select button (no longer needed)
[+] added more comments and removed legacy debug code from ucode detector
[+] Spread randomly cache ucode entries if we hit max of entries allowed
[+] Block users with lower FWs than 6XX when imposectrl.prx is either missing or damaged

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@216 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-04-05 05:17:06 +00:00
Salvy
2f674e1f5b [+] Added lotsa of blenders
[~] Fixed a bad blender in MM
[!] Simplified ucode cacher (code_size is always 4096 anyways)
[~] Fixed release build (not sure why Wally replaced some blendmodes with BLEND_MODE_MAKER..)
[~] Fixed install texture on blendmode maker (corn)

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@53 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-01-07 07:08:02 +00:00
Salvy
400272f56c [!] Cleaned up ucode tables abit
[!] Reworked method to cache ucodes, it works with loaducode now and is faster since we don't do string comparison anymore
[~] Cache ucodes earlier to avoid wasting time DetectVersionString

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@25 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-01-02 03:26:10 +00:00
Salvy
f21b305920 [!] Fixed regression that caused undesired inputs when returning from pause menu
[!] Debug build compiles again (note, profiler and dump dlist is broken)
[!] Cleaned up gbi2 table to avoid using loaducode and unused cmds


git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@14 42e9bfbe-799a-4a2d-bad1-236e862a387a
2010-12-28 09:27:48 +00:00
Salvy
438f73c950 [+] Improved ucode detector (is alot simpler and faster now)
[~] Fixed a bug that caused our ucode detector to give bad detections (also removed all the checks we had for that)
[+] Replaced old cache code for ucodes with a faster and simpler version
[!] Only try to detect ucodes once (only loaducode changes ucodes in game anyways) 


git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@10 42e9bfbe-799a-4a2d-bad1-236e862a387a
2010-12-26 21:54:45 +00:00
Salvy
bdbd952c60 [+] Initial repo (based from r630 dx64 branch)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@3 42e9bfbe-799a-4a2d-bad1-236e862a387a
2010-12-24 04:37:41 +00:00