nowfound

Dev tools · March 7, 2023

NP

NESFab – Programming language for making NES games

This is a long-running personal project I've had to write an optimizing compiler from scratch. Everything was done by me, including the lexer/parser, SSA-based IR, high-performance data structures, and code generator. Originally I wasn't targeting the NES. It started as a scripting language, then it morphed into a C++ replacement, and then finally I turned it into what it is today. The large scope of the project and colorful history means it's still a little rough around the edges, but it's now working well enough to post.

NESFab – Programming language for making NES games launched on March 7, 2023 with 298 votes, #97 of 5,007 launches that month and more than 95% of that year's launches. The site was still online in September 2026, 3 years on.

Visit pubby.games ↗Alternativestop 2% of March 2023

In plain words

NESFab is a programming language and compiler for creating games for the Nintendo Entertainment System. It features a custom-built optimizing compiler with lexer, parser, SSA-based intermediate representation, and code generator, all developed by a single creator. The language evolved from a scripting project into a specialized NES development tool. While still refining some rough edges from its complex development history, it is now functional enough for practical use in NES game creation.

written from the facts on this page · September 2026

From the sources

NESFab is a new programming language for creating NES games. Designed with 8-bit limitations in mind, the language is more ergonomic to use than C, while also producing faster assembly code. It's easy to get started with, and has a useful set of libraries for making your first — or hundredth — NES game. NESFab generates better 6502 machine code than any high-level compiler tested, including GCC and LLVM. It's possible that NESFab is the best performing 6502 compiler in existence. Traditionally, NES games were written by hand in assembly language, as anything else at the time was too sluggish to run on the 1980s era CPU. NESFab isn't sluggish though! The NES uses a 16-bit address…from pubby.games

Does a similar job

all alternatives →
  • 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.

  • Boardzilla, a framework for making web-based board games2024 · boardzilla.io · ▲574

    Show HN: Boardzilla, a framework for making web-based board games Tldr: We’ve made a framework for web-based board games. You can try out some games over at https://boardzilla.io, or you can take a look at https://docs.boardzilla.io to learn more about how to develop your own game. Source is available at https://github.com/boardzilla Hey y’all. My brother and I have made a framework for board games. During the pandemic we started to look at BGA but got discouraged by how old-fashioned the tools were and how cumbersome the development process was. We set out…

  • ScrapScript – A tiny functional language for sharable software2023 · scrapscript.org · ▲503

    Hi friends, I started casually working on scrapscript in 2015. I built a few compilers over the years to test out various ideas/implementations, and I think I'm finally happy with the overall design. The code is not public yet. Email me at [email protected] if you're interested in joining the core team later this year. Let me know if you have any questions or feedback :)

  • 9D
  • C# Game Engine with its own scripting language and IDEAug 2026 · github.com · ▲118

    GitHub repo: https://github.com/ArcadeMakerSources/ArcadeMaker (first of all, i want to say that I made this project for fun and challenge. I always wanted to create my own language. This has no business goal or something.) So the project is a 2D game engine (MonoGame backend) inspired by GameMaker 8. It includes its own IDE (built with WinForms) and an interpreted programming language that I wrote myself. The language—definitely the biggest challenge in the project—is a simple dynamically typed language. When I started, I had zero knowledge of how to build something like…

  • LuaGB – A Gameboy emulator written in pure Lua2017 · github.com · ▲136

    A gameboy emulator written in pure Lua. Work in progress. - zeta0134/LuaGB

More dev tools this month

the category →
  • /dev/null▲481

    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▲341

    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 · 28d ago · corespeed.io

Source: Show HN post ↗

Launched alongside, March 2023

the whole month →
  • GPT-4▲1,160

    More accurate, less cringe, smoother & useful daily chats!

    AI · 2023 · openai.com

  • Collato▲972

    One AI search to find anything instantly, across all apps

    AI · 2023

  • Chat with AI using your API keys. Pay only for what you use. ChatGPT, Gemini, Claude, and other LLMs supported. The best chat LLM frontend UI for all AI models.

    AI · 2023 · typingmind.com

  • Meet the internet again

    Work · 2023 · apps.apple.com

  • Sequoia▲726

    Personalized men's sexual health with on-demand experts

    Life & fun · 2023 · sequoia.health

  • BI

    I'm a big fan of the BBC podcast In Our Time -- and (like most people) I've been playing with the OpenAI APIs. In Our Time has almost 1,000 episodes on everything from Cleopatra to the evolution of teeth to plasma physics, all still available, so it's my starting point to learn about most topics. But it's not well organised. So here are the episodes sorted by library code. It's fun to explore. Web scraping is usually pretty tedious, but I found that I could send the minimised HTML to GPT-3 and get (almost) perfect JSON back: the prompt includes the Typescript definition. At the same time I…

    AI · 2023 · genmon.github.io