Expand description
CGE-NES is a Nintendo Entertainment System (NES) emulator library written in Rust.
This crate provides the core functionality for emulating the NES hardware, including:
- ROM loading and cartridge management (iNES format, mappers 0-4)
- CPU emulation (MOS 6502)
- PPU (Picture Processing Unit) emulation
- Memory mapping and bus communication
- Input handling
To Do:
- Implement APU (Audio Processing Unit) emulation
The library is organized into clearly-scoped modules (cartridge, input,
ppu, nes, rom_loader) and can be integrated into different frontends
for creating complete NES emulators.
Re-exports§
pub use cartridge::Cartridge;pub use cartridge::ChrRomContentStatus;pub use input::ConnectedSocket;pub use input::GamepadButtonsPressedFlags;pub use input::GamepadState;pub use input::HostInput;pub use input::InputDeviceState;pub use input::InputRegisters;pub use nes::NesConsole;pub use ppu::Color;pub use ppu::FrameEvent;pub use ppu::Ppu;pub use ppu::PpuCartMemorySpace;pub use ppu::Register;pub use rom_loader::load_rom;pub use rom_loader::LoadRomResult;pub use rom_loader::RomError;
Modules§
- cartridge
- NES Cartridge interface and components
- input
- Input handling module for the NES emulator
- nes
- Core NES system emulation functionality.
- ppu
- NES Picture Processing Unit (PPU) emulation.
- rom_
loader - ROM loader for NES cartridge emulation.