update chapter-2 specs

This commit is contained in:
bQUARKz 2026-01-16 13:07:33 +00:00 committed by Nilton Constantino
parent 50e497e6ed
commit b17da9e187
No known key found for this signature in database

View File

@ -369,56 +369,6 @@ Efeito prático:
---
## 13. Boot ROM e Estado Inicial
A **PROMETEU VM** nunca inicia em um estado totalmente "vazio" ou inativo.
### 13.1 O Boot ROM (BIOS)
Se a máquina for inicializada sem um cartucho específico carregado, a VM executa um **Boot ROM padrão**. Este é um pequeno programa em bytecode embutido no core que gerencia o ciclo de vida inicial da máquina através de uma máquina de estados:
#### Fase 1: BOOT (Splash & Som)
1. **Som de Inicialização**: Emite um som de "plim" (`0x3001`) imediatamente ao ligar (frame 0).
2. **Splash Animation**: Exibe o logotipo (quadrado Índigo) crescendo suavemente (0-40 frames).
3. **Splash Estático**: O logotipo permanece na tela até o frame 180 (~3 segundos).
4. **Interrupção**: O usuário pode pular o Splash a qualquer momento pressionando **START**.
#### Fase 2: C_VALIDATION (Validação)
Ao fim do Splash ou interrupção, a BIOS verifica a presença de um cartucho:
- **Com Cartucho**: Chama `system.run_cart` (`0x0002`) para transferir o controle.
- **Sem Cartucho**: Transita para o **Estado de SO**.
#### Fase 3: RUN (Sistema Operacional / Fallback)
Se nenhum cartucho for detectado, a máquina entra em modo "SO":
1. **Interface**: Exibe um quadrado **Ciano** no centro da tela.
2. **Hot-plug**: Monitora em tempo real a inserção de cartuchos. Se um cartucho for inserido e o botão **START** for pressionado, o cartucho é iniciado.
### 13.2 Ciclo de Memória
A instrução `system.run_cart` garante um ambiente limpo para o novo programa:
1. Reseta o **PC** para 0.
2. Limpa as pilhas (**Operand Stack** e **Call Stack**).
3. Limpa a memória (**Globals** e **Heap**).
4. Carrega a nova **ROM** e **Constant Pool** do cartucho.
---
## 14. Boot e Cartucho
O core:
* valida cartucho
* carrega ROM e dados
* seta PC inicial
* entra em modo RUN
O cartucho:
* contém bytecode
* assets
* metadata
* entry point
---
## 15. Extensibilidade
O Instruction Set é versionado.