PACMAN Color con ATmega328

En este sitio alemán encontré este bonito proyecto:

http://www.dietrich-kindermann.de/pacman_usb_board.html

Hace tiempo que estaba tratando de hacer funcionar este Pacman. Finalmente, después de un año y 7 meses de haber armado la placa, al fin funcionó el AVGA PACMAN. ¡Hay que tener paciencia!

Esto, gracias a que el autor publicó nuevos códigos, cambio el AVR ATmega168 por el ATmega328, el mismo de Arduino, y diseñó un loader para su placa USB a 20 MHz.
Pero, no me funcionaron a 20 MHz. Al preguntarle al autor, me dijo que tratara con un cristal de 25 MHz, eso hice, ¡Al fin! funcionó el PACMAN, y todo el software que presenta en su sitio, hay un TETRIS y un MARIO. Pero estos últimos si bien funcionan, les falta para ser juegos funcionales, son ejercicios de programación. En cambio, Pacman es un juego completamente operativo. En realidad, es un port, habia sido publicado anteriormente. En su sitio web está toda la historia.

¿Por qué no funcionaba antes? Al parecer, el autor tenía un monitor VGA multi-frecuencia, que aceptaba la frecuencia horizontal de 24.5 KHz. El uno de sus posts muestra dicho monitor, trabajando indistintamente a 24.5 y 30 KHz.
Yo sólo tengo monitores VGA estandar, de 30 KHz para arriba, es por esto que no veía nada, la pantalla me decia HV fuera de rango, etc. Pero el juego funcionaba, se podía escuchar la música de PACMAN. O sea, la primera vez que lo armé, hace más de un año, estaba correctamente armado.
Aquí está mi placa:

Placa avga

Hay un enchufe USB, el autor además ofrece un loader USB, que permite cargar software directamente desde un puerto USB a la placa. No me funciona, el dispositivo no es reconocido por mi PC (aún).
Pero el Pacman está ok.

Se puede armar esto con un Arduino uno, sólo hay que cambiar el cristal de 16 MHz por uno de 25 MHz, y listo. Por mi parte, armé la placa desde cero.

Este es el circuito:

AVR PACMAN SCHEMATICS

Lo preparé para usar un pad de Sega Genesis o Atari, como siempre. La conexión USB no es necesario armarla para que funcione el juego, se puede grabar el archivo hex con un grabador estándar, yo usé mi cable USBASP.

Fotos de mi hardware:

El cristal va con base... El autor propone varios proyectos con cambio de cristal. Si sólo se va usar como Pacman, se puede dejar a 25 MHz.

Un video del juego funcionando:

Recomiendo armar este Pacman, es casi tan bueno como el Boulder Dash con PIC18f2550 que mostré anteriormente, es un buen uso para los montones de pantallas VGA que tengo.... Estas cosas son casi obras maestras de programación.

Links:

http://www.dietrich-kindermann.de/index.html
http://www.dietrich-kindermann.de/pacman_usb_board.html

Hex file: pacman_new_20Mhz.hex (En realidad, funciona a 25 MHz).

Fuses: low=FF High=DA Ex=FC lock=CF

Home

 MONSTER  SpaceInvader, 2/1/2017

www.000webhost.com