# TH08 Web: a WebAssembly port built from reconstructed source

> Compiles the reconstructed C++ source of the Japanese Touhou 8 1.00d release to WebAssembly with Emscripten, adding WebGL 2 rendering, Web Audio, browser input and IndexedDB saves behind the game’s D3D8-, DirectSound- and DirectInput-shaped interfaces. Players select their own retail DAT files locally. The web build makes no binary-exact claim and is a separate port from the curated TH08 reconstruction.

- Type: Case study
- Targets: Game
- Category: Independent reconstruction cases
- Relationship: Independent reconstruction project
- Sources reviewed: 2026-10-18
- Added to the catalog: 2026-10-19
- Original resource: <https://github.com/N0zoM1z0/th08-web>
- Primary source: <https://github.com/N0zoM1z0/th08-web/blob/e3485ab9a9af3b5a90ce51841667bbdf5a867e5c/README.md>
- Catalog page: <https://awesomerea.org/resources/th08-web-wasm-port-case/>
- Record JSON: <https://awesomerea.org/resources/th08-web-wasm-port-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/th08-web-wasm-port-case/index.md)

## Requirements & limits

- **Prerequisites:** README reports the game playable from title to ending in desktop browsers and recommends current Chrome; Firefox automatically uses a dedicated no-readback build, while Safari and mobile browsers are not verified. The page needs WebAssembly threads, SharedArrayBuffer, WebGL 2, Web Audio and cross-origin-isolated HTTPS. Listed remaining work includes Firefox hardware profiling, replay endurance and memory-ceiling measurement.
- **Prerequisites:** Select th08.dat and thbgm.dat from your own legally obtained TH08 installation. The launcher copies th08.dat into session memory and range-reads thbgm.dat; README says neither is uploaded, bundled or persisted. The repository, deployment and release v0.1.0 contain no retail data or executable, and a provenance script rejects forbidden payloads and any artifact outside the nine-file allowlist.
- **Prerequisites:** Local builds need Docker, Python 3 and a desktop browser: scripts/build-web-game.sh uses a digest-pinned Emscripten 6.0.8 image, and scripts/serve-web.py supplies the COOP, COEP and CORP headers a generic static server lacks. The public site is a Cloudflare Pages deployment from main, and self-hosting the release archive needs the same isolation headers.
- **Testing evidence:** WEB_ARCHITECTURE.md records author-run checks with user-selected retail files: a complete Lunatic Final-B route in Chromium and on an earlier Firefox bridge, a Stage 6B practice run, persistence tests showing no DAT in IndexedDB, and replay-driven pacing samples near 60 Hz under the SwiftShader and llvmpipe software renderers.
- **License:** MIT covers repository code and documentation, not the original game, DAT files, music or graphics; the pinned Detours submodule keeps its own terms. README describes this repository as the web-focused fork of N0zoM1z0/th08 with its history retained.

## Primary sources

1. <https://github.com/N0zoM1z0/th08-web/blob/e3485ab9a9af3b5a90ce51841667bbdf5a867e5c/README.md>
2. <https://github.com/N0zoM1z0/th08-web/blob/e3485ab9a9af3b5a90ce51841667bbdf5a867e5c/docs/WEB_ARCHITECTURE.md>
3. <https://github.com/N0zoM1z0/th08-web/blob/e3485ab9a9af3b5a90ce51841667bbdf5a867e5c/docs/WEB_PORTING.md>
4. <https://github.com/N0zoM1z0/th08-web/blob/e3485ab9a9af3b5a90ce51841667bbdf5a867e5c/scripts/build-web-game.sh>
5. <https://github.com/N0zoM1z0/th08-web/blob/e3485ab9a9af3b5a90ce51841667bbdf5a867e5c/scripts/check-web-provenance.py>
6. <https://github.com/N0zoM1z0/th08-web/blob/e3485ab9a9af3b5a90ce51841667bbdf5a867e5c/.github/workflows/deploy-web.yml>
7. <https://github.com/N0zoM1z0/th08-web/blob/e3485ab9a9af3b5a90ce51841667bbdf5a867e5c/.github/workflows/ci.yml>
8. <https://github.com/N0zoM1z0/th08-web/blob/e3485ab9a9af3b5a90ce51841667bbdf5a867e5c/.gitmodules>
9. <https://github.com/N0zoM1z0/th08-web/blob/e3485ab9a9af3b5a90ce51841667bbdf5a867e5c/LICENSE>
10. <https://github.com/N0zoM1z0/th08-web/releases/tag/v0.1.0>
11. <https://th08-web.pages.dev/>

## More in Games

- [TonyWasAProSkater: a THPS1 native port forked from a matching decompilation](https://awesomerea.org/resources/thps1-decomp-native-port-case/index.md) · Case study
- [Vandal Hearts: native PC port built on matching decompilations](https://awesomerea.org/resources/vandal-hearts-pc-port-case/index.md) · Case study
- [Age of Empires Free Software Remake: a re-implementation on the original data](https://awesomerea.org/resources/aoe-free-software-remake-case/index.md) · Case study
- [Bravo: a reverse-engineered Minecraft server](https://awesomerea.org/resources/bravo-minecraft-server-case/index.md) · Case study
- [Chariot: Age of Empires engine reimplementation](https://awesomerea.org/resources/chariot/index.md) · Case study
- [CoD4 Rewrite: Rust/Bevy reconstruction](https://awesomerea.org/resources/cod4-rewrite-reconstruction-case/index.md) · Case study

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
