# Native browser dependency source

This package accompanies the native browser emulator, ROM pair and startup snapshot. It includes source archives, build instructions, upstream notices and a SHA-256 provenance manifest. Keep the whole `sources/` directory alongside the browser files when distributing them. Source files are downloaded only when requested; they do not delay Play.

## Emulator

vAmigaWeb / vAmiga, copyright Dirk W. Hoffmann, Mithrendal and their contributors, GNU GPL version 3. The shipped JavaScript and WebAssembly were built locally from commit `42bdfa2f70c0f1a34d6bad74a378c021cf04e42a`:
https://github.com/vAmigaWeb/vAmigaWeb/tree/42bdfa2f70c0f1a34d6bad74a378c021cf04e42a

The source archive retains the complete emulator source and its build system. Unused binary ROMs and upstream localhost certificate examples were omitted. The separate patch only makes CMake's HTML-shell path independent of the build directory. No emulator behavior changes were made. The former downloaded deployment binaries are not part of this distribution.

Build environment used: macOS arm64; CMake 3.31.6; Emscripten SDK 4.0.19 (SDK binary revision `8b01e2ec3f33e6b94842096d7312ce4ef5f33f6c`); Release, nonworker, upstream optimization/memory/export options. CMake's optional zlib discovery warning is harmless here: the upstream Core explicitly defines USE_ZLIB and Emscripten's USE_ZLIB=1 links the included zlib 1.3.1 port.

To rebuild, install Python 3, CMake and Make; extract `archives/emsdk-4.0.19.tar.gz`, then run inside that SDK directory:

```
python3 emsdk.py install 4.0.19
python3 emsdk.py activate 4.0.19 --embedded
. ./emsdk_env.sh
```

From this source package:

```
MTD_BUILD_DIR=/path/to/new-build sh rebuild-emulator.sh
```

The SDK/port installation requires network access. Its compiler/runtime source and the zlib port source are included in `archives/`; SDK checks the port hash. The SDK is a build tool, not a bundled application. The supplied rebuild script was successfully tested from a fresh source-package extraction. Its JavaScript output matches byte-for-byte; the WebAssembly differs between builds, so no bit-reproducibility claim is made. Upstream embeds compile-time build metadata and source paths. The manifest identifies the actual tested binaries.

## AROS ROMs

Copyright the AROS Development Team and component authors. Main terms: AROS Public License 1.1; retain `licenses/AROS-LEGAL` and all component notices for exceptions (including LGPL components). All original notices are also in the full AROS source archive.

The unmodified ROMs are `aros-rom-20260820.bin` and `aros-ext-20260820.bin` from the pinned vAmigaWeb checkout, renamed `aros.rom` and `aros-ext.rom`. The main ROM embeds `Version Git 3ffc074471`; the module date is 2026-08-20. That identifier resolves to full AROS commit `3ffc074471670bdf47d10f12c9e4244037680f05`, supplied here:
https://github.com/aros-development-team/AROS/tree/3ffc074471670bdf47d10f12c9e4244037680f05

Both ROM hashes are checked against the pinned upstream pair. We have not rebuilt the ROMs or established byte-reproducibility of the upstream nightly. This is source-revision provenance, not a claim to have reproduced the nightly toolchain.

The archive contains the configure/Make/MetaMake build system and upstream build recipes. On a supported Linux build host, install prerequisites listed in `scripts/azure/templates/steps-prepare-host.yml`, extract the archive and use the `amiga-m68k` target. The original nightly recipe is `scripts/nightly/pkg/amiga-m68k`: configure with `--target=amiga-m68k --enable-build-type=nightly --with-serial-debug`, build crosstools as needed, then `make` and `make boot-distfiles distfiles`. The cross compiler defaults to GCC 6.5.0. Follow the archive's README and configure options for your host. Generated ROMs appear under the Amiga boot/distfiles outputs. No contrib checkout is needed for this ROM pair.

The snapshot contains these same ROMs and ordinary machine state, so the same source and notices accompany it. No Commodore Kickstart or Workbench files are supplied.

## Browser integration and native game

The browser transport source (`integration/index.html`, `host.js`, `audio-worklet.js`) is included in editable form. For this browser distribution it is provided under GNU GPL v3 or later; see `licenses/GPL-3.0.txt`. It handles input, display, audio and local saving; the native executable implements the game.

This source package does not change the licensing of the separate native game, its artwork/audio, or the separate JavaScript HTML5 edition. They are not included as emulator source. Third-party licences and trademarks do not grant rights to those game assets.

Emscripten and linked runtime library notices, zlib, LZ4, xdms and other upstream notices are preserved under `licenses/` and within their source archives. This is a local release candidate, not a publication or certification of portal acceptance or physical hardware compatibility.
