3.6 KiB
PROMETEU Runtime
PROMETEU is an educational and experimental fantasy handheld / fantasy console. This repository contains the Rust runtime workspace for the machine: VM-facing components, virtual peripherals, host integration, CLI entrypoints, development utilities, specs, and discussion artifacts.
The VM is only one subsystem of the machine. The canonical docs in this repository intentionally distinguish:
- machine-level specs;
- VM/runtime internal architecture;
- implementation crates;
- discussion workflow and lessons learned.
What This Repository Contains
crates/console/: core machine/runtime crates such asprometeu-vm,prometeu-system,prometeu-hal,prometeu-drivers, andprometeu-firmwarecrates/host/: host-side execution surfaces, currently includingprometeu-host-desktop-winitcrates/tools/: user-facing and support binaries such asprometeuandpbxgen-stresscrates/dev/: test support, layer tests, and quality-check utilitiesdocs/specs/runtime/: canonical PROMETEU machine specsdocs/vm-arch/: canonical VM/runtime architecture and ISA referencesdevtools/: debugger protocol materialdiscussion/: agendas, decisions, plans, and lessons for architectural worktest-cartridges/: cartridge fixtures used for validation and manual runs
Canonical Documentation
Use these entrypoints instead of inferring the model from isolated source files:
- Machine specs: authoritative contract for the PROMETEU machine, peripherals, firmware, cartridge format, timing, and host ABI
- VM architecture: authoritative internal architecture for VM/runtime invariants
- ISA reference: bytecode-level instruction set authority
- Discussion workflow: architectural agenda, decision, and execution traceability
Workspace Layout
This repository is a Rust workspace rooted at Cargo.toml with members in:
crates/consolecrates/hostcrates/toolscrates/dev
The main user-facing dispatcher binary is prometeu, built from crates/tools/prometeu-cli.
Current CLI surface:
prometeu run <cart>prometeu debug <cart> --port <port>prometeu build <project-dir>prometeu pack <cart-dir>prometeu verify ...
Not every command is fully implemented in every distribution path yet. Today, the runtime flow is the most concrete and the dispatcher forwards execution to specialized binaries when they are available.
Requirements
- Rust toolchain from rust-toolchain.toml
rustupfor toolchain installation and management
Quick Start
Build the workspace:
cargo build
Inspect the CLI:
cargo run -q -p prometeu-cli --bin prometeu -- --help
Run the current stress cartridge fixture:
cargo run -q -p prometeu-cli --bin prometeu -- run test-cartridges/stress-console
The desktop runtime opens a native window through the host layer, so this last command is intended for a local graphical environment.
Current State
The project is still in active architectural and implementation convergence.
- the machine contract is being clarified through the specs and discussion workflow;
- the workspace already contains concrete runtime and host code;
- some CLI subcommands still act as dispatcher placeholders for binaries that are not always present in a local build or distribution.
Treat APIs, file formats, and execution flows as evolving unless the relevant spec explicitly defines them as stable.
License
This project is licensed under the MIT License.