¿Se planteo inicialmente Genesis/Mega Drive como un ordenador?
Quien hayáis leido nuestros comentarios en el Discord del canal recordaréis una teoría sobre Genesis/Mega Drive de la que mucha gente no habla pero infiere de como fue creada la consola y bajo que premisas en el tiempo en el que se encontraba en la mesa de diseño. Algo que sinceramente no vais a ver comentado en ningun libro, ni especial retro ni nada sobre la 16 bits de Sega pero que se tiene que tener muy en cuenta.
¿A que me estoy refiriendo? Pues al hecho de que Sega se plantease el lanzamiento de su Mega Drive como una consola con las capacidades de un ordenador de la época, el motivo de ello tiene un trasfondo muy simple. Nintendo que dominaba el mercado japonés con mano de hierro se planteo con la Famicom copiarle el modelo de negocio pero bien hecho a Coleco e ir añadiendo packs de expansión que hiciesen que la consola pudiese operar como un ordenador.
El Famicom Basic fue lanzado solo en Japón y consistia en un interprete de BASIC con su RAM correspondiente (ya que la consola apenás tenía dicha memoria), obviamente el teclado para picar código y para almacenar los juegos se vendía una unidad de casettes aparte.
Estos accesorio fueron lanzados en 1984 en Japón e incluso se llegaron a plantear el lanzamiento de todo el paquete combinado en los EEUU bajo el nombre de AVS…
Pero el concepto no tuvo mucho éxito, no obstante Nintendo viendose limitada por lo cartuchos de solo 32KB de programa y los 8KB de gráficos de la primera generación de cartucho y antes de tirar del truco de la memoria multibanco lanzo el Famicon Disk, una unidad de disquetes (propietarios) que tuvo sus propios juegos y que tenía que acabar reemplazando el uso de la unidad de casette en el Family Basic y ser el formato de distribución en una futura Famicom «Ordenador».
El Famicom Disk por problemas con los discos no tuvo mucho éxito, en realidad el experimento de Nintendo de intentar tener su ordenador en el mercado tomando a la Famicom como base no funciono.
Sega en cambio si que había tenido su propio ordenador derivado del SG-1000, el llamado SC-3000 que salio antes de la Mark III/Master System.
El unico ordenador existente de Sega fue el SC-3000 que no funcionaba en modo ordenador si no era con un cartucho adicional que activaba el BASIC de este, se penso para compatir contra el Family BASIC y a igual que este no tuvo éxito, pero de un ordenador de 16 bits se espera mucho más que un «vulgar» interprete BASIC.
Tampoco tuvo mucho éxito, pero Sega al igual que Nintendo también tenía el problema del almacenamiento de los cartuchos y siguieron caminos paralelos, Sega llego a crear o al menos a mostrar en modo prototipo una unidad de disquetes de 3 1/2 para su Master System, unidad que tenía que convertir a la SMS/Mark III en un ordenador completo incluyendo muy posiblemente en el anterior el BASIC del SC3000 entre otras cosas con tal de competir contra la oferta de la Famicom en ese aspecto.
Al contrario de Nintendo dicha unidad de expansión no se penso para la versión japonesa de su consola sino para su versión occidental por el hecho que Sega en America no la tenía todas pero con el tiempo fueron descartando la idea, la unidad teníá que utilizar el puerto de expansión de la parte inferior de la Master System, el cual es un duplicado del slot de cartuchos, dicho puerto jamás se llego a utilizar.
El caso es que con Mega Drive/Genesis en el laboratorio, Sega empezó a plantearse portar la funcionalidad como ordenador a su siguiente consola. Tenía sentido dado que por aquellos tiempos los ordenadores basados en el 68K ya habían sido lanzados y se estaban estandarizando en el mercado de todo el mundo por lo que Sega empezó a plantearse seriamente que las capacidades como ordenador que querían colocarle a la SMS/Mark III fueran trasladadas a su nueva consola de 16 bits.
Cuando Sega presento la consola por primera vez el add-on en el puerto de expansión de su 16 bits era una versión mucho más reducida de la unidad de disquetes que habían presentado ya por aquel entonces tiempo atrás para la Sega Master System. Dicha unidad se tenía que conectar al puerto lateral de la consola, con el posteriormente se conectaría el MegaCD, pero no era el único periférico sino también la capacidad de conectar en teoría una tableta gráfica, un modem e incluso un teclado lo que era sintomático que Sega buscaba darle las capacidades de un ordenador a su nueva 16 bits.
Sega acabo descartando todo esto con el tiempo y se centro en tener una consola de videojuegos pura y dura, posiblemente porque el empuje de los Compatibles PC era tan grande ya en lo años 80 que ordenadores con capacidades superiores a nivel técnico como el Amiga acababan teniendo grandes problemas pero de haberse hecho el 68K daba posibilidades que directamente el Z80 no podía dar como por ejemplo no verse limitados a solo 64KB de direccionamiento de memoria y tampoco a cosas como el BASIC o Ensamblador, era posible programar en lenguajes como Pascal o C, mucho más poderosos a la hora de realizar aplicaciones.
Pero el diseño en origen de la SMS tenía un problema, el slot de expansión era espejo del de cartucho, esto significa que ocupan el mismo espacio de memoria. La 16 bits de Sega se vendia con solo 64KB de memoria, una cantidad de memoria ridicula por lo que era necesario dar la capacidad de expandir la cantidad de RAM en el sistema en el slot de cartuchos por un lado y por el otro que el bus de expansión tuviese su propio espacio de memoria.
Los cartuchos pese a poder ocupar un espacio más grande de los 16MB de direccionamento del 68K realmente solo coge 4MB dejando un espacio importante bajo las siglas de SEGA RESERVED, el primer espacio de 4MB estaba pensado para poder colocar hasta 4MB de memoria RAM a través del slot de cartuchos, si dicha memoria RAM era añadida entonces la consola pasaba de mirar a la WORK RAM como RAM principal y pasaba a utilizar dicha RAM. La gran ventaja es que Sega separaba lo que es la ROM de los programas de que es la RAM en si misma. ¿Y cual es la diferencia de muchos ordenadores respecto a las consolas? En el sector de arranque de la CPU suelen tener asociada una ROM de arranque que carga el sistema al completo, en una consola no existe esa ROM y hay una simple instrucción de arranque que apunta al slot de cartucho pero en Genesis/Mega Drive no es así desde el momento en que podemos arrancar en el caso del Sega CD desde el mismo y aqui esta la gracia de todo.
El Sega CD tiene otro espacio de memoria reservada, el cual originalmente se reservo para la unidad de disquete, de unos 2MB en total que van a continuación en el mapa de memoria de los 4MB asignados para RAM extra en el slot de cartuchos (que posteriormente utilizaría el 32X), por lo que es muy posible que la unidad FDD (Disquetes) viniese con RAM adicional en su interior y muy posiblemente el hardware que hubiese tenido en su interior fuese el mismo o cuasi el mismo que el del posterior MegaCD ¿Y que unidad de CDs al contrario de la competencia viene con RAM en su interior? Pues el Sega CD que en total tiene 768KB de RAM…
¿Mi teoria? El Sega CD empezó siendo la unidad de disquetes en su origen a la cual se le cambio el formato de almacenamiento en el proceso. ¿En que me baso? En un rumor del número 14 de la Electronic Gaming Monthly publicado en 1990.
Nunca vimos la unidad FDD funcionar, pero si el proveedor era Sony entonces la unidad de disquetes de 3 1/2 debia ser completamente estandar, es decir, utilizar los clásicos disquetes que había en los ordenadores en aquel momento, obviamente estos no se podrían saltar el control DRM de la consola y hubiesen sido utilizados solo en el modo ordenador o como mecanismo para grabar datos persistentes en los juegos.
Si al sistema principal le faltaba la RAM entonces la circuitería del FDD tenía que darle la RAM minima necesaria y el hardware para que la consola pudiese trabajar por completo en modo ordenador y uno de lo handicaps de Genesis/Mega Drive era la falta de un bufer de imagen. El VDP de la consola era para la época un generador de patrones/sprites sumamente rápido y cumplia su cometido excelentemente pero su hardware no estaba pensado más allá de los juegos, no lo necesitaba y la unidad base se penso para ser excelente en juegos y el resto de cosas… Pero ya se irían añadiendo.
¿Pero cual es el tipo de aplicación que en la época requería de un bufer de imagen completo? Pues los primitivos programas de dibujo y aquí entramos en una de las particularidades de la consola y es la posibilidad de crear un bufer de imagen convencional, en el siguiente video explican más o meno como funciona.
La clave de todo es la unidad DMA incluida en el VDP que permite a la CPU transmitir datos a la VRAM privada del VDP sin tener que escribir varias veces en los lentos puertos de lo derivados de los TMS99x8, la limitación es que la imagen ha de ser generada inicialmente en la RAM por la CPU, por el propio 68K, esto limita enormemente la resolución y la tasa de refresco que se queda en 15 fps pero para las aplicacione no-ludicas uno 15fps en principio no es un impedimento. La gracia es que se le llame glitch a esta funcionalidad cuando tenemos referencias de que Sega lo tenía más que preparado.
Pero para entender el motivo por el cual Sega hizo ciertos cambios nos tenemos que retrotraer a la Sega Oekaki Taburetto para la SG-1000 y la recien lanzada en 1985 Mark III/SMS.
Dicha tableta no vio la luz en occidente y fue lanzada exclusivamente en Japón. Utilizaba el Modo Multicolor/Bitmap del TMS9918 para funcionar, el cual ya se había visto en funcionamiento en los sistemas con dicho generador de patrones/sprites como la Colecovision y los MSX de primera generación.
Sega decidió hacer una versión actualizada para el mercado occidental pensada inicialmente para SMS/Mark III, la cual iba a ser lanzada en 1987 pero que al final fue retrasada para no ser nunca lanzada.
Sega llego a retrasarla tanto que al final llegaron a plantearla para Genesis/Mega Drive aunque tampoco fue lanzada al final.
El problema es que el VDP de Mega Drive/Genesis eliminaba los modos 0 al 3 de los TMS9918 para dejar solo el Modo 4 (Master System) y el nuevo Modo 5 que es el modo gráfico de la nueva consola. Esto provoco que la consola se quedase sin un modo bitmap que es necesario para los programas de dibujo por el hecho que necesitamos un lienzo completo, de ahi el hecho de poder crear un bufer de imagen via 68K+DMA pero esto era mortal en cuanto a rendimiento ya que la imagen solo se podia componer durante el VSync junto a la logica… Durante el periodo de dibujado la CPU tenia que estar parada.
Es por ello que la mayoria de demos en modo DMA suelen ser imagenes estáticas.
El uso de la unidad DMA para acceder a la RAM principal para copiar lo datos a la VRAM le corta el acceso a la RAM al 68K. Y desde el momento en que no exite en la consola un macanismo de buferde imagen los pixeles se han de enviar «al vuelo» y muchas de las funciones propias de disponer un bufer de imagen real no son posibles. Por ejemplo en un bufer de imagen podemos mantener los datos graficos para no-recalcularlos.
Pero aun así aparecio algun que otro «programa» de dibujo, pero dieron bastante grima y nunca fueron competitivos con programas profesionales dadas la limitaciones del hardware para ello.
«Derivado» del software de la nunca lanzada Graphic Board Sega creo un programa de dibujo para competir contra Mario Paint llamado Art Alive, el cual era una verdadera porquería que obtuvieron de un tercero pero nos sirve para demostrar que la consola puede generar un búfer de imagen aunque a velocidades muy pero que muy bajas.
No obstante no fue lo mejor en ese aspecto que salio para la consola en ese aspecto, el otro clon descarado del Mario Paint que salio aunque multiplataforma fue el Fun’n Games.
Pero lo mejor es volver al hardware.
El otro problema de la unidad DMA es que requiere de una memoria de alta velocidad (para su epoca) para funcionar por lo que no esta pensado para funcionar con disquetes, las unidades de disquete son lentas en comparación, de ahí a necesitar una memoria intermedia. El Sega CD se lanzo con 768KB de RAM y hemos de tener en cuenta que los disquetes tenían la siguientes densidades:
- 360KB densidad simple, una cara
- 720KB densidad doble, una cora
- 1440KB dobla cara, doble densidad.
Dado que el coste de la RAM sube o baja pienso que la unidad FDD inicialmente tenia que tener unos 384KB de RAM y soportar disquetes de 360KB, simple y llanamente lo datos se cargaban en la memoria pero entonces nos quedaríamos sin datos para una pieza importante del hardware del Sega CD, el llamado Sega ASIC, el cual tiene las mismas capacidades que un Blitter pudiendo crear un pseudo-bufer de imagen en la memoria del Sega CD dejando al 68K de Genesis/Mega Drive completamente libre el 100% del tiempo.
¿La gran limitación del Sega CD? No tener su propio bufer de imagen y depender del DAC de la 16 bits de Sega, curiosamente el VDP con el uso de un Color Bufer externo en vez de soportar 3 bits por componente RGB (2^9= 512 colores), hubiese soportado 4 bits por componente RGB (2^12=4096 colores) y hubiese competido en colorido contra el Amiga, Sega podría haber creado un ordenador completo utilizando el hardware del Sega CD añadiendo el VDP de Genesis/Mega Drive con Color Bufer de 12 bits y con el soporte de 128KB, y es que el VDP soporta el doble de memoria y no en el mismo canal. Sega con esto junto al Sega ASIC hubiese tenido algo competitivo como ordenador pero entonces no hubiese hecho falta la 16 bits. Por otro lado Sega en su 16 bits podria haber incluido las funciones «Blitter» de otro derivado de los TMS99x8 como es el V99x8 de la gama MSX2.
¿Por que no lo incluyeron? Pues porque lo que es la consola principal nunca se penso como ordenador, fue un añadido a posteriori cuando arrastraron la unidad de disquetes de una consola a otra así como la Graphic Board hacía el nuevo sistema provocando que el hardware tuviese que adaptarse a ello en consecuencia. El otro motivo era el coste de la RAM, la Color RAM externa añadia costes y el pasar de los 64KB a los 128KB de VRAM también. Pero lo más importante ya nos situa completamente fuera del entorno del Sega CD que es la RAM. Los ordenadores de 16 bits de la época de los 512KB de memoria no bajaban y la consola de base solo tenía unos 64KB y obviamente venía sin ROM de sistema operativo+programas… ¿Pero como podría competir Sega con las bestias multimedia que tenía entonces tanto Atari como Commodore en forma del ST y el Amiga? No tenía la capacidad para ello ni el interes porque su mercado era otro.
¿Pero que Sistema Operativo hubiese incluido Sega? Pues probablemente el CP/M-68k.
El SO hubiese venido en un cartucho con la RAM adicional necesaria para funcionar y de tener una interfaz gráfica Sega la hubiese tenido que programar desde cero por el exotismo del hardware en comparación con lo ordenadores. En realidad dado que no aparece ni un ratón en las imagenes promocionales de Sega la conclusión es que no iba a haber una interfaz gráfica y hubiese sido una simple evolución de lo presentado en el SC-3000 y a la Famicom Basic, algo que el público hubiese ignorado por completo y hubiese acabado siendo un fiasco comercial.
Es más, Sega fue muy consciente del dominio creciente del PC frente al resto y no merecia la pena sacar otra plataforma por lo que el concepto de sacar un ordenador basado en Mega Drive/Genesis que pudo haber en un momento dado se le dio la vuelta y paso a ser un ordenador con una Mega Drive/Genesis al que acabaron llamado Tera Drive.
LSega después de lanzar el Sega CD se enfrasco en dos proyectos diferenciados:
- Una consola de 32 bits basada en CD hecha desde cero que acabaría siendo Saturn.
- Una versión mejorada de Genesis/Mega Drive que evolucionaria al 32X.
La particularidad del 32X es el SuperVDP, no es un blitter ni un generador de patrones/sprites sino que es un controlador de framebuffer al uso, tu escribes en su VRAM el bufer de imagen con otro chip y lo envia. En el caso del 32X se utiliza el segundo SH2 para ello pero es muy posible que originalmente Sega se plantease el uso del Sega ASIC del SegaCD para ello, no es muy normal tener un sistema de bufer de imagen en una consola en la era de los patrones/sprites y tiene sentido en un potencial ordenador.
Curioamente Sega acabo reciclando el hardware del 32X en el Sega Pico, una tableta de dibujo para niños…
Lo cual marca la evolución final que empezo con la Graphic Board y un punto y final en ese tema para Sega. Por otro lado, hay que tener en cuenta que tan pronto Sega reemplazo el concepto del FDD por el concepto del SegaCD entonces cualquier posibilidad de ver Genesis/Mega Drive como una especie de pseudo-ordenador se disipo por completo. Pero de cara a los juegos hubiese sido interesante porque hubiese permitido almacenar estados de juegos inmediatamente a estilo de los Save States de los emuladores pero por hardware. ¿Os imagináis mundos «persistentes» en una consola de 16 bits? ¿Y que tal expansiones? Estas ideas eran posibles de cara a los juegos con la unidad FDD y muchos años más tarde Nintendo las rescato con el tambien fallido 64DD.
Y con esto llegamos al final de esta absurdez, tenéis el Discord del blog y los comentarios de este blog para comentar esta entrada sin sentido.
Comentarios
Publicar un comentario