Aclaraciones y FAQ sobre EPROMs

socram8888 está baneado por "incumplimiento términos y condiciones de uso"
Hago este hilo a fin de poder aclarar las dudas que tiene la gente sobre las memorias EPROMs a la hora de programarlas y de utilizarlas. No intenta ser técnico, sino aclaratorio para las dudas que puedan surgir

Dentro de las memorias, existen diversos tipos:
  • MaskROM
  • EPROM
  • EEPROM
  • FLASH
  • FeRAM

MaskROM
Una MaskROM (Mask Read Only Memory) o memoria de máscara, es el tipo de memoria utilizada actualmente de forma más amplia en el mercado de las consolas y los cartuchos, y se utiliza en estas desde la época de los 8-bits con las Sega Master System
Ventajas:
  • Barata de fabricar
  • No se estropea por efectos del tiempo*
Desventajas:
  • No se puede reprogramar
  • No se puede obtener en puestos de venta al público
  • Solo es rentable para producciones en masa

Estas memorias, en las consolas, se utilizan para cosas que no se requieren reprogramar, como el bootloader de las consolas, el cual se suele encontrar integrado dentro de la CPU. En la Gameboy por ejemplo, que se encarga de mostrar el logo de Nintendo y de llevar a cabo las rutinas de comprobación de checksums

En los cartuchos se utilizan para almacenar los juegos desde la época de la SMS. Esto permite que los costes de producción sean mucho menores, ya que se programan cuando se fabrican. Algunas consolas como la Atari 2600, la F Channel, etc... se almacenan en EPROMs en lugar de MaskROM

EPROM
Una EPROM (Erasable Programable Read Only Memory) o memoria programable y borrable de sólo lectura, es el tipo de memoria utilizada antiguamente para las BIOS de los ordenadores de 8-bits, así como en juegos antiguos previos a la aparición de la MaskROM. Según la JEDEC, estas memorias tienen un número 27 (NMOS) o 27C (CMOS), con lo que todas las memorias EPROM empiezan por 27 o por 27C (pudiendo tener un prefijo del fabricante como la M27C160 de ST)

Dentro de las EPROM, podemos distinguir dos sub-grupos: las UV-EPROM (Ultra Violet EPROM) y las OTP-EPROM (One Time Programmable EPROM). Las primeras son las EPROMs estándar que tienen una ventanita de cuarzo para permitir su borrado utilizando luz ultravioleta. Las segundas son idénticas a las primeras, pero sin la ventana de cuarzo, con lo que el coste de producción es menor
Ventajas:
  • Reprogramable
  • Disponible en las tiendas de electrónica
  • Alta densidad
  • Coste por bit no excesivamente alto
Desventajas:
  • Requieren una segunda fuente de voltaje para su programado
  • Requieren rayos ultravioleta especiales para su borrado, lo que es MUY peligroso y caro (UV-EPROM)
  • Alto coste para producción en masa (UV-EPROM)
  • Las OTP-EPROM no se pueden borrar (se requieren rayos X para ello)

Estas memorias EPROM se pueden utilizar, en el lado de la consola, para albergar la BIOS (especialmente en ordenadores hasta los primeros 32 bits), ya que si surge algún bug con el código, se puede reprogramar sin necesidad de volver a comprar más memorias nuevas

En el lado de los cartuchos, se suelen utilizar, más que en cartucho comerciales, en cartuchos de prueba previos a la aparición de la memoria FLASH, como Flashcarts oficiales de Nintendo para la NES o para la GameBoy. Esto permite reprogramarlas para poder ejecutar, por ejemplo, una versión nueva del código en cuestión

Las EPROM también se llegaron a utilizar para cartuchos de venta al público, especialmente en estas que aparecieron antes que la MaskROM, lo que incluye a Atari 2600, F Channel, y ciertos juegos de Sega Master System y de NES que llevan OTP-EPROM en lugar de las MaskROM que utilizaron más adelante

EEPROM
Una EEPROM (Electrically Erasable Programable Read Only Memory) o memoria programable y borrable eléctricamente de sólo lectura, es un tipo de memoria utilizado para las consolas, especialmente para almacenar datos o configuraciones. El número de la JEDEC es 28C (paralelas no paginadas), 24C (seriales I2C) o 93C (seriales SPI)
Ventajas:
  • Reprogramable
  • Disponible en las tiendas de electrónica
  • Se puede borrar desde el mismo programador y sólo necesita una fuente de voltaje
  • Alta cantidad de ciclos de borrado/escritura (aproximadamente ~10.000.000 de veces, aunque varía de fabricante a fabricante)
Desventajas:
  • Alto coste
  • No disponible en altas densidades (mayores a 1 megabit)
  • Tiempo de almacenaje de datos escaso (menos de 10 años)

Estas memorias EEPROM se pueden utilizar, en el lado de la consola, como ya se ha mencionado, para guardar configuraciones y opciones.

En el lado de los cartuchos, es donde más se utiliza. Se llevan utilizando desde la prácticamente extinta Save-RAM, aproximadamente desde los 16 bits con la Sega Megadrive siendo de las primeras en hacer uso de este tipo de memorias para almacenar las partidas, ya que no tienen consumo cuando no se usan (a diferencia de las Save-RAM, que requieren una pila para mantener los datos), con lo que el coste de producción se reduce

En cambio, el hecho de que no estén disponibles en altas densidades y de que su precio sea bastante caro, ha hecho que no se utilizen para almacenar los programas y datos del juego

FLASH
Una memoria FLASH es el tipo de memoria regrabable que más uso tiene actualmente, debido a sus buenas características y a su reducido coste. Es el mismo tipo de memoria que se usa en los Pendrives, salvo que esta última es FLASH paginada.
Ventajas:
  • Reprogramable
  • Barata
  • Disponible en altas densidades (hasta 64 megabits he llegado a ver)
  • Disponibles tanto para con 5V (NES, SMS, MD, GB, etc...) y 3,3V (N64, GBA, etc...)
  • Disponible en las tiendas de electrónica
  • Se puede borrar desde el mismo programador y sólo necesita una fuente de voltaje
Desventajas:
  • Reducida cantidad de ciclos de escritura (~10.000)

Este tipo de memorias se utiliza ampliamente, para guardar la BIOS y el Firmware, en por ejemplo, la Dreamcast

Dentro de las memorias FLASH, existen dos subtipos:
FLASH no paginada
Son como el resto de memorias, tienen sus pines para direcciones (Address) y otros diferentes para los datos (Data), así como unos cuantos de control (Chip Enable /CE, Output Enable /OE y Write Enable /WE)

Para este tipo de memorias, se suelen utilizar FLASH NOR

FLASH no paginada
No tienen bus de direcciones (y normalmente, tampoco de control). Sólo tienen bus de datos, a través del cual se mandan comandos (por ejemplo, el dispositivo envía el byte 00 que significa "lectura", seguido de la dirección a leer, y después la memoria envia los datos por el mismo bus de vuelta al dispositivo)

Para estos menesteres, se utiliza normalmente memoria FLASH NAND

Las memorias FLASH no paginadas tienen su mayor uso en el lado de la BIOS y del Firmware, como por ejemplo en la Dreamcast. Tienen como ventaja que no necesitan un Loader, así como tampoco requieren ser copiadas previamente a la RAM para poder ser ejecutadas

Las memorias FLASH paginadas, se utilizan ampliamente en las consolas de última generación, para guardar la famosa NAND (que recibe su nombre del tipo de puertas lógicas que se utiliza para acceder a los datos), como la Wii, la PS3 y la XBOX360
Tienen como ventaja que su tamaño es más reducido que las FLASH no paginadas, porque internamente el tamaño de las celdas NAND es más pequeño, así como externamente, porque requieren menos pines para poder utilizarla

En el caso de los cartuchos, para GBA y para N64, se utiliza un modo paginado, pero en lugar de ser un FLASH, es una MaskROM. He explicado el concepto de memoria no paginada y de memoria paginada en lo de la FLASH, ya que es en el cual se utiliza el modo paginado más ampliamente, aunque como ya he dicho, no es algo exclusivo de este tipo de memoria

Para las consolas antiguas, las memorias FLASH no paginadas son el tipo adecuado para hacerse FlashCards, porque están disponibles en altas densidades a bajo precio, y además tienen una velocidad adecuada

FeRAM
Este es, personalmente, mi tipo de memoria favorito XD
En lugar de utilizar cargas eléctricas como el resto de memorias, o fusibles como las MaskROM, utilizan cargas magnéticas, como los discos duros y los diskettes, aunque más precisamente se puede comparar con su abuelo, la memoria de toros
Ventajas:
  • Altísima cantidad de ciclos de escritura: más de 10.000.000.000.000.000 de veces)
  • Reprogramable
  • Disponible en altas densidades
  • Disponibles tanto para con 5V (NES, SMS, MD, GB, etc...) y 3,3V (N64, GBA, etc...)
  • Se puede borrar desde el mismo programador y sólo necesita una fuente de voltaje
Desventajas:
  • Baja implementación actualmente
  • Difícil de encontrar
  • Relativamente cara
  • No disponibles en empaquetado no SMD

De este tipo tengo dos memorias, pero desgraciadamente son SMD, con lo que me volví loco para poder probar una de ellas (tuve que hacerle un adaptador con cablecillos XD )

En el lado de las consolas, así como en los cartuchos, no se utiliza apenas, aunque sí que se ha utilizado en ciertos juegos de la DS, especialmente en aquellos que graban la partida constantemente

Se denomina RAM, aunque no requiere voltaje para mantener los datos. Recibe el nombre debido a su gran cantidad de escrituras

*=Manteniendo la temperatura y la humedad correcta

[...]

¿Qué os parece de momento? He estado recibiendo bastantes correos desde hace un mes más o menos sobre EPROMs y demás memorias, y he opinado que sería una buena idea abrir aquí un hilo para que la gente que quiere reprogramar o reparar sus cartuchos, o quiera hacerse los suyos propios, pueda preguntar aquí y entre todos resolver sus dudas

Un saludo
Interesante información, Socram. Aunque es información que ya conocía, cada cierto tiempo me gusta re-leerla.

Lo que no sabía es que se usaron EPROM para juegos de la 2600 y de NES. ¿Es posible re-utilizar los juegos de NES que usen EPROM con juegos del mismo mapper? Recuerdo haber visto por algún sitio que alguien usó un cartucho de NES no licenciado que usaba EPROM´s y lo re-aprovechó. No sé si aquí se podría hacer el mismo proceso.
socram8888 está baneado por "incumplimiento términos y condiciones de uso"
68000 escribió:Interesante información, Socram. Aunque es información que ya conocía, cada cierto tiempo me gusta re-leerla.

Lo que no sabía es que se usaron EPROM para juegos de la 2600 y de NES. ¿Es posible re-utilizar los juegos de NES que usen EPROM con juegos del mismo mapper? Recuerdo haber visto por algún sitio que alguien usó un cartucho de NES no licenciado que usaba EPROM´s y lo re-aprovechó. No sé si aquí se podría hacer el mismo proceso.

Fui yo Imagen
Una foto de una prueba que hice antes de recibir las memorias que uso actualmente y que no llevan cables ni soldaduras raras XD
Imagen

Uploaded with ImageShack.us


Lo de las EPROM de la NES, no estoy seguro, ya que no lo he probado. Ni siquiera sé si realmente son EPROMs. Pero pienso que sí, por el hecho de que se estropean con el paso del tiempo (tengo varios juegos originales de NES que no van :( ) y que además, tiene el mismo Pinout que una EPROM estándar

Tan sólo es así en los cartuchos con placa NROM

Además, aunque fuese EPROM, tiene un inconveniente: que no tiene ventana para borrarlas (OTP-EPROM)
2 respuestas