TADS 2 Interpreter
About
Current web browsers have disabled the features needed by this interpreter temporarily due to security vulnerabilities, so the interpreter currently will not run.
A very rough proof-of-concept port of the TADS 2 interpreter for HTML5. It recompiles the TADS2 interpreter code into JavaScript using Emscripten. The interpreter runs entirely in your browser, so it doesn't need to contact any servers while you play. The code requires newer JavaScript features that are available in the most recent browsers or will be available soon. The features it needs is support for shared array buffers and synchronization primitives. These features are already available in Safari and Chrome v60. It is expected to be available in Firefox by the end of August 2017, and in Edge for the Fall 2017 update release.
Although the interpreter seems to work fine, it is intended as more of a proof of concept, so it's not particularly polished or fully featured. It is useful for the preservation of older TADS 2 games and to serve as an architectural guide for creating similar interpreters. The code has very rudimentary support for HTMLTADS, allowing for simple formatting and the showing of images (even those embedded in .GAM files). Full HTMLTADS support requires the writing of a late-1990s, early 2000s era browser engine, so having full fidelity HTMLTADS output is unlikely. Saved games are handled by typing the save and restore commands. It could also use better handling of scrolling, animated scrolling effects, plus improved keyboard controls.
The source code for the port and instructions for how to use it is available at GitHub.