Volver a Página Principal

Tutorial de creación de un Emulador sencillo de Chip-8 con VS 2008 y C#

Lenguaje: C# 1.0/2.0
Para: VS 2008 con Sdl.Net 6.1
Por Dark-N: hernaldog@gmail.com
http://darknromhacking.com
Hilo del Foro: http://foro.romhackhispano.org/viewtopic.php?f=4&t=872

Introducción

Existen muchas páginas donde se muestran pistas de como escribir un emulador, pero al menos yo no he visto una que te enseñe paso a paso como hacerlo, mucho menos en español.
Este tutorial tiene por objetivo enseñar los conceptos y la codificación de un emulador de Chip-8, uno de los más sencillos de emular por sus pocos registros e instrucciones. Además permite ejeuctar algunas ROMs como el clásico PONG.

Índice

  • Parte 1: Operaciones básicas con Bits, Operadores Shift, Instrucciones de C# que nos ayudan a extraer bits de una dirección, Leer e Unir bits.
  • Parte 2: Se arma esqueleto del programa. Se hará emulador en Modo Consola primero. Se explican las variables globales a utilizar. Hasta aquí si alguien lo quiere hacer en Java, sería prácticamente copiar y pegar ya que el código es muy parecido.
  • Parte 3: Se explica como es el programa principal y el game-loop. Se muestra como es la carga de la ROM en la Memoria y como se leen las instrucciones y ejecutan en el denominado Ciclo Fetch (por ahora solo 2 instrucciones de las 36 que tiene el Chip-8).
  • Parte 4: Explicación de todas las instrucciones restantes.
  • Parte 5: Se explican los pasos para realizar los cambios en el proyecto y métodos para transformar el emulador de un formato Consola a formato Gráfico usando SDL.Net y se agrega el uso de Teclado.
  • Parte 6: Mejoras en el emulador como título de la ventana, cálculo de FPS y agregar sonido.
  • Parte 7 : pasamos el emulador a una ventana con las opciones: Cargar ROM, Reset y Pause.
  • Parte 8: Próximamente: como hacer el módulo "Save State" y "Load State".

    Errores Comunes

  • Solución a Errores Comunes
  • Links de Interés

  • Wikipedia Chip-8 en Wikipedia.
  • Cowgod's Chip-8: Referencia técnica del Chip-8 (en inglés).
  • Retrowip Tutorial en español, en formato PDF muy completo donde se explica como hacer emulador de Master System con C++.
  • cecs.csulb.edu Tutorial donde se enseña a un alto nivel como hacer un emulador usando C++ con Assembly.
  • foro romhacking.net Hilo del Foro de la conocida web donde se habla del tema.
  • atarihq.com Un poco de varios sistemas emulados con fuentes y documentación.

  • Volver a Página Principal

    blog comments powered by Disqus
    2003 - 2018    La Web de Dark-N