ViejuLCD

Estoy junto con la gente de Vieju.NET prototipando un pequeño dispositivo que nos ha parecido divertido e interesante tener. Un display LCD conectable al puerto USB. Aunque ya hay muchos de estos dispositivos, queriamos hacer uno que tanto el hardware como el firmware fueran libres, y además, diseñar un protocolo muy simple para poder usarlo desde cualquier lenguaje, maquina, etc.

El resultado es el ViejuLCD… el LCD está controlado por un attiny2313, y para la comunicación al final hemos optado por dos versiones, la USB, con un ft232rl para hacer de interfaz USB/Serie, y una basada en un max232 para poder controlarlo desde un puerto serie normal.

El protocolo es muy sencillo, y está documentado en el wiki. Basicamente se envian caracteres ascii que se muestran en pantalla, salvo que se reciba el ascii 0x09, que entonces  se pone en modo comando e interpreta un cierto número de bytes siguientes dependiendo del comando que le mandemos.

La idea es desarrollar varios módulos para ciertos programas, como por ejemplo el MAME, para que nos muestre los créditos que nos quedan, un monitor de recursos del sistema, un TRS para DOS con diversas funciones…

En el siguiente video podeis ver la versión serie recibiendo datos desde un PC XT ejecutando MSDOS 3.3.  Un simple programa hecho en TurboC hace la magia:

Cartucho MSX-DOS2

Desde hace un tiempo tengo un MSX2, un Phillips VG8235. Me lo donaron en GP32Spain, no le funcionaba la disquettera y el dueño buscaba algumsxdos2-cartien que le diera un hogar y lo arreglara. Asi hice. Le adapté un disquetera de PC (cambia completamente el cableado, y hay que sacar un par de señales de otros conectores), y asi puede leer discos de 720K (la original es de 360K). Estuve estos dias trasteando con CP/M y con MSX-DOS, incluyendo compilar cosas en C nativamente con el compilador de hitech para CP/M (que funciona en MSX-DOS tambien).

Como el MSX-DOS 1 es bastante limitado, estuve buscando información y vi que se puede meter la bios del MSX-DOS2 en un cartucho externo, como ocupa 64K, con una EPROM 27C512, parecería suficiente, pero no, como el MSX sólo puede direccionar directamente esos 64K, tiene que usar paginación para poder tener  en memoria,  la bios, el sistema y ram libre, así que hay que añadir algo de lógica para que pueda paginar esa bios de MSX-DOS2. Está todo muy bien explicado en varias páginas, asi que me fue bastante fácil diseñar el cartucho.

Más fotos, esquemas y PCBs a continuación…

Sigue leyendo

PCBs de los cartuchos 32Mbit Flash, 1Mbit SRAM.

Ayer me llegaron los PCBs del prototipo de cartucho flash para la gameboy en que estuve trabajando estos meses. Es un cartucho MBC5, con hasta 32MBit de FLASH (soporta chips de 16 ó 32Mbit), y 1Mbit de SRAM (128KB), con pila para poder guardar partidas. Con esta configuración se puede usar un 99% del software disponible para la gameboy (juegos y apps homebrew), incluyendo el LittleSoundDJ y el NanoLoops.

Ayer mismo monté uno de ellos, y parece funcionar correctamente; además de un programa hecho por mi que somete al cartucho a unos tests (bancos de ROM y salvado en la SRAM), probé a meter el ZELDA DX (8MBit), a jugar una partida, guardarla, sacar el cartucho y meterlo en otra gameboy y comprobar el guardado de la partida. Todo perfecto.

Solo tiene un pequeño fallo, el condensador de abajo del todo (C4) choca con la tapa y hay que hacerce a esta una pequeña muesca para que cierre, nada, en el diseño final lo subiré un poco y listo. Me quedaré con uno o dos, y el resto están adjudicados a seguidores del proyecto, en unos dias los montaré y empezaré a mandarlos, y dentro de poco pediré mas placas para seguir construyéndolos para los interesados. :-)

Cart Flasher

El programador está funcionando perfectamente. Tuve unos problemas programando el microcontrolador, pero ya está todo solucionado. Acabo de hacer unas pruebas y está todo correcto. Ahora a seguir depurando todo, he movido un par de componentes para el PCB final, pero el diseño es bueno, asi que ya solo quedan los cartuchos para tener todo listo para ponernos manos a la obra.

PCBs del CartFlasher

Me acaban de llegar los PCBs del programador de cartuchos flash de GameBoy en el que estoy trabajando. De momento visualmente están perfectos, y los conectores y los componentes encajan a la perfección, además han quedado muy bonitos.

Esta noche o mañana montaré uno para probarlo, a ver que tal va. Ya solo queda que me llegen los PCBs de los prototipos finales de los cartuchos, con 128KB de SRAM, que los tengo fabricando ahora mismo.

A la que lleguen y esté todo probado, ya podremos poner en marcha esos pedidos conjuntos de los que muchos estais deseosos.

Saludos!

PCBs de cartuchos flash

PCBs_CartuchoMe han llegado los primeros prototipos del PCB del cartucho flash para gameboy que estoy diseñando. Después de montarlo me di cuenta que había interpretado mal un dato del datasheet del mm1134, el chip que se encarga de alimentar la sram cuando apagas la consola para poder conservar los datos de partidas guardadas y demás, y no funcionaba bien. Ya está corregido el diseño y probado puenteando las pistas que estaban mal con cables, asi que ahora el diseño ya es definitivo.

Ahora voy a modificar el diseño para incluir un chip de sram de 128K en lugar del de 32K que tiene ahora, para asi poder usarlo con software como el LittleSoundDJ que requiere esta capacidad para guardar canciones.

También he pedido fabricar los primeros prototipos del programador en diseño SMD, dentro de un mes postearé los resultados.

GBCartFlasher Cartucho 32Mbit

terminao.JPGSiguiendo con el proyecto del GBCartFlasher, he modificado un cartucho MBC5 para hacer pruebas y sacar el diseño de un posible cartucho flash que mandariamos a fabricar.  Está basado en un chip AM29F032 y un Zelda DX, con lo que tenemos un cartucho MBC5 de 32Mbit de ROM y 32KBit de RAM.

Ese es el resultado después de un rato cableando :-)

GBCartFlasher – Segundo capítulo.

Sigo con el desarrollo del flasheador de cartuchos de GameBoy. Poco a poco vamos haciendo progresos, ya tengo un prototipo definitivo del programador con el FT232RL  funcionando sin problemas,  he traducido la aplicación de flasheo al castellano y he añadido una opción al archivo de configuración que si está activada arranca por defecto en modo USB (deseable puesto que sólo estamos trabajando en el interfaz USB). También he creado una pequeña aplicación para sacar a información de los las roms de gameboy, así podemos saber que cartuchos son interesantes para la conversión, sabiendo de antemano cuanta rom y ram tienen, y qué mapper. Para llevar todo esto, he creado un wiki, http://wiki.ladecadence.net, en el que además iré llevando el progreso de mis otros proyectos. Podeis pasaros para echar un vistazo.