SINGE 3.00 ========== (For the latest version of this document, visit https://kangaroopunch.com! The full manual is extracted to Singe/Manual.pdf on first run.) Welcome to Singe! SINGE Is Not a Game Emulator! INSTALLATION & UPGRADE ====================== For the initial installation, create an empty directory and place the Singe binary inside it. Run the binary with no command line options to cause it to generate all the files needed to make Singe work properly. For example: C:\Singe2\ C:\Singe2\Singe.exe Once you run Singe.exe you'll see additional files and directories: C:\Singe2\Singe\ (Several files created in this folder.) C:\Singe2\Menu.bat (Or .sh on UNIX-ish OSs.) To install games, simply unpack them and place their directory inside the directory you created. For example, ActionMax.7z contains a folder named "ActionMax". Place it here: C:\Singe2\ActionMax\ For all Singe 2 and later games, it will automatically appear in the menu. To upgrade, back up any changes you may have made to files inside the Singe subdirectory that was generated during installation. (You really shouldn't be changing things in there!) Delete the Singe subdirectory, Menu.bat (or .sh) and run the new Singe binary with no command line arguments to generate the new files. COMMAND LINE ============ Run the binary with -h (or --help) for the option summary. Every option is described in the "Command Line Options" chapter of Singe/Manual.pdf, which is extracted on first run. BUILDING FROM SOURCE ==================== On a Debian based system a checkout builds with one command: ./build-all.sh linux x86_64 It installs the host packages it needs with apt (asks for your sudo password once), then runs the CMake superbuild, which builds every vendored library (zlib, zstd, SDL3 and its satellites, OpenSSL, FFmpeg) into .builddir// and then Singe against them. The finished binary is copied to .builddir/Singe-v--. Host packages (what build-all.sh installs): build-essential cmake pkg-config perl nasm imagemagick lua5.4 ffmpeg asciidoctor ruby-asciidoctor-pdf autoconf automake libtool libasound-dev libxi-dev libvdpau-dev libva-dev libdrm-dev libgl-dev libx11-dev. Cross builds need nothing else installed: ./build-all.sh windows x86_64 fetches a pinned zig release (version and SHA-256 in cmake/zig/zig.cmake) into .builddir/toolchains on first use and uses it as the cross compiler; zig carries the Windows headers and import libraries itself. The Pi and macOS presets are not yet self-contained; they still expect the toolchains repository beside this one (see PLAN.md section 17 for the plan to move them to zig too). Useful forms (anything after the platform goes to cmake --build): ./build-all.sh linux x86_64 --target singe Singe alone ./build-all.sh linux x86_64 --target rebuild-ffmpeg redo one library Without the wrapper: cmake --preset linux-x86_64 && cmake --build --preset linux-x86_64 Presets: linux-x86_64, windows-x86_64, pi-aarch64, macos-aarch64 (CMakePresets.json).