Página 2 de 2

Re: Tutorial Programación Emulador Chip-8 - Parte 1 al 5

NotaPublicado: Dom Feb 12, 2012 4:38 am
por darkn
Amigos, acabo de subir el Capítulo 5 del tutorial, espero les guste.

Eso es todo, por aca son casi las 2 AM, ¡nos vemos!

Re: Tutorial Programación Emulador Chip-8 - Parte 1 al 6

NotaPublicado: Dom Mar 18, 2012 3:14 am
por darkn
Ahora acabo de subir el Capítulo 6 del tutorial, estoy a toda máquina! ;D

¡Saludos!

Re: Tutorial Programación Emulador Chip-8 - Parte 1 al 7

NotaPublicado: Mar Jun 19, 2012 3:38 am
por darkn
¡Hola a todos! les aviso que acabo de subir el Capítulo 7 del tutorial ::)

¡Nos vemos!

Re: Tutorial Programación Emulador Chip-8 - Parte 1 al 6

NotaPublicado: Vie Jun 22, 2012 6:36 pm
por PacoChan
Muy buenas. Estos días me ha dado por mirar de terminar mi emulador y tratando de conseguir el 100% de compatibilidad, me he encontrado con un detalle que me ha llevado unas buenas horas en descubrir. Es otro error de documentación y está mal explicado en prácticamente todos los manuales que andan por internet. Es acerca de las instrucciones 8xy6 y 8xye. En todos sitios se dice que se ha de hacer Vx >>= 1 / Vx <<= 1. ¿Y qué pasa con el Vy? Pues en un sitio he encontrado que efectivamente, ese Vy se ha de usar, y la operación es Vx = Vy >> 1 / Vx = Vy << 1.

Notice that these instructions shift register VY and store the result in register VX. It is a common misconception when programming in CHIP-8 to assume that the VX register is shifted by this instruction, and VY remains unmodified. To have a register perform a shift upon itself, a register VX can be passed as both arguments: 8XX6 or 8XXE. For example, to shift register V6 right by one bit, the instruction 8666 can be used.


Enlace: http://mattmik.com/chip8.html

Este detallito hace que el Animal Race no funcione del todo bien (sí, es demasiado complejo el juego por lo visto xD). Resulta que cuando eliges un animal, el cursor no se sitúa sobre el animal que toca. Haciendo lo que dice en la web ésta, ya funciona perfectamente.

Ahora me queda comprobar si haciendo esto no se estropea ningún otro juego.

Por cierto, un pequeño error que he visto en tu código y del que me di cuenta también en el mío:

Código: Seleccionar todo
const int TAMANO_MEM = 0xFFF; //Es erróneo
const int TAMANO_MEM        = 0x1000;  //La memoria son 4096 (0x1000) bytes, y va de 0x0 a 0xfff



Dentro de nada sacaré mi emulador si consigo el 100% de emulación en todos los juegos. Parece mentira que un aparato tan simple de tantos problemas a la hora de emular. Que si cambios de signo, overflows, etc. Hasta el detalle más pequeño y mal documentado se carga un juego. No me quiero ni imaginar sistemas más complejos xd.


EDIT: Pues tocando eso, el Blinky se fastidia por completo :(

Re: Tutorial Programación Emulador Chip-8 - Parte 1 al 6

NotaPublicado: Jue Jul 05, 2012 8:11 pm
por PacoChan
Pues al final he publicado y liberado el código fuente de mi emulador. Seguro que está fatal programado, pero mira, funciona xD. Es multi-hilo y emula prácticamente todo. Y lo que no emula bien creo que es porque el juego está mal hecho xD. También conseguí que por GDI fuera más o menos rápido. En versiones anteriores, era agrandar un poco la ventana y empezar a ralentizarse. Ahora sigue yendo sobrado incluso a 1920x1080, aunque tengo un PC bastante potente. Vendría bien saber cómo os funciona a los demás.

Con el emulador vienen prácticamente todos (o todos) los juegos conocidos de Chip-8 y Super Chip, más uno que hice yo llamado LOL-HUNT. Podéis descargar el emulador compilado y el código fuente aquí: http://code.google.com/p/pacochip-8/

Imágenes:

Imagen
Imagen
Imagen

Re: Tutorial Programación Emulador Chip-8 - Parte 1 al 6

NotaPublicado: Vie Jun 28, 2013 1:50 pm
por darkn
Nada que decir, solo felicitarte por tu gran avance y correciones al código. Te quedó muy bueno el emulador. Lo siento si no respondí antes ya que estaba con algunos problemillas.

Re: Tutorial Programación Emulador Chip-8 - Parte 1 al 6

NotaPublicado: Dom Jul 07, 2013 6:14 am
por hexplus
PacoChan escribió:Pues al final he publicado y liberado el código fuente de mi emulador. Seguro que está fatal programado, pero mira, funciona xD. Es multi-hilo y emula prácticamente todo. Y lo que no emula bien creo que es porque el juego está mal hecho xD. También conseguí que por GDI fuera más o menos rápido. En versiones anteriores, era agrandar un poco la ventana y empezar a ralentizarse. Ahora sigue yendo sobrado incluso a 1920x1080, aunque tengo un PC bastante potente. Vendría bien saber cómo os funciona a los demás.

Con el emulador vienen prácticamente todos (o todos) los juegos conocidos de Chip-8 y Super Chip, más uno que hice yo llamado LOL-HUNT. Podéis descargar el emulador compilado y el código fuente aquí: http://code.google.com/p/pacochip-8/

Imágenes:

Imagen
Imagen
Imagen


Este Pacochan es una máquina de código fuente. :)