Questo documento descrive il confine tra ZDOS, Zlang e ZRetro. L’obiettivo è rendere riproducibile il percorso dal sorgente al programma retro, senza presentare come operativo ciò che è ancora una roadmap.
| Livello | Responsabilità | Evidenza |
|---|---|---|
| Zlang | Sorgente .zlang, compilatore e bytecode ZLB2 v2.5 |
Repository Zlang, tools/zlangc.py |
| ZDOS | Target x86_64, runtime bare-metal, boot e verifiche QEMU | Repository ZDOS, os/x86_64 |
| ZRetro | IDE TUI e DSL dichiarativa per progetti retro | zretro/, docs/ZRETRO.md |
| Hub | Superficie pubblica per documentazione e segnali | Retro Computing |
Un programma Zlang viene compilato in bytecode ZLB2 v2.5. Nel percorso bare-metal il bytecode viene incorporato nel kernel sperimentale ZDOS, avviato tramite Multiboot2 e verificato in QEMU. Il percorso ZRetro è adiacente: produce un IR e manifest di progetto, ma l’emissione di binari nativi e il lancio degli emulatori restano backend successivi.
programma .zlang → zlangc.py → ZLB2 v2.5 → runtime ZDOS → QEMU → output seriale
progetto .zretro → IDE ZRetro → IR/manifest → target retro futuro
La verifica Zlang–ZDOS può essere eseguita così:
git clone https://github.com/high-cde/Zlang.git
git clone https://github.com/high-cde/ZDOS.git
cd ZDOS/os/x86_64
make clean
make verify
sh tools/verify_qemu.sh
L’output atteso del prototipo è:
ZDOS x86_64 bootstrap
Zlang runtime ZLB2 v2.5 ready
ZDOS: native Zlang program executed
ZDOS: Zlang halted cleanly
Il profilo documentato supporta, tra l’altro, emit:
# examples/hello.zlang
emit Ciao dal programma Zlang nativo
emit Il kernel ZDOS ha eseguito questo bytecode
La compilazione produce bytecode e header C:
python3 tools/zlangc.py examples/hello.zlang \
--bytecode /tmp/hello.zlb \
--header /tmp/hello.h
Il compilatore rifiuta istruzioni non appartenenti al profilo, invece di attribuire loro un significato implicito.
Il primo progetto demo è Meteor Patrol. La DSL descrive progetto, target, schermo, palette, scena, oggetti e cicli di gioco. Il percorso locale è:
python3 zretro/ide/zretro.py run zretro/projects/meteor-patrol/main.zretro
python3 zretro/ide/zretro.py build zretro/projects/meteor-patrol/main.zretro
I target dichiarati includono Commodore 64, Atari 8-bit e Amiga come direzioni della pipeline. La prima versione produce un IR ZRetro e manifest verificabili; non promette ancora binari nativi o avvio automatico di emulatori.
ZRetro non deve trattare il feed pubblico come registro di build, storage di artefatti o concessione di capability. Un’eventuale pubblicazione deve passare da un adapter esplicito, da un manifest firmato, da un’identità ZDOS e dalla capability hub.project.publish con approvazione.
Non pubblicare ROM, BIOS, credenziali, chiavi private, token, dati personali o istruzioni operative dannose. Il tasto ZRetro del sito conduce alla pagina documentaria Retro Computing, non esegue build remote e non concede accessi al nodo.
ZDOS · Zlang · ZRetro — Build what you can prove.
Il contenuto segue la licenza del repository ZDOS. I marchi e i materiali storici Atari, Commodore e Amiga restano soggetti ai rispettivi diritti.