A programming language to make NES games without learning Assembly

NESFab is a programming language of great specificity: it's for making games on the Nintendo Entertainment System, whose ancient vintage otherwise demands a punishing command of 6502 Assembly. [via Hacker News]

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.

It wasn't enough to just know 6502 either; the NES was a typically 80s mess of memory management and other platform-specific quirks. You can reward creator Pubby at their Patreon.