openjutsu
One-click character swap for videos: an open-source, local Higgsfield Genjutsu alternative built on ComfyUI and MiniMax H3, with FLUX.3 Klein relighting.
Sunflower's DOS demo ZILOG (1999) ported to JavaScript: playable in your browser, with the retro-computing context, the asm inner loops and the 3D scenes explained.
MediaC · JavaScriptGitHub @kassouletOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Port of ZILOG by Sunflower (mrock, falcon, visualize, voomie) — a 32-bit DOS demo (PMODE/W, Watcom C, x87 software 3D at 320×200 true colour). Playable in the browser, with an explainer page (retro context, scene-by-scene notes, asm inner loops, 3D engine).
site/ is a static site → GitHub Pages (workflow in .github/workflows/pages.yml; enable Settings → Pages → Source: GitHub Actions).
Locally: python3 -m http.server --directory site and open http://localhost:8000.| path | what |
|---|---|
site/index.html, site/js/main.js, player.js, demo.js | page, canvas player, host that drives scenes from the music position |
site/js/core/ | asset container + LZW, GFX and MOB loaders |
site/js/lib/ | fx2d* (2D/post FX, tables, text, flip), mesh3d* (3D engine + rasterisers) |
site/js/music/ | usm.js (Useless Sound System module player, bit-exact), AudioWorklet |
site/js/scenes/ | the 11 loops of main() (scene0..9.js, credits = _g5final.js) and their helpers |
site/data/data.dat | the demo's own asset container (63 LZW files, tail of ZILOG.EXE) |
re/ | reverse-engineering material: NOTES.md, per-area PORT_*.md/SCENE_g*.md, Ghidra decompilation, Unicorn harness re/harness/orig.py |
tools/ | extract.mjs (container from the EXE), render-scene.mjs, refframe.sh, and tools/test/ differential tests |
Every ported function is compared with the original machine code executed under Unicorn (re/harness/orig.py):
tools/test/run_fx2d.sh (216 vectors), run_3d.sh (206 checks, pixel-exact), run_usm.sh (all 10 448 music blocks, sample-exact),
run_g1.sh … run_g5.sh (scene-specific functions). Whole frames were compared by eye with a DOSBox capture.
Needs python3 with unicorn + capstone and node ≥ 20. ZILOG.EXE (original) is expected in the repo root for tools/extract.mjs.
ZILOG is © 1999 Sunflower. Original artwork, models and music are theirs and are shown with credit; contact the maintainers to have anything removed. Sound system: Useless Sound System v1.04 (FreddyV/Useless). DOS extender: PMODE/W (Daredevil & Tran).