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.

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/Win32. 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.

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. all-star-challenge-c-port all-star-challenge-c-port Public

    Native C/Win32 port of NBA All-Star Challenge for Game Boy, reconstructed from bank-aware disassembly, traces, and parity tests.

    C

  2. double-dribble-c-port double-dribble-c-port Public

    Source-only native C/Win32 port of Double Dribble for NES, reconstructed from disassembly, emulator traces, and deterministic tests.

    C

  3. tecmo-basketball-port tecmo-basketball-port Public

    Native C/Win32 port of Tecmo NBA Basketball for NES, rebuilding the game without embedding an emulator.

    C

  4. github-page github-page Public

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

    CSS

  5. campus-gridiron-dynasty campus-gridiron-dynasty Public

    A 20-season college football dynasty simulator built with React and TypeScript, deterministic systems, and cross-browser verification.

    TypeScript

  6. framework framework Public

    Forked from laravel/framework

    The Laravel Framework.

    PHP