Commit graph

56 commits

Author SHA1 Message Date
David Chavez 8dfed04919
Update headers to use new namespace in N64ModernRuntime (#74) 2024-06-03 21:46:42 +02:00
Gilles Siberlin 6eb7d5bd3e
Implement hook insertion (#73)
* Implement function hook insertion

* Fix recompiled code indentation

* Add _matherr to renamed_funcs

* Replace after_vram by before_vram

* Emit dummy value if relocatable_sections_ordered is empty
2024-05-31 23:31:50 -04:00
David Chavez 5c687ee962
CI: Add Linux arm64 (#69) 2024-05-31 22:48:42 +02:00
Anghelo Carvajal 94b59d56f7
Mask the lower 3 bits of the de RSP operand (#55) 2024-05-17 22:38:19 -04:00
Mr-Wiseguy e0e52d1fc3
Symbol file toml update (#52)
* Symbol input file mechanism

* Migration to new toml lib

---------

Co-authored-by: dcvz <david@dcvz.io>
2024-05-16 22:33:08 -04:00
Anghelo Carvajal 26c5c2cbb8
Implement tail calls in the middle of functions and allow recomping libgcc math routines (#43) 2024-05-14 18:56:23 -04:00
Anghelo Carvajal 5d46de6de0
Add more renamed_funcs (#35) 2024-05-14 15:06:47 -04:00
Tharo d4fab15fcc
RSPRecomp: Add some features to help debug unhandled indirect jump targets (file+line of instruction and register dump) (#33) 2024-05-13 21:00:00 -04:00
David Chavez 706e7c5069
Add Initializers for Structs - Fix issue with Apple Clang (#31)
Fixes #30 also adds CI
2024-05-13 20:55:43 -04:00
Anghelo Carvajal d7b223fde5
Implement bgezal/bgezall (#23) 2024-05-12 22:07:46 -04:00
Mr-Wiseguy 3ab0edf18a Changed RSPRecomp to take a toml config file instead of using hardcoded options 2024-05-12 20:30:02 -04:00
Tharo dbf0e623c8
Implement doubleword multiply and divide, and conversions between doubleword and single/double precision floats (#16) 2024-05-11 14:08:15 -04:00
Mr-Wiseguy 5838e4223a Add license and readme 2024-05-10 17:19:30 -04:00
Mr-Wiseguy 0f813247a1 Added CMake build system, fixed warnings on clang, removed VS solution/projects 2024-04-20 21:05:50 -04:00
Mr-Wiseguy 32841e85b4 Changed RSP recompiler to emit different macros for loads and stores to handle unaligned access 2024-04-20 20:02:28 -04:00
Mr-Wiseguy 47c9033b61 Improved reloc pairing 2024-04-20 20:00:48 -04:00
Mr-Wiseguy 50d55bd171 Added manual sections input option, fixed bug with multiplications and added mthi/lo instructions 2024-04-20 20:00:29 -04:00
Mr-Wiseguy 72fe4ed79c Added some missing float comparison instructions and fixed functions incorrectly getting detected as the entrypoint 2024-03-11 00:15:31 -04:00
Mr-Wiseguy 9a4f650c9b Fixed relocatable section file path error using the wrong value, added an include for funcs.h to single-file output mode 2023-11-24 15:11:36 -05:00
Mr-Wiseguy be275c198a Added single-file mode and absolute symbol options (for patch recompilation) 2023-11-12 14:50:50 -05:00
Mr-Wiseguy d249363fe5 Misc upgrades including mips3 float mode support, skip overwriting existing files if they're identical to the current recompiled output 2023-10-29 20:53:17 -04:00
Mr-Wiseguy 9321a60f28 Properly implement unaligned load/store instructions 2023-05-21 17:42:25 -04:00
Mr-Wiseguy 3db07f5b26 Fixed signedness issue in formatted entrypoint address 2023-04-27 23:17:26 -04:00
Mr-Wiseguy 54b6825d63
Merge pull request #10 from M0liusX/main
Fix MSVC v143 errors with fmt
2023-04-27 23:16:18 -04:00
M0liusX 30b1fceaf2 Fix MSVC v143 errors with fmt 2023-04-27 12:53:43 -05:00
Mr-Wiseguy 302dd091c2 Implement application of single-instruction patches 2023-03-24 20:28:36 -04:00
Mr-Wiseguy 9949813018 Implemented parsing of instruction patches in config file 2023-03-24 19:22:30 -04:00
Mr-Wiseguy 7df3e28c76 Implemented function stubbing 2023-03-24 18:04:21 -04:00
Mr-Wiseguy fba0085946 Added toml11 and implemented initial config file parsing, replaces command-line arg inputs 2023-03-24 17:11:17 -04:00
Mr-Wiseguy f4324ee599 Split OoT into its own repo 2023-03-22 01:15:04 -04:00
Mr-Wiseguy 85a04d74e7 Fixed missing rounding_mode variable in generated code 2023-03-21 23:37:52 -04:00
Mr-Wiseguy 52644095f0 Added MM aspMain parameters to rsp recomp, added voice and flash to special function lists 2023-02-19 22:43:08 -05:00
Mr-Wiseguy 5c5f6a51ad Fixed an occasional startup crash caused by the game running before the events thread was finished initializing 2023-02-15 23:41:46 -05:00
Mr-Wiseguy 38f6304d44 Modified audio handling to use SDL_QueueAudio to simplify code and changed remaining bytes calculation to reduce audio latency 2023-02-15 23:41:14 -05:00
Mr-Wiseguy 7babd24bd1 Implemented audio ucode recomp and audio interface, removed restrict usage due to issues with release builds 2023-02-15 17:59:25 -05:00
Mr-Wiseguy 217a30b032 Implemented RSP microcode recompilation 2023-02-14 01:06:41 -05:00
Mr-Wiseguy 877524cf94 Fixed section address initialization, created project to start RSP recompilation work 2023-02-09 23:15:13 -05:00
Mr-Wiseguy fedeb72451 Fixed out of bounds error in writing section load addresses 2023-02-06 22:13:06 -05:00
Mr-Wiseguy 3f73f99cc6 Added null jpeg task implementation to prevent crashes 2023-02-06 22:12:30 -05:00
Mr-Wiseguy b5a482e72c Fixed crash caused by bad osSpTaskYielded implementation 2023-02-06 18:17:56 -05:00
Mr-Wiseguy 2ebeffee89 Implemented sram saving 2023-02-06 18:17:31 -05:00
Mr-Wiseguy 602be9c2c6 Implemented relocatable overlays (OoT runs) 2023-02-04 00:14:03 -05:00
Mr-Wiseguy d2603ce07c More libultra function implementations, euc-jp decoding for print output, improved build times for output project 2023-01-16 23:01:21 -05:00
Mr-Wiseguy c6de2b6189 WIP overlay support and some libultra function implementations for other games 2023-01-12 23:39:49 -05:00
Mr-Wiseguy 0af9d489b3 Made recompiled output run the game's entrypoint, various reorganization, clang warning fixes 2022-11-25 15:31:16 -05:00
Mr-Wiseguy 6e45fac005 "Fixed" implementation of lwl/swl (fixes initial test games), implemented more controller functionality 2022-11-20 22:56:13 -05:00
Mr-Wiseguy aad1bac933 Integrated SDL2 and switch to a test rom, fixed some issues in recompilation 2022-11-20 12:51:08 -05:00
Mr-Wiseguy d0c3eb73ec Integrated RT64 (not included in repo), sign extended addresses 2022-11-19 18:12:47 -05:00
Mr-Wiseguy 39b67c8468 Implemented SP, DP, and SI events
Inject a thread pause into infinite loops to allow the idle thread to
yield for event processing
Removed all preemption usage from the scheduler
2022-11-18 16:12:39 -05:00
Mr-Wiseguy b94fe6f5fb Created solution for testing output 2022-11-15 19:55:48 -05:00