Agent workflow: follow the highest-priority requirements in AGENTS.md. Use affected exact checks and searchable Markdown knowledge; ordinary notes do not require full CI or replay.
This project builds on some100/th07's
source reconstruction of the original Japanese TH07 1.00b. Our work adapts
it to our toolchain and repository architecture and adds
exact matching corrections for EclManager::RunEcl,
EnemyManager::EnemyManager, EnemyManager::RegisterChain, GameWindow::Render,
BulletManager::AddedCallback, Ending::ReadEndFileParameter,
MainMenu::OnUpdatePreInput and ResultScreen::RegisterChain.
The reviewed authored scope currently has 686 / 686 exact functions and 380,493 / 380,493 exact bytes (100.0000%). Prebuilt SDK/CRT library code, SDK inline routines, compiler-generated wrappers, alignment and embedded SDK data are excluded from that denominator. Comparison includes complete compiler extents and trailing switch tables; relocation fields are independently resolved and compared without masking.
| Measurement | Exact functions | Exact coverage bytes |
|---|---|---|
| Unmodified some100 reference, 694 named functions | 686 / 694 | 345,019 / 381,170 (90.5158%) |
| Maintained linked build, same named scope | 694 / 694 | 381,170 / 381,170 (100.0000%) |
| Reviewed authored functions in that product | 686 / 686 | 380,493 / 380,493 (100.0000%) |
Every accepted function now replays from one maintained linked product. The four prior COFF-only supplements have been recovered in that product. The first two rows include eight SDK/compiler routines. Authored acceptance includes the explicitly approved 32-byte x87 primitive under the narrowly bound source policy. No authored routine remains in config/remaining.csv. Cold compilation/linking, PE entry binding and source-global relocation replay are verified. The constructor emission profile adds one PE export; original icon resources are omitted. Whole-executable identity and runtime playability remain unverified. Oracle v3 additionally validates complete EH capsule aliases across native/LTCG units. See the oracle and measurement limits.
Provide your own original executable as resources/th07.exe. Original game
binaries, data, toolchains, reference clones, PDBs and analysis databases are
excluded from this repository.
| Property | Required value |
|---|---|
| Version | Original Japanese 1.00b |
| File size | 650,752 bytes |
| SHA-256 | 35467eaf8dc7fc85f024f16fb2037255f151cefda33cf4867bc9122aaa2e80ca |
| Image base / entry point | 0x00400000 / 0x0047EA7D |
python3 scripts/verify-target.pyLinux prerequisites: Python 3.11+, Git, Wine with 32-bit support, taskset,
nice and flock. Every analysis and Wine invocation is headless. Ghidra uses
one CPU and at most 2 GiB heap; compilers share one serial process lock.
python3 -m pip install -r requirements.txt
python3 scripts/bootstrap-tools.py
python3 scripts/ghidra.py initialize
python3 scripts/ghidra.py check
python3 scripts/build-whole.py
python3 scripts/replay-exact-units.py
python3 scripts/verify-linked-product.py --require-all-exactBootstrap pins are in config/tools.lock.toml. Existing
tools can be reused with --msvc700 PATH --dx8sdk PATH --ghidra-home PATH --jdk-home PATH. Shared toolchains are left intact; the frontend wrapper and
legacy layout are prepared locally. Wine's prefix lives outside the checkout.
The baseline is separately reproducible:
python3 scripts/build-reference.py
python3 scripts/reference-oracle.pyPublic CI validates accounting, source provenance and synthetic positive/negative
oracle controls without proprietary inputs. Local exact replay requires the
original target and private build artifacts. Rebuild and compare one accepted
function with python3 scripts/replay-exact-units.py --unit f_00410520 --rebuild.
Preview obsolete diagnostics before cleaning them:
python3 scripts/clean-build.py
python3 scripts/clean-build.py --applyThe cleaner preserves the maintained/reference builds, paired PDBs, canonical reports, tools and original target. See artifact retention.
- Documentation guide and tool entry points
- Architecture and source layout
- Completion requirements and evidence
- Strict oracle, reference import and acceptance
- Application/runtime boundary review
- Headless workflow and Ghidra commands
- Build products and evidence
- Current generated progress
- Historical focused probes
- Historical SDK/runtime recovery
- Agent rules
The some100/th07 source and Japanese localization table are pinned at
4878bf0.
Thank you to its contributors for the reconstruction. Its CC0 dedication is
preserved in docs/LICENSE-some100.txt; original and
maintained file hashes are tracked in config/*source-provenance.json.
Matching notes record accepted evidence and preserved
experiments. Oracle v3 also proves complete EH capsule aliases; the initial v1
reference snapshot remains archived.
GensokyoClub/th06 and
GensokyoClub/th08 provided engine and VC7
workflow references. The pinned var_order frontend shim is credited to
EstexNT.
Existing codec notices and Mark Nelson's LZSS notice remain in their source;
see also third_party/README.md.
Repository-authored tools and documentation use the MIT License. Imported source retains its applicable notices and license. Touhou Project and its game assets belong to their respective rights holders.
