The project itself is small — about 12 MB of source. Everything else in the working folder is either regenerated by a script or is game files that are deliberately kept out of version control, so moving machines means moving the repository and then re-fetching the rest.
| Part | Size | How it moves |
|---|---|---|
| Source, scripts, docs, compatibility records | ~12 MB | git |
vendor/ — Ruffle, DirPlayer, the JDK, dependency sources |
~2.4 GB | Flashback/fetch-* scripts re-download it from recorded URLs and hashes |
vendor/toolchain/ — Node, Rust, wasm-pack |
~1 GB | Flashback/bootstrap-toolchain.sh |
Flashback.app, release ZIP, source tarball |
~2 GB | rebuilt by build.sh and package-release.py |
1. Xcode. Install a current Xcode release and point the command-line tools at it. The standalone Command Line Tools package does not include the SwiftUI macro plugin required by the app. Either select Xcode globally or export it for the build shell:
export DEVELOPER_DIR=/Applications/Xcode.app/Contents/DeveloperInstall Python 3.12 or newer and confirm python3 --version selects it.
The source fetchers use tomllib and tar extraction filters; an older Python
bundled with developer tools may not provide these APIs.
2. Clone the repository.
git clone https://github.com/macprotips/flashback.git
cd flashback3. Fetch the runtimes and the toolchain. These download a few GB.
sh Flashback/bootstrap-toolchain.sh
. Flashback/toolchain-env.sh
sh Flashback/fetch-runtime.sh
sh Flashback/fetch-java.sh
python3 Flashback/fetch-archive-dependencies.py
sh Flashback/fetch-dos.sh
sh Flashback/fetch-scummvm.sh
python3 Flashback/fetch-native-sources.py
python3 Flashback/fetch-sources.py
python3 Flashback/fetch-js-sources.py
sh Flashback/fetch-shockwave.sh4. Build.
sh Flashback/build.shThat produces Flashback.app in the repository root, runs the unit suite, and
runs the website and archive checks on the way through.
python3 Flashback/check-shockwave-corpus.py /tmp/flashback-corpus # recorded gameplay cases
./Flashback/check-shockwave.sh /tmp/flashback-core # the four core games plus host behaviour
python3 Flashback/check-dirplayer-patch.py # the runtime's corresponding sourceA full working folder — repository, vendor, toolchain, and a built release — needs roughly 23 GB, and the Shockwave checks write screenshots as they go. Keep some headroom before a long run.