Hola gente.
Ese artículo del que habláis está interesante,pero de la parte software,qué es la complicada,no aporta mucho ó mas bien nada.
Para ir entrando en materia,a quien le interese,lo primero es visitar este enlace:
http://www.devrs.com/gb/hardware.phpDe ahí se puede sacar todo el material habido y por haber: aplicaciones,esquemas,especificaciones técnicas de la consola,software de desarrollo,código(tanto C como ASM),emuladores,etc etc...
Yo lo único que hice fué recopilar parte de este material y leer algo de documentación,a la cual hay que dedicarle buena parte del tiempo a mi modo de ver.
En cuanto al soft,lo que se necesita es un compilador C ó un ensamblador específico para la consola....de ambos hay muchos donde elegir.Yo personalmente me quedaría con gbASMstudio para assembler y con GB development studio para lenguaje C.Ambos generan el archivo binario (ROM) con el que se programaría la memoria eeprom,flash o similar,que sería el corazón del cartucho.
Además de esto,para poder probar conforme se vaya programando,se necesita de un emulador para pc,y de entre los muchos que hay,yo me quedaría con
SMYgb,al cual sólo hay que cargarle el archivo ROM (de extensión .gb ó .rel,no he visto ninguna más) para que lo ejecute bajo windows como si de una gameboy se tratase.
Lo apropiado,a mi modo de ver,sería empezar a conocer un poco la consola echando una ojeada a un archivito llamado gbspec.txt y trastear con los muchos ejemplos de código que hay en la red,con el fin de aprender a manejar los buses del micro a bajo nivel,hacer accesos a la memoria de vídeo (8kB con un bus de dirección y uno de dato para ella solita),a la ram interna (8 kB) y a la memoria externa que se utilice (32 kB de ROM + otro tanto de RAM tb direccionable).
Con una memoria eeprom de 32 kB creo sería suficiente para albergar el programa y los datos que fuera necesario conservar en memoria no volátil,para el resto de datos,los 8 kB de ram interna también bastarían,así que para empezar a meterle mano al hard una vez se tenga algo dominado el soft lo primordial es hacerse con una de estas eeprom,27C256 es el modelo idóneo si no recuerdo mal.

Como podéis ver,el hardware de la consola,al menos el que nos interesa,no es complejo...y como ya he dicho,una vez se consiga dominar el acceso a todo el mapa de memoria,la parte gráfica,las interrupciones de la botonera(creo que van autovectorizadas) y poco más,ya se habrá superado la parte más complicada.
En cuanto a cómo programar la eeprom una vez se quiera probar la aplicación en la consola,yo hice una pequeña aplicación en delphi para hacerlo vía usb,pero falta diseñar la parte hard,que constaría de un 18f4550,un zócalo para la memoria y poco más.
Espero que estos poquitos datos sean suficientes para que alguien se anime a investigar un poco y esta iniciativa tenga su fruto,ya que el proyecto está realmente interesante.
Los modelos de gameboy que sirven son :
GAMEBOY
GAMEBOY POCKET
GAMEBOY COLOR