Dev uses Claude AI to write a ‘functional NES emulator’ — you can test it now, playing Donkey Kong in your browser
Lua scripting language was used to interface with the developer’s Carimbo 2D Engine.
Get 3DTested's best news and in-depth reviews, straight to your inbox.
You are now subscribed
Your newsletter sign-up was successful
Retro fun-loving developer Rodrigo Delduca has succeeded in prompting Claude to write “a functional NES emulator.” Claude generated a series of Lua scripts that worked in tandem with Delduca’s Carimbo 2D game engine to create the emulator. You can give the code a spin for yourself and enjoy a bit of retro Donkey Kong action online, simply by visiting this link.
The NES is one of the most widely emulated game consoles ever. And, as one of the older cartridge-based platforms, it provides a good baseline for emulator development on new platforms, or for demonstrating new emulator creation technologies. We’ve seen AI generate playable games before, as in the recent competent Minesweeper clone test using four competing LLMs. However, emulators present a very different challenge for developers (and AI).
Some insight into the NES emulator is provided by Delduca’s GitHub, where the source scripts are shared. Here you can dive into the Lua scripts that breathe life into the emulator. From the file names alone, you can see separate scripts targeting the NES CPU, PPU, Input, bus, and more. These all have to work in harmony with the game code.
Lua and Carimbo
Delduca’s Carimbo 2D game engine powers the Lua scripts to create the working NES emulator. Lua is a “powerful, efficient, lightweight, embeddable scripting language,” that is free and open source (MIT license). Claude can generate scripts in this robust, fast, portable, and embeddable scripting language.
Carimbo is described by Delduca, its creator, as a simple yet complete 2D game engine written in modern C++23 using SDL. Importantly, it is scriptable in Lua, and can run natively on Linux, Windows, macOS, Android, iOS, and the web (via WebAssembly). Carimbo relies on libraries such as boost, Box2D, EnTT, stb, simdjson, sol2, PhysFS, SDL, and OpenAL.
In addition to this emulator, there are a handful of other Carimbo engine games and demos available for you to try.
In my testing, the AI coded NES emulator felt slow, but depending on your system and web browser, you may get different results. Some of the comments on the emulator highlighted its sluggish performance. One cruelly notes that the 'cost of slop' was a 40X drop in performance, without sound, compared to rival online embedded NES emulators. Indeed, I remember playing with NESticle in the late 1990s, enjoying fast and responsive NES emulator fun on an old Pentium 120.
Get 3DTested's best news and in-depth reviews, straight to your inbox.
Follow 3DTested on Google News, or add us as a preferred source, to get our latest news, analysis, & reviews in your feeds.

-
Findecanor Of course, the "AI" did not code the emulator itself. Rather it created a mashup of existing emulator code that it found out there on the web.Reply
That is how "AI" works. Don't be deceived. -
JohnyFin That's misleading article. AI is not create any code. Second you must know codding to do something with code from AI.Reply -
George³ Is possible this LLM to create almost full emulator writing code simbol after simbol. But probably needs human intervention for fine tunning.Reply -
dimar What's the point when emulators are already available. Now if AI could rewrite Windows 9x or WinXP or Win7 to supports the latest drivers APIs and software in one click, that would be something.Reply -
palladin9479 Alternate headline, AI copy pastas existing NES emulator code to make new emulator without credit to original authors.Reply -
alrighty_then Do you care if your tshirt was hand sewn or machine made? If your software was hand written or AI slopped together? If it does the job, no one cares...especially when the latter is way faster to create. There will be no developers writing without AI in the future.Reply -
palladin9479 https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQBzpxXC3I8skBx3upIteTn0aD4zrdx1vc23x0fhGf8Qw&sReply
The industry name for AI slop coding is Vulnerability as a Service.
To avoid that you hire Vibe coding cleanup specialists to spend hours rewriting the code. Of course their previous job title was senior software engineer. -
TerryLaze Reply
That's not what happened here otherwise it would run much faster...Findecanor said:Of course, the "AI" did not code the emulator itself. Rather it created a mashup of existing emulator code that it found out there on the web.
That is how "AI" works. Don't be deceived.
This probably is AI. Trying to recreate donkey kong, and not a full NES emulator.
You would need an nes donkey knog expert to play this and see how much it differs from actual nes gameplay. -
DSzymborski Replydimar said:What's the point when emulators are already available. Now if AI could rewrite Windows 9x or WinXP or Win7 to supports the latest drivers APIs and software in one click, that would be something.
That kind of misses the point. The idea is to see how far one can stretch current AI. It's not really about the emulator program itself, but the challenge of it. It's the same reason we have awkward running robots or even people running 26.2 miles when a car or a bicycle is far more efficient for that travel.