# Patching ## Browser path 1. Open `https://xenosaga.wolken.page/`. 2. Choose `Nederlands · v1.0.4 Final` (default) or the legacy English RC1. 3. Select the clean Japanese Xenosaga I+II Nintendo DS ROM. 4. The browser verifies the source SHA-256 locally. 5. The selected public BPS is downloaded from the static site and SHA-256 verified. 6. BPS is applied locally in a Web Worker. 7. BPS CRC32 checks are enforced by `js/bps.js`. 8. The generated ROM SHA-256 must match the canonical target. 9. Only then is the local download enabled. No ROM bytes are sent to a server. ## Dutch v1.0.4 BPS: `assets/patch/Xenosaga_I_II_DS_Dutch_v1.0.4_Final.bps` Source SHA-256: `938d07521cfc937d179402e85c8b0b43f3e929a494838ff1455b29126b56d356` Patch SHA-256: `8cd1f7fe9a8a81c6a50687b4cd5e5d19a8fd1c2bdbc86f2ce8d4d5594dc3ebee` Expected output SHA-256: `9ba968714e69fd815b4624cb88722cbc66639e3a2cdf04726cbe09cc29a99bc2` ## Legacy English RC1 BPS: `assets/patch/xenosaga_i_ii_ds_rough_english_v0.1-rc1.bps` Patch SHA-256: `8864d3e9035b92c55148da9870b531f4387defa8153b3d274fbac3469acad464` Expected output SHA-256: `67c0fe831083ccfe2da21768fecafd31fb68b7e809964157d175147b3f3f1db1` ## Mobile limitation The operation can simultaneously hold a 64 MiB source ROM, a ~54–57 MiB patch and a 64 MiB output plus hashing overhead. Desktop Chrome, Edge or Firefox is the recommended fallback when a mobile browser terminates the operation.