Vibe Coding the Classics
Rodrigo Delduca used Claude to vibe code an experimental NES emulator in Lua, which is now available to play online.
The vibe coding scene may have cooled off somewhat after the exuberance that blossomed last spring as new tools emerged, and the potential seemed endless. Since then, the limitations of coding models have revealed themselves, and developers are taking a more measured approach to their application in practice. But that doesn’t mean they don’t have any value. They can still help whip together some pretty impressive code in a jiffy under the right conditions.
Consider software engineer Rodrigo Delduca’s recent AI coding experiment, for instance. Previously, Delduca had developed a 2D game engine called Carimbo. He was interested in using this engine to build an NES emulator, but rather than doing all of the research, coding, and testing, he instead threw the problem over to Claude, one of the most popular AI coding assistants.
Claude generated a set of scripts in the Lua programming language that mimic the execution of the 6502-compatible Ricoh 2A03 CPU’s opcodes, emulate the NES’s Picture Processing Unit hardware, handle controller inputs, and everything else a virtual console needs to run a ROM file.
The code has been released on GitHub for anyone who is interested in having a look around. There is also a page available where you can give the NES version of Donkey Kong a test drive. It runs quite slowly and there is no sound, so this will not become anyone’s favorite way to emulate NES games. There is no word on whether or not it can successfully run any games aside from Donkey Kong, either. But considering that this was written almost entirely by an AI model, it’s no small miracle that it works at all.
If this project interests you, then perhaps you'd like to do some vibe coding in QBasic?
R&D, creativity, and building the next big thing you never knew you wanted are my specialties.