Desconocido en occidente, el FM Towns (Fujitsu Micro) fue la apuesta de Fujitsu en el mundo de los ordenadores para el periodo situado entre 1989 y 1997. Con una arquitectura de PC, como en el caso del NEC PC-98, y con hardware gráfico y sonoro orientado de cara a los videojuegos como el X68000. Se le puede considerar, a nivel técnico, como la máquina japonesa más potente de la época, pero al mismo tiempo desconocida para el mercado occidental. Es por ello que hemos decidido dedicarle este reportaje, para que conozcáis mejor cómo es su hardware por dentro.
El hardware del FM Towns
Fujitsu fue la primera marca de ordenadores japonesa en apostar por un sistema de 32 bits, ya que si bien NEC lanzó modelos del PC-98 basados en el 386 de Intel en 1989, lo hizo apostando por la variante SX, mientras que el FM Towns lo hizo empleando el modelo DX a 16 MHz, lo que le permitió manejar un bus de direcciones y otro de datos de 32 bits. La idea de Fujitsu era obviamente ir a por el mercado del PC-98 utilizando un microprocesador desde donde se pudieran adaptar los programas diseñados para el ordenador de NEC y los PC occidentales.
No obstante, pese a que el PC-98 era principalmente un ordenador de trabajo y oficina que con el tiempo se había filtrado en el mercado doméstico, el FM Towns destacó por contener hardware gráfico y de audio ideal para portar videojuegos con calidad de recreativa avanzada y conseguir ports de PC. Sobre el papel tenía lo mejor de los dos mundos. No solo eso, sino que en su planificación y diseño participó el padre del MSX, Kazuhiko Nishi.
Es decir, lo tenía todo para triunfar, pero la aparición del estándar DOS-V que llenó el mercado japonés de clónicos PC y el monopolio de NEC con el PC-98, el cual ya estaba más que asentado, no le permitieron ir más allá de sus pretensiones iniciales. Es más, podríamos considerarlo como el precursor de los PC multimedia que saldrían años más tarde a nivel global, especialmente por ser el primer ordenador en traer una unidad CD-ROM de serie.
No es un PC, pero casi
No hay ninguna duda que la base para el diseño del FM Towns fueron los 386 AT, ya que aparte del chip de reloj a tiempo real, el resto de componentes son los mismos que los de PC AT construido alrededor del Intel 386, pero con una serie de diferencias de serie, que fueron el hardware de video y de audio incluido de serie en el sistema y cuyas rutinas para manejarlo se encontraban en el sistema operativo. Es decir, al igual que el PC-98, integra su propio hardware de vídeo, diferente a los EGA, CGA y VGA que se emplearon en PC.
No obstante, al contrario que el PC-98 de NEC no integra un zócalo de expansión propietario al estilo del C-Bus, sino que emplea puertos de expansión ISA. Por desgracia, no se pueden utilizar tarjetas para PC, ya que al usar el sistema operativo direcciones de memoria distintas para sus rutinas, hay que adaptarlas. Por lo que era necesario crear versiones de las mismas tarjetas para FM Towns, lo cual se convertía para sus usuarios en un problema al ser mucho más caras por la poca cuota de mercado.
El sistema operativo del FM Towns
El sistema operativo del FM Towns se encontraba en una ROM de 12 Megabits (1.5 MB), un tamaño mucho más grande de lo que el propio MS-DOS de Microsoft podía manejar, la cual no era más de 1 MB, ya que el sistema operativo de Microsoft funcionaba en el modo real del 386 y posteriores en los PC convencionales, dejando 640 KB para los programas y el resto hasta llegar a 1 MB para la gestión del sistema. Todo ello, obviamente, se veía muy limitado en 1989, por lo que Fujitsu le hizo algunos cambios al MS-DOS 3 para crear el sistema operativo de su ordenador.
El resultado fue el TownsOS, una variante del MS-DOS 3, pero modificado por Fujitsu para poder manejar más de 1 MB de memoria (640 KB para el usuario), además de eso, añadió una serie de controladores y rutinas para el hardware único del FM Towns, así como una interfaz gráfica propia para manejar el sistema. En todo caso, la similitud técnica con el PC y el hecho de que el sistema operativo fuese un MS-DOS modificado permitió portar fácilmente Windows 3.1 para FM Towns, reemplazando la interfaz gráfica propietaria a favor de la de Microsoft.
Mejora | Descripción |
---|---|
Soporte nativo para arranque desde CD-ROM | El FM Towns podía arrancar directamente los títulos desde el CD-ROM sin necesidar disquetes o disccos duros |
Soporte grafico propietario | Al igual que en el PC-98 de NEC, el FM Tonws tenía su propio hardware gráfico integrado de serie. |
Soporte para sonido FM y PCM integrado de serie | El sistema operativo del FM Towns incluia rutinas para manejar el uso del hardware de audio avanzado del sistema. |
DOS Extender | Permite usar todo el direccionamiento de memoria el 386 de forma directa. |
En todo caso, hay que recalcar que, pese a las funciones adicionales y su diferente mapa de memoria, es mucho más cercano a lo que fue un PC convencional que no el PC-98 de NEC, lo cual facilitó enormemente su posterior evolución en el FMV Towns y la conversión de varios títulos de PC con mejoras que aprovechaban la capacidad gráfica y sonora de serie que tenía el sistema. En los PC occidentales se tardaron años en que una configuración como las del ordenador de Fujitsu fuese estándar entre los usuarios.
Juegos para PC en CD-ROM, mucho antes que en PC
Aunque la particularidad más grande del FM Towns fue que pudo disfrutar de conversiones de PC, especialmente las aventuras gráficas de la época, con todas las ventajas del formato CD-ROM y adaptadores gráficos y sonoros mucho más avanzados que el PC estándar que tenían los usuarios en la época. Si bien la calidad no era mejor que la de un 386 con VGA fue el hardware de audio, muy superior a otros ordenadores y el formato CD-ROM los que hicieron el resto.
Sin embargo, dado que el CD-ROM no es un medio válido para ejecutar juegos directamente, esto forzaba a tener altas configuraciones de memoria RAM para disfrutar de los títulos. Por suerte, el FM Towns soportaba RAM estándar de PC sin tener que estar adaptada. Claro está que esto fue un problema para la FM Towns Marty, la versión consolizada del ordenador que salió en 1993, que venía con RAM fija sin capacidad de ampliación, siendo este uno de los motivos de su enorme fiasco y del mito de que los juegos no se ejecutarán bien en la plataforma.
Gráficos en el FM Towns
Si bien el FM Towns no usaba un controlador gráfico como los de PC, sí que usaba un CRTC al estilo del 6845 diseñado por la propia Fujitsu para el sistema, lo que le da una enorme versatilidad de modos gráficos. En especial por el hecho de que el monitor que venía de serie con el sistema funcionaba con 3 frecuencias horizontales distintas, lo que le permitía mostrar hasta 3 modos gráficos distintos.
- A 31 KHz, aunque no usaba salida VGA, sino una propietaria para el monitor que venía con el ordenador.
Modo Resolución Virtual Resolución Real Colores Scroll Sprites 1 640×400 640×400 (No entrelazado) 16 / 4096 No No 4 640×400 640×400 (No entrelazado) 32768 No No 5 256×512 256×256 (No entrelazado) 32768 No No 6 256×256 256×256 (No entrelazado) 32768 No Sí 9 512×256 324×216 - Esférico No 12 1024×512 640×480 (No entrelazado) 256 / 16777 Sí Sí 15 512×512 320×480 (No entrelazado) 32768 No No 17 512×480 512×480 (No entrelazado) 32768 No No - a 24 KHz:
Modo Resolución Virtual Resolución Real Colores Scroll Sprites 2 640×200 640×200 (No entrelazado) 16 / 4096 No No soporta sprites 3 1024×512 640×480 (Entrelazado) 16 / 4096 Scroll cilíndrico No soporta sprites 12 1024×512 640×480 (No entrelazado) 256 / 16777K Scroll cilíndrico Si - A 15 KHz:
Modo Resolución Virtual Resolución Real Colores Scroll Sprites 6 256×256 256×256 (No entrelazado) 32768 Ninguno Sí 7 230×240 230×216 (Entrelazado) - - Sí 8 256×240 230×216 (Entrelazado) - - Sí 10 320×240 320×240 (Entrelazado) - - Sí 11 320×240 288×216 (Entrelazado) - - Sí 13 640×400 640×400 (No entrelazado) 32768 - Sí 14 720×480 648×432 (Entrelazado) - - Sí 16 320×480 288×432 (Entrelazado) 32768 - Sí 18 512×480 512×432 (Entrelazado) 32768 - Sí
Lo que le permite conectar al FM Towns a un televisor externo. Como curiosidad, el monitor externo del FM Towns puede utilizarse para como pantalla para una consola externa.
Scroll
Además, el CRTC del FM Towns tiene soporte de scroll por hardware, el cual es definido como scroll esférico y scroll cilíndrico. Su nombre se debe debido a que trata de que se trata de un desplazamiento infinito, ya que lo que hace el chip gráfico es ajustar automáticamente las direcciones de memoria de la VRAM para que, al llegar al borde, el desplazamiento continúe desde el otro extremo. Así, pues, el scroll cilíndrico es el que se da cuando el scroll es vertical u horizontal, y el esférico cuando se están usando ambos ejes. No obstante, dicho scroll especial no era soportado en todos los modos gráficos del FM Towns.
VRAM y modos de vídeo
El FM Towns dispone de 512 KB de VRAM de doble puerto, lo cual le permite a la CPU acceder en cualquier momento al contenido de la misma, incluso en la etapa de dibujado, por lo que en este aspecto funciona igual que los adaptadores VGA. Además, al encontrarse la memoria de vídeo en el mismo espacio de memoria que la RAM del sistema, al tener el direccionamiento unificado, esto facilita la creación del búfer de imagen. Eso sí, se trata de un búfer sencillo donde se indica el valor de color de cada píxel o la dirección de memoria de cada patrón en pantalla. Por lo que no tiene ningún secreto y no dispone de funciones especiales como un Blitter y/o instrucciones para CAD CAM.
En cuanto a la organización de la VRAM, esta se puede usar como un único búfer de imagen completo (512 KB), almacenar dos búferes de imagen (256 KB cada uno) o cuatro búferes de imagen (128 KB cada uno). Al contrario que otros sistemas donde la memoria de más es para un búfer de imagen extendido que no se muestra en pantalla, a no ser que esta se desplace, en el FM Towns se utiliza el concepto de capas de pantalla, y estas se pueden superponer la una de la otra. Pensad en el mismo concepto que los Tilemaps múltiples superpuestos que ya hemos visto en algunos sistemas de 16 bits.
Sprites
Las capacidades para el manejo de sprites del FM Towns son ciertamente impresionantes, superando sobre el papel incluso al X68000, ya que puede manejar hasta 1024 sprites de hasta 32.768 colores cada uno. Sin embargo, el diablo se encuentra en los detalles y pronto veréis que no es así. El sistema tiene un controlador de sprites que tiene asignados 128 KB de memoria. Dicha memoria no es un búfer de imagen, ya que en su interior almacena la siguiente información: los patrones gráficos de cada uno de los sprites y la tabla de atributos de cada sprite. Cada uno de ellos es de 16 x 16 píxeles, pero pueden ser de 16 colores o de 32.768 colores. En el segundo caso, el límite de sprites en pantalla baja a los 224, pero dicho modo nunca se uso excepto en escenas cinemáticas no interactivas.
Los sprites no tienen su propio búfer de imagen, sino que toman una de las capas de pantalla de 128 KB de la VRAM del CRTC, dado que 1024 sprites de 16 x 16 píxeles con 4 bits de color es el máximo que puede albergar la capa de 512 x 512, pues ese se considera el límite. No obstante, solo es visible una capa de 256 x 256 píxeles o de 320 x 256 píxeles, por lo que habrá sprites que se dibujen fuera de pantalla. Esto se traduce, a efectos prácticos que el límite real es de 256 o de 320 sprites en pantalla de forma simultánea, aun así, se trata de una cifra impresionante y convierten al FM Towns en la máquina más potente en lo que al manejo de sprites se refiere, incluso por encima del X68000 en todas sus variantes.
Byte | Bits | Nombre del campo | Descripción |
---|---|---|---|
0 | 0–7 | X Low | Bits bajos de la posición X. |
1 | 0–7 | X High | Bits altos de X (9 bits en total). Bit 7 indica signo para coordenadas negativas. |
2 | 0–7 | Y Low | Bits bajos de la posición Y. |
3 | 0–7 | Y High | Bits altos de Y (9 bits en total). Igual que en X. |
4 | 0–7 | Pattern Number Low | Bits bajos del número de patrón (tile). |
5 | 0–7 | Pattern Number High | Bits altos del número de patrón (generalmente solo se usan 3-4 bits). |
6 | 0–3 | Width | Tamaño en tiles horizontales (1 a 16). |
4–7 | Height | Tamaño en tiles verticales (1 a 16). | |
7 | 0–3 | Zoom X | Escalado horizontal (1x–16x). |
4–7 | Zoom Y | Escalado vertical (1x–16x). | |
8 | 0–7 | Palette Number | Número de paleta (0–255). |
9 | 0 | Enable | 1 = Sprite activo, 0 = Sprite oculto. |
1 | Collision Enable | 1 = Habilita detección de colisión. | |
2 | Flip X | 1 = Reflejo horizontal. | |
3 | Flip Y | 1 = Reflejo vertical. | |
4–5 | Priority | Prioridad de dibujo (0–3). | |
6 | Pattern Extension | Habilita extensión del número de patrón. | |
7 | Unused | (Reservado o no usado). | |
10–31 | — | (Reservado / no documentado) | Bytes reservados o sin uso conocido (relleno o uso interno del hardware). |
Doble Buffer
El FM Towns es el primer sistema que vamos a tratar que tiene soporte para doble búfer de imagen. El concepto es sencillo: tenemos dos búferes de imagen, en el primero de ellos tenemos el fotograma anterior siendo enviado a la pantalla por el controlador de pantalla, el cual se encarga de leerlo y transformarlo en la señal de vídeo correspondiente. En el segundo búfer de imagen se genera sobre el mismo.
Una vez el primer búfer de imagen se ha enviado a la pantalla, el segundo búfer donde se encuentra almacenado el frame siguiente se convierte en el primero, y el primero pasa a ser el segundo donde se dibuja un nuevo fotograma. Esto ocurre consecutivamente y de forma automática, sin que el programa tenga que intervenir en ello. En el FM Towns y sistemas posteriores, esto sirve para no limitar el envío de patrones gráficos para los sprites solo al periodo VBlank. Lo que permite aumentar considerablemente la cantidad de sprites en pantalla y evitar artefactos gráficos innecesarios que se dan cuando se trabaja con un solo búfer de imagen.
Audio en el FM Towns
Dado que el ordenador de Fujitsu viene de serie con una unidad CD-ROM, la capacidad para reproducir audio obviamente no estaba limitada, especialmente con la enorme capacidad de almacenamiento que otorgaba el CD-ROM, aunque aquí teníamos dos sistemas de audio funcionando al mismo tiempo.
- El primer chip de audio es un chip de síntesis FM, el YM2612 de YAMAHA, y que no es otro que el mismo chip de sonido que lleva la Mega Drive.
- El segundo chip de audio es un DSP Ricoh RF5c68 de audio con la capacidad de procesar hasta 8 pistas de audio PCM con una calidad de muestreo de 19.2 KHz y con calidad de 8 o 10 bits. Dispone de una memoria propia de 64 KB, donde cada canal tiene asignados 8 KB para la reproducción.
Al contrario de lo que ocurre con las consolas de 16 bits y algunas máquinas recreativas, no tenemos un chip controlando el chip de síntesis FM y el DSP para el audio PCM, ya que el 386 DX y posteriores tienen la suficiente potencia como para poder manejar el audio además del programa principal sin necesidad de ningún coprocesador de apoyo para ello.
FM Towns Marty
Por desgracia, el FM Towns es más conocido por la FM Towns Marty, la versión consolizada que fue lanzado en 1993, sin embargo, se encuentra altamente limitado respecto a la gama de ordenadores, lo que provocaba no solo que no todos los juegos fueran compatibles, sino que además muchos no rindieran como es debido. Debido a ello, existe el mito entre gran parte del público de que el ordenador de Fujitsu era técnicamente inferior al X68000 de SHARP.
- Su CPU era un clon del 386 SX fabricado por AMD, por lo que tenía un bus de 16 bits y no de 32 bits, lo que se traduce en que la CPU tiene peor rendimiento al necesitar más ciclos de reloj para acceder a memoria.
- Solo 2 MB de RAM, sin capacidad de ampliación, por lo que los títulos que requieran más memoria no funcionan en la Marty. Es más, muchos títulos tienen también un rendimiento limitado debido a ello.
- Obviamente, al ser una consola, carece de puertos de expansión.
- El hardware de vídeo está recortado, no soportando las resoluciones y modos de 24 y 31 KHz.
FMV Towns
El enorme éxito de los clones DOS/V en Japón hizo que Fujitsu lanzará el FMV Towns en 1995, un ordenador que combinaba un FM Towns con un clónico sin perder la compatibilidad con los modelos FM Towns. Entre las mejoras se encontraba el uso de una CPU Intel Pentium, la adopción de puertos IDE para el disco duro y las unidad CD-ROM, puertos PS/2 para teclado y ratón, una salida VGA estándar y la inclusión de ranuras PCI.
Si bien el sistema conservó por completo el hardware original para la compatibilidad de los juegos, la creciente popularidad de Windows 95 y la necesidad de tener una tarjeta gráfica SVGA de PC hicieron el resto, la mayoría de los usuarios terminaron por usarlo solo como un PC más, llegándole a instalar incluso tarjetas de sonido y tarjetas gráficas estándar para PC, incluyendo las primeras aceleradoras 3D, en su interior. Con ello, la personalidad y lo que hacía único al FM Towns desaparecieron y los usuarios japoneses dejaron de comprar cada vez más software para el sistema, hasta que Fujitsu en 1997 canceló la gama FMV Towns, dando punto final a los FM Towns de manera definitiva.