Show HN: Arcade.js – Decompiling MAME ROMs into Idiomatic JavaScript with LLMs (github.com)

🤖 AI Summary
A new project called Arcade.js has emerged, demonstrating an innovative use of AI agents to decompile MAME ROMs into JavaScript while ensuring pixel-perfect fidelity to the original arcade games, starting with Donkey Kong. This initiative is particularly significant for the AI/ML community as it not only explores the potential of AI in software porting but also addresses the challenge of verifying correctness through a built-in reference implementation. By using MAME as the verification oracle, developers can confirm that the translated JavaScript produces the same pixels as the original machine code frame-by-frame, revolutionizing how software preservation and emulation can be approached. The project involves a comprehensive structure that allows for multiple CPUs and arcade boards to be supported, with detailed documentation describing the organization of the AI agents and the challenges encountered during the process. The translation replaces the ROM's logic while leaving the original data intact, maintaining a clear distinction between the copyrighted content and the newly generated code. With 343 unit tests and a variety of verification methods in place, Arcade.js showcases not only the feasibility of using AI in software emulation but also sets a standard for future projects aiming to bridge classic gaming with modern technology.
Loading comments...
loading comments...