87 lines
3 KiB
Text
87 lines
3 KiB
Text
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/<os>/<arch> and then Singe against them. The finished binary is
|
|
copied to .builddir/Singe-v<version>-<Os>-<arch>.
|
|
|
|
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).
|