PancakeNESEmu
A homebrewed NES Emulator written in C
Loading...
Searching...
No Matches
PancakeNESEmu

Project Overview

This project is homebrewed NES Emulator written in C.

Project description

The goal of this project is to make a NES Emulator (more precisely, a 6502 CPU Emulator, a NES PPU Emulator and a APU). The graphics will be handled by a homemade graphics library.

The sound will be handled using PulseAudio.

Setup

Prerequisites

On Debian based system:

sudo apt install graphviz doxygen gcc cmake make git build-essential -y 

On Fedora based system:

sudo dnf install cmake make git gcc 

On Arch based system:

sudo pacman -Sy gcc doxygen graphviz git cmake make

Install PulseAudio (without Pipewire)

On Debian based system:

sudo apt install pulseaudio libpulse-dev

On Fedora based system:

sudo dnf install pulseaudio pulseaudio-libs-devel

On Arch based system:

sudo pacman -S pulseaudio

Install PulseAudio (with Pipewire)

On Debian based system:

sudo apt install pipewire-pulse libpulse-dev

On Fedora based system:

sudo dnf install pipewire-pulseaudio pulseaudio pulseaudio-libs-devel

On Arch based system:

sudo pacman -S pipewire-pulse libpulse 

Clone the project repo

Enter any folder you like and then run this command:

git clone https://forge.univ-lyon1.fr/p2201423/nes_emulator.git
cd nes_emulator

The command above will clone every file from our reposetory onto your disk and then place you in the correct working directory.

Building our project

Just run the build.sh script and it will make a fresh and clean install of our project.

Useful Tools

  • The documentation is generated using Doxygen.
  • The documentation overall theme is generated using Doxygen Awesome.
  • The code is built using CMake.

References

Special Thanks

I would like to extend my deepest gratitude to the following community and people who have made a significant contribution to this project:

  • NesDev Community: They have created so much ressources about the NES reverse engineering and been helpful when I had questions
  • NesHacker: They inspired me to start my coding adventure on the NES (game reverse engineering, ROM hacking, ...)
  • Tsoding: They inspire me every day to try new things and to code dumb projects from scratch