Como todo el mundo sabe, el Software es la parte de un sistema informático «que no se puede tocar». Esta simple definición nos mete automáticamente en un submundo de tintes ajedrecísticos, muy sencillo en sus formas, y a la vez profúndamente infinito en sus contenidos.
Quinta entrega del Rincon de MikeVk.
Si esto fuese un medio de comunicación de masas generalista, y yo un serio y consagrado redactor, este artículo empezaría con la típica queja de que es tarea sumamente complicada el querer englobar en unos cuantos párrafos todo lo que el software (elemento abstracto e intangible donde los haya) significa, repercute, y condiciona los sistemas informáticos. En el título hemos etiquetado al software como materia gris. Esa materia inmaterial y a menudo inexplicable es la que por otro lado, coordina y condiciona las decisiones que pueden tomar esos coches que ya empiezan a circular sin conductor humano, por poner un ejemplo.
Oh, que bonito queda cualquier explicación acompañada de ejemplos con coches que conducen solos. Pero yo en mi línea, relacionar todo con las máquinas que más nos gustan, las que nos entusiasman de verdad. Pues sí amigo, tu solo has provocado un chispazo eléctrico cuando pulsas el pad de tu Megadrive, un simple impulso de calor convertido por esta materia gris que llamamos software en una reacción en cadena, que después de varios procesos, termina con el coche de policía del Street Of Rage tirando el misil (ya se que solo querías saltar, pero la primera vez siempre toca equivocarse).
Veamos el sistema desde la perspectiva más global posible.
La capa más externa somos nosotros, el jugador (léase «el usuario», que esto es ReadyAndPlay amigos). La capa más interna es el hardware, la máquina… ¡la megadrive! (me vengo arriba). La capa intermedia, efectivamente no es otra que el software. Esta es una excelente primera forma de visualizarlo. Ahora viene la magia, este enlace persona-máquina que llamamos capa de software puede a su vez dividirse en distintas subcapas, ¿cuántas?, yo diría que tiende a infinito. El sistema operativo, la administración de procesos, los firmware de control de dispositivos, nuestros programas, por supuesto nuestros juegos, y un largo etcétera. Si a ello le sumas asuntos como la virtualización y la emulación, parece que todo tiene su lógica. Ell software como buena materia gris, se hace divisible prácticamente hasta infinito.
Me viene ahora a la cabeza una expresión de un tal Eme Punto Rajoy refiriéndose a hardware, a máquinas. Seguro que os acordáis. Bueno pues ya que suele decirse que nos encontramos en la era de la Postverdad, nos vamos a permitir el lujo ni cortos ni perezosos de alterar el comentario del comentario de este señor simplemente sustituyendo el término «máquina» por el término «software», que no queda del todo mal. Ya veréis cómo os acordáis rápido.
Tenemos que fabricar software, que nos permita seguir fabricando software, porque lo que nunca va a hacer el software, es fabricar software a su vez.
Esa batalla la tiene que ganar el ser humano, respira hondo. Vayamos por orden y relajémonos, pues tiene un punto de interés este comentario.
Esto es algo tremendamente acertado a mi juicio, pues podríamos decir que uno de los paradigmas modernos del desarrollo, es utilizar software como herramienta o entorno de trabajo para fabricar más software cada vez de mayor calidad.
No hace falta irse a conocidos ejemplos de grandes corporaciones que nos ofrecen no menos grandes suites para desarrollar aplicaciones. Basta con resaltar excelentes productos como la Churrera, la CPCTelera, entre muchos otros, como perfectos ejemplos de una de las más importantes divisiones de capas de esta materia gris: fabricar Software que efectivamente, nos permita seguir fabricando cada vez mejor Software.
Lo que nunca va a hacer el software, es fabricar software a su vez.
Pues yo aquí tengo mis dudas. Igual no puedo disimular que soy fan de Terminator, de Matrix, de Ghost in The Shell… Pero sinceramente creo que esto si es un gran error. Son muchas las voces que están avisando ya de la extrema urgencia para elaborar una regulación que supervise, desde enfoques basados en la ética y los derechos humanos, el desarrollo y evolución de todo este cóctel de Inteligencia Artificial, Realidad Virtual, evolución de materiales potencialmente convertibles en hardware, entre otros muchos asuntos a valorar. Porque recordemos que la definición más general de Software es «todo lo que no se puede tocar en un sistema de computación», no solo el programa informático en sí.
Terminamos, esa batalla la tiene que ganar el ser humano.
¿Pero qué batalla? A mi me gustaría saberlo. No parece una batalla entre dos ejércitos, ni entre dos púgiles en un cuadrilátero, ni entre dos fuerzas políticas. Parece ser que es una batalla Seres Humanos versus Herramientas creadas por los mismos. Que alguien me lo explique. Que alguien me convenza que no es estúpido el panorama.
Volviendo al tema de la división de capas. Pongámonos en situación, desempolvas tu Master System, la conectas y cargas Alex Kidd in Miracle World, aprovechando que está en memoria y te da pereza buscar un cartucho en la estantería. Estás tú, está el software de este maravilloso juego, y está el hardware de La Sega (porque la Master System era La
Sega, y lo sabes).
Sin embargo hagamos una primera división en la capa software además del juego en sí, vayamos a la parte de este que controla las pulsaciones del mando, que a su vez condiciona el movimiento del muñeco (y el puño, claro). Bien, hace poco escuché en un programa de televisión a una mujer americana cuyo nombre no recuerdo, pero considerada una eminencia en cuanto a la investigación tecnológica, diciendo que muy pronto controlaremos los sistemas informáticos con el cerebro.
De acuerdo, todos entendemos perfectamente a lo que se refiere, y seguramente todos coincidimos con ella en mayor o menor medida. Pero yo tiro una pregunta: cuando juegas a Alex Kidd, ¿cómo controlas el juego?, ¿con las manos o con el cerebro?.
A las primeras de cambio y sin pensarlo mucho, a la pregunta del párrafo anterior probablemente hayas respondido «con las manos», normal. Pero si nos paramos a reflexionar con calma, permíteme entonces darte la enhorabuena, ¡qué manos tan inteligentes tienes!. Yo amigo lo siento mucho, pero las manos no me dan tanto de sí. Cuando juego a Alex Kidd, yo controlo al muñeco con el cerebro. Es mi cabeza quien decide cuándo saltar, cuando esperar, cuando soltar el puño, efectivamente siempre dentro de los límites que el sistema, en este caso el juego, me permita. Creo que sí amigo, nuestras manos son solo una interfaz (llamémosle interfaz biológica) que enlaza con un interfaz hardware como el pad de la Master System, quien se encarga de trasladar nuestras órdenes al núcleo del sistema.
Podemos ver a los huesos y músculos de nuestra mano, junto a los botones y microswichts del pad como simples «adaptadores» de una señal que en este ejemplo, sale directa desde nuestro cerebro (punto de origen) hasta el sprite del bueno de Alex Kidd (punto destino).
Así pues, podemos afirmar sin miedo a equivocarnos que ya estamos controlando los ordenadores y los videojuegos con el cerebro, de hecho siempre lo hemos hecho así. Entonces, ¿cambiará mucho el panorama cuando poco a poco se vayan suprimiendo las interfaces intermedias, tanto biológicas como electromecánicas, y la conexión cada vez sea más directa?.
Por supuesto que cambiará, no te quepa duda, porque las formas son tan importantes como los contenidos. Sin ir más lejos, date cuenta que
consultar una web siempre es consultar una web, no hay más. Sin embargo, poder consultar el portal ReadyAndPlay y comentar artículos con mi móvil desde la cola del pan o mientras espero al autobús es una situación muy diferente al caso de solo puder hacerlo frente a mi ordenador de escritorio sentado en mi habitación, tal y como era hace solo 8 o 10 años. Las formas cambian por completo los escenarios, tanto o más que los contenidos.
Para terminar, me gustaría relacionar un sistema con un dato o comentario sobre software.
Ya sabes que esto no trata de revelarte ese dato oculto que todo el mundo espera conocer, ni esa información maravillosa sobre el sistema que te deja boquiabierto. No tiene ninguna pretensión especial, de hecho algunos datos los he descubierto yo mismo mientras preparaba este texto. Sencillamente es hacer esta triple relación, un párrafo, un sistema, un dato sobre software.
SPECTRUM:
El intérprete de Basic con el que muchos dimos nuestros primeros pasos en el mundo de la programación de máquinas, reside permanentemente en la memoria ROM. Sin embargo los programas que escribimos se almacenan en RAM tal y como los escribimos, pero con una particularidad. El número de línea se guarda en formato binario utilizando 2 bytes, mientras que el texto se almacena literalmente en su correspondiente código ASCII. Sin embargo, las variables que utilizamos se almacenan de forma algo más compleja en caso de que el nombre que le damos tiene dos o más letras.
AMSTRAD:
Los seis primeros números de la Micromanía traían unos cuadernillos llamados «Doña Tecla», con listados para escribir programas en Basic para varios sistemas como Spectrum, Amstrad, MSX, C64 y otros para plataformas minoritarias, como el Sinclair QL, Dragon, Amstrad PCW u Oric Atmos. En el caso del Amstrad CPC solo fueron cinco, todos juegos.
COMMODORE:
El intérprete Basic de no tiene comandos para acceder directamente al chip SID. Sin embargo, existe la posibilidad de utilizar «pokes» para manejar todos los parámetros del sonido (canales, frecuencias, timbres, tonos, intensidades…) desde nuestros programas Basic, ya que Commodore 64 tiene mapeados en memoria todos los dispositivos físicos.
MSX:
Opera Soft desarrolló, en colaboración con Phillips, dos entornos gráficos para MSX, Egos (1986) y Ease (1988) con sus correspondientes pequeñas aplicaciones ofimáticas. Si compañero, puedes trabajar con tu MSX al más puro estilo Windows 3.1
ATARI ST:
Cubase, una de las Suites Software líder en el desarrollo y edición de música electrónica, vio la luz en esta emblemática máquina allá por 1989. Su primera y original versión puedes utilizarla a día de hoy. Pero ojo, ya sea en emulador de Atari ST o en máquina real, vas a necesitar igualmente unos mínimos conocimientos musicales, no te quepa duda.
AMIGA:
Desde las primeras versiones del Sistema Amiga Disk Operating System (AmigaDOS, 1985), hasta las últimas versiones del AmigaOS 4.1 en la actualidad (noviembre de 2017), se pueden contar para la colección de modelos de Amiga hasta 25 diferentes Productos de Sistema Operativo, entendiendo por tal el software de bajo nivel (Kickstart), los gestores gráficos y de archivos (WorkBench), y los modernos AmigaOS.
MS DOS:
Posiblemente el software más importante de la historia de la computación, por un cúmulo de variables (popularidad, abundancia de catálogo de utilidades y juegos, impácto económico, y un largo etcétera). Pero además, hay que decir que desde 1981 con el nacimiento de su versión 1.0 este sistema ha ocupado siempre (con diferentes implementaciones) un papel extraordinariamente protagonista hasta 2009, año en que se lanza Windows 7, primer sistema operativo de Microsoft que elimina de su núcleo todo rastro de MS-DOS. Un MS-Dos que ha gobernado directamente la mayoría de PCs domésticos hasta el lanzamiento de Windows 95, momento en el que con su versión 7.0 pasa a ocupar un papel secundario (no para los juegos, que sigue siendo prota). Con los modernos Windows 2000 y Windows XP pasa a formar parte de una «máquina virtual» dentro del propio Windows, lo que se conoce como «Subsistema MS-DOS». A día de hoy, tanto con un buen DosBox, como con las emulaciones online accesibles a golpe de clics, tenemos mil y una oportunidades de seguir disfrutando del software para este grandísimo sistema operativo.
NES:
La mayoría de las NES clónicas, nos las vendían diciéndonos que traían cientos de juegos en memoria, pero en realidad (al menos el modelo que yo tuve) eso de «en memoria» era una forma de hablar, lo que tenía era un cartucho en toda regla por dentro, que se desactiva mediante conmutador cuando introduces uno exterior para jugar.
MASTER SYSTEM:
¿Quieres programar para Master System?. Puedes empezar con un Hola Mundo, y terminar con lo que tu quieras. Aquí tienes todos los recursos que necesitas: http://www.smspower.org/Development/GettingStarted
MEGADRIVE:
Si eres Seguero de raza ya conocerás lo siguiente, pero para el resto de los mortales, ¿crees que el adaptador para jugar a juegos de Master System desde Megadrive realizaba algún tipo de traducción o transformación del software contenido en el cartucho original?. Pues no, el hardware de Megadrive contiene «implícitamente» una Master System, asique la circuitería de este aparato era prácticamente nula. Puede verse al Power Converter (así se llamaba este dispositivo), como un simple adaptador de zócalos de cartucho.
SUPER NINTENDO:
Satellaview, así se llamaba el aparato que conectado a un puerto de expansión de la SuperNES, permitía conectarse vía satélite y obtener distintos juegos o remakes exclusivos para descarga, además de participar en concursos y acceder a noticias sobre videojuegos. Puedes ver debajo en la imagen, vía wikipedia, el esquema de como circula el software en todo este sistema completo, pues hemos quedado que software es todos aquello que «no se puede tocar»
GAME BOY:
¿Sabías que todo el software del tetris (música, gráficos, código, etc.), al que tantas horas le echaste en esta gran consola portátil en blanco y negro, ocupaba tan solo 32 Kb. O visto de otra forma, el tetris de Game Boy pesaba unas 5 veces menos que cualquiera de las imágenes que acompañan este texto.
GAME GEAR:
La Game Gear es prácticamente una Master System portátil, hasta el punto de que todo software para Master System si se escribe tal cual directamente en un cartucho de Game Gear, funciona sin problemas en la portatil. El proceso inverso sin embargo sería inoperativo. Dado que la Game Gear tiene una paleta de colores más amplia, grabar software de esta en un cartucho de su hermana de sobremesa hace imposible su ejecución en ella.
ATARI LYNX:
¿Por qué se dice que el software de Atari Lynx se ejecuta en un sistema de 16 bits, si el microprocesador central de la máquina es un 6502 (el mismo que commodore 64, la NES, o el Apple II)?. Muy fácil, tuve la suerte de conocer y entablar cierta amistad en la RunZX y en la Retromadrid 2018, con uno de los mayores coleccionistas y expertos de Atari Lynx en España, cuyo nombre no puedo acordarme, pero al que le envío un gran saludo (nos veremos en la próxima). Él me lo explicó. Sencillamente se toma por referencia todo el núcleo central compuesto por este micro 6502 además de los Custom Chips gráficos y de sonido, los cuales si son muy potentes, y por supuesto de 16 bits. En consecuencia, seguimos considerando a la Atari Lynx una portátil de 16 bits.
Con esto terminamos, os emplazo como siempre a que me acompañéis, para principios del mes de Agosto, en la siguiente entrega del Rincón de Mike–Vk. La Telemática: las bodas entre el teléfono y el ordenador.
Un artículo de Mike VK.
Recordad visitar su canal si os interesan estos y otros temas.