LaiNES is a compact, cycle-accurate Nintendo Entertainment System emulator written in C++ that prioritizes precision and minimalism in its implementation. Its design focuses on accurately simulating the NES hardware at the clock-cycle level, ensuring that timing-sensitive behaviors and edge cases are faithfully reproduced. Despite its relatively small codebase, it supports a wide range of cartridge mappers, enabling compatibility with a large portion of NES games. The emulator includes a simple graphical interface that allows users to browse files, configure settings, and manage gameplay without relying on external tools. It also provides savestate functionality that captures the full emulator state, including CPU, graphics, and audio subsystems, allowing users to resume gameplay seamlessly. LaiNES strikes a balance between educational clarity and functional completeness, making it both a learning tool and a usable emulator.
Features
- Cycle-accurate emulation of NES hardware timing
- Support for multiple cartridge mappers including MMC1 and MMC3
- Built-in GUI for file navigation and configuration
- Savestate system preserving full emulator state
- Customizable controls and joystick support
- Fast-forward functionality for accelerated gameplay