Commit Graph

  • 30b5d441e0 Merge branch 'N64Recomp:main' into feature/lua_generator feature/lua_generator ApfelTeeSaft 2025-10-08 16:26:33 +02:00
  • c31f5fb656 Add Lua output support for dynamic runtime mod loading ApfelTeeSaft 2025-10-08 16:25:43 +02:00
  • 3f2cc61a5c Merge branch 'main' into feature/toml-hooks feature/toml-hooks ApfelTeeSaft 2025-10-08 10:17:35 +02:00
  • c39a9b6c7e Enable ARM64 Linux CI checks (#157) main dcvz 2025-10-08 03:00:01 +02:00
  • a6406d563d Add TOML function hook definitions ApfelTeeSaft 2025-10-07 22:48:08 +02:00
  • 6888c1f1df Update fmt to 11.1.0 to fix Clang 20 compile error (#154) Ethan Lafrenais 2025-09-06 20:27:17 -04:00
  • afc2ff93a5 Implement mdebug parsing for static symbols in IDO elfs (#155) WiseguyandTharo 2025-09-06 18:44:18 -04:00
  • a49c51b37f Temporarily disable arm runner due to URL change (#156) Wiseguy 2025-09-06 18:40:04 -04:00
  • 6db56f597d Fix bug with patch recompilation when a non-relocatable reference section has the same index as the patch elf's event section Mr-Wiseguy 2025-08-28 22:53:40 -04:00
  • a13e5cff96 Add missing osSetTime and osSetCount functions to recompiler symbol lists Mr-Wiseguy 2025-08-11 01:55:39 -04:00
  • facc807049 Fix out of bounds exception in recompilation with special sections in function call relocs Mr-Wiseguy 2025-08-11 01:54:36 -04:00
  • c1a6dc93bf Implement fixed address and globally loaded sections in mods, respect section index in mod self-section relocs (#150) Wiseguy 2025-07-19 03:39:41 -04:00
  • 6860826da3 Implement remaining float comparisons in the op table (ordered/unordered and signaling/non-signaling still unimplemented) (#144) Tharo 2025-07-18 03:50:15 +01:00
  • 7b8b3c1920 Implement remaining odd float operations in live recompiler (#149) Wiseguy 2025-07-17 22:44:49 -04:00
  • 6e7a5bdb2f Add dmtc1 and dmfc1 functionality to the recompiler (#134) Rainchus 2025-07-07 00:55:15 -05:00
  • e76668356b Fixed paths with spaces not being able to Compress-Archive properly. (#141) MelonSpeedruns 2025-07-07 01:53:02 -04:00
  • 3531bc0317 Optional dependencies for mod tool and add dependency name vector in recompiler context (#147) Wiseguy 2025-07-07 01:52:18 -04:00
  • 989a86b369 Make osPiReadIo no longer ignored (#133) Rainchus 2025-02-27 15:58:59 -06:00
  • d660733116 Implement reloc pairing GNU extension (#131) Wiseguy 2025-02-13 18:20:48 -05:00
  • 8781eb44ac Add a mechanism to provide original section indices for jump table regeneration (#130) Wiseguy 2025-02-11 22:36:33 -05:00
  • be65d37760 Added config option parsing for mod toml and populate them in the mod manifest (#129) Wiseguy 2025-01-31 02:36:33 -05:00
  • 2af6f2d161 Implement shim function generation (#128) Wiseguy 2025-01-30 23:48:20 -05:00
  • 198de1b5cf Move handling of HI16/LO16 relocs for non-relocatable reference sections into elf parsing by patching the output binary (fixes patch regeneration) (#127) Wiseguy 2025-01-30 02:54:27 -05:00
  • b18e0ca2dd Fix function signature for RSP microcodes that don't have overlays (#126) Wiseguy 2025-01-26 22:32:15 -05:00
  • b2d07ecd5a Renamed mod manifest to mod.json, added display_name, description, short_description fields (#125) Wiseguy 2025-01-26 21:57:00 -05:00
  • 38df8e3ddc Mod function hooking (#124) Wiseguy 2025-01-26 21:52:46 -05:00
  • 36b5d9ae33 PIC Jump Table Support (#120) Ethan Lafrenais 2025-01-16 00:40:50 -05:00
  • 916d16417e RSPRecomp overlay support (#118) Ethan Lafrenais 2025-01-16 00:32:29 -05:00
  • 53ffee96fd Add ldl, ldr, sdl, sdr implementations (#119) Ethan Lafrenais 2025-01-12 22:43:46 -05:00
  • 49bf144b0d Add TRACE_RETURN (#117) LittleCube 2025-01-04 22:10:29 -05:00
  • 351482e9c6 Fix TRACE_ENTRY and move function_sizes (#112) LittleCube 2025-01-04 21:49:31 -05:00
  • 6dafc108f3 Skip internal symbols when dumping context (#116) Wiseguy 2025-01-02 20:50:46 -05:00
  • fc696046da Fix some calling convention issues with the live recompiler (#115) Wiseguy 2024-12-31 19:12:54 -05:00
  • 66062a06e9 Implement live recompiler (#114) Wiseguy 2024-12-31 16:11:40 -05:00
  • 0d0e93e979 Check if mod context is good in mod tool (#113) LittleCube 2024-12-26 18:49:22 -05:00
  • 17438755a1 Implement nrm filename toml input, renaming list, trace mode, and context dumping flag (#111) LittleCube 2024-12-24 02:10:26 -05:00
  • d33d381617 Show error when zip command is not found by linux (#94) LittleCube 2024-09-15 17:59:19 -04:00
  • d5ab74220d Various mod fixes (#95) Wiseguy 2024-09-12 18:54:08 -04:00
  • cc71b31b09 Modding Support PR 2 (Finished mod tool base feature set and improvements for use in N64ModernRuntime) (#93) Wiseguy 2024-09-09 22:49:57 -04:00
  • 5b17bf8bb5 Modding Support PR 1 (Instruction tables, modding support, mod symbol format, library conversion) (#89) Wiseguy 2024-08-26 23:06:34 -04:00
  • f8d439aeee Add option to output multiple functions per file, defaults to 50 (#88) Wiseguy 2024-08-15 00:17:09 -04:00
  • 424a509b22 Allow zero-sized symbols in a specific range for patches, fixed cases where errors didn't terminate the recompiler Mr-Wiseguy 2024-08-13 23:12:08 -04:00
  • 4161ef68cc Made recompilation header include configurable Mr-Wiseguy 2024-08-13 02:14:34 -04:00
  • dfd90057c9 Rewrote jal resolution to improve handling for overlapping overlays Mr-Wiseguy 2024-08-13 01:54:04 -04:00
  • ba4aede49c Add symbol reference file mechanism for elf recompilation (#82) Wiseguy 2024-07-02 21:42:22 -04:00
  • 16819a0515 Add libgultra_d functions to ignored_funcs (#60) Anghelo Carvajal 2024-06-21 08:38:15 -04:00
  • ecc9dc49e5 Bump actions/checkout to v4 (#76) Scott Brenner 2024-06-10 03:31:50 -07:00
  • ca096fd078 CI: Fix Windows CI after image updates dcvz 2024-06-07 10:42:47 +02:00
  • 2a2df89349 Remove disable_warnings header include (#75) David Chavez 2024-06-05 00:02:37 +02:00
  • 8dfed04919 Update headers to use new namespace in N64ModernRuntime (#74) David Chavez 2024-06-03 21:46:42 +02:00
  • 6eb7d5bd3e Implement hook insertion (#73) Gilles Siberlin 2024-06-01 05:31:50 +02:00
  • 5c687ee962 CI: Add Linux arm64 (#69) David Chavez 2024-05-31 22:48:42 +02:00
  • 94b59d56f7 Mask the lower 3 bits of the de RSP operand (#55) Anghelo Carvajal 2024-05-17 22:38:19 -04:00
  • e0e52d1fc3 Symbol file toml update (#52) Mr-Wiseguyanddcvz 2024-05-16 22:33:08 -04:00
  • 26c5c2cbb8 Implement tail calls in the middle of functions and allow recomping libgcc math routines (#43) Anghelo Carvajal 2024-05-14 18:56:23 -04:00
  • 5d46de6de0 Add more renamed_funcs (#35) Anghelo Carvajal 2024-05-14 15:06:47 -04:00
  • d4fab15fcc RSPRecomp: Add some features to help debug unhandled indirect jump targets (file+line of instruction and register dump) (#33) Tharo 2024-05-14 02:00:00 +01:00
  • 706e7c5069 Add Initializers for Structs - Fix issue with Apple Clang (#31) David Chavez 2024-05-14 02:55:43 +02:00
  • d7b223fde5 Implement bgezal/bgezall (#23) Anghelo Carvajal 2024-05-12 22:07:46 -04:00
  • 3ab0edf18a Changed RSPRecomp to take a toml config file instead of using hardcoded options Mr-Wiseguy 2024-05-12 20:30:02 -04:00
  • dbf0e623c8 Implement doubleword multiply and divide, and conversions between doubleword and single/double precision floats (#16) Tharo 2024-05-11 19:08:15 +01:00
  • 5838e4223a Add license and readme Mr-Wiseguy 2024-05-10 16:46:53 -04:00
  • 0f813247a1 Added CMake build system, fixed warnings on clang, removed VS solution/projects Mr-Wiseguy 2024-04-20 21:05:50 -04:00
  • 32841e85b4 Changed RSP recompiler to emit different macros for loads and stores to handle unaligned access Mr-Wiseguy 2024-04-20 20:02:28 -04:00
  • 47c9033b61 Improved reloc pairing Mr-Wiseguy 2024-04-20 20:00:48 -04:00
  • 50d55bd171 Added manual sections input option, fixed bug with multiplications and added mthi/lo instructions Mr-Wiseguy 2024-04-20 20:00:29 -04:00
  • 72fe4ed79c Added some missing float comparison instructions and fixed functions incorrectly getting detected as the entrypoint Mr-Wiseguy 2024-03-11 00:15:31 -04:00
  • 9a4f650c9b Fixed relocatable section file path error using the wrong value, added an include for funcs.h to single-file output mode Mr-Wiseguy 2023-11-24 15:11:36 -05:00
  • be275c198a Added single-file mode and absolute symbol options (for patch recompilation) Mr-Wiseguy 2023-11-12 14:50:50 -05:00
  • d249363fe5 Misc upgrades including mips3 float mode support, skip overwriting existing files if they're identical to the current recompiled output Mr-Wiseguy 2023-10-29 20:53:17 -04:00
  • 9321a60f28 Properly implement unaligned load/store instructions Mr-Wiseguy 2023-05-21 17:42:25 -04:00
  • 3db07f5b26 Fixed signedness issue in formatted entrypoint address Mr-Wiseguy 2023-04-27 23:17:26 -04:00
  • 54b6825d63 Merge pull request #10 from M0liusX/main Mr-Wiseguy 2023-04-27 23:16:18 -04:00
  • 30b1fceaf2 Fix MSVC v143 errors with fmt M0liusX 2023-04-27 12:53:43 -05:00
  • 302dd091c2 Implement application of single-instruction patches Mr-Wiseguy 2023-03-24 20:28:36 -04:00
  • 9949813018 Implemented parsing of instruction patches in config file Mr-Wiseguy 2023-03-24 19:22:30 -04:00
  • 7df3e28c76 Implemented function stubbing Mr-Wiseguy 2023-03-24 18:04:21 -04:00
  • fba0085946 Added toml11 and implemented initial config file parsing, replaces command-line arg inputs Mr-Wiseguy 2023-03-24 17:11:17 -04:00
  • f4324ee599 Split OoT into its own repo Mr-Wiseguy 2023-03-22 01:08:48 -04:00
  • 85a04d74e7 Fixed missing rounding_mode variable in generated code Mr-Wiseguy 2023-03-21 23:37:52 -04:00
  • 52644095f0 Added MM aspMain parameters to rsp recomp, added voice and flash to special function lists Mr-Wiseguy 2023-02-19 22:43:08 -05:00
  • 5c5f6a51ad Fixed an occasional startup crash caused by the game running before the events thread was finished initializing Mr-Wiseguy 2023-02-15 23:41:46 -05:00
  • 38f6304d44 Modified audio handling to use SDL_QueueAudio to simplify code and changed remaining bytes calculation to reduce audio latency Mr-Wiseguy 2023-02-15 23:41:14 -05:00
  • 7babd24bd1 Implemented audio ucode recomp and audio interface, removed restrict usage due to issues with release builds Mr-Wiseguy 2023-02-15 17:59:25 -05:00
  • 217a30b032 Implemented RSP microcode recompilation Mr-Wiseguy 2023-02-14 01:06:41 -05:00
  • 877524cf94 Fixed section address initialization, created project to start RSP recompilation work Mr-Wiseguy 2023-02-09 23:15:13 -05:00
  • fedeb72451 Fixed out of bounds error in writing section load addresses Mr-Wiseguy 2023-02-06 22:13:06 -05:00
  • 3f73f99cc6 Added null jpeg task implementation to prevent crashes Mr-Wiseguy 2023-02-06 22:12:04 -05:00
  • b5a482e72c Fixed crash caused by bad osSpTaskYielded implementation Mr-Wiseguy 2023-02-06 18:17:56 -05:00
  • 2ebeffee89 Implemented sram saving Mr-Wiseguy 2023-02-06 18:17:31 -05:00
  • 602be9c2c6 Implemented relocatable overlays (OoT runs) Mr-Wiseguy 2023-02-04 00:14:03 -05:00
  • d2603ce07c More libultra function implementations, euc-jp decoding for print output, improved build times for output project Mr-Wiseguy 2023-01-16 23:01:21 -05:00
  • c6de2b6189 WIP overlay support and some libultra function implementations for other games Mr-Wiseguy 2023-01-12 23:39:49 -05:00
  • 0af9d489b3 Made recompiled output run the game's entrypoint, various reorganization, clang warning fixes Mr-Wiseguy 2022-11-25 15:31:16 -05:00
  • 6e45fac005 "Fixed" implementation of lwl/swl (fixes initial test games), implemented more controller functionality Mr-Wiseguy 2022-11-20 22:56:13 -05:00
  • aad1bac933 Integrated SDL2 and switch to a test rom, fixed some issues in recompilation Mr-Wiseguy 2022-11-20 12:51:08 -05:00
  • d0c3eb73ec Integrated RT64 (not included in repo), sign extended addresses Mr-Wiseguy 2022-11-19 18:12:47 -05:00
  • 39b67c8468 Implemented SP, DP, and SI events Mr-Wiseguy 2022-11-18 16:12:39 -05:00
  • b94fe6f5fb Created solution for testing output Mr-Wiseguy 2022-11-15 19:55:48 -05:00
  • 5d9ea96abc Added temp for switch case operand, fixed compilation issues in output Mr-Wiseguy 2022-11-15 19:55:48 -05:00