¡¡Advertencia!!

No me responsabilizo de cualquier problema que pueda surgir al utilizar la información contenida en este documento. Esta información está; disponible en diversas webs, y aunque a mí me ha funcionado no puedo garantizar que le de resultado a todo el mundo.

Introducción

Veremos que nueva perrería podemos hacerle hoy al commodore 64 para añadirle un botón de reset. Es cierto que la mayoría de los 8 bits no solían incluir este botón, puesto que bastaba con apagar y encender el ordenador para tener el intérprete BASIC o algún otro interfaz listo en un par de segundos. Podría pues parecer que el botón de reset es un aditamento cuanto menos inútil; nada más lejos de la realidad. Así de repente se me ocurren varias razones por las que puede ser bueno disponer de dicho botón: la primera es que usándolo evitamos utilizar el botón de encender/apagar, evitando el desgaste mecánico del mismo y el stress que sufre la circuitería del commodore al cortar y reestablecer la alimentación rápidamente. (¿Quién no ha estado una tarde entera dándole clik-clak clik-clak al dichoso botoncito tratando de cargar ese juego en cinta tan bueno que se resiste a cargar?). Otro motivo, por ejemplo, es que al emplear el botón de reset, la memoria RAM sigue siendo alimentada, con lo cual solo se borran las zonas de memoria que sean especificamente borradas por el propio commodore durante el inicio, guardando gran parte de los datos del programa/juego que tuviesemos cargado en memoria.

Bien, hay diversas maneras de implementar el botón de reset, por ejemplo con el puerto serie, con el puerto de usuario, con el de expansión e incluso directamente sobre el procesador. Yo voy a emplear en particular el puerto de usuario, ya que el puerto de serie suele estar ocupado por la 1541, el puerto de expansión es dificil de manipular y suele contener algún cartucho, y el procesador varía de posición en incluso de modelo según el modelo y revisión de la placa del c64.

Paso 1: Localizar el puerto de usuario

Paso 2: Colocar un interruptor entre los pines 1 y 3 del puerto de usuario.

Esto puede hacerse de varias maneras, según se desee que el botón sea permanente o no; pueden, por ejemplo, soldarse dos cables a los pines indicados y colocar un pulsador sobre la carcasa del commodore, o fabricar un "cartucho" con el botón de reset de modo que éste sea extraible. Si simplemente se desea hacer una prueba, se puede incluso conectar "a pulso" ambos pines con un cable mismamente. En cualquier caso, los pines que hay que conectar entre sí por medio de un pulsador son los siguientes:

Con esto lo que estamos haciendo es conectar la TIERRA (pin 1) con la línea de RESET (pin 3), que es active low, es decir, que funciona cuando está a 0v (tierra). Como último detalle, es muy importante observar que los pines a unir son los de la parte superior(los de la parte inferior tienen otro significado).

Ultimas pruebas

Podemos comprobar como ciertas partes de la memoria del commodore siguen intactas tras resetear con el botón: probemos a encender el commodore y teclear: "Poke 5000,64". Apaguemos el ordenador, y tras unos segundos volvamos a encenderlo. Si entonces ponemos "print peek (5000)" saldrá, casi con toda seguridad, otro valor diferente (probablemente 255). Es facil comprobar que si repetimos la operación pulsando el nuevo botón esa posición devuelve el valor 64. Esto se debe a que el c64 no borra toda la memoria al iniciarse, sino solo ciertas zonas determinadas. El potencial de acceder a datos de programas cargados anteriormente en memoria es pues, enorme.

Bien, esto es todo por hoy. Los propietarios de un c128 ya no podrán fardar más de su lujósísimo boton de reset ;D. Como siempre, para cualquier cosa, podeis escribirme a satsat@igijon.com