PCS PROJETO DE FORMATURA I Emulação do GameBoy e GameBoy Color para a plataforma PC/Windows Adriano Bedeschi Eduardo Sato
O Projeto Consiste em desenvolver um emulador (em software) do videogame portátil GameBoy/GameBoy Color da Nintendo.
Emuladores Um emulador é um programa que duplica todas as funcionalidades de outro sistema, permitindo que um computador de uma determinada plataforma execute programas escritos para uma plataforma diferente. O programa emulador deve aceitar os mesmos dados, executar os mesmos programas e produzir os mesmos resultados que a o computador emulado.
Aplicações da Emulação Emuladores podem servir como ferramenta de desenvolvimento de software. Ex: desenvolver programas para Palm/PocketPC, celulares, videogames etc numa máquina Windows/Intel.
Aplicações da Emulação Executar programas ou jogos escritos para rodar em hardware que não se encontra mais disponível no mercado.
Recursos extras / Vantagens Ferramentas de debug: Janelas que exibem informações sobre o estado atual da máquina emulada como: –Conteúdo dos registradores da CPU –Estado atual dos dispositivos de E/S –Código atualmente em execução desmontado (disassembled) –Fluxo de programa (breakpoints, step-in, step- over, step-out etc).
Recursos extras / Vantagens Savestates: salvar o estado atual da máquina emulada em arquivos, de tal forma que seja possível recuperá-lo mais tarde. Filtros de imagem: Podem suavizar a imagem original gerada pela máquina emulada e simular o aspecto de uma tela de TV
Especificações do projeto Linguagem Assembly para processadores da família x86 Plataforma: IBM PC com sistema operacional Windows 9X / NT / 2000 / XP / 2003.
Estudos abrangidos Arquitetura/Organização de Computadores: –processador, E/S, periféricos, mapeamento de memória, linguagem Assembly da CPU emulada, com conceitos de organização computacional como interrupções, DMA etc Arquitetura do IBM PC Otimização de código
Especificações técnicas do Gameboy CPU: 8-bit (Similar ao processador Z80 da Zilog e 8080 da MHz Main RAM: 8K Byte Video RAM: 8K Byte Resolução: 160x144 (20x18 caracteres) Número máximo de sprites total: 40 Tamanho de sprites: 8x16 / 8x8 Sincronia horizontal: 9198 KHz Sincronia vertical: Hz Som: 4 canais pseudo-estéreo
Imagens - Protótipo