Archivo de la categoría Retro

Estética cibernética



Todos sabéis que me encanta el término cibernética, es tan vanguardista y caduco a la vez, que me maravilla.

Por eso cuando me topé con el libro Ypsilon minus, escrito en los años 70 por Herbert W. Franke, tuve que comprarlo y leerlo.

Definía a Franke, como un profesor de estética cibernética en la universidad de Viena, labor que estuvo ejerciendo desde 1973 hasta 1997. Como cualquier pionero, debemos admirar su mérito dentro de esa disciplina, en una época previa a la eclosión tecnológica.

Respondiendo a la cuestión, ¿qué es la estética cibernética?, recordemos que la definición más clara de cibernética es: “la rama de las matemáticas que se encarga de los problemas de control, recursividad e información“, mientras que etimológicamente entendemos por estética: “sensación y percepción“; de manera que la estética cibernética, vendría a ser la creación de percepciones sensoriales, utilizando algoritmos, típicamente computerizados, es decir, lo que hoy todos conocemos como arte digital, o arte por ordenador.…

Continuar leyendo...

Recuerdos de los 80



No estoy seguro de si los años 80 fueron una época en conjunto feliz, pero si de que fue una época llena de cambios. La tecnología empezaba a popularizarse en el mercado de consumo, avanzaba rápidamente, y España se abría al mundo, o al menos permitía que las novedades de fuera entraran.

Puede que la gente tuviera menos cultura, pero era más educada y respetuosa. El esfuerzo tenía recompensa, y por tanto había esperanza. Se les veía contentos gracias a la revolución que el futuro les deparaba, o eso es lo que pensábamos.

En pocos años pasamos de ver la tele en blanco y negro a tener una en color, poder grabar y reproducir usando una videograbadora (luego simplemente vídeo), o conectarla a un ordenador personal, que en aquellos años, era sensiblemente diferente a lo que IBM bautizó con el mismo nombre.…

Continuar leyendo...

Breadbox Ensemble



En DOS en la actualidad terminaba la pequeña saga de tres artículos, dando un repaso superficial a Ensemble, del que creo que merece un mayor detalle.

Breadbox Ensemble, conocido anteriormente como Newdeal Office (1996-2000), y GeoWorks o PC/GEOS (1990-1994), con el permiso de Xerox, GEOS era el entorno gráfico probablemente más profesional para ordenadores de los años 80. No en vano, sus orígenes se remontan a 1986 cuando lanzaron la versión para Commodore 64/128.

Desde su primera versión contaba con multitarea preemtiva, y menú inicio, por lo que no es de extrañar que Microsoft se acercara a ellos para intentar adquirirlos mientras trabajaban sobre Windows 2.…

Continuar leyendo...

GIF clásicos



Los que vivimos el principio de la multimedia, recordamos como en los tiempos de DOS, intercambiábamos disquetes con imágenes de alta calidad, primero artísticas, y luego de otros tipos.

No existía todavía JPEG, que llegaría a principios de los 90, y no empezaría a popularizarse hasta algunos años después, de manera que nos conformábamos con el máximo de 256 colores basados en paleta que ofrecía GIF, y que para ser sinceros, ya nos parecían de calidad fotográfica.

Usábamos CSHOW (CompuShow), nacido en 1987, poco después de la primera versión del formato GIF, la 87a, y que iría evolucionando enormemente, dando soporte a 89a, y llegando hasta 1995.…

Continuar leyendo...

FPS en ensamblador



En FPS con GRAPH.LIB, habíamos concluido con el análisis y resultados de diferentes implementaciones gráficas en C bajo DOS.

Os adelantaba que en ensamblador la diferencia de rendimiento no iba a ser demasiado elevada, y que el motivo era que la implementación de memcpy, era ya muy eficiente en los compiladores de C.

Pero me apetecía probar Jwasm, por lo que a pesar de todo lo implementé en ensamblador. Me lo estaba pasando bien, así que le apliqué algunos trucos que espero que os resulten interesantes.

Lo primero es que estoy mezclando instrucciones de 8, 16 y 32 bits. En general lo más veloz es usar de 32 bits, pero éstas van a consumir más espacio y memoria, por lo que salvo que estuviera en un punto crítico, he usado el menor tamaño posible para hacer la operación.…

Continuar leyendo...

FPS con GRAPH.LIB



En la anterior entrega (FPS con BIOS), vimos el funcionamiento de los servicios de BIOS. Lo que hoy haremos será exactamente lo mismo, pero usando las bibliotecas bibliotecas gráficas del compilador, en nuestro caso graph.lib de Watcom C/C++, es decir, como nos enseñarían a hacerlo, incluso en la universidad.

El código tiene un aspecto bastante distinto. En vez de BIOS, usamos _setvideomode para asignar el modo gráfico, _remappalette para fijar la paleta de colores y la combinación de kbhit y getch para comprobar el estado del teclado. Sin embargo a nivel estructural es equivalente, y el dibujo se hace también sobre píxeles individuales, que requieren para cada uno de ellos una llamada a _setcolor y _setpixel.…

Continuar leyendo...

FPS con BIOS



Después del artículo sobre Portabilidad, me apetecía retomar los programas y las técnicas de 500 FPS en un PC y 100 FPS en un PC (16 bits), para mostrarlo como sería el mismo proceso usando los servicios que ofrece la BIOS para video. Probablemente el método que usaríamos para implementarlo en una primera fase de aprendizaje.

La BIOS, Basic Input-Output System, hace de mediador entre el hardware, y el programador, ofreciendo servicios de bajo nivel que nos permiten acceder al mismo. A diferencia del acceso directo al hardware, el objetivo de BIOS es garantizar la compatibilidad. La idea inicial era que no importaba como estuviera diseñado un PC en concreto, siempre y cuando expusiera una interfaz común.…

Continuar leyendo...

DOS/32 Advanced



Cuando preparaba el artículo Portabilidad, me di cuenta que dentro de contrib\extender\dos32a estaba todavía incluído DOS/32 Advanced 7.20, la versión en la que tuve mucho que ver. Como en MAME y yo, es algo que tenía hace tiempo olvidado.

A principios de 2000, con el abandono de Watcom C/C++ por parte de Sybase, y el subsiguiente anuncio de liberarlo como código abierto, fue una decisión que me entusiasmó, por lo que no es de extrañar que tuviera cierta implicación personal en aquellos años.

En 2001, con la primera versión 11.0c, me centré en los extensores DOS. Watcom soportaba una gran variedad de ellos, y no quedaba muy claro cual era el mejor, pero probablemente no era DOS/4GW.…

Continuar leyendo...

Portabilidad



Como excusa para revisar los progresos de los snapshots diarios (27 MB en formato TAR.BZ2 vía FTP), decidí unificar los fuentes de 100 FPS en un PC (16 bits) y 500 FPS en un PC, para mostrar el funcionamiento del preprocesador de C, de cara a mantener la portabilidad entre plataformas.

El artículo pretendía explicar el uso de #define, #ifdef/#if defined, pero incitado de nuevo por los poderes ocultos de Watcom, me dediqué a ver hasta cuánto podía mejorar el original, sin necesidad de usar ensamblador. ¡Qué tiempos con el #pragma aux!

Lo primero que hice fue sustituir las llamadas a kbhit y getch, por una implementación directa basada en los servicios de teclado de la BIOS.…

Continuar leyendo...

Simulador de Casio F-91W en HTML



Hace casi 3 años ya de Simulador de Casio W-59 en Flash, llevaba un año o así dándole vueltas a programar un simulador, que además incluyera la funcionalidad del reloj.

Me puse manos a la obra, y tras cuatro días de trabajo, y más de 1000 lineas de código, finalmente os puedo presentar Simulador de Casio F-91W en HTML. Además de cambiar el modelo de reloj de un W-59 a un F-91W-1YEF, que no obstante comparten el módulo 593, incluye bastantes novedades en base a mi experiencia anterior.

Obviamente, y al dominar mucho más la plataforma, hay algunos refinamientos muy interesantes, como el uso de requestAnimationFrame en el caso de estar disponible, efectos CSS, manejo de eventos independientemente del navegador (tanto para dispositivos táctiles, como de escritorio o versiones antiguas de Internet Explorer), etc.…

Continuar leyendo...