A pesar de que mi primer ordenador fue un Sinclair ZX81 tal y como indiqué en la entrada Microordenadores Sinclair (I), el ordenador con el que realmente me adentré de lleno en la informática fue un MSX de la primera generación, concretamente un Sony HB-55P. En este ordenador escribí mis primeros programas serios, para cálculos de costes en la empresa en que trabajaba entonces, así como los primeros programas que publiqué en revistas especializadas. Incluso mi primer libro está en gran parte escrito para este tipo de ordenador.
Tras este MSX, cuyo uso simultaneé con un ZX Spectrum, llegó mi primer MSX-2: un Philips NMS 8245, al que siguió poco tiempo después un NMS 8255 de la misma marca que se convirtió en mi único ordenador durante muchos años, hasta bien entrada la década de los 90. Si a principios de los 80 usaba únicamente BASIC y ensamblador Z80, con este ordenador aprendí a programar en Pascal (gracias a Turbo Pascal 1.0) y en C (gracias al compilador de HiSoft). En él programé un gestor de bases de datos similar a dBase (programa que usaba en un PC de la empresa en que trabajaba), una aplicación de dibujo parecida a PaintBrush y un diseñador de pantallas de entrada de datos que generaba automáticamente código en C.
Mi vinculación con la gama MSX ha sido tan dilatada y fructífera que me ha llevado a tener siempre una especial debilidad por los microordenadores que seguían esta norma, como es fácil comprobar en las fotografías siguientes. En ellas puede apreciarse que hay una gran cantidad de máquinas (33 en total), si bien no todas las que tengo. Además de ordenadores propios, que he tenido siempre conmigo desde principios de los 80, hay muchas donaciones de amigos y conocidos que tenían MSX así como algunas adquisiciones, por ejemplo el impresiontante Turbo-R GT.
En España los ordenadores MSX eran la tercera opción de los usuarios, tras las máquinas de Sinclair y Amstrad, en competencia con los productos de Commodore. En ciertos países europeos, como fue el caso de Holanda, Francia y España, el estándar MSX tuvo un éxito considerable, siendo menor su penetración en mercados como el de Reino Unido y prácticamente inexistente al otro lado del Atlántico salvo excepciones, como la de Brasil o Argentina. También tuvo bastante presencia en ciertos países árabes, gracias a la empresa kuwaití Al Alamyyeh, así como en Rusia donde era el ordenador habitual en las clases de los colegios.
En el país de procedencia de los MSX, Japón, estos microordenadores ocuparon una posición privilegiada durante la década de los 80 y parte de los 90, principalmente como consola de videojuegos gracias a la gran cantidad de software desarrollado por empresas como Konami, ASCII, Sony o Taito. También en Korea del Sur, país de varios fabricantes que seguían la norma, los ordenadores MSX fueron muy populares, llegando a ser el sistema elegido para controlar diversos servicios de los juegos olímpicos de Seúl 1988.
En 1982 el vicedirector de Microsoft para lejano oriente con oficina en Japón, Kazuhiko Nishi, que también ejercía como director de la empresa ASCII Corporation, se dio cuenta de que los diferentes microordenadores que habían ido surgiendo en USA y Europa eran totalmente incompatibles entre sí, por lo que unos no podían aprovechar el software desarrollado para otros y mucho menos compartir hardware, como ampliaciones de memoria o periféricos. Lo que para los occidentales era (en aquellos momentos) una ventaja competitiva, para este japonés era un sinsentido.
Nishi pensó en definir una especificación a la que pudiese sumarse cualquier empresa interesada en fabricar microordenadores compatibles con los de otros fabricantes, un estándar que fuese beneficioso tanto para los usuarios, que dispondrían de mayor cantidad de software y hardware, como para las empresas, que no tendrían que invertir individualmente en el diseño de un ordenador doméstico propio y seguramente una gran parte de sus integrados y software. Por ello dicho microordenador debía construirse con componentes genéricos, disponibles para todos, y contar con un software homogéneo.
Tras negociaciones/conversaciones (de las que poco se sabe) con diferentes fabricantes de electrónica japoneses, por una parte, y con Microsoft, por otra, el 27 de junio de 1983 se anuncia en una rueda de prensa el nacimiento del estándar MSX (Machines with Software eXchangeability) y poco después se ponen a la venta los primeros ordenadores de Sony. Según algunas fuentes el primer MSX en llegar al público fue el Sony HB-10, ordenador al que corresponden las fotografías inferiores y que en Japón se lanzó en color rojo y también blanco, pero que se fabricó en negro para su exportación fuera del país. Esta unidad me la cedió un amigo hace unos diez años.
La primera generación de MSX
Los ordenadores que se fabricaron según la especificación inicial del estándar MSX, denominados simplemente MSX, se conocieron posteriormente, al aparecer los MSX2, como MSX de primera generación o bien como MSX-1. Fueron fabricados por Sony, Philips, Panasonic, Canon, Goldstar, Toshiba, Casio, Spectravideo, Pionner, Sanyo, JVC, Daewo, Mitsubishi, National, Hitachi, Sharp, Yamaha, Fujitsu, Sharp y Samsung, entre otras empresas. Con casi una treintena de fabricantes distintos, repartidos por Japón, Korea, Holanda, Kuwait, Rusia, Brasil, Chile e, incluso, España (Dragon fabricó un prototipo), es fácil imaginar que existieron muchísimos modelos distintos. Algunos fabricantes, como fue el caso de Sony o Philips, llegaron a lanzar una decena de modelos.
Para entender esta abundancia de diseños, cuando teóricamente todos debían ajustarse a una misma especificación, hay que tener en cuenta que el estándar MSX establecía una configuración genérica básica, pero sin limitar en modo alguno lo que cada fabricante podía incluir en sus productos: dispositivos integrados, software adicional en ROM, conexiones específicas (MIDI, entrada/salida de vídeo), etc. La mencionada configuración básica establecía lo siguiente:
- Se utilizaría como corazón del sistema el microprocesador de 8 bits más popular del momento: el Zilog Z80, concretamente el modelo Z80-A funcionando a una frecuencia de 3.58Mhz.
- La gestión de la salida de vídeo se encomendaba al TMS9918 de Texas Instruments, un integrado bastante popular que se utilizó en muchos otros microordenadores.
- De la generación de sonido se encargaría el conocido PSG (Programmable Sound Generator) de General Instrument, el AY-3-8910.
- Debían ofrecerse dos ranuras para la conexión de cartuchos, pudiendo éstos contener software, la mayoría de los juegos para MSX aparecieron en este formato, o bien facilitar la conexión de periféricos, tales como unidades de disco.
- Las conexiones estándar eran las de impresora, salida de TV, vídeo compuesto y audio, casete y dos conectores de joystick, a las que podían agregarse cualesquiera otras que desease el fabricante.
- Aparte de la BIOS, a escribir por cada fabricante y que debía contar con una serie de servicios bien especificados, los ordenadores incorporarían en ROM el MSX BASIC 1.0, un intérprete de BASIC creado por Microsoft (como no podía ser de otra manera, dada la posición de Nishi en dicha empresa).
- Tanto el conjunto de caracteres, un ASCII extendido en cuya parte alta se encontraban multitud de símbolos gráficos, como las teclas especiales con las que debía contar el teclado:
GRAPH
,CODE
,SELECT
,HOME
, teclas de función y desplazamiento del cursor, estaban fijados en el estándar.
En la siguiente galería aparecen varios modelos de MSX de la primera generación, concretamente un Mitsubishi ML-FX2, un Toshiba HX-20, un Philips VG-8000, un Sanyo PHC-28S y un Panasonic CF2700, con distintas configuraciones de teclado y disposición de las ranuras de expansión.
La mayoría de los modelos disponían los conectores para joystick en un lateral, si bien algunos como el Philips VG-8020 los tenían delante (véase debajo), dejando las por lo general las salidas de vídeo y audio, conector de impresora y de casete en la parte trasera. El citado VG-8020 fue un modelo muy popular en España, al ofrecer la máxima memoria contemplada en el estándar: 64KB, un teclado muy cuidado con un tacto agradable y preciso y un precio bastante asequible. A mediados de los 80 la academia en la que daba clases tenía aulas con este microordenador.
A partir de estos requisitos mínimos, los fabricantes tenían libertada para incorporar hardware adicional en sus modelos. Una de las empresas más activas en este sentido fue Sony. Muchos de sus modelos incorporaban un euroconector, lo que facilitaba la conexión del ordenador al televisor obteniendo mejor calidad de imagen que con la salida RF; en el modelo HB-501 incorporó un casete interno (véase galería siguiente), en el HB-101 la parte inferior del teclado ofrecía un asa desplegable que facilitaba el transporte y en varias de sus máquinas una pequeña palanca entre las teclas de desplazamiento del cursor permitía usar éstas como si fuesen un joystick básico.
A pesar de las patentes diferencias entre todas estas máquinas, pueden apreciarse en las fotografías, todas ellas muestran un pequeño logotipo con las siglas MSX, lo cual indica que la ranura de expansión (señales de las líneas, niveles eléctricos, etc.) es compatible. Esto permite tomar hardware de un fabricante, por ejemplo una unidad de disco externa Sony HBD-50 como la inferior y conectarla a un ordenador de cualquier otro fabricante. Lo mismo puede decirse de las unidades de casete. Si bien cada fabricante ofrecía la suya, el conector en todos los MSX era idéntico y facilitaba su intercambio.
El hardware interno de los MSX era prácticamente idéntico. El citado chip de vídeo TMS9918 siempre iba acompañado de 16KB de VRAM o memoria dedicada de vídeo, lo cual le permitía trabajar con dos modos de texto: 40 columnas x 24 filas y 32 columnas x 24 filas, y dos de gráficos: 256x192 píxeles y 64x48 píxeles. Podían utilizarse 16 colores (con ciertas limitaciones en el modo de 256x192px) y hasta 32 sprites controlados por hardware, cada uno con su propio color. Esos sprites pueden ser de dos tamaños diferentes: 8x8px o 16x16px.
En cuanto a audio se refiere, el PSG contaba con 3 canales programables independientes, lo cual permitía generar todo tipo de efectos de sonido además de música. El mismo integrado, conjuntamente con el PPI (Programmable Peripheral Interface) Intel 8255, se encargaba de la comunicación con dispositivos externos al microprocesador.
Según la especificación, la cantidad mínima de memoria RAM que debían ofrecer los MSX de esta generación eran 8KB, pero lo habitual era que contaran con 16KB, 32KB o 64KB, existiendo modelos que incluso ofrecían 128KB. Para direccionar la memoria RAM y ROM, cuyo tamaño conjunto podía llegar a ser de 192KB o incluso más, se recurría a la técnica de intercambio de bancos usada también en otros microordenadores y gracias a la cual teóricamente podían tenerse hasta 4MB de memoria, una capacidad inconcebible hace 25 años.
Todo el software desarrollado para MSX se escribía en ensamblador Z80 o bien en MSX-BASIC. En el primer caso la compatibilidad la aseguraba el uso de los mismos circuitos integrados, un mapa de E/S común y el hecho de que en la BIOS los vectores de entrada a los servicios fuesen idénticos, con independencia de cómo cada fabricante los implementase. El intérprete de BASIC, alojado en 16KB de ROM, era el mismo: desarrollado por Microsoft pero no una mera conversión de los intérpretes que ya tenía en otros microordenadores, sino una versión específica con potentes instrucciones para generación de gráficos y audio, control de colisiones entre sprites mediante interrupciones, etc.
Lo habitual era que al conectar uno de estos microordenadores el usuario se encontrase de inmediato con el intérprete de BASIC, pero el estándar dejaba total libertad a la incorporación de software adicional en ROM y varios fabricantes aprovecharon esa posibilidad. En las imágenes siguientes puede verse el menú ofrecido en el Sony HB-75, con una agenda de direcciones, tareas y bloc de notas y la posibilidad de almacenar/cargar datos, así como la opción para acceder al intérprete de BASIC; el menú de inicio del Mitsubishi ML-FX2 con software de edición de textos, hoja de cálculo y generación de gráficos; y el menú de inicio del Toshiba HX-20 con su editor de textos.
Si bien el software para MSX podía encontrarse en cinta y también en disco, el formato más habitual para los juegos eran los cartuchos. Éstos se conectaban en una de las dos ranuras de expansión y, al conectar el ordenador, el juego se ejecutaba de manera inmediata, como si estuviese en ROM. A pesar de su mayor precio, era un formato que convirtió a los MSX en la máquina de juegos ideal, por su velocidad de acceso y durabilidad. Algunos de los cartuchos de que dispongo tienen más de 25 años y siguen funcionando, algo que no siempre puede decirse de cintas y discos.
El sistema operativo de la primera generación de MSX era el MSX-DOS 1.0, con un intérprete de comandos idéntico al del MS-DOS usado en los PC pero una arquitectura interna de 8 bits compatible con CP/M que, por entonces, era el sistema operativo predominante en máquinas de 8 bits. Esto permitía ejecutar en los MSX una gran cantidad de software y, personalmente, usaba el procesador de textos WordStar y sobre todo la primera versión de Turbo Pascal, con la que conocí el paradigma de la programación estructurada gracias al libro de Rodnay Zaks publicado en 1986 por la editorial Anaya.
Los MSX de primera generación no incorporaban unidad de disco, ésta se adquiría por separado y se conectaba al ordenador mediante un cartucho que, a la postre, era el que contenía la ROM con el sistema operativo. Aunque hubo unidades de 5.25 pulgadas, el formato de 3.5 pulgadas creado por Sony se convirtió en el estándar de esta familia de máquinas, mucho antes de que llegase a los PC. Cada disco tenía capacidad para 720KB y su formato era totalmente compatible con los discos de PC, lo cual facilitaba el trabajo con los mismos documentos en un PC y en un MSX, algo que me resultó muy útil mientras escribía mi primer libro BASIC, el libro del programador en el que la mayoría de los ejemplos son comunes a MSX y PC.
Además de multitud de libros en diversos idiomas tratando el MSX a todos los niveles, desde el usuario básico al programador avanzado, en muchos países aparecieron publicaciones periódicas dedicadas al estándar, especialmente en Japón, Holanda o España, país este último en el que se hicieron populares las revistas MSX Extra, MSX Club, MSX Magazine o Input MSX.
Todas las características citadas: compatibilidad hardware/software entre ordenadores de distintos fabricantes, alto grado de compatibilidad con software escrito para CP/M, buenos gráficos y audio y una extensa biblioteca de software propio y publicaciones, otorgaban al estándar MSX todo lo necesario para ser un éxito y, como se apuntó al principio, así fue en países como Japón, Korea, Holanda o España. Esto llevó a la actualización del estándar y la aparición de los MSX2 a los que, junto con los MSX2+ y TurboR dedicaré la segunda parte de esta entrada.