2026-03-24 13:40:12 +00:00
2026-03-24 13:40:12 +00:00
2026-03-24 13:40:12 +00:00
2026-03-24 13:40:08 +00:00
2026-03-24 13:40:11 +00:00
2026-03-24 13:40:08 +00:00
2026-03-24 13:40:08 +00:00
2026-03-24 13:40:08 +00:00

PROMETEU Runtime

PROMETEU é um runtime educacional e experimental inspirado em consoles clássicos, com foco em ensinar programação, arquitetura de sistemas e conceitos de hardware através de software.

Este repositório contém o runtime do PROMETEU, implementado em Rust, responsável por:

  • simular um “hardware lógico” simples
  • executar programas (futuros cartuchos) em um loop determinístico
  • abstrair plataformas modernas (desktop, mobile, etc.) de forma consistente

PROMETEU é uma máquina virtual simples, explícita e didática.


🎯 Objetivos do Runtime

  • Executar um loop fixo (60 Hz)
  • Manter um framebuffer de baixa resolução (estilo console)
  • Fornecer periféricos simples e determinísticos:
    • GFX (framebuffer + double buffer)
    • INPUT (D-Pad, botões)
    • TOUCH (ponteiro absoluto, single-touch)
  • Garantir portabilidade total entre plataformas
  • Servir como base para ensino, game jams e experimentação

🧠 Filosofia de Design

  • Sem magia: tudo é explícito
  • Sem heurística implícita: o runtime não “adivinha intenções”
  • Determinístico: mesmo input → mesmo resultado
  • Hardware-first: APIs modelam periféricos, não frameworks modernos
  • Portável por definição: se não funciona em todas as plataformas, não existe

📦 Estrutura do Projeto (Monorepo)

Este repositório usa um Cargo Workspace (monorepo):

runtime/
  Cargo.toml              # Workspace root
  rust-toolchain.toml     # Versão do Rust (fixa)
  crates/
    core/                 # PROMETEU Core (hardware lógico)
    host_desktop/         # Host desktop (janela, input real, present)
    cart_demo/            # Cartucho/demo hardcoded (temporário)

crates/core

Contém o núcleo do PROMETEU:

  • loop lógico
  • periféricos
  • framebuffer
  • nenhuma dependência de sistema operacional

crates/host_desktop

Implementação de host para desktop:

  • cria janela
  • traduz teclado/mouse/touch do SO para o core
  • apresenta o framebuffer na tela

crates/cart_demo

Código de demonstração hardcoded. Será substituído futuramente por:

  • cartuchos
  • bytecode
  • scripts

🖥️ Plataformas

Atualmente:

  • Desktop (primeiro alvo)

Planejado:

  • Mobile
  • Steam Deck
  • Hardware dedicado (experimental, longo prazo)

🛠️ Requisitos

  • Rust (via rustup)
  • Toolchain definido em rust-toolchain.toml

Instalação do Rust:

rustup-init

▶️ Como rodar

Na raiz do repositório:

cargo build
cargo run -p host_desktop

No início, o host apenas valida:

  • loop 60 Hz
  • execução do core
  • estrutura do runtime

🚧 Status do Projeto

⚠️ Em estágio inicial (bootstrap)

O foco atual é:

  • validar arquitetura
  • validar loop e periféricos
  • manter simplicidade máxima

Nada aqui deve ser considerado API estável ainda.


📜 Licença

A definir.


Nota Final

PROMETEU é tanto um projeto técnico quanto pedagógico.

A ideia não é esconder complexidade, mas expor a complexidade certa, no nível certo, para que ela possa ser entendida, estudada e explorada.

Description
No description provided
Readme MIT 12 MiB
Languages
Rust 99.8%
Shell 0.1%