Skip to content

arminkz/NES

Folders and files

NameName
Last commit message
Last commit date

Latest commit

780b2dc · Jan 12, 2025

History

39 Commits
Dec 28, 2024
Jan 5, 2025
Dec 28, 2024
Nov 17, 2024
Dec 18, 2024
Jan 12, 2025
Jan 10, 2025
Dec 28, 2024
Jan 5, 2025
Oct 27, 2024
Jan 12, 2025
Jan 5, 2025
Jan 5, 2025
Nov 15, 2024

Repository files navigation

NES

An emulator for the Nintendo Entertainment System (NES) console, developed in C++.

NES Demo

Supported Features

  • Cross Platform (Windows / Linux / OSX)
  • Joystick Support
  • Mappers
  • Save Game State
  • Developer Tools (CPU/RAM/PPU Inspector)
  • Load ROMs as .nes files
  • Wiki Pages

Build Instructions

Follow the steps below to build and run the project:

  1. Install CMake
    Make sure CMake is installed on your system. You can download and install it from the CMake Downloads page.

  2. Install Conan
    Ensure you have Conan installed on your system. You can install it using pip:

    pip install conan
  3. Clone Repository

    git clone --recurse-submodules https://github.com/arminkz/NES.git
    cd NES
  4. Run Build Script

    build_and_run_release.bat

Known Issues

  • APU sound is not perfect. Sound artifacts might be heard.

NES Architecture

NES Architecture Diagram

Addressable Range on CPU Bus

Peripheral Address Start Address End Capacity
RAM (Main Memory) 0x0000 0x1FFF 8KB (Mirrored 2KB)
Program ROM 0x4020 0xFFFF

Addressable Range on PPU Bus

Peripheral Address Start Address End Capacity
Pattern Memory 0x0000 0x1FFF 8KB
Name Table 0x2000 0x2FFF 2KB
Palettes Memory 0x3F00 0x3FFF

About

NES Console Emulator

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages