Skip to content
View schulerj89's full-sized avatar

Highlights

  • Pro

Block or report schulerj89

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
schulerj89/README.md

Josh Schuler

Reverse engineering · Native game ports · Engineering leadership

I reconstruct classic games as native C programs from disassembly, traces, and observed behavior—without embedding an emulator or distributing copyrighted game data. I bring 15+ years of software experience to the work, from architecture and delivery through implementation, verification, and release.

Portfolio · Native ports · Open-source contributions

Native game ports

Project What is being reconstructed
NBA All-Star Challenge Game Boy → native C/SDL3 (Windows, macOS, iOS, Linux). Bank-aware Ghidra analysis, ROM-derived asset packs, deterministic parity manifests, and playable One-on-One, Free Throws, H-O-R-S-E, Accuracy Shootout, and Tournament modes.
Double Dribble NES → native C/Win32. Recovered title, audio, introduction, configuration, tip-off, possession, shooting, scoring, inbound, and free-throw behavior with trace-backed tests.
Tecmo NBA Basketball NES → native C/Win32. Playable preseason and season games, menus, presentation, court systems, team data, and a growing translation of the original CPU logic.

These are source-level preservation projects. Each one separates public code from user-owned ROM data, imports only validated local assets, and documents what is exact, approximated, or still missing.

How I work

  • Recover banked assembly and data structures with Ghidra, emulator traces, and focused scripts.
  • Translate behavior into legible C while preserving original state machines and fixed-point rules.
  • Compare native output against reproducible reference captures and deterministic regressions.
  • Keep legal and technical boundaries explicit: no ROMs, extracted assets, or embedded emulation.

Currently exploring

  • More game recompilations, kept clean. More titles through the same pipeline — disassembly and traces in, legible native C out, with ROM data staying on the user's machine and no extracted assets distributed. Also interested in converging the earlier Win32-only ports onto the SDL3 cross-platform host.
  • Staying hands-on as a manager. Backend and frontend open source — framework and documentation contributions, plus full-stack side builds — to keep implementation instincts sharp alongside the day job.

Open source

I also contribute upstream framework and documentation improvements:

Beyond the ports

Campus Gridiron Dynasty is a 20-season college-football simulation built with React and TypeScript. My broader work spans systems programming, browser games, developer tooling, Go, Rust, TypeScript, and applied AI.

Pinned Loading

  1. github-page github-page Public

    Reverse-engineering and native game-port portfolio featuring Game Boy and NES reconstructions in C.

    CSS