Cultura Gamer

Instale una ROM de reemplazo en C64 o VIC20

Después de experimentar un poco con las ROM para el C64, estoy escribiendo una breve guía sobre cómo reemplazar las antiguas ROM 2364 que se encuentran en muchas computadoras de 8 bits por otras nuevas.

El principal problema de estas ROM es que ya casi no están disponibles como repuestos. Cuando fallan -ya no surge la pregunta de «si»- es muy difícil, si no imposible, reemplazar los originales. Ya hay muchas instrucciones sobre cómo adaptar (E) EPROM para usar en el programa C64. Se puede encontrar un ejemplo (muy bueno) en Tynemouth Software.

Paso 1 – Buena conexión con el hardware

El primer problema que surge: Hay una diferencia significativa entre el número de pines y la asignación del 2364 y ​​el 27C128. El intercambio simplemente no funciona de manera simple.

La personalización del hardware es, por lo tanto, uno de los pasos necesarios, pero afortunadamente existen muchas soluciones diferentes.

Uno que hice para mí está disponible en mi repositorio de Github. Esta pequeña placa es la base para instalar EPROM de la serie 27C (27C64, 27C128, etc.) en el zócalo existente en el C64, por ejemplo, como BASIC o KERNAL ROM. Si lo desea, también puede utilizar EEPROM, es decir, ROM borrables eléctricamente. Estos vienen de la serie 28C, pero se pueden usar de la misma manera por lo demás.

Esquema de KiCad para el «adaptador 2364 a 27512» derivado del diseño de Tynemouth Software. (Imagen: Thilo Niewohner)

Diseño de placa de circuito: "adaptador 2364 a 27512".  (Imagen: Thilo Niewohner)El programa fue diseñado en KiCad: «adaptador 2364 a 27512». (Imagen: Thilo Niewohner)

Importante aquí: Las líneas de dirección A13-A15 están permanentemente conectadas a + 5V. Esto se debe al hecho de que algunas EPROM tienen líneas de control en estos pines activos BAJOS. Las líneas de dirección adicionales solo se pueden obtener a partir de un tamaño de 128 kbit.

Ajustar estos pines a + 5V evita fallos de funcionamiento. Sin embargo, solo puede ser abordado por un bloque de 64 kilobits (8 kbytes). Si se van a seleccionar varias ROM mediante interruptores o lógica externa, se requerirá más esfuerzo de cableado. Sin embargo, esta entrada es solo sobre el reemplazo 1: 1 de las EPROM existentes.

Ahora que la EPROM se puede conectar con éxito al enchufe anterior, el siguiente paso es llenar la EPROM con los datos correctos, es decir, «quemar» la EPROM.

Aquí hay algunas trampas: si se usa una EPROM de más de 64 kbit (similar a la 2364 original), las ROM de 64 kbit del C64 deben colocarse correctamente en el espacio de direcciones de la EPROM más grande. Como se puede ver en el esquema, las líneas de dirección A13-A15 ARD son fijas. Por un lado, esto funciona para garantizar la compatibilidad con ROM más pequeñas, que no tienen líneas de dirección pero sí líneas de control activas en BAJO. Si estas líneas estuvieran en BAJO, la EPROM no funcionaría como se esperaba.

Por otro lado, define el área de direcciones del bloque de memoria más bajo (dirección de 16 bits: 000x xxxx xxxx xxxxb).

Para garantizar que la computadora siempre reciba una imagen de ROM válida y que pueda integrarse en su memoria, incluso si no está seguro de las líneas de dirección, el enfoque más simple es almacenar la ROM en copias múltiples en la EPROM. Para los módulos ROM que van a tener ROM extraíbles, estos deben crearse de una manera diferente.

Paso 2 – Las puntas correctas en el lugar correcto

Para llenar la EPROM con datos, necesitamos un dispositivo programable de EPROM o una grabadora de EPROM.

El estándar entre los aficionados a la electrónica ahora es el TL866, fabricado por AutoElectric en China. Este dispositivo está muy extendido entre la comunidad de fabricantes y actualmente es la solución más barata para programar EPROM y EEPROM por ti mismo.

Lo primero que debe hacer en el software es seleccionar la EPROM correcta. En mi ejemplo, AM27C128, es decir EPROM con 128 kbit o 16 kbyte.

Selección de AMD AM27C128 EPROM.  (Imagen: Thilo Niewohner)Selección de AMD AM27C128 EPROM. (Imagen: Thilo Niewohner)

La ventana muestra entonces que el búfer se llena primero con «FF». Esto muestra la memoria vacía, es decir, el estado original de la EPROM, pero no proporciona información sobre el estado real de la EPROM. Por supuesto, esto también debe estar vacío, lo que se puede verificar usando la función «Comprobar blanco» del TL866.

Ahora vamos a cargar el archivo .bin para la ROM que queremos grabar. Esta es la ROM Kernal original.

Después de seleccionar el archivo de basura y hacer clic en «Abrir», aparece la siguiente pantalla:

Descargar ROM MiniPro.  (Imagen: Thilo Niewohner)Descargar ROM MiniPro. (Imagen: Thilo Niewohner)

Deje todos los parámetros sin cambios y haga clic en «Aceptar». Esto carga el archivo .bin en el búfer a partir de las 00000 h, se inicia y llena el resto del búfer con FFh. (Corresponde a ubicaciones de memoria vacías)

Dado que el tamaño normal de la ROM C64 es de 8 kByte, puede verificar y ver que el búfer solo muestra «FF» después de las 02000h.

MiniPro ROM cargada desde el lanzamiento de $ 2000.  (Imagen: Thilo Niewohner)MiniPro ROM cargada desde el lanzamiento de $ 2000. (Imagen: Thilo Niewohner)

Esto es muy bueno, ya que queremos volver a instalar la misma ROM desde esta dirección. Hacemos esto para asegurarnos de que siempre recibamos una imagen ROM válida con la dirección predeterminada (ver «A13-A15 en 5V»). Posteriormente se pueden crear diferentes ROM, que se pueden cambiar desde el exterior.

Sin embargo, si los detalles están aquí, verifique si ha recibido el archivo incorrecto. Los archivos .bin correctos tienen exactamente 8 kByte.

Para hacer esto, repetimos el proceso descrito anteriormente, pero cambiamos los parámetros en el segundo cuadro de diálogo.

Deje el parámetro «Desde la dirección inicial del archivo» en 0000h. Esto significa que el archivo .bin se carga desde el principio y no se omite nada, como antes.

Pero debemos configurar el otro parámetro «Para iniciar el búfer de lanzamiento» en 2000 h y «Borrar búfer al cargar el archivo» en «Deshabilitado».

Esto permite que la segunda copia se lea en el búfer después de la primera copia sin superposición, sin vaciar el resto del búfer (borrando así nuestra primera copia).

Descarga una copia de MiniPro ROM de 2000h.  (Imagen: Thilo Niewohner)Descarga una copia de MiniPro ROM de 2000h. (Imagen: Thilo Niewohner)

Si miramos en el búfer, vemos que los datos ahora también están disponibles desde 2000h en lugar de «FF». También verás que aquí se repiten los datos de arriba.

También debe verificar que el búfer esté escrito hasta el final.

Búfer de carga de ROM MiniPro cargado a 3FF0h.  (Imagen: Thilo Niewohner)Búfer de carga de ROM MiniPro cargado a 3FF0h. (Imagen: Thilo Niewohner)

Mire las líneas 001FF0h y 003FF0h (y otros pares así también). Estas líneas son los bytes finales del archivo ROM y deben ser idénticas.

Si es así, quememos la EPROM ahora.

Nota: Los parámetros de programación no siempre son correctos.

El voltaje de programación es típicamente de 12,5 V y el voltaje de lectura es de 5 V. Consulte la hoja de datos para (E) EPROM y corrija los valores. De lo contrario pueden ocurrir errores.

ROM Voltas MiniPro.  (Imagen: Thilo Niewohner)ROM Voltas MiniPro. (Imagen: Thilo Niewohner)

Descarga el programa MiniPro ROM.  (Imagen: Thilo Niewohner)Descarga el programa MiniPro ROM. (Imagen: Thilo Niewohner)

En la configuración estándar, el programador MiniPro hará una verificación final del contenido de la EPROM y le dará retroalimentación.

Paso 3: prueba de objetos en vivo

Si todo salió bien, puedes probar la EPROM en el C64 ahora.

¡Presta atención al sitio de instalación!

Tenga en cuenta la pequeña muesca junto al pin 1 para que no lo instale al revés.

Si algo no funciona, comience. Las EPROM (las que tienen la ventana pequeña) probablemente deban eliminarse. Pero necesitas un borrador UV para esto. Por otro lado, el TL866 elimina automáticamente las EEPROM.

Buena suerte con su reparación y mantenga el C64, VIC20 y como se llamen funcionando.

¡Fue una gran pena!

Además, asegúrese de consultar los hilos de Twitter de la Comunidad Retro y las publicaciones de blog vinculadas.

Las publicaciones siempre valen la pena leerlas y son interesantes.

Ah, sí: si obtiene otro error, hágamelo saber.

Adiciones / Notas

EPROM/EEPROM/OTP ROM

En aras de la claridad, siempre escribo aquí desde EPROM. Sin embargo, también he hecho algunas de estas conversiones con EEPROM.

“EPROM”, por lo tanto, incluye las EPROM borrables por UV y las EEPROM borrables eléctricamente. En principio, las OTP-ROM («Programaciones únicas») también se pueden usar aquí, aunque en muchos casos esto no es económico porque solo se pueden escribir una vez. Sin embargo, reemplazar cosas como PLA puede requerir ROM OTP más rápidas con <45ns.

TL866

Las versiones TL866A y TL866CS difieren en una interfaz adicional de 6 pines y un software modificado, lo que facilita la programación de microcontroladores. El TL866A ya tiene esta interfaz instalada y el CS se puede convertir más tarde, pero se requiere algo de trabajo.

Si aún no tienes un dispositivo programable, deberías pedir la versión A, ya que las diferencias de precio suelen ser marginales, pero al menos las opciones adicionales son interesantes.

Todavía no puedo decir nada sobre el TL866 II actual. Si sabes más al respecto, ¡avísame! 🙂

¡Sin dispositivos!

Sí, eso es correcto. No tenía el TL866 a mano cuando tomé las capturas de pantalla. 🙂

Para este fin no es crucial. Pero si desea grabar ROM usted mismo, asegúrese de que su grabadora esté correctamente identificada.

Editor

Equipo Editor y redactor en Videojuegoonline.com. Amantes de los videojuegos y las ultimas tendencias del Mundo Gaming.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Información básica sobre protección de datos
Responsable Noelia Palomino +info...
Finalidad Gestionar y moderar tus comentarios. +info...
Legitimación Consentimiento del interesado. +info...
Destinatarios Automattic Inc., EEUU para filtrar el spam. +info...
Derechos Acceder, rectificar y suprimir los datos, así como otros derechos. +info...
Información adicional Puedes consultar la información adicional y detallada sobre protección de datos en nuestra página de política de privacidad.

Botón volver arriba