TL;DR
Developer Lucy Pero has published lucyNES, a Nintendo Entertainment System emulator written in the Odin programming language. Pero says it can run Battletoads and hundreds of other games, but describes sound, mapper support and accuracy as unfinished areas; development was paused in January 2025.
Developer Lucy Pero has built lucyNES, a Nintendo Entertainment System emulator written in the Odin programming language, and says it can run Battletoads and hundreds of other games. Pero began the project in June 2024 and paused work in January 2025, describing it as a learning project that remains incomplete rather than a finished emulator.
According to Pero’s project report, lucyNES includes a debugger view, save states and controller support, alongside a menu for interacting with the emulator. It also has a toggleable CRT shader, described as partial, and sound support that Pero says still needs substantial improvement.
The emulator supports six cartridge mapper types: NROM, MMC1, UXROM, CNROM, MMC3, GxROM and AxROM. (The report lists these seven names.) Mappers reproduce additional circuitry and behavior found in game cartridges; Pero says some implementations remain poor, and some games consequently do not work. The developer says the emulator runs Battletoads and hundreds of other games, but provides no independent compatibility test or total game count.
Pero says development took about seven months of part-time work, with the project started in late June 2024 and put on pause in January 2025. The report links to a GitHub repository and README for further project information. It does not describe a release date, formal completion status or plans to resume work.
What Emulator Developers Can Learn
lucyNES offers a practical example of how a small emulator project can grow beyond executing basic game instructions. Its author emphasizes that timing between the NES CPU and graphics processor, along with cartridge-specific behavior, can determine whether particular games work. That makes the project relevant to programmers interested in hardware emulation and to players looking for another way to run NES software.
The report also puts limits on the accomplishment. Compatibility claims come from the developer, not an independently published test suite, and sound and some mapper behavior remain incomplete. For readers, the key takeaway is a working project with a stated range of supported features, not a claim that every NES game runs accurately.
Seven Months of Part-Time Work
Pero says the project began in late June 2024 and was developed intermittently in spare time before work paused in January 2025. The developer describes learning about the NES architecture, CPU instructions, emulation and Odin along the way. The report says Odin’s C-like design, strong typing and manual memory management suited the project, while the absence of automatic integer promotion caused some bugs.
For technical reference, Pero credits the Nesdev wiki and community Discord, a NES tutorial series by Javidx, an article about the PPU and test ROMs. Those test programs check specific aspects of emulator behavior. Pero says community help and these resources were important to the work, while also noting that some hardware documentation and mapper details were difficult to interpret.
Compatibility and Sound Still Limited
The project report does not provide a standardized compatibility percentage, a complete list of tested games or independent verification of the claim that hundreds run perfectly. It also does not specify which games fail, how accurately each supported mapper is implemented, or how the emulator performs across different systems.
Sound is explicitly a work in progress, and the CRT shader is only partial. The report’s section on remaining work is incomplete in the supplied material, so it does not establish the full list of known issues. Whether development will resume, and whether the GitHub project has changed since the January 2025 pause, is also not stated.
Project Status and Further Testing
Readers seeking current build instructions, supported platforms or updates can consult the GitHub repository and README linked from Pero’s report. The source material does not announce a new version, a restart of development or a release schedule, so no follow-up milestone is confirmed.
Further clarity would come from updated project notes, a fuller list of known compatibility issues and results from NES test ROMs or a documented game-by-game test set. Until then, lucyNES is best described as a capable but unfinished personal emulator project, with its reported strengths and limitations attributed to its developer.
Key Questions
What is lucyNES?
lucyNES is a NES emulator written in Odin, developed by Lucy Pero as a part-time project beginning in June 2024.
Which games can it run?
Pero says it runs Battletoads and hundreds of other games. The report does not provide an independently verified compatibility list or total.
What features does the emulator support?
The report lists a debugger, save states, controller support, sound support and a partial CRT shader. It also names support for several cartridge mappers.
Is the emulator finished?
No. Pero says the project is unfinished, with sound and some mapper implementations among the areas needing work. Development was paused in January 2025.
Why is NES emulation difficult?
Pero points to precise CPU and graphics-processor timing and differences among cartridge circuitry. Those details can affect whether individual games work correctly.
Source: lucypero.com