1. Qué hilos tiene el cable de enlace y cuáles se usan para comunicarse
El enlace del Game Boy original tiene seis contactos. La lista de Pan Docs, un manual técnico escrito por aficionados, los nombra así: alimentación de 5 V, salida de datos (SOUT), entrada de datos (SIN), un contacto sin uso, el reloj o pulso (SCK) y tierra [2]. Para hablar, el cable usa tres: SOUT, SIN y SCK. La alimentación y la tierra son la referencia eléctrica, y el sexto contacto no se usa.
El detalle ingenioso está dentro del cable: en uno de los extremos, SOUT y SIN van cruzados [2]. Sin ese cruce, la salida de una consola quedaría conectada con la salida de la otra y nadie escucharía a nadie. Con el cruce, lo que una consola envía llega a la entrada de la otra, y con un solo cable se habla en las dos direcciones.
Una aclaración sobre las fuentes: esta información viene de documentación técnica de la comunidad, no de un plano publicado por Nintendo. Nintendo sí confirma en su página oficial que el cable para el Game Boy original tiene el código DMG-04A [4]. Queda entonces la pregunta que sigue: si hay un solo hilo de ritmo, ¿cuál de las dos consolas lo toca?
2. Cuál de las dos consolas marca el ritmo y cuál espera
La comunicación se hace de un byte en un byte (un byte son ocho bits, ocho ceros o unos). Una de las consolas genera internamente la señal de reloj y por eso decide cuándo ocurre el intercambio. Pan Docs la llama «maestra»; la otra es la «esclava», que recibe ese reloj [1]. En el texto en español prefiero decir la que marca el ritmo y la que espera.
Cuál papel toma cada consola no depende del cable, sino de un bit del registro SC, una pequeña memoria de control: 1 significa reloj interno (marca el ritmo) y 0 reloj externo (espera) [1]. Como el ritmo lo pone una sola consola, no hace falta que las dos tengan relojes que coincidan. Esa es una de las razones, a nuestro entender, de que baste un solo hilo para el tiempo.
La que espera depende por completo de la otra. Por eso Pan Docs aconseja que los programas usen un contador de tiempo límite y abandonen la comunicación si no llega respuesta [1]; sin ese cuidado, la consola podría quedarse esperando sin fin. Con los papeles repartidos, falta ver qué ocurre en cada pulso.
3. Cómo se intercambia un byte en ocho pulsos
En cada pulso, cada consola empuja hacia el cable el bit de más a la izquierda de su byte y, a la vez, mete por el otro lado el bit que llega de la otra consola. Pan Docs lo muestra con una tabla: después de un pulso hay un bit nuevo del otro lado, y después de ocho pulsos el byte propio ha salido entero y el byte de la otra consola ha entrado entero [1]. Por eso la unidad es el byte: son ocho pulsos.
Lo importante es que enviar y recibir no son dos etapas. Un tutorial de programación del Game Boy lo describe así: cada bit que se escribe tiene un bit que se lee a cambio, de modo que una transferencia equivale a intercambiar el byte de una consola por el de la otra [3]. Cada vez que mandas un byte, recibes otro.
La ventaja es la sencillez: no hay que turnarse. El límite es que, aunque una consola no tenga nada que contar, igual participa en el intercambio. Sabiendo esto, es natural preguntar qué recibe la consola cuando no hay nadie al otro lado.
4. Qué recibe una consola cuando el cable está suelto
Pan Docs dice que, con un cable desconectado, el bit de entrada de la consola que marca el ritmo empieza a leer 1 [1]. Si llegan ocho unos seguidos, el byte recibido es «todo unos», que en hexadecimal se escribe $FF.
Ese $FF no es una respuesta: nadie contestó. Es solo lo que se lee cuando la línea está vacía. Una idea razonable, y es una deducción nuestra que las fuentes no dicen, es que un programa podría sospechar que el cable está suelto si solo recibe $FF una y otra vez. El mismo manual añade que en la consola que espera la situación es distinta: sin reloj no llega ningún pulso, y de ahí la recomendación del límite de tiempo. Así, la misma desconexión se nota de forma distinta según el papel de cada consola.
5. Qué tan rápido puede ir la comunicación
En el Game Boy original, la consola solo puede producir un reloj interno de 8192 Hz, es decir, 8192 pulsos por segundo [1]. Como cada byte necesita ocho pulsos, la cuenta es 8192 ÷ 8 = 1024 bytes por segundo, más o menos un kilobyte por segundo. Es un máximo teórico que sale de la cuenta, no una medida: si el programa tarda en preparar el siguiente byte, la comunicación es más lenta. Pan Docs advierte de ese retraso: si el byte siguiente no está listo, sale otra vez el anterior [1].
Un kilobyte por segundo no basta para mandar una foto, pero sí para mensajes cortos como «puse una pieza» o «completé una línea», que es lo que necesita un juego a dos. Un pulso dura aproximadamente 0,000122 segundos (1 ÷ 8192), y los ocho de un byte, alrededor de un milisegundo.
6. Cómo un cable pensado para jugar se volvió el cable para intercambiar Pokémon
El cable ya servía para jugar contra otra persona. Lo nuevo fue usarlo para intercambiar. Según un artículo de un medio japonés, el proyecto Pokémon nació en 1990, cuando Satoshi Tajiri, entonces presidente de la empresa Game Freak, propuso a Nintendo un juego que usara la comunicación del Game Boy para cambiar los monstruos de una consola por los de otro jugador [5]. Se sabe además que Tajiri, de niño, coleccionaba insectos con sus amigos y los intercambiaban; él mismo ha dicho que el cable le recordó esa afición [6], aunque esa conexión es su relato personal.
En Japón, Pocket Monsters Rojo y Verde salió el 27 de febrero de 1996. Que hubiera dos versiones tiene una razón ligada al intercambio: para que cambiar fuera interesante, el cartucho del otro jugador debía ser distinto del tuyo [5]. (Fuera de Japón, esos juegos llegaron después como Pokémon Rojo y Azul.)
El mismo artículo afirma que, al mes siguiente del lanzamiento, el cable de enlace se vendió muy rápido, y lo atribuye a que los niños reaccionaron a la idea del intercambio. Es la interpretación del autor y no aporta cifras de ventas [5]. Lo que se ve es que el mecanismo de los ocho pulsos no cambió nada: cambió lo que se hacía con él.
7. Cómo sentir en casa el intercambio de ocho pulsos con papelitos
Con una amiga o un amigo, siéntense frente a frente. Corten ocho papelitos y dibujen en cada uno un círculo o una cruz, en el orden que quieran. Quien dice «¡ya!» es la que marca el ritmo; la otra espera. A cada «¡ya!», ambos ponen sobre la mesa su primer papelito a la vez y toman el que puso la otra persona. Háganlo ocho veces.
Al terminar, cada quien tiene los ocho papelitos que recibió de la otra persona: acaban de intercambiar un «byte» de ceros y unos. Cambien de papel y repítanlo. Si quieren probar la cuenta, midan cuánto tardan en hacer los ocho intercambios y piensen que la consola puede hacer, como máximo, unos mil intercambios de un byte en un segundo.