Commit graph

57 commits

Author SHA1 Message Date
Wally4000
b688456fbd Use builtins for random function 2023-04-24 15:51:14 +10:00
Wally
16a8f93856 add more std:arrays 2022-06-19 19:14:37 +10:00
Wally4000
3fec82b04d Remove stdafx.h for consistency 2022-03-22 18:06:17 +11:00
Wally4000
15e3e2a1d0 Update to the Bazel Directory Structure.. 2020-08-22 18:42:41 +10:00
Carlos R
de782b19ae Implemented Trix for GE and PD 2020-07-05 15:18:45 -07: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
=
1511baa25e Fix up paths in headers 2020-05-27 19:20:52 +10:00
salvy
937534e81d Typo 2020-05-12 03:00:01 -07:00
salvy
6f97bf4a6e Microcode fixes
*Fixed possible overflow of ucode entries, also spread entries to avoid always overriding the last entry
*Fixed out of bounds assert for microcode data
*Properly check both microcode data and code base for ucode cache
*Removed gLastUcodeBase,  potentially caused ucodes not to be loaded correctly.  This was legacy code before we had the ucode cache
*Fixed 32bit pointer assumption on DLParser_SetCustom
2020-05-12 02:36:25 -07:00
=
1c342d8c8f Revert all initialiser list variables. 2020-05-04 12:24:21 +10:00
Ben Slater
6a725bf99e Removed a bunch of asserts / debug options from release build, stabs a bunch of compiler warnings 2019-05-03 17:43:44 +10:00
Wally
5dee7fe2cb Converted remaining HLEGraphics to C11 standard 2019-03-22 16:39:50 +09:00
Wally
30eca8117b yShuffle some files around
Added -lc to build script to use fast memcpy

A#
2019-03-18 15:45:59 +09:00
Ben Slater
c562b76641 *Clean build from StrmnNrmns repo 2019-02-27 17:04:51 +11:00
mrbenslater
2e6cf17baa Move more debug stuff out of Release 2019-01-21 19:58:47 +11:00
salvy
4e3b49b50b [~] tidy Microcode.cpp 2013-06-10 14:26:43 -07:00
salvy
88ba769ea0 [!] The projection mat stack is 1 matrix deep, so it cannot be popped/pushed.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1235 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-10 11:06:58 +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
6f65366fb6 Fix compile error in Microcode.cpp in debug builds - custom_ucode wasn't defined
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@847 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-12-08 14:19:52 +00:00
strmnnrmn
d7d116642a Fix more trailing whitespace (files with CRLF line endings?)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@825 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-11-28 23:23:11 +00:00
salvy
71803d2823 [!] Simplify when setting custom ucodes (now ucode modifier offset and array building is cached)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@814 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-11-23 09:51:10 +00:00
salvy
1e3bfed221 [!] Some clean ups in Microcode cache, also removed overflow check (it should never happen)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@807 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-11-11 19:08:51 +00:00
salvy
0571cc7401 [!] Remove array for looking custom ucodes (We have a ucode cache anyways)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@805 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-11-10 01:00:48 +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
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
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
Corn
b0be7be5fa [+] added assert for PSP Dlist overflow
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@547 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-12-19 21:05:31 +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
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
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
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
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
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
Salvy
88726ba6f1 [-] Removed EasyMessage lib (was causing high usage of memory and thus crashing phats when pressing home)
[+] Implemented new dialog lib (WIP!!!!)
[-] Removed debug options which aren't longer needed.

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@289 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-05-29 06:28:44 +00:00
Salvy
f78a018355 [+] Added blendmode for bricks in Zelda OOT
[+] Added notes for developers if having problems with dlist debugger
[~] Do not check image size for offscreen check (is too aggressive, it breaks Doom64 and SuperMan 64)
[~] Fixed debug build

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@287 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-05-24 23:02:10 +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
6646b5f72e [+] Cache custom ucodes
[~] Minor clean up in CheatCodes_Clear

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@270 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-05-03 08:16:03 +00:00
Salvy
c3e2731455 [!] MemoryUpdateMI only write back when there's an interrupt (faster but risky)
[!] Fixed Conker's eyes
[!] Fixed Bad ucode detection in DrMario
[+] Added counter for rects clipped

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@226 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-04-11 20:19:59 +00:00
Salvy
2f0ed7232e [!] Corrected (huge)mistake from 597 that caused slim cache to be ignored (small speed up in slim and newer models)
[+] Added PSP model in about screen
[!] Removed old blender and made debug text for blender not to spam.
[+] Added blendmode for fences in SSV
[~} Minor clean up here and there.

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@223 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-04-09 23:38:37 +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
36369a5ff1 [!] Fixed bug that caused to keep rehashing Conker's ucode
[!] Fixed bug that caused viewport to to be override if it didn't changed
[!] Made if viewport changed check less hacky and cheaper

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@212 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-03-27 21:16:19 +00:00
Salvy
758fc03993 [!] Removed old ucode cache (no longer used anyways)
[!] Simplified both ucode detector and cache
[!] Simplified ModifyVtx

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@191 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-03-19 07:19:58 +00:00
Salvy
adc66e8aab [!] Opps I forgot to commit most changes from last rev xD (blenders,fix release build etc)
[~] Disabled new mem mapping (was breaking GE007 and Paper Mario)
[+] Brought back my changes to tlb_exceptions

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@54 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-01-07 07:32:48 +00:00