Cómo hacer un Grabador y  Lector de EPROM desde cero

Eprom Burner for 2764

 En esta página describo como hacer un simple grabador de EPROM  para la memoria 2764, con el objetivo de fabricar cartridges de videojuegos antiguos, como Atari, Commodore, etc.

  Buscando por el circuito más simple en internet, encontré uno increíblemente simple, que usa sólo un chip [¡Sólo un circuito integrado!] y nada más, el resto son cables, conectores, bases, resistencias, etc. Tiene sus limitaciones, sólo puede grabar la 2764. No hay problema, igual me sirve. El link original es éste: http://www.dsaprojects.110mb.com/electronics/eprom/eprom_prg.html

Este es el circuito del grabador:

EPROM BURNER David Setya Atmaja

El software se puede descargar desde el sitio antes mencionado. El autor original es muy claro en sus explicaciones, y armar el circuito no presenta ninguna dificultad. Sólo hay que guiarse por el diagrama, y listo. Notable, el circuito original no tiene ningún error, eso es algo de destacar.

El circuito original sólo puede grabar EPROMS con voltaje de programación Vpp de 12.5 v. Modifiqué un poco la fuente, use un LM317 con un potenciómetro, para poder ajustar entre 12.5 y 12.75 V, porque tenía unas EPROM con Vpp=12.75 V. Además, le hice un un regulador externo para Vpp=21 V , el que controlo con un jumper. Estas son las modificaciones:

Modificaciones

Este es el grabador una vez terminado:

EPROM Burner listo para la acción

  Problema: Como voy a usar viejas EPROM 2764, se requiere de un Borrador de EPROM, asi que lo primero que hice, fue fabricar el borrador de EPROM. El mismo autor original explica en sus páginas como hacerlo, hay que usar un tubo fluorescente ultravioleta, que puede ser un tubo germicida. Lo primero entonces, fue comprar el tubo germicida. En Chile, Casa Royal vende el tubo. Lo compré, arme un gabinete especial cerrado donde instalarlo. El encendido del tubo germicida es igual al de un tubo fluorescente cualquiera, basta un ballast de 10 watts, un partidor y nada más. No le hice un temporizador, mido el tiempo con reloj, en el futuro le hago el temporizador, es algo trivial. El resultado final fue este magnífico borrador de EPROM, que puede borrar hasta 8 EPROMS de una sola vez. Tal vez tiene exceso de potencia…

Dato freak: Casa Royal obliga a quien le compre un Tubo UV, a firmar un documento en el cual se desliga de toda responsabilidad por el mal uso, o daño que puedas auto-inferirte con la luz UV (Ha pasado...)

Detalle del interior del borrador:

Adentro del cajón

¡Y con el típico ballast chileno BP!  El tubo UV parece de vidrio, pero es de cuarzo.BP ballast y Tubo UV de cuarzo

Bueno, listo el borrador. Ahora, a quemar EPROMS. 

Una vez terminados el borrador UV y el grabador,  empecé a probarlo con el software que el autor original provee. Funciona correctamente en DOS puro, o en una ventana de DOS, en Windows. El único requisito es que el puerto paralelo debe ser bi-direccional (es claro que este diseño es antiguo).

 La primeras lecturas funcionaron perfectamente, de hecho, me funcionó correctamente a la primera. Leí varias EPROM de BIOS, y cosas así. Luego, borré tres EPROMS, y me dispuse a grabar, la grabación funciona bien, se demora 8 minutos en grabar completamente 8 K. El mismo software trae un verificador de datos, pero por algún motivo, no me funcionó, aunque las grabaciones estaban perfectas, las comprobé con el visor HEX del Comandante Norton  (Old Style…).

Dato curioso, en los archivos creados, el software agrega unos pocos bytes con las iniciales del autor… No molesta.

Me dispuse entonces a hacer un cartridge de Atari 2600, que son relativamente simples de hacer, son juegos de 2 K y 4K.

Hice este bonito cartridge de Atari 2600, que acomoda a una 2764: 

Cartridge ATARI 2600 extremadamente artesanal

Este es el diagrama del cartridge:

Circuito ATARI 2600 cart con EPROM 2764

Lo hice con partes de una tarjeta ISA y circuitos impresos estándar. Fits perfect en la 2600 de prueba. (Me niego a hacer impresos…). Noten el antiquísimo TTL no-LS.

Intenté grabar directamente el juego de 4K, pero al parecer el software sólo acepta archivos de 8K, lo justo para la 2764. La solución aquí, fue doblar el contenido de la EPROM, grabando el juego dos veces. Encontré esta página (Salve Oh Google):  http://www.thehopelesshobbyist.com/games/atari-2600-32-in-1-game-cartridge

En esa página explican claramente como doblar el contenido de una rom, en realidad explican como hacer carts multijuegos…

Bueno, es bastante simple, se usa el programa BINEX (http://home.kpn.nl/newlife-software/Binex/binex.htm )

Luego hay que hacer una copia de la ROM de 4k a usar, por ejemplo, con Space Invaders, si.bin:

Copy si.bin si2.bin

Luego se aplica BINEX para mezclarlas y convertir a .HEX:

Binex /h si.bin si2.bin /Osi3.hex

Finalmente, se usa BINEX para convertir el archivo HEX resultante, de 8K con Space Invaders doblado, a BIN:

Binex /h si3.hex /osi3.bin 

Y listo, ya está el archivo necesario para grabarlo en la EPROM 2764. Usé el grabador, la grabé, y luego la puse en mi feo cartridge, la inserté en una 2600 clónica: 

2600 cart listo para darle power

SI8 es por “8K”.

Finalmente, llega el gran momento encender la 2600. Usé un clónico de la 2600 para las primeras pruebas.

Enciendo la máquina y OOOHHHH … ¡Éxito total!  Estos momentos no tienen precio para un retro-electrónico.

Homebrew cart in action

Grabé mas juegos, por ejemplo, Space Invaders Arcade y Crazy Valet, que nunca jamás se van a encontrar en un una feria de cachureo. Funcionan perfecto.

Space Invaders Arcade

Crazy Valet screenshot

Ya que funcionó tan bien, en vez de doblar la rom, mejor es meter dos juegos distintos, y seleccionarlos con un switch externo. Modifiqué el cartridge inicial, y le puse el switch apropiado para que funcionara como multicart, en este caso cart dual. esta es la foto definitiva del cart:

Multicart ATARI 2600 para dos juegos

Con el programa BINEX, hice el archivo BIN con dos ROMS de 4 K de Atari 2600:

Binex /h juego1.bin juego2.bin /Osi3.hex

Y listo. Por supuesto, funcionó impecablemente, grabé CRAZY VALET y SPACE INVADERS ARCADE en una 2764.

Fabricación de un cartridge para Commodore 64

Revisando la información técnica de los cartridges de C64, encontré que son más fáciles de hacer, es posible hacer un cart "universal" para acomodar a juegos de 8K. Lamentablemente, no hay imágenes de cartridges (BIN) para meter directamente en un EPROM, a pesar de que hay unas .CRT, que supuestamente son imágenes de cartridge, éstas sólo funcionan en un emulador. Pero, aplicando Google de nuevo, encontré que hay un programa llamado CARTCONV que hace la conversión entre CRT y BIN. A usarlo, entonces. Convertí dos juegos de 8K, GALAXIAN y PACMAN, a formato BIN.

El diagrama de cartridge de C64 de 8k se encuentra fácilmente, este es el que armé:

C64 cart 8K

Y este es el cart que armé, aplicando reciclaje a una vieja tarjeta ISA de PC. Incluso usé la misma base que ya tenía la placa, para acomodar la 2764.

C64 custom cartridge 

C64 cart por abajo

Feo, pero funcional. Aqui se puede ver conectado al C64:

 

Llega el momento de conectar la EPROM 2764 ya grabada en la placa, la enchufo en mi único C64 operativo (esto fue un riesgo) y... ¡Exito total de nuevo!

Galaxian C64

Pac-Man C64

GALAXIAN y PAC-MAN le devolvieron la vida a mi viejo Commodore 64, tenía puros cart fomes...

 

- Después de armar este grabador, ahora voy por el grande, que puede quemar de desde una 2716 hasta una 27512 y mas allá. Ahora que tengo el borrador de EPROM, sólo el cielo es el límite...

- ¿Por qué hacer un grabador de EPROM, un componente obsoleto hoy en día? Porque tengo muchas EPROM disponibles, producto de años de juntar artículos electrónicos desechados por otros. Y las viejas máquinas ATARI, COMMODORE, etc usaban las misma tecnología. Es un proyecto nostálgico. Tengo muy claro que sería mejor hacer un grabador de EEPROM, pero son escasos los circuitos que encontré en internet. Tal vez mas adelante arme el EEPROM burner. 

- Analizando el circuito, se puede ver que no hay ajuste de fuente de 6 V para el modo de grabación, entonces, esto no debería funcionar... Sin embargo, funciona, lo comprobé, y con varias EPROM de diferentes fabricantes.
El autor original explica que hay dos modos de programar una EPROM, el  Intelligent Programming Algorithm, que usa Vcc=6 V, y el  Standard Programming Algorithm, que requiere sólo Vcc=5 V. La diferencia entre ambos métodos de programación es el tiempo necesario para grabar, mucho mayor en el caso standard (En este caso 8 minutos). El software utiliza entonces, el modo Standard. No pude confirmar esto en la datasheet de la 2764A de INTEL, que es la usa el autor original. Asumo que es cierto.

En la práctica, tuve exitosos resultados, leyendo, borrando, y grabando las siguientes memorias, usando sólo 5V:

MBM2764-30 (Fujitsu) Vpp=21V
HN482764G-4 (Hitachi) Vpp=21V (2 unidades)
27C64-15  (MicroChip) Vpp=12.5V
AM27C64  (AMD) Vpp=12.75V (2 unidades)

Resumiendo, el grabador es lento, pero seguro.

- Armar este grabador de EPROM me costó muy poco, aplico el reciclaje de partes, y casi todo lo que usé lo tenía, o lo compré en las ferias de cachureo por poquísima plata. Lo más caro fue el tubo fluorescente ultravioleta.

- Con el uso del programa BINEX aquí mencionado, es posible hacer un gran cartridge multijuegos para Atari 2600, incluso podría hacer el mismo archivo BIN de mi antigua página del multicart de la 2600...

Precauciones:

* El circuito que armé es simple, pero hay que tener cuidado con los cortocircuitos al momento de enchufar o desenchufar la EPROM, no hay ninguna protección al puerto paralelo del PC, va directo desde la salida de la EPROM. Si el puerto paralelo del PC no está protegido contra cortocitcuitos, se puede dañar.

* No toda la información técnica que hay en internet está correcta. La página de donde saqué el circuito del cart de C64 tiene un garrafal error en las líneas de dirección. Por supuesto, me di cuenta del error antes de armar mi cart, pero a cualquiera que se guíe por ese diagrama, jamás le va a funcionar el cart de C64. El circuito que presento en esta página está corregido.

Comentarios a gamemasterquilpué@hotmail.com  Si alguien construye este mismo grabador, siguiendo los consejos de esta página, por favor que me escriba un mail.

Links

EPROM Programmer, por David Setya Atmaja:

http://www.dsaprojects.110mb.com/electronics/eprom/eprom_prg.html


Multicart Atari 2600, por Bill Kranz:

http://www.thehopelesshobbyist.com/games/atari-2600-32-in-1-game-cartridge

Binex by NewLife software:

http://home.kpn.nl/newlife-software/Binex/binex.htm

Commodore 64 cart info:

http://home.ica.net/~leifb/commodore/carts/#Introduction

How to make a cartridge c64, por Scott Julian:

http://www.commodore128.org.uk/books/How%20to%20make%20C64%20cartridges%20(part%20

Cartconv, utilitario que viene con el emulador VICE de C64:
http://www.viceteam.org/

 

SpaceInvader, Quilpué, 26 de septiembre de 2010