Estrutura Geral do Projeto Fases ===== 1) Liguagem de Alto Nível 2) Código Objeto 3) Emulador Módulos Principais ================== Editor -> Programa com interface para entrada do programa em linguagem de alto nível. Compilador -> Programa que irá gerar o código objeto. Será anexado ao editor de forma a facilitar a correção de erros. Interpretador -> É o emulador propriamente dito. Ele vai ler o programa em código objeto e vai interpretar, como se fosse um console. Ferramentas -> Provavelmente será necessário fazer um programa em separado do compilador para juntar arquivos (PCX, MID, DAT etc.) num unico arquivo. Ainda vai depender da implementação do Interpretador. Características Básicas ======================= Resolução: 320x200x256, Modo 0 ("Low-Res") 640x480x256, Modo I (principal) 800x600x256, Modo II (secundário, "Hi-Res") obs: a princípio (pelo menos nas primeiras versões) não haverá modos com mais de 256 cores simultâneas nem mais do que 800x600 de resolução. obs2: o número de cores (256) se refere ao total SIMULTÂNEO na tela. Ou seja, o limite da paleta. Continuam sendo 24 bit (16 milhões) de cores disponíveis para uso, embora se limite a 256 por vez. obs3: o interpretador será inicializado com uma paleta padrão. Será de responsabilidade do programa do jogo alterá-la caso seja necessário. Arquivos Gráficos: PCX e BMP (posteriormente GIF e JPG) Arquivos de Som: MID e WAV (e provavelmente MOD) Arquivos de Video: Talvez AVI se eu conseguir encontrar uma boa documentação com DirectX. Entrada: 6 Botões primários + Select e Start (jogo) Teclas de função para o emulador (Esc, f1 etc.) obs: a princípio não vejo necessidade do uso de mouse, mas não há nenhuma dificuldade em implementá-lo. Memória: Cada jogo (código objeto) poderá ter, no máximo, 1 Mega de tamanho. Quanto aos arquivos anexados (imagens, sons etc.) não haverá limite. Além disso, a memória "do console" deverá estar limitada em 8 Mega, o que deve ser mais do que suficiente para as operações de som e imagem (se não for, reconsideramos o limite). Ver mais detalhes na proposta sobre as características do console.