Welcome to my portfolio. I specialize in modern C++ tools utilities,
Win32 systems engineering, and custom application development.
SuperRecomp (Static Binary Recompiler)
An ahead-of-time (AOT) binary translation toolchain designed to statically recompile SNES machine code into native, standalone C++ executables.
🛠️ Architecture & Implementation Detail
The tool acts as an architecture translation layer. It completely bypasses traditional runtime interpretation cycles by decoding system machine instructions directly from a ROM payload and mapping the control flow graph into functionally equivalent C++ execution pipelines.
- Ahead-of-Time (AOT) Translation: Converts raw 65c816 machine code bytes into source code ahead of runtime execution, eliminating the resource overhead associated with standard hardware emulation cycles.
- Static Memory Optimization: Emits deterministic structural symbols (e.g., mapping hardware subroutines to unified address pointers like
sub_0xXXXX), opening up standard binary compilation pathways for manual symbol mapping tables (e.g., hooking native abstractions like UpdateMarioPhysics()).
- Target Platform Decoupling: Emits source representations that turn logic payloads from raw read-only emulator data into standard program code, establishing baseline portability constraints for running native ports across modern platforms (Desktop, WebAssembly, Console targets).
🧠 Solved Engineering Challenges
Control Flow Graph Disassembly Validation
- Problem: Early compiler outputs generated unstable instruction patterns when evaluating variant ROM templates containing variable-length headers.
- Solution: Built explicit validation boundaries into the disassembler routing array to isolate and reject non-standard 512-byte structural paddings (such as classic
.smc formats). This locked the system to a clean baseline execution vector, stabilizing codegen output pass-rates across core game logic scripts.
Build Engine Integration
- Problem: Cross-platform source dependencies caused configuration discrepancies when handling environment include flags under raw compilers.
- Solution: Designed a declarative CMake/Ninja multi-pass configuration blueprint that containerizes the generator executable (
RecompTool) independently from the runtime compilation targets, abstracting environmental variations under Windows environments.
Professional Links
- Main GitHub Profile: https://github.com/dreamsailing59-ops
- Contact/Discord: elderthesmall