Commit graph

  • d65b8adf6f
    Merge fd2f36ed94 into 17438755a1 #112 LittleCube 2024-12-24 22:12:54 -0500
  • fd2f36ed94 move function_sizes in the toml to input instead of patches #112 LittleCube 2024-12-24 22:10:22 -0500
  • 7d4ede6369 fix TRACE_ENTRY emission LittleCube 2024-12-24 22:08:25 -0500
  • 17438755a1
    Implement nrm filename toml input, renaming list, trace mode, and context dumping flag (#111) main LittleCube 2024-12-24 02:10:26 -0500
  • 5c52194e44 fix arg2 check and usage string #111 LittleCube 2024-12-24 01:05:49 -0500
  • fe84307d7f fix some renaming and trace mode comments, revert no toml entrypoint code, add TODO to broken block LittleCube 2024-12-24 00:46:48 -0500
  • f2e58c106d adjust trace mode to use a general TRACE_ENTRY() macro LittleCube 2024-12-24 00:32:45 -0500
  • da5ec4c824 refactor re_mode to function_trace_mode LittleCube 2024-12-23 23:09:18 -0500
  • 7e04b95d71 fix --dump-context arg, fix entrypoint detection LittleCube 2024-12-23 23:00:07 -0500
  • 0cc8edcf40 add renaming and re mode LittleCube 2024-12-23 16:11:22 -0500
  • 2632d435b0 change name of mod toml setting to 'mod_filename' LittleCube 2024-12-19 14:07:54 -0500
  • ef0e7a575a implement nrm filename toml input LittleCube 2024-12-19 13:47:53 -0500
  • 1bb41ec136 Implemented unaligned stores in live generator, begin improving error handling in live generator live-recomp Mr-Wiseguy 2024-12-18 02:49:57 -0500
  • 5539c5c0ca Implement relocations in live recompiler Mr-Wiseguy 2024-12-11 21:32:44 -0500
  • 158c9243aa Implement float operations for live generator, switch to native rounding mode for cop1 cs, fix 128-bit typedef errors Mr-Wiseguy 2024-12-10 17:47:38 -0500
  • be2fe73256
    Add doubleword support to recomp.h (#107) Tharo 2024-11-22 00:21:25 +0000
  • fb417695b6 Add doubleword support to recomp.h #107 Thar0 2024-11-22 00:04:49 +0000
  • a13fa4d423 Add support for cop1 writes and reads to live recompiler, WIP relocation support Mr-Wiseguy 2024-11-10 17:51:17 -0500
  • 514ad596ae Implement switch statements and special function calls (break, syscall, trigger event) in live recompiler Mr-Wiseguy 2024-10-13 01:47:39 -0400
  • ce46ef7ed1 Fixed divu sign extension in live recompiler and fixed warnings Mr-Wiseguy 2024-10-12 13:30:07 -0400
  • 92776c4a05 Implement indirect calls and fix signed branch conditions in live recompiler Mr-Wiseguy 2024-10-07 21:39:39 -0400
  • 137c326f3e Implemented calling internal functions in live recompiler, added bltzal/bltzall to branch operations Mr-Wiseguy 2024-10-07 00:15:11 -0400
  • c76b127f3a Fix shifts and implement integer multiply and divide instructions in live generator Mr-Wiseguy 2024-10-05 22:40:23 -0400
  • 009754862f Add WIP live recompiler for mods (direct machine code output) Mr-Wiseguy 2024-10-04 02:32:33 -0400
  • 88d5d1875a Reorganized headers and add recomp.h from modern runtime Mr-Wiseguy 2024-10-04 01:52:33 -0400
  • 391511c795 Remove luajit backend Mr-Wiseguy 2024-10-03 01:56:15 -0400
  • 485a9e14c9 Split Negate operation into NegateFloat and NegateDouble, added support for custom recompiler backends luajit-recompilation Mr-Wiseguy 2024-10-02 23:05:39 -0400
  • c54855b05d Removed output file from generator signatures, implement some of the luajit generator Mr-Wiseguy 2024-09-29 17:17:05 -0400
  • f3f4a5cd73 Fixed pair of bugs with float compare flag that cancelled each other out Mr-Wiseguy 2024-09-29 02:18:20 -0400
  • 8aa8e6c426 Add LuajitGenerator class Mr-Wiseguy 2024-09-29 01:02:46 -0400
  • 053242263f Moved remaining instruction processing text generation into Generator class Mr-Wiseguy 2024-09-28 23:58:25 -0400
  • 4b7eed9256
    Merge 0cd1440f13 into d33d381617 #15 Rucadi 2024-09-19 11:44:22 -0300
  • 2d8fd6db1b
    Merge dbff802ad0 into d33d381617 #27 Ikko Eltociear Ashimine 2024-09-18 09:34:40 -0400
  • 28898e5547
    Merge dea30ba3ef into d33d381617 #86 ckeyboard 2024-09-15 19:55:42 -0500
  • d33d381617
    Show error when zip command is not found by linux (#94) LittleCube 2024-09-15 17:59:19 -0400
  • d5ab74220d
    Various mod fixes (#95) Wiseguy 2024-09-12 18:54:08 -0400
  • 7a5eb68c5e Fix function calls and add missing runtime function pointers in offline mod recompiler #95 Mr-Wiseguy 2024-09-12 00:45:08 -0400
  • 5f16261c91 Prevent emitting duplicate reference symbol defines in offline mod recompilation Mr-Wiseguy 2024-09-11 23:49:48 -0400
  • 305cc76448 Fixed edge case with switch case jump table detection when lo16 immediate is exactly 0 Mr-Wiseguy 2024-09-11 23:39:39 -0400
  • 14f5d78157 Terminate offline mod recompilation if any functions fail to recompile Mr-Wiseguy 2024-09-11 22:29:27 -0400
  • 2a2240da9a Exit on linux if zip command is not found #94 LittleCube 2024-09-11 03:00:37 -0400
  • dbf81349ff Show error when zip command is not found by linux LittleCube 2024-09-11 02:53:12 -0400
  • 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 -0400
  • 73be3f506d Fix duplicate import symbols issue and prevent emitting unused imports #93 Mr-Wiseguy 2024-09-09 21:40:35 -0400
  • e098b0e018 De-hardcode symbol file path for offline mod recompiler Mr-Wiseguy 2024-09-08 21:54:18 -0400
  • b4ad9af47e Implement mod file creation on posix systems Mr-Wiseguy 2024-09-08 13:47:55 -0400
  • 2ec49adc39 Fixed some error prints not using stderr Mr-Wiseguy 2024-09-08 03:09:23 -0400
  • 83f0936f67 Implement mod file creation in Windows Mr-Wiseguy 2024-09-08 03:08:09 -0400
  • e81a8526ee Added mod manifest generation to mod tool Mr-Wiseguy 2024-09-08 00:11:00 -0400
  • b8dcb21dec Removed dependency version from mod symbols (moved to manifest) Mr-Wiseguy 2024-09-03 22:59:18 -0400
  • 4f61ef4be9 Output recomp API version in offline mod recompiler Mr-Wiseguy 2024-09-01 20:04:27 -0400
  • f903d89eb5 Add support for creating events in normal recompilation Mr-Wiseguy 2024-08-31 22:04:47 -0400
  • 5b98d7544a Switch offline mod recompilation to use a base global event index instead of per-event global indices Mr-Wiseguy 2024-08-31 14:00:07 -0400
  • 747cd9f6ac Fix export names not being set on functions when parsing mod syms, add missing returns to mod parsing Mr-Wiseguy 2024-08-30 01:21:43 -0400
  • 131157dad8 Add support for special dependency names (self and base recomp), fix non-compliant offline mod recompiler output Mr-Wiseguy 2024-08-27 01:23:37 -0400
  • 0aacb52e75 Remove reference context from parse_mod_symbols argument Mr-Wiseguy 2024-08-26 23:34:38 -0400
  • 5b17bf8bb5
    Modding Support PR 1 (Instruction tables, modding support, mod symbol format, library conversion) (#89) Wiseguy 2024-08-26 23:06:34 -0400
  • 7372681481 Rework callbacks and imports to use the section name for identifying the dependency instead of relying on per-dependency tomls #89 Mr-Wiseguy 2024-08-26 01:35:49 -0400
  • 9402cf8d45 Add missing includes for libstdc++ Mr-Wiseguy 2024-08-24 23:53:02 -0400
  • 688c4a2537 Fixed incorrect size used for finding section segments Mr-Wiseguy 2024-08-24 22:26:42 -0400
  • 49c3628a76 Fix handling of section load addresses to match objcopy behavior, added event parsing to dependency tomls, minor cleanup Mr-Wiseguy 2024-08-24 03:15:56 -0400
  • eb8aba6550 Add more comments to the offline mod recompiler's output Mr-Wiseguy 2024-08-23 03:23:12 -0400
  • 3f56034bd0 Add local symbol addresses array to offline mod recompiler output and rename original one to reference section addresses Mr-Wiseguy 2024-08-23 03:12:12 -0400
  • 293b97817b Allow cross-section relocations, encode exact target section in mod relocations, add way to tag reference symbol relocations Mr-Wiseguy 2024-08-23 03:11:12 -0400
  • 008b1177fa Move file header writing outside of function recompilation Mr-Wiseguy 2024-08-22 23:24:54 -0400
  • ad0e38dde7 Add runtime-driven fields to offline mod recompiler, fix event symbol relocs using the wrong section in the mod tool Mr-Wiseguy 2024-08-22 00:23:23 -0400
  • 21504041b9 Add events (from dependencies and exported) and callbacks to the mod symbol format and add support to them in elf parsing Mr-Wiseguy 2024-08-21 01:29:12 -0400
  • f300b6dccc Some cleanup by making some Context members private Mr-Wiseguy 2024-08-18 14:11:03 -0400
  • 5f1b9a845b Move mod context fields into base context, move import symbols into separate vector, misc cleanup Mr-Wiseguy 2024-08-17 13:25:04 -0400
  • 623013a371 Add strict mode and ability to generate exports for normal recompilation (for patches) Mr-Wiseguy 2024-08-11 14:45:07 -0400
  • 8fcf73de4d Add first pass offline mod recompiler (generates C from mods that can be compiled and linked into a dynamic library) Mr-Wiseguy 2024-07-24 01:11:41 -0400
  • f92bd0c7b9 Add dependencies to the mod symbol format, finish exporting and importing of mod symbols Mr-Wiseguy 2024-07-24 01:11:07 -0400
  • 4b4dcff7ca Implemented writing import and exports in the mod tool Mr-Wiseguy 2024-07-22 23:56:48 -0400
  • ab80ff962e Make mod tool emit relocs and patch binary for non-relocatable symbol references as needed Mr-Wiseguy 2024-07-22 00:01:47 -0400
  • a7a4134123 WIP elf to mod tool, currently working without relocations or API exports/imports Mr-Wiseguy 2024-07-17 00:54:43 -0400
  • d8dcb43d5a Move elf parsing into a separate library Mr-Wiseguy 2024-07-16 22:24:25 -0400
  • 04daa21908 Refactor elf parsing into static Context method for reusability Mr-Wiseguy 2024-07-16 21:20:32 -0400
  • ff7aae11df Restructure mod symbols to make replacements global instead of per-section Mr-Wiseguy 2024-07-12 22:27:20 -0400
  • a88bc6e16a Implement mod symbol parsing Mr-Wiseguy 2024-07-09 16:40:17 -0400
  • 07f2569647 Remove some unused code and document which Context fields are actually required for recompilation Mr-Wiseguy 2024-07-08 22:20:19 -0400
  • ff5797a2aa Changed recomp port naming to N64Recomp Mr-Wiseguy 2024-07-08 16:54:35 -0400
  • 9b0a349a5e Moved parts of recomp_port.h into new internal headers in src folder Mr-Wiseguy 2024-07-08 16:51:17 -0400
  • bb2fc8c67b Removed unnecessary config input to recompilation functions Mr-Wiseguy 2024-07-08 16:37:41 -0400
  • ddb8a08482 Move recompiler core logic into a core library and make the existing CLI consume the core library Mr-Wiseguy 2024-07-07 17:27:49 -0400
  • bce3baa99a Fix mov.d using the wrong input operand Mr-Wiseguy 2024-06-19 21:42:09 -0400
  • 4fd4d6a883 Created Generator interface, separated operation types and tables and C generation code into new files Mr-Wiseguy 2024-06-12 00:05:22 -0400
  • bd44f0bb59 Added store instruction operation table Mr-Wiseguy 2024-06-10 01:27:38 -0400
  • 812cc442d0 Finished moving float arithmetic instructions to operation tables Mr-Wiseguy 2024-06-09 16:15:52 -0400
  • 9b1137eb6a Added CHECK_FR generation to binary operation processing, moved float comparison instructions to binary op table Mr-Wiseguy 2024-06-09 01:42:18 -0400
  • 90a77a0e6e Add operands for other uses of float registers Mr-Wiseguy 2024-06-09 00:29:44 -0400
  • 2997975199 Fixed likely swap on bgezal, fixed extra indent branch close and missing indent on branch statement Mr-Wiseguy 2024-06-06 23:58:02 -0400
  • fb5af956b1 Added and implemented conditional branch instruction table Mr-Wiseguy 2024-06-04 21:46:31 -0400
  • 024ba3959f More binary op types, moved binary expression string generation into separate function Mr-Wiseguy 2024-05-23 18:20:29 -0400
  • 239a637e29 Initial implementation of unary operation table Mr-Wiseguy 2024-05-23 00:51:33 -0400
  • 7268649c44 Initial implementation of binary operation table Mr-Wiseguy 2024-05-22 21:24:11 -0400
  • e4b6f35899
    Merge 552d5efde2 into f8d439aeee #38 David Chavez 2024-08-15 01:13:45 -0400
  • 99e645b65b
    Merge fb7f4d0c0a into f8d439aeee #80 David Chavez 2024-08-15 01:13:42 -0400
  • f8d439aeee
    Add option to output multiple functions per file, defaults to 50 (#88) Wiseguy 2024-08-15 00:17:09 -0400
  • 04be428bef Add option to output multiple functions per file, defaults to 50 #88 Mr-Wiseguy 2024-08-13 23:22:59 -0400
  • 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 -0400