nowfound

Dev tools · September 9, 2023

Ghidra Plays Mario

I've been exploring new ways of testing Ghidra processor modules. In this repo, I was able to emulate NES ROMs in Ghidra to test its 6502 specification, which resulted in finding and fixing some bugs. Context: Ghidra is used for reverse engineering binary executables, complementing the usual disassembly view with function decompilation. Each supported architecture has a SLEIGH specification, which provides semantics for parsing and emulating instructions, not unlike the dispatch handlers you would find in interpreters written for console emulators. Emulator devs have long had extensive test…

Ghidra Plays Mario launched on September 9, 2023 with 207 votes, #209 of 4,228 launches that month and more than 95% of that year's launches. The site was still online in September 2026, 3 years on.

In plain words

Ghidra Plays Mario is a testing framework for Ghidra's processor modules that runs NES ROMs through Ghidra's 6502 emulator instead of a traditional console emulator. It bridges Ghidra's CPU emulation capabilities with existing console test ROMs to validate processor specifications and catch bugs. The project demonstrates a novel approach to testing reverse engineering tools by leveraging decades of console emulator test suites, helping identify and fix issues in Ghidra's architecture implementations.

written from the facts on this page · September 2026

From the sources

Playing NES ROMs with Ghidra's PCode Emulator. Contribute to nevesnunes/ghidra-plays-mario development by creating an account on GitHub.

In the maker’s words, at launch

I've been exploring new ways of testing Ghidra processor modules. In this repo, I was able to emulate NES ROMs in Ghidra to test its 6502 specification, which resulted in finding and fixing some bugs. Context: Ghidra is used for reverse engineering binary executables, complementing the usual disassembly view with…

Does a similar job

all alternatives →
  • A Ghidra extension for exporting parts of a program as object files2024 · github.com · ▲304

    This Ghidra extension unrelocates machine code through analysis and then synthesizes a working object file from a listing selection. It effectively turns computer programs into Lego bricks, to be torn down into pieces and reused into something new. It supports the COFF and ELF object file formats, for the x86 and MIPS architectures. It has been successfully used on Linux, Windows and PlayStation executables. One user report is on a commercial video game from 2009 with a ~7 MiB Windows executable written in C++: it was delinked without its C runtime library and then relinked into a new…

  • My x86 emulator written in JavaScript2013 · copy.sh · ▲765

    Run KolibriOS, Linux or Windows 98 in your browser

  • An NES emulator written in Rust2013 · github.com · ▲125

    NES emulator written in Rust. Contribute to pcwalton/sprocketnes development by creating an account on GitHub.

  • RomM – An open-source, self-hosted ROM manager and player2025 · github.com · ▲238

    RomM is a self-hosted app that allows you to manage your retro game files (ROMs) and play them in the browser. Think of it as Plex or Jellyfin for your ROM library: it automatically fetches metadata, artwork, and game information from online metadata sources to transform your folders into a browsable collection. You can play games directly in the browser for consoles like the N64, Game Boy Advance, Nintendo DS, and PlayStation 1, using the integrated web emulator (https://emulatorjs.org/). Members of the community have released integrations for Playnite (Windows), muOS…

  • yuzu2018 · ▲123

    An experimental open-source emulator for the Nintendo Switch

  • A Golang CP/M emulator2024 · github.com · ▲107

    Z80-based CP/M emulator, in golang. Happily runs Zork, Microsoft BASIC, Turbo Pascal, Wordstar, etc. - skx/cpmulator

Questions this answers

More dev tools this month

the category →
  • /dev/null▲472

    a social network for devs

    Dev tools · 2d ago · dev-null.sh

  • open-source IDE for thoughtful software design. Contribute to devdotfast/whiteboard development by creating an account on GitHub.

    Dev tools · 27d ago · github.com

  • Contribute to reladraw/reladraw development by creating an account on GitHub.

    Dev tools · 25d ago · github.com

  • OpenBot▲362

    Grok Bot alternative: free, local, open-source, multiplayer

    Dev tools · 22d ago · openbot.run

  • Talanoa▲340

    Hi HN, I’m a fullstack developer, and honestly, I’ve lost count of how many side projects I’ve worked on over the years. But one idea kept coming back to me: a different kind of email client. It first came to me in 2014: “What if we could handle emails more like conversations?” Every year, I’d revisit this concept in my “Build Notes.” Ten years later, no one had built exactly what I had in mind — so I finally decided to do it myself. That’s how Talanoa was born. I wanted something focused on people, not timelines. I was tired of marking messages as unread just to remember to reply later, or…

    Dev tools · 20d ago · talanoa.email

  • CoreSpeed▲332

    One MCP for everything your agents need: apps, memory, tools

    Dev tools · 27d ago · corespeed.io

Source: Show HN post ↗ · launch text quoted in part

Launched alongside, September 2023

the whole month →
  • Loops▲1,556

    Measure whether a campaign drove the desired outcome

    Dev tools · 2023 · loops.so

  • Tally 2.0▲1,479

    The simplest way to create forms for free

    Dev tools · 2023 · tally.so

  • Klu AI▲1,462

    Your data, unified and interactive

    AI · 2023 · klu.so

  • FirstHR▲1,063

    All-in-one HR platform for founders with dreams and teams

    Work · 2023 · firsthr.app

  • DevHunt▲945

    Open source Product Hunt for dev tools

    Dev tools · 2023 · devhunt.org

  • GenAI app to create personalized content

    AI · 2023 · yarnit.app