Una oda a los DIP Switch

por

28 febrero, 2019

Vivimos en tiempos en los que la memoria (por lo menos la digital) es algo que damos por hecho. Compramos dispositivos que la llevan por gigas, incluso por teras. Miles de millones, billones de bits. Su coste es despreciable, y son algo menos incluso que una commodity. Pero no digo nada nuevo si afirmo que no siempre ha sido así.

En los comienzos de los arcades, la memoria era cara. Más aún si hablamos de los tipos de memoria re-escribible y persistente que se necesitan para guardar información que queremos conservar cuando el dispositivo está apagado, pero que queremos poder modificar cuando nos plazca. Por ejemplo, configuraciones del sistema.

Pero no sólo eso era caro. Tener que tirar código para proporcionar un interfaz que permitiera modificar esa información nos robaba valiosísimos bytes de memoria y tiempo de desarrollador; estamos hablando de una época en la que se tiraba código en ensamblador, y un menú de opciones con su escritura a memoria persistente era un coste a tener en cuenta.

Ensamblador Arcade

Además, lo cierto es que la configuración de la que hablamos es realmente muy compacta. No estamos hablando de un archivo de texto en el que nadie almacenase una serie de líneas con valores al estilo de MAME hoy en día:

#
# CONFIG
#
coins per play   1 coin/1 play
number of player 2
bonus            20k/60k
difficulty       easy
test mode        normal
screen           normal
continued play   yes

En este ejemplo, por la bobada, he consumido 131 bytes para resumir una configuración de sistema para el Arkanoid de Romstar. Esta cifra, ridícula para nuestros estándares, era una salvajada en aquellos tiempos. Máxime, cuando existía una forma para decir lo mismo ocupando sólo un byte. Y encima, sin hacer uso de memoria.

Los DIP switches (interruptores DIP) son un componente electrónico cuyo nombre viene de su formato de fabricación, pues DIP viene de “Dual Inline Package”, que se refiere al formato “cucaracha” con dos hileras de patillas de conexión. Y son más sencillos que el mecanismo del chupete, pues consisten en una hilera de sencillos interruptores con dos posibles posiciones: encendido y apagado.

Esta aparente simplicidad oculta su gran potencia: Un solo componente DIP de 8 interruptores permite nada menos que 256 posibles combinaciones, más que suficientes para almacenar las sencillas configuraciones de aquellas máquinas.

La forma habitual era asignar un interruptor o conjunto de ellos a una opción, dependiendo de que ésta fuese binaria (dos opciones, como “sí/no” o “fácil/difícil”) o requiriese más posibilidades: dos interruptores permiten codificar cuatro opciones, tres ocho, etc. El ejemplo anterior, correspondiente a Arkanoid, se convertiría en esto:

|  setting\position |  1  |  2  |  3  |  4  |  5  |  6  |  7  |  8  |
|-------------------------------------------------------------------|
| *1 coin  1 play   | off | off |     |     |     |     |     |     |
|  1 coin  2 plays  | on  | off |     |     |     |     |     |     |
|  2 coins 1 play   | off | on  |     |     |     |     |     |     |
|  1 coin  6 plays  | on  | on  |     |     |     |     |     |     |
|-------------------------------------------------------------------|
|*number of player 3|     |     | off |     |     |     |     |     |
| number of player 5|     |     | on  |     |     |     |     |     |
|-------------------------------------------------------------------|
|*bonus 20K/60K     |     |     |     | off |     |     |     |     |
| bonus 20k only    |     |     |     | on  |     |     |     |     |
|-------------------------------------------------------------------|
|*difficulty   Easy |     |     |     |     | off |     |     |     |
| difficulty   Hard |     |     |     |     | on  |     |     |     |
|-------------------------------------------------------------------|
|*test mode: normal |     |     |     |     |     | off |     |     |
| test mode: test   |     |     |     |     |     | on  |     |     |
|-------------------------------------------------------------------|
|*screen:    normal |     |     |     |     |     |     | off |     |
| screen:  inverted |     |     |     |     |     |     | on  |     |
|-------------------------------------------------------------------|
| continued play: NO|     |     |     |     |     |     |     | off |
|*continued play:yes|     |     |     |     |     |     |     | on  |
|-------------------------------------------------------------------|

Los DIP como los conocemos hoy —hay unos anteriores con forma de dial— fueron además inventados para la industria, pues aparecen por primera vez en un pinball de Atari, pero se han utilizado en gran cantidad de dispositivos electrónicos, por lo menos hasta la década de los 90, en la que su presencia empieza a desvanecerse ante el abaratamiento de la memoria y la popularización de los menús de configuración por software, mucho más comprensibles y manejables. Hoy en día, ni siquiera son «DIP», pues el formato de doble patilla ha sido sustituido en la mayoría de las ocasiones por otro conocido como de «montaje superficial», pero el nombre original permanece.

Configuracion DIP Switch MAME

Por mi parte, yo he de reconocer que les tengo un particular cariño, y he querido dedicarles este pequeño homenaje porque representan como pocos componentes una época en la que se lograba tanto con tan poco.

DIP Switch Atari Pinball

, , , , , ,

Suscríbete a GameReport

¿Quieres apoyar el proyecto? ¡Conviértete en suscriptor y accede a ventajas exclusivas!

Suscríbete

Quizás te interese...