Skip to main content

Crate cge_nes

Crate cge_nes 

Source
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.