A C++ application that runs on Raspberry Pi OS to manage and launch NES games through an emulator.
- Lists NES ROM files from a games directory
- Provides a simple console interface for game selection
- Launches selected games using a compatible NES emulator
- Error handling for invalid input and failed game launches
- Raspberry Pi OS
- C++ compiler with C++17 support
- CMake (version 3.10 or higher)
- SDL2 library
- NES emulator (e.g., Nestopia)
- Install required dependencies:
sudo apt-get update
sudo apt-get install build-essential cmake libsdl2-dev nestopia- Clone the repository:
git clone [repository-url]
cd retro-console- Create build directory and build the project:
mkdir build
cd build
cmake ..
make-
Place your .nes ROM files in the
gamesdirectory at the project root level (not in the build directory). -
Run the application:
./build/retro_console- Use the number keys to select a game to play, or press 0 to exit.
If you encounter a CMake error about path mismatch or different source directories, follow these steps to resolve it:
- Remove the existing build directory:
rm -rf build- Create a new build directory and run CMake with the explicit source path:
mkdir build
cd build
cmake -S /path/to/your/project .
makeReplace /path/to/your/project with the actual path to the project directory. This ensures CMake uses the correct source directory path.
src/main.cpp- Main application entry pointsrc/ui.h/cpp- User interface handlingsrc/emulator_launcher.h/cpp- Emulator integrationgames/- Directory for storing ROM filesCMakeLists.txt- CMake build configuration
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
This project is for educational purposes only. Please ensure you have the legal right to use any ROM files you plan to run with this application.