RUBICON ORIGINAL AMIGA PLAYER Prepared 2026-11-02, America/New_York. The original game runs in the self-hosted vAmigaWeb emulator. The player is an emulator wrapper, not a reconstruction of Rubicon game logic. All disks and the supplied Kick13.rom are retained unchanged. The runtime BIOS derivative kick13-256k.rom is the first 262144-byte half of that supplied ROM; both halves were verified byte-identical. Its MD5 is 82a21c1890cae844b3df741f2762d48d. This normalization lets the runtime recognize the original 256KB ROM instead of treating its doubled 512KB container as unknown. No runtime dependency is fetched from a third-party CDN during normal player startup. Runtime deployment repository: https://github.com/vAmigaWeb/vAmigaWeb.github.io Pinned commit: bd0d2e9519c81af0a032d656723d56f7c4b36d81 Core version and snapshot format: 4.3.6 Corresponding upstream source (v4 branch): https://github.com/vAmigaWeb/vAmigaWeb/tree/f8be61ccdb97f25f85d1e93df4ff1dc069b0a3cf Local download: vAmigaWeb-source-f8be61c.zip The source includes CMakeLists.txt, Core/, shell.html and third-party source. Build using an Emscripten toolchain with emcmake cmake and cmake --build; the retained CMake configuration records the upstream compiler and link flags. The binary is the pinned upstream deployment, not a new local recompilation. Licenses and authors: vAmigaWeb is by mithrendal and contributors, GPL-3.0; see LICENSE-vAmigaWeb.txt. The included vAmiga core is by Dirk W. Hoffmann, MPL-2.0; its per-file notices and bundled dependencies remain in the complete source archive. jQuery is MIT; Bootstrap is MIT; JSZip is dual MIT/GPL; their notices remain in vendor files. Original Rubicon software, artwork, audio and supplied firmware retain their original ownership; the emulator license does not relicense those files. COSOM changes to upstream deployment: - Removed upstream telemetry and automatic service-worker registration. - Restricted postMessage commands to the same-origin embedding parent. - Changed the iframe title and unsupported-browser text. - Added readable cosom-bridge.js; the upstream WASM binary is unchanged. - Disabled service-worker version messages and the update action to keep the runtime pinned. Before launch the wrapper unregisters only an old worker with the exact emulator directory scope; it does not clear shared browser caches. - Added an explicit gpu:false launch preference for the existing upstream Canvas2D/software renderer. The normal player uses Canvas2D for compatibility. - Resume reapplies the chosen native speed to reset host frame pacing. Paused import displays the original VASNAP 4.3.6 preview (bounded to 456 by 313 RGBA pixels) through a temporary Canvas2D image. It advances no native CPU frames and leaves the native canvas buffer dimensions unchanged; Resume replaces the preview with normal native rendering. The deployed modified JS/HTML are readable under ../../vendor/vamigaweb/. Player wrapper source is readable under ../../play/player.js and player.css. prepare-runtime.cjs records the patch/copy process. Configuration: PAL A500, OCS, 68000, 512KB chip RAM + 512KB slow RAM. The wrapper applies and verifies RAM configuration after native readiness, since the upstream UI may otherwise override early startup-script settings. DF0 starts with rubicon1.adf; DF1 starts with rubicon2.adf. DF0 can be swapped explicitly. Original source disks are never written back or replaced. The paired +19 filenames in the intake are byte-identical to rubicon1/2.adf. The original trainer/crack screen remains part of the supplied edition. Supplied-edition startup controls, verified against the trainer's original input polling: right mouse continues the NEMESIS introduction. Move the mouse vertically to select trainer rows; left click sets NO, right click sets YEA. Select START GAME and click either button. Hold BOTH mouse buttons together on the following key-help screen to continue (original polling at $3fc64/$3fc6e). The page supplies native mouse-event buttons for the same actions. Game controls selects the port2 keyboard joystick: arrows and Space. These helpers send inputs; they do not patch RAM or disk bytes. When the original game requests disk2 in DF0, choose Disk2, then Resume, then press Space (joystick fire) to continue. The second disk is also in DF1, but the original game's request specifically requires DF0. Backups: Download state creates a JSON envelope with the original disk hashes, pinned runtime ID, UTC time, SHA-256 and native VASNAP bytes. Import validates the envelope and hash before loading. These are emulator session snapshots, not a claim of Rubicon native in-game save support. They are version-bound. The user must retain the downloaded file; browser storage is not the backup. Verified locally: original introduction and trainer; all nine trainer options set to NO; key-help exit; original title; natural disk2 request and DF0 swap; first-stage movement and firing; state export, closing and importing in a fresh session; damaged-hash import rejection. The final Canvas2D player rendered advancing original gameplay after state restore and retained the frame after Pause in the in-app browser. Foreground Edge rendered the earlier GPU configuration correctly. Paused import now displays the original state-file thumbnail instead of an uninitialized native texture; preview bounds and unchanged native canvas dimensions are checked in the retained private recipe. Ordinary held Left-key movement and Pause also passed in the final normal Canvas2D player. The viewport remains 4:3 and is centered within its outer panel. Diagnostic stepping/RAM tools were removed from the public player after QA; private research copies and evidence stay outside this website tree. See runtime-provenance.json and release QA evidence. The full campaign, every disk request, real gamepads and mobile play remain unverified. Primary implementation references: https://github.com/vAmigaWeb/vAmigaWeb/wiki/vAmigaWeb_player https://github.com/vAmigaWeb/vAmigaWeb/blob/f8be61ccdb97f25f85d1e93df4ff1dc069b0a3cf/main.cpp https://github.com/vAmigaWeb/vAmigaWeb/blob/f8be61ccdb97f25f85d1e93df4ff1dc069b0a3cf/Core/Media/Snapshot.h