Cartucho para ZX Interface 2 de Paul Farrow    

Introducción

Hace muy poco encontré la web de Paul Farrow1 mientras comprobaba unos enlaces de juegos que nunca llegaron a ver la luz: Montezuma's Revenge, Star Wars ... Mi sorpresa fue mayúscula cuando me encontré con que este hombre ofrece sus propios cartuchos para la Interface 22,3 del Speccy a un precio muy asequible, así como un rápido ensamblaje y envío. Digo que fue una gran sorpresa porque no es habitual encontrarse a un electrónico manitas capaz de hacer montajes para aquellos manazas como yo que no sabemos coger el soldador sin que nos tiemble la mano. Aunque es cierto que probablemente no es complicado crear un cartucho para la Interface 2, no está al alcance de cualquiera.
    El caso es un poco más peliagudo cuando se llega a la conclusión de que, en realidad, es bastante sencillo hacerse con una Interface 2, mientras es dificilísimo encontrarse con alguno de los cartuchos originales que salieron para la máquina.

Interface 2

La Interface 22,3 (segunda interfaz, literalmente) fue una interfaz para cartuchos desarrollado por Sinclair para potenciar el mercado de juegos para el Spectrum. Si bien Sinclair querría que la gente hubiera dedicado su ordenador a color para temas "serios", era bastante evidente a aquellas alturas que la mayor parte del público lo empleaba para jugar.
Cartucho de Paul Farrow y ZX Interface 2
Cartucho de Paul Farrow y ZX Interface 2
    Lo novedoso suponía que los juegos ya no venían en cintas, que era tedioso cargar, sino en pequeños circuitos integrados metidos en una pequeña caja plástica llamados cartuchos, parecido a los cartuchos para MSX (aunque más pequeños). En realidad, la ZX Interface 2 hace poco más que llevar las conexiones del puerto de expansión del ZX Spectrum a un conector adecuado para estas tarjetas, para integrar también un controlador de Joystick de la norma Sinclair.
    Los juegos que salieron en este formato, acompañando la salida de la interfaz (aunque algunos se retrasaron un poco más), fueron lo siguientes:
  1. Planetoids
  2. Space Raiders
  3. Backgammon
  4. Pssst
  5. Cookie
  6. Jetpac
  7. Tranz am
  8. Hungry Horace
  9. Horace and the Spiders
  10. Chess
    Tambien existe un cartucho de testeo7 para la Interfaz 2 (nunca publicado para la venta), que se usaba para comprobar que las funciones del Speccy eran correctas.
El Spectrum, una potente máquina para juegos.
El Spectrum, una potente máquina para juegos (el grabador/reproductor de cassette está relegado a una esquina).

Detalle del cartucho conectado a la IF2 (y ésta a la máquina).
Detalle del cartucho conectado a la IF2 (y ésta a la máquina, un Spectrum + 128K español).

Otro detalle del cartucho conectado a la IF2 (y ésta a la máquina).
Otro detalle del cartucho conectado a la IF2 (y ésta a la máquina).

El cartucho

El cartucho viene presentado en una caja de plástico perfectamente ensamblada, si bien es posible adquirlo sin ella. El que se ve en la imagen es el creado para mi por Paul, ya que no existe un único cartucho que se pueda comprar: se crean en unidades de 16K (que admiten uno de los juegos originales), hasta 256K (el de la imagen), pudiendo elegir los programas a meter en el mismo. En mi caso, el cartucho arranca con un menú en pantalla que permite elegir la ROM a arrancar, mostrando las siguientes opciones:
Programa Tipo RAM necesaria
Planetoids Arcade tipo Asteroids (juego a la venta en cartucho, 16K) 16K
Space Raiders Arcade tipo Galaga (juego a la venta en cartucho, 16K) 16K
Backgammon Juego de tablero (juego a la venta en cartucho, 16K) 16K
Pssst Arcade (juego a la venta en cartucho, 16K) 16K
Cookie Arcade (juego a la venta en cartucho, 16K) 16K
Jetpac Arcade (juego a la venta en cartucho, 16K) 16K
Tranz am Arcade (juego a la venta en cartucho, 16K) 16K
Hungry Horace Arcade (juego a la venta en cartucho, 16K) 16K
Horace and the Spiders Arcade (juego a la venta en cartucho, 16K) 16K
Chess Juego de tablero (juego a la venta en cartucho, 16K) 16K
Montezuma's revenge Arcade de plataformas (juego nunca publicado, 16K) 48K
Star Wars Arcade (juego nunca publicado, 16K) 48K
Emulador de ZX80 Emulador, 16K 128K
Emulador de ZX81 Emulador, 16K 128K
Emulador de Jupiter ACE Emulador, 16K 48K

Menú de arranque
Menú de arranque
    Los primeros 10 son los diez cartuchos originales que se publicaron para la Interface 22,3, mientras que los dos siguientes son juegos totalmente funcionales que nunca fueron publicados. Finalmente, (sí, es cierto), aparecen los emuladores para el ZX80, ZX81 y Jupiter Ace. Estos emuladores trabajan sobre el propio Spectrum, emulando máquinas de menores prestaciones. En cuanto a temas legales, por favor, refiérase al comentario, también debe tener en cuenta que pude convencer al autor de incluir juegos con restricciones de copyright esaneando y mandándole las cubiertas de los mismos.

Juegos

Tal y como era de esperar, los juegos cargan al instante. La comodidad en este sentido es absoluta. Se inserta el cartucho, se conecta la máquina, y a jugar, sin tediosos problemas o esperas de ningún tipo. Si se desea reiniciar el juego, basta usar el reset del spectrum (si es que el modelo usado tiene uno). Si se desea rearrancar para ver el menú de opciones, entonces es necesario desenchufar el spectrum y volver a conectarlo.
Chess en acción.
Chess en acción.

Emuladores (ZX80, ZX81, Jupiter Ace)

Sorprende agradablemente la rapidez de respuesta del Jupiter Ace, si bien hay que resaltar la escasa ayuda que se ofrece a la hora de introducir y ejecutar comandos : es difícil hacer nada sin un buen manual al lado. Es obvio que en buena parte esto viene dado por la menor difusión de FORTH con respecto a BASIC, pero aún así un editor un poco más trabajado (quizás al estilo de los modelos 128K), hubiera dado una mejor ayuda al usuario.
    En cuanto a los emuladores de ZX80 y ZX81, el spectrum se convierte al seleccionarlos en dichas máquinas (aunque, al igual que con el Jupiter Ace, se puede seleccionar al comienzo de la emulación la cantidad de RAM (hasta 32k) que se desea tener "instalada" como RAMPack.
      De hecho, el típico parpadeo de pantalla del ZX80 y ZX81 es perfectamente apreciable (además de no tener minúsculas, y el uso de los modos FAST y SLOW).

Cartucho de Paul Farrow
Cartucho creado por Paul Farrow

ZX80 y ZX81

La historia del ZX804 y ZX815 es probablemente de sobra conocida. Fueron precursores del Spectrum, y originalmente se vendían como Kits a montar. Con una escasa memoria, una baja calidad de componentes (especialmente carcasa (minúscula en el caso del ZX80) y teclado), fueron suficientemente baratos como para ser vendidos al gran público, y que éste pudiera permitirse, por primera vez, tener un computador en casa. Utilizan BASIC como lenguaje de programación, que a la vez se postula como sistema operativo de la máquina.
    El arranque del emulador permite elegir la cantidad de memoria a emular.
Arranque del emulador para ZX81
Arranque del emulador para ZX81

Una vez seleccionada la memoria, ya se puede trabajar con el emulador.

Trabajando con el ZX81

Trabajando con el ZX81

El ZX81 no tenía minúsculas, ni colores. El editor era el del Spectrum 16K/48K posterior. Su mayor utilidad era, por tanto, la realización de cálculos.

Ejecución del programa

Ejecución del programa

Jupiter Ace

El Jupiter Ace6 fue un ordenador creado por la empresa Jupiter Cantab Computers en 1982. Sus fundadores, Richard Altwasser y Steven Vickers,  eran ex-empleados de Sinclair Ltd. De hecho lo más distintivo del Jupiter Ace es que usa el lenguaje FORTH en lugar del BASIC, cuando el resto de la arquitectura del computador es casi exacta al ZX81.
Emulador del Jupiter Ace en acción.
Emulador del Jupiter Ace en acción.

El manejo del Jupiter Ace ( o de su variante del FORTH) es curioso. Así, para conseguir crear programas en FORTH es necesario crear palabras, que son equivalentes a procedimientos o funciones en otros lenguajes. Existen palabras predefinidas, que permiten manejar de manera básica la computadora. Componiendo estas palabras predefnidas, que han sido implementadas de manera que sean muy rápidas (son compiladas), se pueden componer procedimientos más complejos que también son compilados (el FORTH no es exactamente interpretado, o mejor dicho, la interpretación sólo se hace de las palabras que se introducen por el teclado, puesto que cada palabra es compilada, obteniendo un rendimiento excelente).

    El resultado de la foto se obtuvo usando la palabra ." (punto comillas). Las palabras deben ir precedidas y seguidas por espacios, y algunas como la que se acaba de comentar debe ir siempre dentro de la definición de otra palabra. Las palabras se definen usando ':'. Así:

: url ." www.zonadepruebas.com" ;

    Hace que al escribir la nueva palabra URL se imprima "www.zonadepruebas.com" en pantalla. Nótese los espacios que se encuentran a) después de ':', b) después de URL, c) después de .", y d) después de las comillas de cierre. Sin estos espacios, el procedimiento URL no compila.

    FORTH es realmente curioso. Su enfoque simplista en cuanto a sintaxis hace que se pueda compilar, obteniendo un programa muy rápido. Al ser lenguaje compilador, el espacio necesario para almacenar un programa se reduce considerablemente, por lo que 3K no eran tan escasos (dentro de lo que cabe) como pudiera parecer para un ordenador de la época con este diseño. Era probablemente perfectamente comparable al ZX81 con 16K de RAM.

    De nuevo, la única lástima es que el entorno de programación del Jupiter Ace no sea más amigable, aunque probablemente esto se habría resuelto "solo" si Jupiter Cantab hubiera sobrevivido lo suficiente como para sacar una versión del Jupiter Ace con más memoria RAM (el Jupiter Ace sólo se podría expandir hasta 19K), colores y sonido. Aunque sí hubo revisiones del Jupiter Ace (Jupiter Ace 4000), no añadieron nada significativo a la máquina, exceptuando la calidad del teclado y de la carcasa. Una extensión de 16 Pack (que se podía adquirir por separado) se iba a vender con un Jupiter Ace bajo el nombre de Juipter Ace 16+, aunque nunca llegó a ver la luz. La compañía cerró por quiebra.

Conclusiones

El acabado es totalmente profesional. La caja que envuelve al cartucho es sólida, y éste se inserta y se retira sin ningún problema de la Interface 2. De hecho, por lo poco que he podido ver de los cartuchos originales (falsos arranques, mal contacto...) es muchísimo más fiable que éstos. El precio depende en gran medida del cartucho elegido, puesto que el tamaño de los chips (dependiendo de la cantidad de programas que se desee introducir en ellos) es con diferencia lo más caro del conjunto. Para el comentado, el precio ronda los EUR 40, más envío.
    La caja del cartucho se decora con dos pegatinas por ambos lados: la primera, indica los programas incluídos en el mismo, mientras el reverso contiene los mensajes de copyright respectivos para cada programa.
    En cuanto a los cartuchos y la Interface 2 en general, es una pena que no se extendiera aún más su uso. No sólo se podría emplear para juegos, como fue el caso de lo poco que se hizo, sino para aplicaciones de gestión, lenguajes de programación, controladores de unidades de diskette... Lamentablemente, su elevado precio, y el sobreprecio de los cartuchos hicieron que no sólo no llegase a ser ampliamente utilizado (hoy en día es muy difícil encontrar alguno de los cartuchos originales), sino que la idea al completo de software en cartuchos para el Spectrum fuera relegada al olvido más absoluto.

Enlaces

  1. http://www.fruitcake.plus.com/
  2. http://www.fruitcake.plus.com/Sinclair/Interface2/Interface2_Introduction.htm
  3. http://es.wikipedia.org/wiki/ZX_Interface_2, http://www.zonadepruebas.com/modules/smartsection/item.php?itemid=530
  4. http://es.wikipedia.org/wiki/Sinclair_ZX80, http://www.zonadepruebas.com/modules/smartsection/item.php?itemid=759
  5. http://es.wikipedia.org/wiki/Sinclair_ZX81, http://www.zonadepruebas.com/modules/smartsection/item.php?itemid=31
  6. http://es.wikipedia.org/wiki/Jupiter_Ace, http://www.zonadepruebas.com/modules/smartsection/item.php?itemid=1026
  7. http://www.zonadepruebas.com/modules/smartsection/item.php?itemid=912

Comentario