From c0953a937427f6730cb0c763c5647f944e123001 Mon Sep 17 00:00:00 2001 From: PalindromicBreadLoaf Date: Fri, 29 Aug 2025 14:14:02 -0400 Subject: [PATCH] Implement an actual README --- README.md | 90 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..058553b --- /dev/null +++ b/README.md @@ -0,0 +1,90 @@ +# BreadedSNES + +**BreadedSNES** is an up-and-coming cross-platform Super Nintendo (SNES) emulator written in modern C++23. SDL2 is used for audio, video, and input support. + +Note, this does not function currently. Maybe it'll boot something in the future. Now is certainly not that time. +## Build Instructions + +### Prerequisites + +You will need: + +- CMake ≥ 3.16 +- C++23-compatible compiler (GCC, Clang, or MSVC) +- SDL2 development libraries + +--- + +### Windows + +1. Clone the repository and vcpkg: + + ```bash + git clone https://github.com/microsoft/vcpkg.git + cd vcpkg + ./bootstrap-vcpkg.bat + ``` + +2. Install SDL2: + + ```bash + ./vcpkg install sdl2 + ``` + +3. Build the project: + + ```bash + cd path/to/breadedSNES + cmake -B build -DCMAKE_TOOLCHAIN_FILE=path/to/vcpkg/scripts/buildsystems/vcpkg.cmake -DCMAKE_BUILD_TYPE=Release + cmake --build build --config Release + ``` + +--- + +### macOS + +1. Install dependencies: + + ```bash + brew install cmake sdl2 + ``` + +2. Build the project: + + ```bash + cmake -B build -DCMAKE_BUILD_TYPE=Release + cmake --build build --config Release + ``` + +--- + +### 🐧 Linux + +1. Install dependencies: + + >apt: + > ```bash + >sudo apt install cmake build-essential libsdl2-dev pkg-config + >``` + + > pacman: + > ```bash + > sudo pacman -S cmake sdl2 pkgconf + > ``` + +2. Build the project: + + ```bash + cmake -B build -DCMAKE_BUILD_TYPE=Release + cmake --build build --config Release + ``` + +--- + +### Packaging + +To create distributable packages (e.g. `.zip`, `.dmg`, `.tgz`), run: + +```bash +cd build +cpack