Skip to content
PORTSNATIVE.
HomeCatalog
Web GamesEmulatorsToolsNews
PORTSNATIVE.

A catalog for discovering ports and related projects. We link to official sources and do not host original game files.

ExploreCatalogMy list
InformationAbout usSuggest a portSupportDonationsLegal notice
© 2026 PortsNative
Back to catalog
Space Station Silicon Valley
PORTSNATIVE

Space Station Silicon Valley

NATIVE PORTPLATFORMERWINDOWSALPHA

Space Station Silicon Valley

TechnologyNative C/C++ port (engine reimplementation)

Available forWindows

View official project

About the project

Space Station Silicon Valley es un videojuego de plataformas lanzado en octubre de 1998 por la desarrolladora escocesa DMA Design. Fue lanzado inicialmente para la Nintendo 64, y más tarde portado en dos versiones exclusivas en Europa, primeramente para la PlayStation, bajo el título de Evo's Space Adventures en 1999, y ese mismo año para la Game Boy Color. Varios glitches estuvieron presentes en el juego, pero esto no le impidió lograr buenas críticas.

2 versions of Space Station Silicon Valley

You're viewing: Space Station Silicon Valley

Space Station Silicon Valleygithub.com/mkst/sssv
Windows
Current
Space Station Silicon Valley Recompiledgithub.com/Cellenseres/SSSV_Recomp
Windows
Linux
macOS
›

Official project information

Author's original READMEOpen on GitHub ↗

Space Station Silicon Valley N64

build progress

A work-in-progress decompilation of the Space Station Silicon Valley game for the Nintendo 64.

Note: You must legally own a copy of the original game to use this repository.

Check out the wiki for more detailed information.

Building

The instructions below assume that you will be using Ubuntu 24.04; either natively, via WSL2, or via Docker. Please check the Dockerfile for instructions of how to install the prerequisite system packages and Python libraries.

Natively

Clone the repository; note the --recursive flag to fetch submodules at the same time:

git clone --recursive git@github.com:mkst/sssv.git

Navigate into the freshly cloned repo

cd sssv

Place the US 1.0 SSSV ROM in the root of this repository, name it baserom.us.z64, and then run the first make command to extract the ROM:

make extract

Now build the ROM:

make --jobs

If you did everything correctly, you'll be greeted with the following:

build/sssv.us.z64: OK

Docker

Clone this repository, place the baserom.us.z64 at its root, and then run the Docker image via:

docker run --rm -ti -v $(pwd):/sssv ghcr.io/mkst/sssv:latest

From here you can run the make extract and make --jobs commands.

Building EU Version

Place baserom.eu.z64 in the root of the repository, and suffix each make command with VERSION=eu. Note that whilst this will build the EU ROM, minimal effort has been made to decompile this version.

Building NON_MATCHING Version

A number of functions within the ROM have been decompiled to a state where they are functionally equivalent, but are not a byte-perfect match. Progress is approximately 3% ahead of the fully matching build. In order to build/test the non-matching, pass NON_MATCHING=1 to the make commands.

Contributing

Once you have built an :ok: ROM you are ready to begin.

Create a copy of the build folder:

mkdir -p expected && cp -r build/ expected/

Run asm-differ and pass in the name of the function you want to tackle:

python3 tools/asm-differ/diff.py -mwo3 function_name_here

Edit the corresponding .c file and keep working until the function matches.

ROM Versions

There are 5 known versions of the ROM:

Country CodeCRC1/CRC2ROM SHA1NotesVersion
E - North AmericaBFE23884/EF48EAAFe5e09205aa743a9e5043a42df72adc379c746b0bUS 1.01.37
J - JapaneseBFE23884/EF48EAAF7320f08474c011fc7781093bf1a6818c37ce51e2JP (Unreleased)1.37
E - North AmericaFC70E272/08FFE7AAc968bba6a90db9ecbd957e910684a80726b0497dUS 1.11.37
P - EuropeanFC70E272/08FFE7AA23710541bb3394072740b0f0236a7cb1a7d41531EU1.37
?????????NES World1.26B

Only US and EU versions were released to the public. If you are in possession of a beta/prototype ROM, please let me know - mkst#4741.

ROM Info

Layout

The layout of the ROM has been mapped out in the splat configuration. Three sections of code have been identified along with a mix of compressed and non-compressed data.

Main

This is the code that is loaded when the ROM first starts up, it is responsible for spawning the various game threads, handling controller input, playing sound effects etc. Also includes the libultra library code.

Overlay1

This is the code for the language select, intro cinematics and not much else.

Note: In the EU ROM this section is compiled without optimisation!

Overlay2

Overlay2 contains the core Space Station Silicon Valley game logic.

Compression

The project used RNC for a number of assets.

In order to decompress the game assets, run make decompress after you have performed the make extract step. Running make compress will then overwrite the original data in the assets directory with byte-perfectly compressed versions.

Repo layout

asm/             ; transient assembly files (not checked in)
assets/          ; transient binary files (not checked in)
build/           ; build folder (not checked in)
include/
  2.0I/          ; libultra 2.0I headers
lib/libultra.a   ; libultra 2.0I static library
src.{us|eu}/
  core/          ; core code
  data/          ; game data e.g. DisplayLists, Vtx + more
  libultra/      ; customised libultra code
  sssv/          ; game code
tools/
  ido5.3_recomp/ ; static recompilation of IDO 5.3 compiler
  splat_ext      ; custom splat extensions
  svle           ; work-in-progress level data viewer

Tools

  • asm-processor; allows GLOBAL_ASM pragma - replacing assembly inside C files
  • asm-differ; rapidly diff between source/target assembly
  • decomp-permuter; tweaks code, rebuilds, scores; helpful for weird regalloc issues
  • ido-static-recomp; no need to use qemu-irix anymore!
  • m2c; assembly to C code translator
  • rnc_propack_source; open-source compressor/decompressor for RNC file format
  • splat; successor to n64split

Useful Links

  • SSSV at TCRF
  • SSSV at romhacking.net
  • Music video based on SSSV Prototype build
  • ScriptHawk lua for SSSV
  • EverDrive Forum thread
  • NESWORLD Prototype ROM
  • Magazine scans of reviews of SSSV
Read official guide
CALIFICACIÓN
—
Loading votes…
Advertisement

PROJECT FILE

Project type
NATIVE PORT
Genre
Platformer
Status
alpha
Original platform
—
Technology
Native C/C++ port (engine reimplementation)
Version
—
Updated
—

Target platforms 1

Windows
View on GitHub
Advertisement