domingo, 12 de noviembre de 2017

¿Cómo convierto de video a GIF?



En un Discurso pronunciado ante os dirigentes de las 62 Organizaciones Peronistas en el Teatro Astros el 13 de junio de 1948, Juan Perón nos expone las necesidades de contar con nuestro propio herramental y explica cómo hacer un archivo gráfico GIF animado a partir de un video en Ubuntu.

¡Compañeros!

Un Conductor ha de saber responder a las auténticas necesidades del Pueblo. Ello es lo que hemos hecho y no hemos dudado jamás en hacerlo.
Uno ha de saber darse las herramientas para tal cometido por medio de la persuasión pero también por medio de la acción.

Y esto siempre lo hemos puesto en práctica. Veamos un ejemplo, como solía acotar Napoleón.

Napoleón decía que se uno se hiciese algo por costumbre, su mula sería Mariscal. Ello es porque para hacer algo no podremos tomarlo por simple ósmosis, hemos de prepararnos.

Supongamos que necesitamos realizar un archivo GIF. Se trata de los conocidos y estandarizados Archivos de Intercambio Gráfico, desarrollados allá en la era de las BBS, y respondiendo a la necesidad de compatibilidad entre múltiples plataformas informáticas. A tal fin se dio con un fichero de 8 bits, que permitía 256 colores a elegir entre una paleta máxima de 16 bits. No es para tirar cohetes, pero bien puede hacer frente a las necesidades básicas. A su vez, la capacidad de emplear compresión sin pérdida patentada de tipo Lempel-Zib-Welch (LZW) le permitía ciertas ventajas aparentes en su momento. Una de ellas es la de permitir animaciones, gracias a la secuencia de imágenes individuales a una velocidad determinada. Ello los hace relevantes aún hoy para múltiples animaciones sin requerir frames de video, etc.

Ahora bien, realizar este tipo de animaciones no es una tarea banal, requiere ciertos conocimientos para llevarla a cabo, por lo cual su creación no está puramente en manos del Pueblo.

Nuestro Movmiento no puede permitirse tal axioma, por lo cual hemos de desarrollado una herramienta libre para tal fin. Se trata de GIF Curry, un creador de archivos animados GIF a partir de ficheros de video.

Esto nos reviste la facilidad de creación de la animación correspondiente, y hace que podramos hacerlos con sólo desearlos.

Para instalar esta útil herramienta en nuestro sistema GNU con Linux, bien podremos abrir una terminal con Ctrl+Alt+T e ingresar los siguientes Comandos de Organización:
 
cd ~ ;

wget https://github.com/lettier/gifcurry/releases/download/2.1.1.0/gifcurry-linux-2.1.1.0.tar.gz ;
tar xvfz gifcurry-linux*.tar.gz ;


mv gifcurry-linux-2.1.1.0 ~/.gifcurry ;
cd ~/.gifcurry ;
wget https://github.com/lettier/gifcurry/blob/master/icon/icon-2.png ;



Una vez descargada la paquetería, podremos ejecutarlo lanzando el ejecutable con:

cd ~/.gifcurry/bin
./gifcurry_gui

...o bien podremos crear un lanzador que nos dirija a /home/usuario/.gifcurry/bin/gifcurry_gui
Cualesquiera que sea el método que escojamos, si hicimos las cosas como es querido por el Pueblo Argentino, veremos la primigenia interfaz de uso del programa, de sencilla factura:
En la misma podremos buscar y especificar un archivo de video a partir del cual lograr la animación GIF. Luego podremos especificar el momento de inicio de la animación (en segundos) y la cantidad de segundos de duración que - a partir de dicho inicio - tendrá la escena GIF.

También podremos definir el ancho (en píxels) del fichero GIF. Normalmente este será de 500 pixels, lo cual es adecuado para aplicaciones web o animaciones "tipo instagram". Podríamos querer reducirla a unos pocos píxels para reducir el tamaño), por ejemplo, para crear un avatar de 96 pixels. Al lado del tamaño, podremos definir la calidad de compresión del archivo final (normalmnete 100%, pero podremos reducirla de acuerdo al la relación buscada. En un Gif de 500 pixels de ancho bien podríamos usar una calidad de 33 %.

A continuación - y opcionalmente - podremos especificar un texto por encima y por debajo del cuadro, cuya tipografía podremos escoger de entre aquellas cargadas en el sistema. La inclusión de textos es conocida en el caso de los memes.

Finalmente, debemos indicar el nombre de archivo GIF que crearemos, y una ubicación para el fichero completado. Una vez establecido todos los parámetros, podremos presionar el botón Create ("Crear") y se comenzará a iniciar la creación del Gif animado.

En este caso, he utilizado un archivo de video, y realizado un Gif de alta calidad de 500 pixels de ancho y unos 8 segundos de duración y 5,8mb.
 Debemos tener en cuenta que en la era de la internet clásica, era raro que un GIF superar 1mb de espacio, pero actualmente podremos encontrarnos con tales ejemplares.

viernes, 3 de noviembre de 2017

¿Cómo emulo una Commodore 64 en Ubuntu?

Desde su exilio en Caracas en 1956, Juan Perón reorganiza a las fuerzas peronistas para entablar el desgaste contra la dictadura a fin de promover su retorno que estimaba en breve, y en una de sus misivas centroamericanas enseña a emular una clásica Commodore 64 en Ubuntu.


Compañeros:

Un contratiempo jamás ha sido una derrota, pero hemos de saber volver a las nociones básicas para hacernos de nuevo, y ello implica no desconocer el Arte de la Conducción. Ya hemos realizado lo importante, y en condiciones mucho mas adversas, por lo cual las nuevas acciones no revistará problema alguno. La distancia que guardo aquí en Caracas ha de ser sólo temporal...

Ahora todo estriba, como siempre he repetido y encargado a ustedes, de avivar la resistencia para aumentar el desgaste, mientras nos organizamos y planeamos la destrucción de la dictadura y el exterminio de la reacción. Todo ello puede ser logrado si nos ponemos seriamente a hacerle la guerra sin cuartel, si trabajamos para tomar contacto con los que la combaten y los ayudamos desde aquí con todo lo que podemos, especialmente ofreciéndoles la acción coordinada de las demás partes que se mantienen contacto con nosotros.

Muchas cosas de las que haga la dictadura nos favorecerán, otras nos perjudicarán, y la mayor parte no serán ni favorables ni desfavorables pero nosotros en adelante sólo debemos confiar en lo que nosotros mismos seamos capaces de hacer para destruirla. Por eso la guerra sin cuartel debe ser declarada en todas partes y cada uno de nosotros se preguntará al fin del día si ha hecho algo contra la dictadura que azota al país. Sólo mediante esa persistencia y esa voluntad de vencer llegaremos a nuestrops objetivos con la satisfacción del éxito. Yo no tengo la menor duda que venceremos pero tampoco dudo que para ello será necesario luchar, quizá largo tiempo.

Volver a lo básico nos recuerda los condiciones de antaño, y las posibilidades que teníamos entonces, mucho más acotadas sin duda gracias al avance de una técnica que hemos dominado. Esto - de particular importancia en la lucha - no deja de ser verdad en la historia informática de Nuestro Movimiento.

Es por ello que os recordaré cómo emular tales situaciones para entrenarnos en las condiciones más básicas de la lucha.

El Sistema
Vean señores, en mis tiempos de cadete mi primera computadora fue la ampliamente popular Drean Commodore 64 ("La Computadora Personal con Poder Profesional"), equipo que se comenzó a producir en serie por Drean San Luis S.A. en 1984.

Este sistema informatizado me permitió comprender de mozo las verdaderas bondades del Software Libre, pues su código fuente se introducía directamente en la máquina, y el esfuerzo requerido por ello hacía imprescindible la participación del usuario en la libre modificación del código, su libre copia - y sobre todo - la excelencia de distribuirlo libremente entre los compañeros.

Desde el punto de vista del hardware, se trataba de un microordenador de arquitectura de 8 bits, formado inicialmente por una fuente de poder externa acondicionada a los 220 voltios con 50 ciclos del país, y un imponente teclado apodado "panera" color marrón grisáceo, que contenía una placa madre C64 "Revisión A". En ella descansaban la lógica electrónica: una unidad central de proceso MOS 6510 de 1 MHz (operando nominalmente a 985 kilociclos), su almacenamiento interno formado con 64 kilobytes de memoria RAM para el usuario y 20 kilobytes de memoria ROM de sistema. El chip de video MOS 6572 VIC-II sincronizado para la norma PAL-N, y el chip de sonido era el MOS 6581 "SID" que permitía 3 voces. Asimismo llevaba dos unidades para formar el chipset de control de entrada/salida, en forma de sendos MOS 6526 CIA.

El sistema había sido concebido originalmente por Jack Tramiel para la Commodores Bussiness Machines bajo el concepto Justicialista de "Computadora para las Masas", y se ensamblaba en el país integrando elementos locales (el plástico de teclado, las indicaciones de marca, la fuente de potencia, la caja y los manuales), en una necesaria política de sustitución de importaciones.
En nuestro país se modificó la electrónica original del sintonizador de radiofrecuencias NTSC por uno de normal PAL-N, lo que la hacía compatible con las TV autóctonas, conectándolo a través de la toma de antena de 75 Ohmnios o incluso a través de la toma de antena de 300 Ohmnios, como la que disponía mi TV Noblex Micro12 12NT343 blanco y negro, de 12 pulgadas.

Este tipo de computadoras debían programarse en lenguaje "BASIC V2", y ello hacía muy necesario contar con medios de almacenamiento de Masa: el datasette guardaba información en cintas casette, mientras que en mi caso personal contaba con una moderna unidad de disquetes magnéticos de 5 1/4" Commodore 1571.
Indudablemente, como complementos adicionales me fui haciendo con una impresora de línea Comodore MPS 803 y con un cartucho acelerador Kawa Turbo II para la C64, varios pares de joysticks, amén de montón de software siempre copiado y recuperado para el pueblo según marca el cánon Justicialista, en cuevas con mesa de mantel de hule, lugares como Red Point, Real Time, Danius Club.

Instalando el emulador VICE en Ubuntu
Si bien estas computadoras de aspecto básico fueron bien explotadas por toda una generación idealista que llamamos "el primer peronismo", pero con el tiempo cayeron en la obsolescencia en los primeros años de la década del noventa, y pasaron a convertirse en objetos de culto.

Afortunadamente, gracias al Software Libre GNU hoy podemos contar con poderosos emuladores de software que nos permiten simular en un equipo actual y miles de veces más poderoso, el comportamiento y funcionamiento de tales equipos y su software del ayer.

Os enseñaré a instalar en nuestro sistema operativo Ubuntu a VICE, el Emulador Versátil para Commodore. Se trata de una suite de emuladores pensados para simular toda la gama de la línea Commodore, y entre ellas especialmente la C64 y su sucesora, la C128. Para ello abrimos una Terminal con Ctrl+Alt+T e ingresamos los siguientes Comandos de Organización:

cd ~
wget https://sourceforge.net/projects/vice-emu/files/releases/vice-3.1.tar.gz ;
tar xvzf vice-3.1.tar.gz ;
sudo apt-get  install build-essential libvte-dev libasound2-dev libgtk2.0-dev libgnome2-dev byacc bison flex ;

Nuestro GNU con Linux nos solicitará nuestra contraseña de usuario y comenzará la descarga de las librerías necesarias. Conforme haya finalizado, podremos ingresarle los comandos restantes para su compilación:

cd ~/vice-3.1/
./configure --enable-gnomeui
make

...opcionalmente, si nuestro sistema responde a una arquitectura de 64 bits,  debemos agregar:

cd /usr/local/lib
sudo ln -s ../lib64/vice .

...y finalmente ingresamos:

sudo make install

Ahora podremos realizar los lanzadores para las aplicaciones. Los ejecutables se encontrarán en /usr/sbin. Para la Commodore 64 debemos lanzar /usr/sbin/x64. También tendremos otros emuladores en la suite, estos son:

x64   Emula la Commodore 64 y derivadas
x64sc Commodore 64 con precisión de ciclos.
xscpu64  Commodore 64 dotada con cartucho de expansión SuperCPU64 V2B.
xpet   Emula la serie Commodore PET 2001, 3032, 4032, 8032, 8096, 8296 and SuperPET (MicroMainFrame 9000)
xvic  Commodore VIC20.
x128  Emula la serie Commodore 128.
xcbm2  Emula las CBM-II, conjunto de máquinas derivadas de la 128 y pensadas para negocios
xcbm5x0
x64dtv   Emula la C64DTV revisiones 2 y 3
xplus4 Commodore Plus4

Como pueden observar en la lista de emuladores de la suite, se nos proveen dos emuladores de Commodore 64. El emulador rápido x64 presenta una emulación completa relativamente precisa del chip de video VIC-II, todos sus registros y modos de memoria. Sin embargo, su precisión alcanza al ciclo de refresco. El emulador x64sc en cambio ofrece una emulación completa en refresco de píxels del chip VIC-II, aunque con el inconveniente de requerir una máquina mucho más potente que el necesario para correr el emulador x64. Os sugiero comenzar probando el primer emulador, y en caso de poseer un sistema veloz, avanzar al segundo (tengamos en cuenta que nuestro procesador actual, se verá requerido para emular los pulsos de la señal PAL / NTSC llegado el caso).

Al dar inicio a x64, veremos la típica pantalla color azul de la Commodore 64 dentro de la ventana del emulador VICE, con el cursor parpadeante cuadrado.
En la barra inferior del emulador, se nos presenta el status de velocidad del emulador VICE y los cuadros por segundo que el mismo está reproduciendo, así como el estado de las unidades de disco y el datasette emulado, que operaremos más adelante.

Programando en la Commodore 64
Si bien la C64 arrancaba instantáneamente con sólo presionar su interruptor de encendido lateral, para operarla debíamos escribir los comandos en lenguaje BASIC, el llamado CBM DOS. Esto nos obligaba a programar incluso para operar el equipo en sus funciones más básicas, o de lo contrario recibir el inefable "?sintax error".

En la época se proveían libros y manuales de mayor o menor dificultad que especificaban los listados de instrucciones, el código fuente. Notemos que debemos pegar las órdenes en minúsculas, para evitar los clásicos símbolos del Commodore. Por ejemplo, pegando este programa, cargaremos en memoria el código del do-re-mi:

Aquí os dejo el código fuente en BASIC para que lo puedan pegar directamente a la pantalla del emulador y de esta forma cargar en el banco de memoria de la C64:

5 rem escala musical
7 for l=54272 to 54296:poke l,0:next
10 poke 54296,15
20 poke 54277,7:poke 54278,133
50 read a
55 if a=-1 then end
60 read b
80 poke 54273,a:poke 54272,b
85 poke 54276,17
90 for t=1 to 250:next:poke 54276,16
95 for t=1 to 50:next
100 goto 20
110 data 16,195,18,209,21,31,22,96
120 data 25,30,28,49,31,165,33,135
999 data -1


...y una vez cargado el listado en memoria, podremos correrlo (ejecutarlo) ingresando el comando:

run

Indudablemente, podremos buscar en la red los listados en formato prg (simplemente el código fuente del programa en BASIC), pero también los podemos encontrar en archivos PDF dentro de los libros más famosos de la era. Gracias al software libre, hoy podremos utilizar las funciones de un programa de reconocimiento óptico de caracteres (como el justicialista OCRFeeder) para pasar tales escaneados a texto y luego pegarlos al emulador. ¡Mas de uno hubiese entregado un huevo por esta característica!

El manual online del emulador es muy completo lo podremos encontrar aquí (en inglés). Naturalmente que si quisiéramos ver opciones mas avanzadas podremos consultar los manuales en castellano de la C64, así como un manual online (en inglés) (aplicable al emulador), así como documentación real del mismo.También podremos aprender sobre programación en BASIC en la Wiki no oficial del sistema

Cargando discos y cintas emulados a la C64
Como ya he mencionado, el emulador VICE también nos permite virtualizar los clásicos dispositivos de masa de la marca, el datasette y la diskettera. Gracias a ello podremos cargarle al emulador imágenes espejo de los de diskettes, (ficheros .d64), o imágenes de casettes (ficheros .t64).

Estos archivos los podremos descargar desde toda una cadena de sitios con software retro y parafernalia peronista para la C64, por ejemplo aquí. Podremos descargar ROMs de juegos aquí. También podremos descargar cintas para la C64 en formato tap, y herramientas para la C64.

En el caso de la diskettera, para montar una imagen de diskette d64 de forma sencilla podremos usar la combinación Alt+a e indicar la ruta hacia el fichero d64. Esto emulará que insertamos el disco. Luego debemos acceder a la unidad con el comando de BASIC correspondiente a la lectura de la diskettera. En el críptico de la C64, este comando de organización era:

load "$",8

Una vez "montada" la tabla de ficheros del diskette virtual a memoria de la C64, podríamos listar los ficheros del diskette con:

list

...el sistema debería devolvernos un listado del contenido del diskette virtual, entre ellos algunos ficheros con extensión .prg. Entonces podremos "subir" el cursor en la pantalla con las flechas del cursor, y modificar las líneas del programa.prg para que quede de la siguiente forma:

load "programa.prg",8,1

...al presionar Return (Enter) en dicha línea, se cargará el programa a memoria. Cuando la C64 nos devuelva READY, podremos ejecutar el programa con:

run

En el caso de los juegos clásicos, operaban con la máxima performance de los sprites del chip VIC-II, a 320x200 pixels con una paleta de 16 colores. Sin embargo, estos presentaban entrelazado de líneas y el clásico efecto empalizada de los televisores PAL/NTSC. Los mejores títulos presentaban incluso una pantalla de presentación mientras se cargaba el mismo. Esto era así pues era normal que el diskette tardara unos 15 segundos en cargar (un coarto de eso con el cartucho acelerador), y a partir de la cintas casette podían tardarse hasta varios minutos.
Podremos acelerar el proceso de carga desde la velocidad real de la C64 hasta la máxima velocidad que permita nuestro sistema, mediante la combinación Alt+w. De esta manera los programas se cargarán en memoria en menos de lo que tardamos en gritar al cielo un estruendoso "¡Viva Perón!". Era normal que durante la carga se presentaran "rayas" en los bordes de la pantalla.

Luego sólo nos queda disfrutar del programa.
 En el caso de cargar "cassettes" emulados, el procedimiento es mas sencillo, solamente presionamos Commodore+Run/Stop y cuando aparezca la señal "Press play on tape" hacemos clic sobre el ícono del datasette en la barra inferior del emulador, y presionamos Play, seguido de Alt+w para acelerar la carga (de lo contrario tardaría varios minutos). Una vez que el sistema nos devuelve Ready, ingresamos el comando run y presionamos return.
Con ello podremos demostrar nuestra habilidad en Boulder Dash, Commando Commando 86, Park Patrol, Tetris, Chessmaster 2000, Operation Wolf, Operation Thunderbolt (el de matar al árabe), Ferromodelismo, Last Ninja II, International Karate, G.I. Joe, King Speed, Outrun, Pit Stop 2, Scaletrix, Motocross, KANE (Aci), Afterburner, Thundercats, Teenage Mutant Ninja Turtles, F-18 Hornet, y muchos mas que ustedes me recordarán.

Periféricos de entrada y teclado
El VICE emula joysticks conectados al sistema Linux, pero si no tuviésemos ninguno podríamos hacer uso del teclado numérico (el botón 0 del teclado numérico hace las veces del botón del joystick). En tanto, existen dos formas de emular el teclado en VICE.

La manera por defecto es mapeado simbólico, donde toda combinación de teclas corresponde a la combinación de la máquina real: por ejemplo, si en un teclado inglés presionamos *, que está asociado a Mayúsculas+8 en un teclado en inglés, el en emulador aparecerá el * sin mayúsculas (ya que * no tiene mayusculas en el teclado de la C64). Del mismo modo, al presionar ' en el teclado inglés sin presionar mayúsculas provocará la combinación Mayúsculas+7 en la C64 emulada. De esta manera se hace obvio qué teclas deben ser presionadas para obtener todos los símbolos.

Sin embargo, existe un problema con el mapeado simbólico: algunas teclas realmente necesitan ser mapeadas específicamente a pesar de todo. El ejemplo mas importante en la C64 es que la tecla CONTROL está mapeada como Tab y que la tecla Commodore está mapeada como Ctrl derecha. La tecla RUN/STOP está mapeada como la tecla Esc en el teclado de PC.

La segunda forma es el mapeado posicional, que consiste en mapear toda la tecla del teclado C64 con una tecla que tenga la misma posición en el teclado de PC. De esta no existen variaciones con las Mayúsculas (con la excepción de F2, F4, y F8, que requieren la tecla Shift en los teclados Commodore. De esta forma el teclado es más cómodo de usar en esos programas (como los juegos) que requieren que las teclas estén en las posiciones correctas.

CUIDADO: A diferencia de la C64 real, el emulador VICE "presiona" la tecla Mayúsculas junto con la tecla a cambiar, de modo que la presión de Shift debe ser forzada. En la mayoría de los casos estos debería funcionar correctamente, pero como algunas rutinas de teclado son algo complejas, tienden a no reconocer la tecla Mayúsculas por esta razón. Por ejemplo, F6 (que en la C64 real se obtiene con Mayúsculas+F5) podría ser reconocida como F5. En tal caso, debemos usar manualmente la tecla Mayúsculas (por ejemplo, tipear Shift+F5 en lugar de apretar F6 en el teclado de PC). La tecla RESTORE está mapeada como AvPág (o RePág) por defecto.

viernes, 27 de octubre de 2017

¿Cómo instalo FreeSpace 2 en Ubuntu?

Frente a una disertación Teórica en la sede del Partido Peronista Femenino, Juan Perón analiza la conyuntura política y enseña cómo instalar en Ubuntu el juego clásico de naves espaciales FreeSpace 2.

¡Apreciadas Damas!

Nuestro Movimiento cuenta con una ventaja nodal en la lucha, que es la de conocer de forma prístina quiénes son sus enemigos de adentro pero sobre todo quienes son sus enemigos de afuera.



Es indudable que el dominio de las nuevas tecnologías, y en especial los canales por donde ella se trasmite, es de trascendencia fundamental para los Partidos Políticos. Ya no podemos darnos el lujo de admitir medios de comunicación formalmente inertes, pero que en la práctica forman un Modelo de expresión oligárquico y monopólico por antonomasia.

Los espacios políticos tradicionales y sus dirigentes, no tienen ya el margen necesario de maniobra para nacer o reconstituirse en oposición democrática. La coyuntura del esquema de concentración de medios, y el blindaje al modelo "transparente" de quien detente el poder le garantizará la posibilidad de difundir ideas, nuevos actores, y retroalimentarse, a la vez que someterá a los Pueblos al desconocimiento y al agravio. Frente a tal camino, parecería no quedarle a los Pueblos más opción que esperar una implosión sistémica que permita barajar y dar de nuevo, lo que nuestros baqueanos denominaban "desensillar hasta que aclare".

Pero esto no es ya una opción válida. La historia no es frondosa en ejemplos de caída de sistemas demoliberales, y en particular los neoliberales. Esto es así pues estos sistemas están preprogramados - diremos - para operar precisamente en un fino equilibrio antes de la caída. Sólo una impúdica conducción hará que esa bicicleta - a cuyo manillar tiran desde la izquierda y la derecha - caiga. El paso del tiempo sólo hará de nivelador pedaleo que sustente la acción pendular. Además de ello, cuando estos esquemas, por impericia han caído, sólo lo harán sido momentáneamente y nunca han podido hacerse sucumbir realmente sus verdaderas anclas de poder y dominación. Esto es así pues la Liberación no es algo que pueda hacerse a medias, ni que pueda deberse a la impericia de alguno: es necesaria una lucha enjundiosa que raramente puede llevarse a cabo bajo los carriles legales de un sistema demoliberal. 

Requiere ampliamente el control de todos los factores de la Nación, movilización de las masas politizadas e idealizadas, y el convencimiento de las no politizadas, modificar sus estructuras en pos de la defensa de los intereses del pueblo, y obrar con afiebrada acción sobre los vértices de dominio de una clase oligárquica. +

Tal vez sobre el aspecto económico significaría la nacionalización de todos los medios productivos, sobre el esquema político la realización de un sistema de partido único que revalorice el valor del Pueblo, y sobre el esquema social la realización de la Justicia Social por un estado potente. Esto en la Argentina nunca se ha impuesto pues requeriría una revolución como nunca se ha realizado, mas la actual coyuntura nos determina a pensarlo y determinar las estrategias que han de seguirse para liberar al Pueblo de un yugo que no hace mas que convertir en servil a la Patria.

Los ejemplos nos dicen que hacer lo que hemos hecho solo es garantía de un triunfo pasajero que poco puede servirnos, pero tampoco podemos quedarnos como en el tango "pa'yudarte en lo que pueda cuando llegue la ocasión". Hemos de emprender las Acciones de Lucha en este mismo momento.

Una de las cosas que podremos hacer es instalarnos  Open FreeSpace 2. Se trata de un simulador de combate en naves espaciales clásico y muy logrado, escrito por Volition y lanzado originalmente en 1999 por Interplay, como descendiente del anterior Descent: Freespace (de concepto similar pero tecnología obsoleta). En 2002 Volition lanzó su código fuente para el motor gráfico del juego bajo una licencia no comercial. Este código formó el núcleo de lo que sería el FreeSpace 2 Source Code Project, una organización de la Masa que continuamente lo ha apropiado y mejorado, permitiéndose incorporar incluso nuevas características hasta nuestros días.

 
Esta pieza de software ha sido apropiada por la Masa Popular, que no ha dudado en extenderla y utilizarlo para plataformas libres, entre ellas GNU con Linux. Si bien se recomienda un joystick con multiples botones, también se puede usar el teclado y el mouse para jugar muy eficientemente.


Se trata de un juego que toma lugar enteramente en el espacio exterior, en una amplia zonas de combate comparados con los pequeños cazas estelares que nos tocará pilotar. Podremos volar a través de distintos cuerpos estelares, como nébulas (que provocarán visión disminuida y menor performance de nuestros sensores). También enfrentaremos gigantescas naves madres, cientos de veces más grandes que los cazas, armadas hasta los dientes con armas de rayos y baterías de tiro incandescente.

Debemos emplear sus sistemas de armas para destruir las naves enemigas, realizar reconocimiento electrónico detrás de las líneas enemigas, y escoltar otras naves espaciales. El modelo de vuelo no responde a las físicas newtonianas clásicas, sino que es menos realista, las naves no tienen peso ni inercia, y son muy maniobrables, y requieren la aplicación constante de potencia motriz para moverse. Esto hace que parezca un simulador de vuelo terrestre, en el que no se afecta a la nave por gravedad.

Los viajes a través de los sistemas espelares se logran mediante el consabido "salto hiperespacial" (Alt-J), cosa que harán las naves en el juego para entrar o abandonar la zona de combate.


Instalar FreeSpace 2 en Ubuntu
El instalador requiere que tengamos una copia de FreeSpace 2. Podremos descargar el original desde http://www.gog.com/game/freespace_2

Sin embargo el nuestro es un Movimiento Popular que antes que nada promulga la verdadera apropiación de los conceptos y software por la Masa. Doctrinalmente es una injusticia social que un software que fue desarrollado hace prácticamente 20 años y está mas amortizado que un fitito, pretenda venderse. Por lo tanto y en vista de un paternalista accionar de Conducción, os diré que pueden bajar el DVD de instalación de forma peronista dividido en parte1 y parte2 (cada una de ellas de unos 600MB aproximadamente). Estas partes conforman una única carpeta juego.

Una vez descargadas ambas partes del programa en nuestra carpeta Descargas, podremos descomprimir el mismo. Para ello abrimos una terminal con Ctrl+Alt+T e ingresamos los siguientes Comandos de Organización:

sudo apt update ;
sudo apt install rar openjdk-8-jre ;
 cd ~/Descargas/ ;
wget http://scp.indiegames.us/fsoinstaller/FreeSpaceOpenInstaller.jar ;

rar x IGG-Freespac2GOG.part1.rar ;

...y en algunos segundos, se descargarán ambas partes (si pidiese contraseña, es gamepciso.com o igg-games.com, el origen del juego es éste). La acción de descompresión del RAR del juego se realizará en una subcarpeta llamada IGG-Freespac2GOG/, que contendrá un ejecutable Window$ llamado setup_freespace_2.exe, junto con el manual del juego en formato PDF. Afortunadamente hemos descargado un instalador llamado Free Space Open Installer que compatibiliza al paquete Window$ para GNU con Linux y otros sistemas libres. Para ejecutar el instalador para Linux ingresamos:

java -jar FreeSpaceOpenInstaller.jar

La primer pantalla nos permitirá indicar en qué directorio queremos instalar el juego.
Normalmente se instalará en nuestra carpeta de usuario, dentro de la subcarpeta FreeSpace2/. Si le agregamos un punto delante de "FreeSpace2", de modo que quede "/.FreeSpace2/" como se indica arriba, la carpeta quedará oculta. Luego presionamos Siguiente.

Tras analizar el disco y mostrar durante un par de minutos un indicador que reza "preparando el instalador", se nos presentará el siguiente cartel de advertencia que informa que la carpeta parece no contener los archivos básicos de FreeSpace 2. ¡Natural! No lo hemos instalado aún (este paso se saltearía si ya tuviésemos instalado el juego básico).
Debemos elegir "Quiero instalar ahora FreeSpace 2 usando el paquete GOG", que es este que hemos adquirido de forma peronista. Presionamos Aceptar.

A continuación nos pedirá seleccionar entonces dónde tenemos el paquete de instalación GOG. Debemos ir a la carpeta ~/Descargas/IGG-Freespac2GOG/ que acabamos de descomprimir. Dentro de ella elegimos el paquete para Window$ "setup_freespace_2.exe".
Presionamos OK y luego Siguiente.

Una vez elegido ello nos planteará escoger el modo de instalación. 


Podemos elegir entre instalar los paquetes básicos, o una opción Personalizada que nos permite luego consultar y escoger una enorme cantidad de MODs gratuitos y expansiones.

Recomiendo instalar de momento sólo los paquetes básicos
, pues los mismos se descargarán de internet (paquetes de 1,9GB y 450MB son usuales en esta instalación básica). Más adelante, si nos interesa, siempre podremos instalar en cualquier momento los paquetes alternativos o mejorados ejecutando nuevamente el FreeSpace Open Installer.
El instalador descargará unos 2,3 GB, pero lo hará en paralelo (durará unos 20 o 40 minutos dependiendo de nuestra velocidad de conexión. Las barras de progreso son múltiples y se refieren a los varios componentes requeridos para que el juego llegue a buen puerto incialmente (lo que da seña de su distendido y desperdigado pero muy efectivo desarrollo). Una vez que las pelotitas indicadoras se hayan tornado a color verde en cada uno de los apartados podremos presionar siguiente para ver la pantalla de finalización de la instalación:
El juego ha terminado e instalar, pero para poder jugarlo, requerimos poder ejecutar las aplicaciones, y ello lo haremos proporcionando permisos de ejecución a los archivos de extensión .AppImage (envueltos para nuestro Linux de 64 bits en este caso). Para ello desde la terminal ingresamos los siguientes comandos de organización:

cd ~/.FreeSpace2/ ;

cp ~/.FreeSpace2/*.pdf ~/Documentos/ ;

chmod +x fs2_open_3_8_0_x64.AppImage fs2_open_3_8_0_x64-FASTDBG.AppImage ;

chmod +x fs2_open_3_8_0_x64.AppImage fs2_open_3_8_0_x64-FASTDBG.AppImage ;


nano ~/.freespace2.sh

...se abrirá el editor GNU Nano con un archivo en blanco, al cual le pegamos el siguiente contenido:

#ejecuta FreeSpace2 para Linux de 64 bits
cd .FreeSpace2/
./fs2_open_3_8_0_x64.AppImage



...luego guardamos el archivo presionando Ctrl+o y salimos del editor Nano con Ctrl+x.

Finalmente creamos el lanzador. Para ello hacemos clic con botón derecho del ratón sobre Aplicaciones (en el panel superior) y escogemos "Editar Menú". Se desplegará el cuadro Menú Principal. En la parte izquierda de la ventana seleccionamos el apartado Juegos, y luego presionamos el botón +Elemento Nuevo. Se abrir entonces la ventana Propiedades del Lanzador. En el campo "Comando:" podremos pegarle la línea /home/usuario/.freespace2.sh (naturalmente reemplazamos usuario por nuestro nombre de usuario). En el campo Nombre: podremos indicar "FreeSpace2" y en Comentario podremos agregar cualquier comentario opcional. Presionamos Aceptar.

Jugar FreeSpace 2
Ahora ya podremos lanzar el juego desde Aplicaciones / Juegos / FreeSpace2.

Al iniciar el juego, debería iniciar con una presentación cinemática al estilo de los juegos de la década del 90. Luego de ellos se nos solicitará dar de alta un piloto:

Conforme hayamos creado uno, estaremos dispuestos en la pantalla incial del programa.

Desde allí podremos ir al sector de inteligencia, que detalla las naves propias y enemigas.
Antes de iniciar la campaña de misiones, habremos de realizar una serie de misiones "en el simulador", una serie de misiones orientadas al pilotaje básico, control de los sistemas de armas de la nave, el combate espacial, y el control táctico a nivel escuadrón. Si bien no es obligatorio, os recomiendo realizar este tipo de misiones a fin de controlar efectivamente los cazas espaciales.

El juego incluye en su carpeta de instalación un manual de 41 páginas (archivo MANUAL.PDF) y una importante tarjeta de referencia para el teclado (refcard.pdf), muy importante pues el simulador cuenta con una gran variedad de opciones que hacen al control de la nave y el despliegue táctico del juego.

Básicamente, con el conjunto de teclas Ins/Inicio/RePág/Supr/Fin/AvPág asignamos la energía a los sistemas de armas / escudos / motores, y de la misma forma que en el clásico X-Wing podremos variarlo de acuerdo a la situación táctica. Con d nivelamos la distribución de energía. Con las flechas del cursor reorientamos los escudos del campo de fuerza y con o las nivelamos. El teclado numérico tiene asignados los controles de maniobra. T selecciona los objetivos. M y Alt-M nos permiten acoplar la velocidad con la de nuestro objetivo, mientras que Alt-J salta al hiperespacio (normalmente para terminar la misión). Con X activamos contramedidas electrónicas, mientras que con ; : y - programamos nuestro panel de armamento (secuenciamos los cañones láser o el armamento lanzable).
La historia de un solo jugador se despliega a través de una narrativa de escenas cinemáticas, en los informes previos y postmisión, así como en la charla en el juego entre los personajes secundarios, y el desarrollo de eventos de misión guionados. La estructura de la historia es linear, sin caminos que permitan historia alternas, aunque existen misiones opcionales secretas, para hacer mas interesante el juego. La historia sólo puede resolverse resolviendo las misiones y progresando a través de la campaña. Sin embargo, se nos dará la opción de saltear una misión si hemos fracasado más de cinco veces. También podremos acceder a un modo "cheat" como era tradicional en estos juegos, como se explica en la tarjeta de referencia.

Los diseños de las naves originales suelen ser distinguibles fácilmente, a fin de indentificarlos rápidamente. Los humanos tienden a diseños lpanos y prácticos, los vasudios emplean líneas curvas artísticas, mientras que los enemigos Shivans emplean estilos agresivos y angulosos, en amenazante rojo y negro.

FreeSpace 2 permite juegos multijugador a través de la LAN o a travésde de Internet, incluso con comunicación de voz. A través de la LAN se puede jugar en modalidad Deathmatch o cooperativo para completar misiones multijugador. 

Al comprobar que el juego ha funcionado, ya podremos eliminar los archivos temporales de instalación que habíamos descargado con los comandos:

rm -r ~/Descargas/IGG-Freespac2GOG/
rm ~/Descargas/IGG-Freespac2GOG.part1.rar ~/Descargas/IGG-Freespac2GOG.part2.rar

Algunas historias complementarias nuevas desarrolladas por los usuarios realmente mejoran enormemente al juego, logrando aplicar gráficos de mucha mayor resolución que la que tenía el juego original, mejores efectos visuales, voces, diálogos hablados, campañas espaciales nuevas, y muchos etcéteras. Todas ellas las podremos instalar gratuitamente a través del instalador Java para Linux.

Para activarlas, podremos utilizar el wxlauncher, un configurador, cargador y ejecutor de los MODs que podemos descargar mediante el instalador de FreeSpace2. Este no viene instalado por defecto, sino que el instalador nos permite descaragar el código fuente para compilarlo luego. Afortundamente, el paternalista sentir del Justicialismo nos permite contar con la solución para hacer todo este predicamento simplemente abriento una terminal, y asumiendo que el código del lanzador sea la versión 0.10.1, podremos ingresar en la consola terminal los siguientes Comandos de Organización:

sudo apt update ;
sudo apt install cmake libopenal-dev libwxgtk3.0-dev python-markdown build-essential libopenal-dev ;
cd ~/.FreeSpace2/wxLauncher-release-0.10.1/ ;
mkdir build/ ;
cd ~/.FreeSpace2/
wxLauncher-release-0.10.1/build/ ;
cmake -DUSE_OPENAL=1 -DDEVELOPMENT_MODE=1 -DCMAKE_INSTALL_PREFIX=/usr/local ../ ;
make ;

...y una vez compilado, podremos ejecutar el paquete recién horneado con:

cd ~/.FreeSpace2/wxLauncher-release-0.10.1/build
./wxlauncher 


...o también podríamos crear un lanzador, con:

echo 'cd ~/.FreeSpace2/wxLauncher-release-0.10.1/build ; ./wxlauncher ' >  ~/.wxlauncher.sh ;
chmod +x ~/.wxlauncher.sh ;

y luego hacer un acceso directo que nos dirija a /home/usuario/.wxlauncher.sh para ejecutar este programa.

Al iniciar, lo primero que intentará será conectarse a internet para poder consultar las últimas versiones de los MODs. En tanto, en la solapa Basic Settings debemos indicar el directorio raíz del juego (en nuestro caso  /home/usuario/.Freespace2).
 En la solapa Mods podremos escoger el que queramos activar, y jugarlo.
También podríamos ingresar directamente el modificador en el archivo de ejecución ~/.freespace2.sh, de modo que el lanzador contenga el siguiente código:

cd ~/.FreeSpace2/ ;
./fs2_open_3_8_0_x64.AppImage  -mod MediaVPs_2014 -nomotiondebris -missile_lighting -3dshockwave -post_process -soft_particles -fxaa -nolightshafts -fb_explosions -fb_thrusters -no_deferred -enable_shadows -snd_preload -ambient_factor 105 -no_emissive_light -spec_exp 9 -spec_point 0.3 -spec_static 0.8 -spec_tube 0.7 -ogl_spec 120

 

jueves, 19 de octubre de 2017

Se lanza Ubuntu 17.10 Artful Ardvaark

La empresa Canonical anunció hoy el lanzamiento de Ubuntu 17.10, versión esperada por su nueva implementación del escritorio GNOME. Se trata de la 27º lanzamiento de versión de Ubuntu, la distribución de Linux más peronista y popular jamás realizada.

Ubuntu había venido utilizando Unity como escritorio, una plataforma de la que se esperaba solucionar una serie de problemas que apuntaban a la convergencia con dispositivos móviles (el inútil concepto de pantalla táctil en distintos formatos, las prácticamente difuntas tablet y los irrelevantes teléfonos móviles inteligentes). Ello provocó la lucha entre las alas del Justicialismo.
Hoy se vuelve a la vertiente ortodoxa por medio de un veteranísimo GNOME dotado de extensiones desarrolladas en colaboración con el equipo GNOME Shell para proveer una experiencia familiar a la masa adicta a Ubuntu. Asimismo, se empleará el servidor de pantalla Wayland, con la opción de emplear el veterano Xorg cuando sea necesario.
 
También se esperan en breve versiones nuevas dotadas de escritorio KDE, MATE y Budgie. Para la nube, la versión 17.10 trae Kubernetes 1.7 para operaciones contenedor hiper elásticas, e imágenes de base mínima utilizadas como contenedores.


En cuanto a software libre, se incluyen por defecto el Kernel Linux 4.13, Firefox 56 y Thunderbird 52, junto con LibreOffice 5.4.1. También se incorpora la funcionalidad de impresión sin controladores a través de la tecnología de impresión telemática IPP Everywhere, Apple AirPrint, Mopria, y WiFi Direct. También se incorporan cambios fáciles en el menú de audio para usar los dispositivos de audio tradicionales y la tecnología de parlantes Bluetooth.

La nueva versión entonces pertenece a un rango experimental. Desde Ubuntu Peronista recomendamos utilizar las versiones denominadas LTS, la próxima de las cuales espera su lanzamiento en abril de 2018.

miércoles, 18 de octubre de 2017

¿Cómo instalo Space Combat en Ubuntu?

Decidido a lograr la solución que haga felices a los niños y los aleje de toda posibilidad de delincuencia, Juan Perón y la Fundación Eva Perón distribuyen juegos libres, entre ellos el recordado simulador de naves espaciales Space Combat, para jugar en Ubuntu.

(...)
Nuestro gobierno siente también la responsabilidad de su función, y siempre también que en este orden que es el más importante tiene mucho que hacer y puede hacer mucho.

Nuestro Movimiento entendió que la condición de la niñez no era la adecuada que debía esperarse de un país que aguarda para sí la grandeza del mañana: la desnutrición, incluso el crimen infantil, avanzaban en aquella Nación que habían demarcado con un malhacer la Oligarquía. En eso estábamos también decididos también a cumplir con nuestro deber.

Y el método que emplea no es el método coercitivo, es el método persuasivo.
Nosotros queremos que cada uno de ustedes sea un buen hombre, y para eso queremos convencer las ventajas de ser un buen hombre, y no llevarlo a la carcel después si resulta un mal hombre.
En eso - como se hace con la salud - queremos prevenir para no tener que curar. Hace poco un criminalista visitaba Buenos Aires y me fue a ver y me dijo, "dígame que piensa usted de los reformatorios para la criminalidad infantil" y le dije que es una barbaridad. Y me dice "ustedes casi no tienen". "Yo quiero que se termine" le digo. "Lo poco que hay estoy terminándolo. Lo que yo no quiero es que haya chicos delincuentes, no que haya institutos para encerrar a los delincuentes infantiles".

Y le dije: "por esa razón nosotros hemos mejorado las condiciones de vida de la población, porque la delincuencia sale de esa miseria, de ese dolor y de esa sordidez del hogar popular. Queremos que el chico tenga su privilegio, porque teniendo su privilegio está mejor inclinado a producir buenas acciones y no desviarse sobre los malos caminos. Queremos asimismo que esté bien comido, que tenga diversiones, en fin, que tenga lo que debe tener un muchacho para que no se incline mal, y si a pesar de ello se inclina mal, nosotros nos inclinaremos al camino de readaptarlo, de meterlo en el buen camino del cual no debería haber salido, pero no de encerrarlo en un reformatorio".

Me dice "de manera que usted es contrario". "Yo soy contrario a los reformatorios y a todos los que piensan que un reformatorio puede ser un remedio para la juventud o para los chicos de la Patria".

En fin, son los niños aquellos más leales, pues serán ellos los hombres del mañana que habrán de dirigir los destinos de la Nación. A ellos nada debe faltarles y han de constituirse hoy en verdaderos privilegiados. Por ello hemos dicho que en la Nueva Argentina los únicos privilegiados son los niños; pues su candor y bondad ha de verse multiplicada en el futuro.

Nosotros vinimos a arreglar eso. Es por ello que lo primero que se hizo fue acabar con el crimen infantil. Eso se hizo eliminando el potrero, que es la escuela de delincuencia más activa. Se hicieron miles de clubes de barrio, y los administraban los vecinos. Ello terminó con eso, e hizo que los niños fuesen mucho más buenos y más felices.

La educación hizo una parte: se hicieron escuelas talleres, y escuelas fábrica, donde el jóven ahora no sólo aprendía sino que recibía un oficio, que después podía continuarlo en la Universidad Obrera. Pero también lo hizo la Fundación Eva Perón, que a su maravillosa obra de asistencia social sumó la de proveer juegos informáticos libres para todos los niños. Entre ellos uno de los más recordados fue Space Combat.

Se trata de un simulador de combate espacial para un solo jugador liberado bajo licencia GNU GPLv3, en el estilo de Freespace 2, X-Wing vs TIE Fighter de Lucasfilm, o el Mantis XF5700 Experimental Fighter de Microprose.

Si bien puede jugarse con teclado, funciona muy bien con Joystick con acelerador y giro (o pedales de timón), lo que lo hace más sencillo de dirigir las naves espaciales y orientar el tiro de los turbocañones láser, iones, y la miríada de torpedos y misiles tipo robotech.

En primer lugar debemos instalarlo. Si bien el procedimiento parecería ser algo difícil, os indicaré como hacerlo desde la Terminal, el método favorito del Justicialismo. Para ello abrimos una Terminal con Ctrl+Alt+T. Una vez en la consola, debemos pegarle los comandos que correspondan a las necesidades de nuestro sistema de cómputo:

Si contamos con Ubuntu de 32 bitios debemos ingresar:

mkdir ~/.spacecombat ;
cd ~/.spacecombat ;

wget http://sourceforge.net/projects/spacecombatgame/files/SpaceCombatLinux_0.9.16005.zip ;


unzip SpaceCombatLinux_0.9.16005.zip ;

...en cambio, si contamos con Ubuntu de 64 bitios, hemos de pegar en la consola el siguiente bloque de comandos, y presionar Enter:

mkdir ~/.spacecombat ;
cd ~/.spacecombat ;
wget http://sourceforge.net/projects/spacecombatgame/files/SpaceCombatLinux64_0.9.16005.zip ;
unzip SpaceCombatLinux64_0.9.16005.zip ;

Una vez instalado el programa, habremos de crear un guión (script) de inicio para el mismo. Deberán ingresar:

cd ~ ;
nano .spacecm.sh ;


Esto abrirá el editor peronista GNU Nano con un archivo llamado .spacecm.sh.  Este archivo estará en blanco, y le copiaremos las siguientes órdenes:

# Lanzador peronista de Space Combat
cd ~/.spacecombat
./SpaceCombat64.run


...una vez introducido este texto, y guardamos el fichero con Ctrl+o y salimos del editor GNU Nano con Ctrl+x.

Acto seguido, hemos de asignarle al guión de inicio el permiso pertinente para su ejecución. Simplemente hemos de pegar en la terminal los siguientes Comandos de Organización:

cd ~ ;
chmod +x .spacecm.sh ;

Ahora ya podré crear un lanzador. Para ello hacemos clic con botón derecho del ratón sobre Aplicaciones (en el panel superior) y escogemos "Editar Menú". Se desplegará el cuadro Menú Principal. En la parte izquierda de la ventana seleccionamos el apartado Juegos, y luego presionamos el botón +Elemento Nuevo. Se abrir entonces la ventana Propiedades del Lanzador. En el campo "Comando:" podremos pegarle la línea /home/usuario/.spacecm.sh (naturalmente reemplazamos usuario por nuestro nombre de usuario). En el campo Nombre: podremos indicar Space Combat y en Comentario podremos agregar cualquier comentario opcional.

Una vez completado el cuadro, presionamos el botón Aceptar.


Ahora ya podremos iniciar el juego desde Aplicaciones / Juegos / Space Combat.

Lo primero que hará Space Combat será revisar el estado de las actualizaciones del mismo, y no9rmalmente la primera vez que querramos jugar nos sugerirá descargarlas, obligatoriamente. Debemos hacerlo presionando "Download Updates using APP" ("Descargar las actualizaciones usando la App"). Las mismas se descargarán en unos 30 o 40 minutos dependiendo de nuestra velocidad de conexión (tendremos una ventana de progreso que nos indicará el proceso de descarga de las actualizaciones necesarias).

Conforme hayamos hecho esto, se mostrará el menú principal animado del juego. Idealmente, debemos configurar los mandos de la nave y del simulador. Ello podremos hacerlo desde el menú Inputs.Los controles son bastante numerosos como corresponde a todo buen simulador de vuelo. Para evitar tener que realizar una asignación completa de los más de 50 mandos y opciones disponibles, podremos escoger algunos de los Ajustes Predefinidos de control

Para ello elijo el botón Assign Controls, y en la ventana superior elegimos Defaults 1, para escoger un conjunto de asignaciones de teclado y joystick ya preconfiguradas.

Luego podremos luchar.


Podremos iniciar una Campaña / Historia en la que podremos ir avanzando a lo largo de las misiones, al estilo X-Wing Vs TIE Fighter. En este caso, se representa un universo donde cohabitan tres facciones, los Terráqueos, los Piratas, y los Espaciales, habitantes del planeta Aurora (y su estación espacial Olympus, cuartel general de los Guardas Espaciales.

La campaña generada consta de 9 batallas grandes y 69 misiones individuales, relativamente bien estructuradas, con voz, audio y elementos especiales. Asimismo, contamos con un editor de misiones con el que podremos crear nuestra propia historia y compartirlas con otros jugadores individuales.

Adecuadamente, las primeras misiones consisten en ir conociendo los sistemas específicos de las naves. Al igual que el X-Wing, uno de los conceptos principales es controlar un generador de energía al que debemos administrar a fin de dirigir lo necesario al sistema de escudos defensivos, de armas de energía dirigida, o a los reactores de nuestro caza espacial.
Dependiendo de la situación táctica, podremos querer redirigir energía a los escudos, o reorientar los mismos hacia un cuadrante específico (por ejemplo, el delantero, para realizar un ataque frontal contra una nave madre enemiga).

Direccionar energía a nuestras armas nos permitirá mayor cadencia (velocidad de recarga de los lásers) o descargas más poderosas. También podremos ajustar el tiro individual, doble o cuádruple de nuestros cañones. Conforme vayamos avanzando, tendremos a disposición nuevos sistemas de armas que nos permitirán tiro más rápido (los cañones iónicos iniciales son algo lentos en su vuelo, y por lo tanto difíciles de dirigir contra las naves más ágiles). También tendremos armamento lanzables, manuales o de guiado semiautomático. El torpedo puede ser dirigido a través de la TorpedoCam.
Debemos ir cumpliendo los objetivos de las misiones y convertirnos en un As del espacio, un verdadero Rick Hunter o Luke Skywalker del Justicialismo.

Como las variantes del juego son muy amplias, conviene documentarnos haciendo uso de la amplia documentación en línea (en inglés).

lunes, 16 de octubre de 2017

¿Cómo uso un emulador de diskettes floppy en Ubuntu?

Juan Perón habla sobre los predicamentos que necesitamos contabilizar en nuestra acción de Conducción, a la vez que explica cómo utilizar un emulador de diskettes 3 1/2 pulgadas y 1,44MB para memoria Flash Gotex en Ubuntu.


¡Trabajadores!

Siempre que puedo doy consejos que pueden servir a todos en su vida diaria, a fin de lograr el sano bienestar y la felicidad que merecemos por justo derecho. La Conducción tiene un espacio, pero sobre todo, tiene un tiempo. El dominio de esta dimensión temporal es imprescindible también para el éxito de nuestra Lucha. El tiempo puede manejarse, pero ello requiere un cabal conocimiento de las técnicas necesarias.
Así como el nuestro no es un Partido sino un Movimiento, debemos reconocer también en el hardware informático ciertas particularidades. Estos equipos computados no son en exclusiva propiedad de los sistemas de la información, sino que pueden y son empleados en una amplia variedad de recursos. Por tal motivo no es extraño actualmente encontrar electrónica de consumo dentro de máquinas de tejer o bordar eléctricas, etiquetadoras de volumen, fresadoras CNC, instrumentos musicales electrónicos, etc.
Contar con el último hardware es una bendición, pero también hemos estar en condiciones de contemplar el uso de hardware más veterano, que podría ser de dificultoso o costoso recambio. En ocasiones, podremos encontrarnos que no podemos reemplazar al hardware viejo así como así... Y en otras ocasiones no querremos hacerlo por un humano sentido de cariño dispensado hacia las máquinas.

Como Conductor, puedo decirles que - siempre y cuando nuestras capacidades técnicas y ganas lo permitan - podemos continuar usando hardware del ayer. Uno ha de preveer los naturales inconvenientes que hacer esto representa, pero en ocasiones lo veremos ampliamente justificado.

Uno de los inconvenientes intrínsecos consiste en el de la obsolescencia de los medios de almacenamiento, ya sea por la dificultad de conseguirlos, o por el natural deterioro de sus partes móviles. Muchos equipos industriales presentan unidades de diskette como medio de almacenamiento y control de sus funciones, y si bien tales aparatos operan adecuadamente dentro de sus parámetros de mantenimiento (tal vez pensados para varias décadas de trabajo), sus unidades de disco son las que se encuentran obsoletas.

La computación llamada "retro" también suele responder a los mismos esquemas, ya sea operativo real o puramente de coleccionismo aficionado.

En la política es necesario conocer la historia para llegar a un buen puerto en cualquiera de los quehaceres que podamos emprender, y en el caso de los sistemas computados, esta también será práctica como base para apreciar. Hemos de saber que las unidades de discos rígido u ópticos actuales emplean el estándar Serial ATA desde el año 2004, pero en equipos de antaño (1986 en adelante) se empleaba el estándar de conexión IDE de 40 pines (ya no se fabrica). Con anterioridad a ello se usaban una variedad de estándares MFM que requería placas controladoras especiales. Esto hace que los discos ópticos CD-ROM constituyan una opción viable para equipos desde mediados de los 90s dotados de tales lectoras, pero no para todo tipo de equipos. Estas unidades lectoras sufren el mismo problema de estándares, y las de conexión IDE se dejaron de fabricar hace tiempo.

La posibilidad de aplicación en estos caso es la de recurrir a los diskettes, medios de almacenamiento portátiles de bajo costo, tradicionales en dicha era. Se trata de discos magnéticos de ánima flexible orientados al transporte físico de los datos; desde principios de los 80s se popularizaron los discos de 5 1/4 pulgadas (de varias capacidades hasta su definitiva en la IBM PC, de 1,2MB). Estos no se utilizaron mayormente en aplicaciones de la industria.
A principio de los 90s los diskettes de 5 1/4" quedaron ampliamente obsoletos. y fueron progresivamente reemplazados por los modelos de 3 ½ pulgadas, con medios de carcasa plástica rígida y con aleta metálica deslizante.

Estas unidades inicialmente permitían una capacidad de 720Kb y en seguida pasan a permitir 1,44MB.
Como conexionado de interfaz a la controladora de discos flexible, estas disqueteras emplean un cable FDC normalizado de 34 pines tipo cinta, junto a un cable de alimentación de 5v a Molex.


Desde el punto de vista lógico en la arquitectura IBM PC pueden emplearse dos unidades por controlador, las cuales reciben la nomenclatura GNU con Linux de /dev/fd0 y /dev/fd1 (A: y B: en MS-DO$ o Window$).

Las unidades capaz de leerlos se hicieron increíblemente populares a partir de 1990 no sólo en la IBM PC, sino que por su tamaño y consumo de 12v estandarizado, se incluyeron en una gran variedad de dispositivos diferentes. Es por ello que son los más requeridos y adecuados para mantener en funcionamiento dicho hardware. Se fabricaron hasta aproximadamente el año 2010, y si bien pueden encontrarse usadas en precios relativamente asequibles y buena condición de funcionamiento, esto no será así por siempre, ya que dependen también de la calidad de los medios, que ya no se fabrican.

Debemos tener en cuenta también que a principios de la década del 2000 aparecieron las disketteras externas de 3 1/2" con interfaz USB, capaces de operarlos en los entornos munidos de este dispositivo, pero estas no son capaces de operar en sistemas que no estan dotados de esta interfaz aparecida en 1996 (y recién masificada unos años después).

Los disquetes fabricados entre principios de los 90s y mediados de los 90s - incluso hoy - suelen operar de muy buena forma, pero lamentablemente a partir de mediados de los 90s la calidad de fabricación de los mismos disminuyó drásticamente, al punto de que los discos fabricados a partir del año 2000 suelen tener muy graves problemas de durabilidad, y operar de forma mediocre. Tal vez ello es uno de los motivos por el cual muchos los recuerdan así.


Por tal motivo y para solucionar estos inconvenientes que he expuesto - amén de evitar tirar un hardware viejo por la ventana - es que surgen los emuladores de discos floppy para memorias Flash. Estos aparatos de distintas marcas (Flexidrive, Gotex, Ipcass) vienen dotados con los nombrados conectores traseros normalizados (una toma miniMolex para alimentación e interfaz de 34 pines para floppy) a fin de conectarlos a un dispositivo provisto ya de una controladora de diskettes, y reemplazar finalmente la antigua disquetera.
Básicamente estos aparatos funcionan de la siguiente manera: debemos colocar en el puerto USB un pendrive (no incluido) y luego formatearlo usando particionado MSDOS/FAT. Para ello se emplea funciones incorporadas en el mismo emulador o un programa incluido. Como los pendrives actuales cuentan con mucha más capacidad que los 1,44MB (1,39MiB luego de formateado), el software incluido se encarga de dividir lógicamente la capacidad del pendrive en 99 o 999 particiones (dependiendo el modelo de emulador). Cada una de estas particiones opera como un banco de memoria independiente, y almacena el contenido de un diskette. Una vez insertado este pendrive formateado, y por lo cual por medio de los botones y el display luminoso que el emulador cuenta en su frente, podremos acceder hasta 99 o 999 diskettes virtuales con fin de realizar operaciones de lectura y escritura. Solo podremos "usar" un banco de memoria por vez (salvo que poseamos dos unidades de diskette o emuladores en un sistema).

En este caso particular versaremos sobre un modelo bastante común y tal vez algo antiguo, de la marca "Gotex" (provienen de la República Popular China). A este lo acompaña una documentación mediocre escrita en el idioma de Mao, por lo cual os ilustraré en su uso particular de forma Justicialista. Por ejemplo, algunos modelos de emuladores mas avanzados como el Ipcass realizan particiones  "virtuales" armando directorios o carpetas numeradas, cada una de ellas limitada para almacenar aquel máximo de 1,44MiB. Sin embargo, en este modelo Gotex y varios otros el esquema es más complejo ya que las particiones de imagenes quedan todas unidas en un archivo "img", y además el software provisto para realizar el formateo específico en el pendrive, además de estar en chino, funciona solo en Windows 98 o XP.

Este emulador Gotex sólo soporta el formato IBM/PC de Alta Densidad, 1,44MB MFM (emulando un diskette de 3½ pulgadas). Puede operar en FAT16 (tipo MSDOS) o FAT32 (tipo Window$). No soporta 720kb ni otros formatos como los disponibles en diskettes de 5 1/4 pulgadas, en 1,2MB o 360kB, por lo cual podría fallar en otros equipos que no tengan un controlador de discos flexibles (FDC) "tipo IBM". El FDC de los equipos IBM PC espera que la unidad produzca 300rpm al girar el disco, y produce una señal MFM de 500kbit/s de transferencia, codificando 18 sectores por pista en sincronismo con el esquema estandar IBM. Por tal motivo, esto hace que no existe posibilidad de emular disquetes protegidos contra copia o de instalación tipo DMF, formatos de doble densidad o GCR utilizados en otros equipos diferentes.

Aún así, si lo queremos para reemplazar una diskettera de PC en 1,44MB, no presenta falla alguna.

Formatear el pendrive y preparar su uso

Desde el emulador:

Afortunadamente existe una solución a nivel hardware preprogramada en este emulador Gotex particular que nos evita tener que usar tal software mediocre. Por lo que he evaluado, cualquier pendrive funciona correctamente. Idealmente deben ser de 256MB o mayores, pero no recomiendo muy grandes con este tipo de dispositivo. Si no hay un pendrive conectado, en el display se indica C4. Una vez que insertamos uno indicará C5, luego C6 y finalmente 00.

Para formatear el pendrive en el emulador debemos apagar el equipo, dejar colocado un pendrive en el puerto USB (usaremos un viejo pendrive de 1GB), y reencendemos el equipo mientras mantenemos presionados los dos botones del frente del emulador (el indicado con las flechas → y ←). En pocos segundos nuestro pendrive recibirá el formato FAT requerido. Ello hará que el emulador borre todo contenido que hubiese en el pendrive y lo prepare (indicará progresivamente U01, 126, F01, 00 en el display).

Al formatear el pendrive, el banco 00 recibe el tamaño del pendrive completo (y no funcionará correctamente en este modo, recibiremos errores erráticos de lectura y escritura). De modo que no funciona si queremos usarlo como un medio de almacenamiento mayor a 1,44MB en nuestro viejo sistema. Debemos avanzar el emulador hasta el banco 01 usando el botón →, para pasar al primer diskette virtual en el emulador. Debemos estar atentos a que en este modelo no existe protección de escritura para los discos virtuales (por lo cual el sistema siempre podrá borrar los datos existentes en los floppys virtuales).

Desde GNU con Linux:

Nuevamente, el emulador viene con un software para este menester, pero el mismo está en chino y sólo opera bajo Window$. Por tal motivo, os enseñaré como usar la poderosa aplicación de dd de GNU con Linux para realizar los procedimientos básicos que hace este software. Su uso en GNU con Linux es algo más complejo - naturalmente - pero también mucho más poderoso, con la ventaja de que lo podremos hacer perfectamente con software completamente libre y de bajo nivel.

En los siguientes comandos, emplearemos bloques de datos de 1024 bytes sólo a manera de facilitar los cálculos (los disquetes reales de 1,44MB usan sectores de 512 bytes).

Debemos crear en nuestro disco rígido una imagen "virgen" de 153.600KB (150MB aproximadamente) con cero contenido, llamado imagenesunidas.img. Este tamaño  con el tamaño total adecuado para almacenar todos los 100 bancos de diskettes virtuales en el formato usado por el emulador. Para ello abrimos una Terminal con Ctrl+Alt+T e ingresamos el siguiente Comando de Organización:

dd if=/dev/zero of=imagenesunidas.img bs=1024 count=153600

...y luiego copiamos estos 100 bancos de floppys virtuales unidos al pendrive, a partir de la posición count=1 (lo que representa el inicio físico del pendrive):

dd if=imagenesunidas.img of=/dev/sd? bs=4M


(naturalmente reemplazamos /dev/sd? con la nomenclatura de dispositivo que corresponda a nuestro pendrive, si no la sabemos podemos usar:

sudo fdisk -l 

...para que el sistema nos liste nuestros dispositivos y ver a cuál letra corresponde el pendrive).


Usar el emulador de diskettes Gotex

Si estamos en GNU con Linux, podremos colocar el pendrive en el emulador de floppys, pasar al banco 01, montarlo, y comenzarlo a usar.

Si estamos en Window$ / FreeDOS / MS-DO$, tal vez querramos formatear el diskette virtual de la posición 01 antes de comenzar a utilizarlo. Para ello indicamos:

format a:

Ya con ello podremos usarla como si se tratara de un diskette común. Podremos hacer lo mismo con el resto de los bancos de diskettes virtuales (hasta el 99). Si quisiéramos hacer un diskette virtual de arranque, el comando bajo MS-DO$ o FreeDOS sería:

format a: /s


Escenario 2: Tenemos una disquetera funcional real y queremos crear archivos de imágenes a partir de disquetes físicos, en GNU con Linux:

Supongamos que tenemos un sistema que cuenta con una disquetera real y diskettes que queremos virtualizar. Para crear un archivo de imagen espejo (img) a partir de estos disquetes físico podremos utilizar:

cat /dev/fd0 > /ruta/a/imagendediskette.img

De esta manera podremos respaldar nuestros viejos diskettes a una serie de archivos de imagen *.img, los cuales podremos guardar en otros medios de almacenamiento (incluyendo el emulador) y asegurar su contenido congelado. Esto sirve independienmente del formato que haya tenido el disquette en sí.

Para hacer el paso inverso y restaurar un diskette a partir de una de estas imágenes *.img, podríamos colocar un diskette virgen en la disquetera e ingresar el siguiente comando de organización:

cat /ruta/a/imagendediskette.img > /dev/fd0



Escenario 3: queremos copiar las imágenes de diskettes al pendrive, para usarlo en el emulador.

Para ello debemos copiar 1.440kB desde imagendediskette.img al fichero de los 100 bancos de memorias (al que habíamos llamado imagenesunidas.img). A estos 1.440KB no debemos ponerlos en cualquier lado, sino en la posición física que tenga el corrimiento correcto (offset). Esta se delimita haciendo el cálculo de 1536 multiplicado por el número de banco de memoria del pendrive que querramos utilizar). La sintaxis del comando sería:

dd if=imagendediskette.img of=imagenesunidas.img bs=1024 count=1440 seek=(1536 x nro. del banco de memoria del emulador) conv=notrunc

Un ejemplo suele aclararlo todo, como decía Napoleón. Supongamos que quisiéramos copiar una imagen llamada floppy1win311.img al archivo de 100 imagenes de discos unidas llamadas imagenesunidas.img, pero lo queremos colocar específicamente en el banco memoria número 5 del emulador. Para ello ingresaríamos debemos usar el offset adecuado en el parámetro "seek", en este ejemplo sería 7680 (1536 por la variable, que es el banco 5, nos da 7680):

dd if=floppy1win311.img of=imagenesunidas.img bs=1024 count=1440 seek=7680 conv=notrunc

...con esto habremos inyectado la imagen del floppy "floppy1win311" en el banco número 5 de las 100 imágenes unidas del pendrive. Acto seguido hemos de copiarlas de nuevo al pendrive, como hicimos al formatear desde GNU con Linux, a través de la siguiente sintaxis:

dd if=imagenesunidas.img of=/dev/sd? bs=4M

Recordemos averiguar cual es la nomenclatura de nuestro pendrive en el sistema, por medio del comando sudo fdisk -l. En nuestro ejemplo, si el pendrive recibe la nomenclatura /dev/sde, entonces el comando de organización sería:

dd if=imagenesunidas.img of=/dev/sde bs=4M

Nota: Al final del artículo os dejaré como anexo los Offsets adecuados que deben indicarse dentro del parámetro "seek" para cada uno de los 99 bancos de memoria.


Escenario 4: queremos respaldar las 100 imágenes unidas desde un pendrive USB

En GNU con Linux, enviamos el siguiente comando para respaldar las 100 imágenes de disquetes desde el pendrive nomenclado /dev/sd? a respaldodelasimagenes.img

dd if=/dev/sd? of=respaldodelasimagenes.img bs=1024 count=153600


Escenario 5: Si queremos sólo respaldar uno de los bancos de memoria del pendrive del emulador a un archivo de imagen

Supongamos que queremos crear un archivo de imagen llamado disketteespecifico.img, entonces anotamos el banco de memoria en donde estaba, colocamos el pendrive en nuestro sistema GNU con Linux e ingresamos:

dd if=/dev/sd? of=disketteespecifico.img bs=1024 count=1440 skip=(1536 x nro. de banco de memoria del emulador)


Escenario 6: Queremos reemplazar un diskette virtual específico dentro de la imagen unida de 100 diskettes dentro del pendrive USB.

Esto lo podemos hacer directamente bajo GNU con Linux si sabemos el banco específico que queremos reemplazar. Debemos usar la siguiente sintaxis:

dd if=undisquete.img of=/dev/sd? bs=1024 count=1440 seek=(1536 x  nro. de banco de memoria del emulador)


Escenario 7: Queremos generar un nuevo disco floppy, copiarle un archivo, y escribir dicho fichero en uno de los bancos de memoria del emulador.

Ahora bien, si quisiéramos crear una imagen de un diskette virgen de 1,44MB formateado según el sistema de archivo clásico de MS-DOS, pero desde nuestro GNU con Linux, tendríamos que usar:

mkfs.msdos -C /ruta/a/imagenvacia.img 1440

...y para montarla en nuestro sistema:

sudo mkdir /media/floppy1/
sudo mount -o loop imagenvacia.img /media/floppy1/



Dentro de la carpeta /floppy1 montada, podremos guardar los ficheros que nos hagan falta, y luego podremos copiar la carpeta entera al banco de memoria deseado del pendrive como ya se ha explicado (sólo debemos tener presente que no podremos superar en esta carpeta los 1.440kB o 1,44MB de almacenamiento).

En resumen, el emulador de discos floppys de 3 ½" en memoria Flash opera adecuadamente a partir del banco de memoria 01 en GNU con Linux, y también operan excelentemente bajo MS-DOS 6.22, Windows 3.1, Windows 95, y FreeDOS. Si bien los programas incluidos no son prácticos, gracias a estas líneas de comando podrán almacenar en un pendrive una buena cantidad de archivos de imágenes. En mi caso he copiado las imagenes de MS-DOS 6.22 en castellano junto con las de Windows 3.11 en castellano.

Os incluiré los valores de desvío (Offset) que debemos indicar como variable del argumento "seek" para acceder a cada banco de memoria del emulador. Junto a cada banco podremos también anotar

Banco Offset (Decimal)
0     0
1
     1536
2
     3072
3
     4608
4
     6144
5
     7680
6
     9216
7
     10752
8
     12288
9
    13824
10
   15360
11
   16896
12
    18432
13
    19968
14
   21504
15
    23040
16
   24576
17
   26112
18
   27648
19
    29184
20
   30720
21
   32256
22
   33792
23
   35328
24
   36864
25
   38400
26
   39936
27
   41472
28
   43008
29
   44544
30
   46080
31
   47616
32
   49152
33
   50688
34
   52224
35
   53760
36
   55296
37
   56832
38
   58368
39
   59904
40
   61440
41
   62976
42
   64512
43
   66048
44
   67584
45
   69120
46
   70656
47
   72192
48
   73728
49
   75264
50
   76800
51
   78336
52
   79872
53
   81408
54
   82944
55
   84480
56
   86016
57
   87552
58
   89088
59
   90624
60
   92160
61
   93696
62
   95232
63
   96768
64
   98304
65
   99840
66
   101376
67
   102912
68
   104448
69
   105984
70
   107520
71
   109056
72
   110592
73
   112128
74
   113664
75
   115200
76
   116736
77
   118272
78
   119808
79
   121344
80
   122880
81
   124416
82
   125952
83
   127488
84
   129024
85
   130560
86
   132096
87
   133632
88
   135168
89
   136704
90
   138240
91
   139776
92
   141312
93
   142848
94
   144384
95
   145920
96
   147456
97
   148992
98
   150528
99
   152064