Los más vejetes como yo saben de qué hablo apenas leen el título de este post, nuestros orígenes informáticos no eran tan coloridos ni llenos de pixeles como hoy en día, eran algo... primitivo.
Empecé con una computadora de 8 bits conectada a un televisor común y corriente (de tubo, claro) pero mi paso a la PC incluyó un fabuloso monitor color ámbar, un sólo color, sólo uno.
¿Cómo hacíamos entonces para jugar? Pues bien... aquí un pequeño repaso de las primeras tarjetas gráficas (que no eran siquiera eso) y cómo hacíamos para jugar ante tanta pobreza :D con el detalle de que... encontré al creador del SIMCGA!!!
Al lanzamiento de la PC en 1981 existían sólo dos posibilidades visuales, la primera pensada para trabajo más de oficina era una interfaz de texto muy básica y con un sólo color, blanco/negro (o el fósforo del monitor, el usual era verde), era el MDA o "Monochrome Display Adapter".
La otra opción era una tarjeta gráfica de IBM CGA, "Color Graphics Adapter" que ofrecía un poco de capacidad gráfica y algunos colores... cuatro.
Las diferencias eran interesantes , la MDA ni siquiera se podría considerar una tarjeta gráfica porque con apenas 4Kb de memoria no podía dibujar al mismo tiempo los 720×350 pixeles que tenía a su disposición. En cambio representaba la pantalla con caracteres de texto de 9x14 pixeles cada uno (80x25).
Para usar plantillas de cálculo o procesadores de texto era perfecto. La claridad de esos caracteres era fantástica, se podía leer muy bien y funcionaba. No se esperaba mucho más tampoco aun cuando en esa misma época existían cosas mucho más visuales como una Apple II o una Commodore 64 lo que importaba en la PC eran otras cosas.
El Norton Commander, así vi mi PC durante muchos años, también con un monitor ámbar
El modo CGA era distinto, con una capacidad de dibujar gráficos en pantalla ofrecía dos modos, uno de "alta resolución" a 620x200 y dos colores (blanco y negro) y otro de menor resolución de 320x200 con cuatro colores con tres paletas no combinables. Es decir, sólo cuatro a la vez y las paletas venían fijas. En modo texto podía mostrar hasta 16 colores.
En modo texto podía resolver más colores
Un truco interesante del CGA es que usando el modo composite era posible jugar con los colores, si bien iban 4 al mismo tiempo los monitores analógicos podían mezclarlos y, si se usaba bien el truco, se podía generar un efecto de más colores, algo que en un LCD digital es imposible de apreciar (o en un emulador).
Dato curioso: era posible usar las dos salidas de video a la vez, MDA para texto y CGA para graficar, aplicaciones como Lotus 1-2-3 hacían uso de esta posibilidad, claro, era muy de negocios porque requería dos monitores.
los famosos cuatro colores
El Simcity en alta resolución, 640x200 y dos colores
La mayoría de nosotros conocimos como "monocromático" a la placa Hercules o sus derivados, era compatible con MDA pero traía 64Kb de memoria y esto le permitía dibujar todos los pixeles al mismo tiempo.
Los 720×350 pixeles estaban en nuestro poder! Y eso abrió las puertas a muchas posibilidades. Comparado con el modo CGA de 640x200 había más píxeles en ambos sentidos, era muy superior y, al mismo tiempo, más barato (mucho más barato).
Se podía usar el mismo monitor de siempre que solía ser más barato que uno color (por lejos), así que la Hercules tuvo muchísimo éxito.
Los juegos empezaron a hacer uso de este modo y empresas como LucasArts o Sierra le sacaron provecho. Pero no todo el mundo desarrollaba los juegos para varios modos.
El tema es que no había estándares. CGA era lo más parecido a uno pero Hercules era una cosa en el medio y el sistema operativo, MS-DOS, no ofrecía nada ni parecido a una API unificada.
Esto mismo sucedía con las placas de sonido, si uno desarrollaba un juego debía escribir en el código mismo del juego el soporte para cada una de las placas en el mercado y... eran todas distintas! Los grandes estudios podían aprovecharlo pero era costoso.
Con el video empezó a suceder algo similar, pero algunos inadaptados sociales inventaron una solución: emular.
La aplicación por excelencia de los pobres del tercer mundo, cuando en el resto del mundo habían comenzado a evolucionar hacia EGA (16 colores, 640x350) o inclusive VGA (256 colores, 640x480) el resto del mundo debía apelar a un modo interesante de emulación.
El SimCGA, y programas similares, se ejecutaba antes del juego de preferencia y quedaba residente en memoria (TSR), luego el juego reconocía una simulada placa CGA y las órdenes a ésta eran convertidas a una versión cutre en la placa Hercules.
El SimCGA copiaba lo más rápido posible lo que el juego escribía en el área de memoria de CGA y lo enviaba a la memoria del Hercules en tiempo real, era fuerza bruta, y no siempre funcionaba bien.
Para aquellos que teníamos una 286 o similar funcionaba mejor porque para ese entonces los clocks eran más rápidos y las memorias también, aun así estábamos forzando al máximo las posibilidades.
Pero era lo único que teníamos!
Una de las limitaciones estaba con los colores así que donde el CGA mostraba Cyan el Hercules hacía un dithering con una trama, donde el color era Magenta hacía otro dithering y así se "diferenciaban". Lo escribo entre comillas porque obviamente era un desastre, pero como el blanco y el negro eran similares más o menos se entendía todo.
La ventaja principal para hacer este dithering era el uso de más pixeles, donde la imagen original era de 320x200 y pasaba a el doble de pixeles a lo ancho y casi el doble a lo alto se podía crear este tipo de tramas para representar otros colores. Eso sí, las proporciones se estiraban en la horizontal por esta diferencia de ancho/alto entre los dos modos.
Me costó encontrar información sobre el creador de este pequeño programa engañador de juegos, primero porque no tengo una PC vieja hace... bueno, 20 años, pero además porque nadie se dedicó a escribirle la historia (esperemos que este post sirva para ello).
Chuck Guzis escribió el SimCGA en 1986, en Sunnyvale, California, en una de las primeras formas de freeware ya que su TXT acompañante rezaba:
"SIMCGA may be freely copied and distributed for one-time personal use."
Pero no era lo único interesante, además explicaba su funcionamiento, lo posteo completamente porque me parece una hermosa pieza de historia informática olvidada:
El programa venia con tres ejecutables, SIMCGA, SETCGA, SETMONO, pero el que usualmente se necesitaba era tan sólo el SimCGA.
Al parecer Chuck Guzis era el programador más macanudo del mundo porque si uno encontraba un juego que fallaba o un bug él personalmente corregía el emulador y te enviaba una copia.
Traté de comunicarme con él porque sigue vivo y trabajando en Oregon, y amablemente me contestó! Y él mismo se encargó de revelar algunas cosas que no conocía:
Yes, I'm still around! After a professional career that spans 50 years (this year), I'm an old man.
SIMCGA, as I recall, was written, not for games, but rather because I had a couple of PC XT clones, both with Hercules clones and support for HGC was not at all common. It seems that if you wanted graphics, you got a CGA and display. I might have gone that way, but the text display on CGA uses an 8x8 grid and looks terrible in comparison with the MDA display--and demands a much higher price. I think the application was either SuperCalc (I wrote the math package for that one, so I had a copy already) or SCHEMA, an early schematic design tool. I don't remember which. In any case, it worked really well, so I thought I would share it with the world.
Beyond that, I don't know that I can add much. It was a short episode; at the time, I was part of a team working to provide an optimized FORTRAN compiler for the ETA-10 supercomputer. This was after a few years in the microcomputer area in the late 1970s, which followed a stint in the mainframe business in the early 1970s.
Traducción:
¡Sí, todavía estoy por aquí! Después de una carrera profesional que abarca 50 años (este año), soy un anciano.
SIMCGA, según recuerdo, no se escribió para juegos, sino porque tenía un par de clones de PC XT, ambos con clones de Hercules y el soporte para HGC no era en absoluto común. Parece que si querías gráficos, tenías que tener un CGA y una pantalla.
Podría haber ido por ese camino, pero la pantalla de texto en CGA usa una cuadrícula de 8x8 y se ve terrible en comparación con la pantalla MDA, y exige un precio mucho más alto.
Creo que la aplicación era SuperCalc (escribí el paquete matemático para ese, así que ya tenía una copia) o SCHEMA, una de las primeras herramientas de diseño esquemático. No recuerdo cual. En cualquier caso, funcionó muy bien, así que pensé en compartirlo con el mundo.
Más allá de eso, no sé si puedo agregar mucho. Fue un episodio corto; En ese momento, formaba parte de un equipo que trabajaba para proporcionar un compilador FORTRAN optimizado para la supercomputadora ETA-10.
Esto fue después de algunos años en el área de microcomputadoras a fines de la década de 1970, que siguió a una temporada en el negocio de mainframe a principios de la década de 1970.
Editado el 3/21 Chuck me contestó algunas preguntas más sobre la versión licenciada y si era posible abrir el código fuente del simcga al público:
SIMCGA was licensed to a number of companies, including Electronic Arts. It was pretty much meant as a stop-gap measure until they could get Hercules support into their products.
As far as retrieving the source code or an old version, that's going to be pretty hard--you have to remember that this was over 30 years ago!
It may be residing on an old backup tape somewhere, but it's going to take quite a bit of effort and time to first, find the tape, and second to find a tape drive that can read it--and third, find the backup software that wrote the tape. A lot of "if" involved.
Lamentablemente, me cuenta, está siguiendo tratamiento contra el cáncer y no siempre dispone de tiempo para contestar mails o hacer estas cosas.
Seguramente en el ambiente retro ni se lo tenga en cuenta porque ahora todos pueden acceder a descartes de hardware que en esa época era carísimo, pero gracias a Chuck millones como yo pudimos conocer la informática de una forma distinta, en una primitiva PC pero ¡con gráficos!
Gracias Chuck por tanto! Te debemos recordarte más seguido!