From d5f4123cf38d2b687c4580b83f6e7d64385a9e09 Mon Sep 17 00:00:00 2001 From: John Lorentzson Date: Sat, 26 Apr 2025 16:00:40 +0200 Subject: [PATCH] Update README.md to include setup and build instructions --- README.md | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4fd22154..7506f9e3 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,33 @@ ## Cave Story for Solaris -This is a fork of [CSE2](https://github.com/gameblabla/CSE2) that implements a Solaris 2.6 compatible backend, and optimizes parts of the game to run at an acceptable speed on a Sun Ultra 1 workstation. As such, it contains only the `portable` branch, as the `accurate` branch is of zero use here. +This is a fork of [CSE2](https://github.com/gameblabla/CSE2) that implements a Solaris 2.6 compatible backend, and optimizes parts of the game to run at full speed on a Sun Ultra 1 workstation. As such, it contains only the `portable` branch, as the `accurate` branch is of zero use here. + +## Preparing your system + +This project has only been testing on Solaris 2.6 running on a Sun Ultra 1 Creator. We're using the built-in X server, and GNU utilities from tgcware. + +- Ensure that GCC and its C++ components are installed and findable from your `PATH` variable. +- Ensure that your X server starts in 24-bit color mode. This can be accomplished by adding `-dev /dev/fb defdepth 24` to the end of the one uncommented line in `/usr/dt/config/Xservers` and restarting the X server. +- Ensure that audio can be used by your user. This can be tested by `cat`ing something to `/dev/audio`. ## Building -While CSE2 normally uses CMake, this fork instead uses a poorly cobbled together Makefile generator, as the latest version of CMake available on our target is too old. This will eventually be overhauled to be slightly more useful. +While CSE2 normally uses CMake, this fork instead uses a Makefile for compiling on Solaris, due to the latest version of CMake available on the target being too old. + +Before building, ensure that the required build directories exist. The following commands will accomplish that. + +``` +mkdir -p build/src/Backends/Rendering/Window/Software +mkdir -p build/src/Backends/Platform +mkdir -p build/src/Backends/Audio/SoftwareMixer +mkdir -p build/src/Backends/Controller +``` + +Then you can compile the game simply by running `make`. On genuine hardware this will take considerable time. + +After compilation is complete, copy the `CSE2` binary to `game_english`, and run it from there, making sure that the appropriate `libstdc++` is findable. If it's not automatically findable, you can point the environment variable `LD_LIBRARY_PATH` to its path. + +Note: CSE2 requires a Config.dat file, which we cannot currently produce from inside the Solaris environment. To create one, compile the `DoConfig` program on a modern PC and use it to create your config file. The need for this workaround is considered a bug and should be fixed. ## Licensing (from the original README)