Skip to content

mstan/YoshiNESRecomp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

YoshiNESRecomp

Static recompilation of Yoshi (NES) for native PC. Built with the NESRecomp framework.

Status: Believed fully playable. Title screen, single-player puzzle mode, two-player versus, and the demo all run end-to-end. If you find a bug, please open an issue.

What Works

  • Title screen
  • Single-player puzzle mode (Type-A and Type-B)
  • Two-player versus mode
  • Score, level, and speed display
  • The attract-mode demo
  • Both controllers

Quick Start

  1. Download YoshiNESRecomp-windows-x64.zip from Releases
  2. Extract and run YoshiRecomp.exe
  3. Select your Yoshi (USA) ROM when prompted — the path is saved for future launches

Controls

NES Button Keyboard
D-Pad Arrow keys
A Z
B X
Start Enter
Select Tab
Hotkey Action
F5 Toggle turbo (fast-forward)
F6 Save state
F7 Load state

Yoshi is a puzzle game with no battery save, so save states are the way to bookmark a session.

Building from Source

Requires Visual Studio 2022 and CMake 3.20+.

git clone https://github.com/mstan/YoshiNESRecomp
cd YoshiNESRecomp

# Windows
setup.bat

# Linux / macOS
chmod +x setup.sh && ./setup.sh

This clones nesrecomp at the exact version pinned in nesrecomp.pin and links the Nestopia oracle core.

Then build:

cmake -S . -B build -G "Visual Studio 17 2022" -A x64
cmake --build build --config Release

Place your Yoshi (USA) ROM in the build directory or select it at runtime.

Architecture

This is a static recompiler, not an emulator. The original 6502 machine code is translated to C at build time, then compiled to native x64. The NES PPU, APU, and MMC1 mapper are simulated by the runner library.

  • game.toml — recompiler configuration (data regions, dispatch extras)
  • extras.c — game-specific hooks (TCP debug server, verify-mode integration)
  • verify_mode.c — optional dual-execution verification against a Nestopia oracle
  • generated/ — auto-generated C code (do not edit manually)
  • nesrecomp/ — framework, consumed via directory junction + pin file

Known Limitations

  • Audio is basic (APU register writes are captured but full audio mixing is work-in-progress)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors