Commit Graph

  • ebdb6eddec Merge branch 'N64Recomp:main' into main main Izzy 2025-09-17 22:55:11 -04: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) Wiseguy 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
  • f8b0e10b25 Update build.yml izzy2lost 2025-03-06 13:36:45 -05:00
  • 24099212fb Update build.yml izzy2lost 2025-03-06 13:29:21 -05:00
  • 10f3d50784 Create build.yml izzy2lost 2025-03-06 13:23:41 -05: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
  • 485a9e14c9 Split Negate operation into NegateFloat and NegateDouble, added support for custom recompiler backends luajit-recompilation Mr-Wiseguy 2024-10-02 23:05:39 -04:00
  • c54855b05d Removed output file from generator signatures, implement some of the luajit generator Mr-Wiseguy 2024-09-29 17:17:05 -04:00
  • f3f4a5cd73 Fixed pair of bugs with float compare flag that cancelled each other out Mr-Wiseguy 2024-09-29 02:18:20 -04:00
  • 8aa8e6c426 Add LuajitGenerator class Mr-Wiseguy 2024-09-29 01:02:46 -04:00
  • 053242263f Moved remaining instruction processing text generation into Generator class Mr-Wiseguy 2024-09-28 23:58:25 -04: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
  • 727b4b750f Fix mov.d using the wrong input operand instruction-refactor Mr-Wiseguy 2024-06-19 21:42:09 -04:00
  • d6be2d7a83 Created Generator interface, separated operation types and tables and C generation code into new files Mr-Wiseguy 2024-06-12 00:05:22 -04:00
  • c4f85867f3 Added store instruction operation table Mr-Wiseguy 2024-06-10 01:27:38 -04:00
  • dbd53ef9c4 Finished moving float arithmetic instructions to operation tables Mr-Wiseguy 2024-06-09 16:15:52 -04:00
  • 43598c65d9 Added CHECK_FR generation to binary operation processing, moved float comparison instructions to binary op table Mr-Wiseguy 2024-06-09 01:42:18 -04:00
  • d91f1cf3a8 Add operands for other uses of float registers Mr-Wiseguy 2024-06-09 00:29:44 -04:00
  • c3de49c944 Fixed likely swap on bgezal, fixed extra indent branch close and missing indent on branch statement Mr-Wiseguy 2024-06-06 23:58:02 -04:00
  • 3167fadd47 Added and implemented conditional branch instruction table Mr-Wiseguy 2024-06-04 21:46:31 -04:00
  • fb73230097 More binary op types, moved binary expression string generation into separate function Mr-Wiseguy 2024-05-23 18:20:29 -04:00
  • 81f95a42e4 Initial implementation of unary operation table Mr-Wiseguy 2024-05-23 00:51:33 -04:00
  • 347a792f80 Initial implementation of binary operation table Mr-Wiseguy 2024-05-22 21:24:11 -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
  • fb7f4d0c0a Use better paths fit for being submoduled fix/cmake-paths-submodule dcvz 2024-06-11 23:40:52 +02: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
  • 552d5efde2 Incorporate suggestions from @VelocityRa chore/small-cmake-updates dcvz 2024-05-19 16:48:27 +02:00
  • 1467b3ed86 rebase fixes dcvz 2024-05-19 16:44:53 +02:00
  • 890caa6f44 Merge branch 'main' into chore/small-cmake-updates dcvz 2024-05-19 16:44:15 +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-Wiseguy 2024-05-16 22:33:08 -04:00
  • c915910e67 Remove unused commented out code symbol-file-toml-update Mr-Wiseguy 2024-05-16 20:44:18 -04:00
  • e8a0e8147e Fixed toml::parse_error construction and config fields not getting populated in RSPRecomp Mr-Wiseguy 2024-05-16 17:55:56 -04:00
  • 7d0490f43f Disable TOML_ENABLE_FORMATTERS since we don’t reserialize dcvz 2024-05-15 10:24:14 +02:00
  • 55d88413c7 Replace toml11 in RSPRecomp dcvz 2024-05-15 10:20:49 +02:00
  • 8dd9af652c Fix compilation for CI dcvz 2024-05-15 09:46:23 +02:00
  • 05e07e79e2 Remove unused code, tidy updates, uniformity dcvz 2024-05-15 09:29:45 +02:00
  • a67337c7c3 Finished moving N64Recomp from toml11 to tomlplusplus Mr-Wiseguy 2024-05-15 02:38:41 -04:00
  • 6c0b3015b1 Start migration to new toml lib dcvz 2024-05-15 03:03:36 +02:00
  • 9cfe7de160 Initial pass at implementing the symbol input file mechanism Mr-Wiseguy 2024-05-14 10:27:42 -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
  • ef2e471667 Only one project define dcvz 2024-05-14 17:18:27 +02:00
  • c2106f1ce1 Add toml test toml-test dcvz 2024-05-14 17:13:57 +02:00
  • cf2f16ed71 Initial pass at implementing the symbol input file mechanism symbol-file Mr-Wiseguy 2024-05-14 10:27:42 -04:00
  • 0325461afb Be more explicit with the cplusplus path dcvz 2024-05-14 15:17:46 +02:00
  • 42a7718f71 Simplify CMake + add a few more building instructions dcvz 2024-05-14 15:12:00 +02: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