44 lines
1.2 KiB
Markdown
44 lines
1.2 KiB
Markdown
# Save Memory and MEMCARD
|
|
|
|
Status: pedagogical
|
|
Companion spec: [`../specs/08-save-memory-and-memcard.md`](../specs/08-save-memory-and-memcard.md)
|
|
|
|
PROMETEU trata persistência como hardware explícito, não como save invisível.
|
|
|
|
## Mental Model
|
|
|
|
O MEMCARD não é save state. Ele é um dispositivo de persistência controlado pelo jogo.
|
|
|
|
Isso implica:
|
|
|
|
- tamanho conhecido;
|
|
- custo observável;
|
|
- necessidade de `commit()`;
|
|
- possibilidade de falha;
|
|
- formato de dados sob controle do jogo.
|
|
|
|
## Why Explicit Commit Matters
|
|
|
|
O `commit()` existe para tornar persistência uma decisão técnica visível.
|
|
|
|
Sem ele, não há ilusão de que “salvar simplesmente aconteceu”. O jogo precisa assumir quando quer:
|
|
|
|
- materializar escrita;
|
|
- aceitar custo;
|
|
- lidar com risco de perda ou corrupção.
|
|
|
|
## Tooling Surface
|
|
|
|
Ferramentas externas podem expor utilidades como:
|
|
|
|
- criar ou resetar MEMCARD;
|
|
- importar e exportar `.mem`;
|
|
- inspecionar tamanho e uso;
|
|
- associar cartões a projetos.
|
|
|
|
Essas superfícies são auxiliares. Elas não mudam o contrato da máquina.
|
|
|
|
## Why This Fits PROMETEU
|
|
|
|
Esse modelo conversa bem com a herança de console e com o foco DIY do projeto: persistência é parte do design da máquina, não conveniência escondida do host.
|