Mostrando entradas con la etiqueta Wordstar. Mostrar todas las entradas
Mostrando entradas con la etiqueta Wordstar. Mostrar todas las entradas

jueves, 16 de octubre de 2025

¿Cómo cambio la posición de la tecla Ctrl en Ubuntu?

 El 25 de mayo de 1949 Juan Perón publica su Mensaje a la Juventud con motivo de la Fecha Patria. En el mismo expone cómo intercambiar la posición de la tecla Ctrl con BloqMayús en Ubuntu para poder escribir al estilo del editor WordStar y otros. 

"Jóvenes argentinos:

Reverenciamos hoy a los hombres de Mayo. ¿Qué mejor homenaje para ellos que reunir a los muchachos de la Patria, mostrarles las glorias del pasado, exhibirles la acción febril y tumultuosa de los días presentes y señalarles el provenir para el cual ellos mismos deben prepararse? Prepararse para ser dignos de la Nueva Argentina que no se hace con palabras ni con promesas, sino con trabajo, verdad, estudio, tenacidad y sacrificio.

Para que la Nueva Argentina no sea un sueño vago e impreciso, vamos haciendo que en el ámbito de la República triunfen los que trabajan, los que realizan, los que tienen ansias de perfección y de justicia.

El instrumento fundamental, la Constitución Justicialista, está ahora al servicio de todos los argentinos. Con este instrumento se han abierto todas las puertas y están expeditos todos los caminos. Con este estatuto, los argentinos que quieran estudiar de verdad podrán realizar sus esperanzas, porque en la Constitución Justicialista los Derechos del Trabajo y del Estudio están igualmente amparados, porque en esta Constitución se contiene el principio de la fraternidad humana que Dios predicó y está ahora incorporado a la ley de las leyes argentinas. 

Como ustedes saben esta nueva Constitución Justicialista sale de los corazones del Pueblo, pero sobre todo de mi Olivetti. Y la he mecanografaido al tacto sin problema alguno.

Esto es así porque en un procesador de texto pensado al estilo WordStar podremos operar de forma directa, sin interrumpir el ritmo creativo de mecanografiado. He dicho que el WordStar está concebido para escribir y operar infatigablemente, y al usar la tecla Ctrl resulta ideal para aquellos que aprendieron mecanografiar al tacto sin mirar el teclado: nos posibilitará realizar la gran mayoria de las acciones del procesador de textos sin siquiera levantar las manos de la fila de descanso del teclado.

Es que en la gran mayoría de los editores de texto esto no es tan así. Observarán que - incluso algo tan cotidiano como mover el cursor, u oprimir la tecla Retroceso para corregir un error de tipeo - podrían pedirles que interrumpan su flujo de escritura, apartando la mano derecha de la fila de descanso para alcanzar y presionar otras teclas. Demás está decir que a la hora de redactar la Carta Magna, esto implica interrumpir el flujo de trabajo e introducir elementos de la derecha...

Ustedes no lo conocieron, pero originalmente, la tecla Ctrl ocupaba el lugar preponderante donde los teclados ISO modernos disponen la tecla BloqMayús (CapsLock, o Bloquear Mayúsculas). Si bien actualmente es posible conseguir teclados boutique que disponen de esta distribución respetuosa de los deseos de los tipistas al tacto más acérrimos - como el clásico Happy Hacking Keyboard,y sus clones - nuestro sistema GNU con Linux también permite alterar de manera reversible las teclas de cualquier teclado ISO moderno.


Indudablemente con esto, podremos facilitar el uso de varios procesadores que recurren a esta configuración, por ejemplo el GNU Emacs o el consabido WordStar.

Esta manera Justicialista implica hacer dicha modificación "por software". Para ello vamos a Sistema / Preferencias / Hardware / Teclado y abrimos la ventana Preferencias de teclado.

En la ventana Preferencias de teclado nos dirigimos a la solapa Distribuciones, donde encontraremos la(s) distribución(es) de teclado que tengamos activas para nuestro teclado en nuestro GNU. Estas reflejan la disposición de las teclas del teclado que tengamos conectado, por ejemplo, las distribuciones más comunes en español son "Español (Latinoamereicano)" o "Español (España)".

Al presionar el botón Opciones podremos definir comportamientos alternativos para aquél que viene por defecto en este tipo de teclados. Es decir, la distribución aplica las opciones por defecto de comportamiento, pero podremos modificarlas sus opciones según varios aspectos de funcionamiento, si lo deseamos.

Para intercambiar por software las posiciones de la tecla BloqMayús y Ctrl, buscamos la categoría "Posición de la tecla Ctrl" y tildamos la opción "Intercambiar Ctrl y Bloq Mayús". Al hacerlo notaremos que la opción "Intercambiar Ctrl y Bloq Mayús" tornará en negrita (lo que denota que ha sido alterada con respecto a su funcionamiento por defecto). Para aceptar finalmente el cambio realizado, debemos presionar el botón Cerrar, y se aplicará dicha opción alterna a la distribución de teclado modificada.

También podríamos querer Agregar una distribución de teclado específica para este cambio (lo que nos permitirá "ir y venir" entre una opción y otra, si tal es nuestro deseo). De esta forma, la distribución de teclado elegida quedará indicada en el panel superior. Lamentablemente, al menos en Ubuntu Mate el nombre de las distribuciones modificadas no pueden alterarse, pero si podremos - al menos - conmutar fácilmente entre ellas.

Edición con WordStar

Ya dominado este aspecto, no vendrá mal aprender cómo mecanografiar al estilo WordStar. En particular, os he enseñado ya cómo instalar un sucedáneo del editor de texto WordStar en Ubuntu, fundamentalmente a base del modo jstar  del querido JOE. Con este Joe Own's Editor, podremos adentrarnos en el arte de la escritura al tacto al estilo Wordstar.

Han de saber que en particular, edito empleando la tipografía Iosevka Term SS08 Medium , e imprimo borradores de trabajo con Courier Prime (ciertamente más respetable que la delgada Courier New). Recuerden siempre que pueden en Jstar pueden presentar una ayuda con Ctrl+j, la cual será útil si son principiantes con el mismo. 

Vean muchachos, los movimientos de navegación básica en WordStar - replicados a conciencia por Jstar - se efectúan utilizando lo que se conoce como el “diamante WordStar”. Este comprende las siguientes teclas del teclado alfanumérico:

Tecla del Diamante Dirección del Navegación
E Arriba
S Izquierda
D Derecha
X Abajo

Si prestamos atención a este “diamante” de teclas, veremos que su posición nos revela las direcciones de movimiento de forma certera. Tal es así, que para mover el cursor una posición, sólo necesitamos presionar la tecla Ctrl y combinarla con la letras del “diamante de WordStar” correspondiente a la dirección del movimiento deseado.

Podemos apelar a la siguiente dactilografía:

Dedo de la mano izquierda Tecla Dedo mano izquierda Tecla Dirección
Meñique Ctrl Medio EArriba
Meñique Ctrl Anular SIzquierda
Meñique Ctrl Medio DDerecha
Meñique Ctrl Anular XAbajo

Naturalmente, si han personalizado su tecla de Control, os será posible realizar movimientos alcanzando la tecla BloqMayús con el dedo meñique izquierdo totalmente relajado, y sin necesidad de apartar lso dedos de la posición de descanso (puesto que BloqMayús debería funcionar como tecla Ctrl izquierda),

Movimientos expandidos

A menudo nos será más útil desplazar el cursor a través del documento de forma más solícita: avanzando o retrocediendo entre palabras completas. WordStar destina a tal efecto dos teclas de desplazamiento expandido: las teclas A y F (las que se encuentran a ambos lados de las teclas de movimiento a izquierda S y movimiento a derecha D del rombo de WordStar, respectivamente).

Podremos avanzar y retroceder entre las palabras recurriendo entonces a la siguiente dactilografía:

Dedo de la mano izquierdaTeclaDedo de la mano izquierdaTecla Movimiento
Meñique Ctrl Anular A Principio de la palabra anterior
Meñique Ctrl Índice F Final de la palabra siguiente

Lo que has aprendido te permitirá desplazar el cursor por toda la pantalla usando tan solo los dedos de la mano izquierda, sin mover las manos de la fila de descanso de escritura. 

Movimientos Veloces - La Tecla Q

Una vez dominados los desplazamientos pequeños de cursor, notaremos sin embargo que podríamos querer acelerarlos, Oara eklo introduciremos una tecla adicional en WordStar, apodada Rápida (“Quick”): la tecla Q).

Para dar saltos acelerados con el cursor en la pantalla su opera en dos tiempos: primero mantenemos presionada la tecla Control y simultáneamente presionamos Q. A continuación, indicamos una de las cuatro teclas del “rombo WordStar” según la dirección del salto deseado.

Por ejemplo, la abreviación ^QS saltará rápidamente todo a la izquierda hasta el inicio de línea. Significa Ctrl+q,s (o sea mantener presionadas las teclas Ctrl+q, soltar ambas teclas y presionar a continuación la tecla s para saltar hacia la izquierda hasta el inicio de línea).

De esta forma, podremos movernos rápidamente en todas direcciones de la pantalla recurriendo a la siguiente dactilografía:

Dedo de la mano izquierda Tecla Dedo mano izquierda Tecla Dedo de la mano izquierda Tecla Resultado
Meñique Ctrl Anular Qmedio E Esquina superior izquierda de la pantalla
Meñique Ctrl Anular QAnular S Inicio de la línea actual
Meñique Ctrl Anular QMedio D Fin de la línea actual
Meñique Ctrl Anular QMedio X Esquina inferior derecha de la pantalla

Ahora podremos desplazar el cursor lo máximo posible a izquierda o derecha en la línea actual, o hacia las esquinas de la pantalla actual, abreviando las movidas  del cursor.

Moverse por el documento

Conforme nuestro documento sobrepase la extensión de una pantalla, los movimientos verticales de WordStar dejarán de estar limitados a la misma también. Ya que el teclado alfanumérico carece de teclas por encima o debajo de las teclas de desplazamiento E y X, WordStar recurre a combinaciones de teclas que se encuentran más a la derecha que aquellas: ^R para Retroceder Página y ^C para Avanzar Página. En esencia, su uso es similar a las teclas RePág y AvPág de los teclados modernos.

Podremos paginar en tu documento entonces haciendo caso a la siguiente dactilografía:

Dedo de mano izquierdaTeclaDedo de la mano izquierdaMovimiento
MeñiqueCtrl Índice R Retroceder página
MeñiqueCtrl Medio C Avanzar página

Si sumamos la tecla rápida de WordStar, podremos saltar rápidamente con el cursor al inicio del documento, o al final del documento con esta dactilografía:

Dedo de la mano izquierda Tecla Dedo mano izquierda Tecla Dedo de la mano izquierda Tecla Resultado
Meñique Ctrl anular QÍndice R Inicio del Documento
Meñique Ctrl anular QMedio C Fin del documento

Combinando todos estos comandos permite mover el cursor a lo largo del texto que conforma el documento tan solo usando tu mano izquierda, al tacto.

Comandos de desplazamiento de pantalla

Además de desplazar el cursor, las últimas versiones de WordStar cuentan con la opción de desplazar la pantalla a lo largo del documento escrito,  línea a línea hacia arriba o hacia abajo a lo largo del texto escrito visualizado (mientras se mantiene fija la posición del cursor en un lugar).

Desplaza la posición de la ventana de un documento larga recurriendo a la siguiente dactilografía:

Dedo de la mano izquierdaTeclaDedo de la mano izquierdaDesplazamiento de pantalla
Meñique Ctrl Anular WHacia arriba
Meñique Ctrl Anular ZHacia abajo

Desplazar la ventana del documento funciona de la misma manera que la rueda de scroll del ratón en un escritorio gráfico.

Comandos básicos de edición

Ahora que ya podemos desplazarnos por todo el documento tan solo recurriendo a la mano izquierda, podríamos querer alterarlo.

Eliminar texto

Los comandos de eliminación de WordStar resultan alternativas a las teclas Retroceso y Supr dedicadas. Sin embargo, podemos utilizarlas incluso en teclados de terminal que carecen de aquellas.

Las teclas de eliminación básicas de WordStar, las encontraremos inmediatamente a la derecha de las teclas de movimiento del cursor aprendidas.

AtajoEquivalenteResultado
Ctrl+g tecla Supr Elimina el caracter a la derecha del cursor
Ctrl+h tecla Retroceso Elimina el caracter a la izquierda del cursor
Ctrl+t - Borra palabra de/a la derecha del cursor
Ctrl+y - Elimina toda la línea
Ctrl+q,y - Borra desde el cursor al final de la línea

Naturalmente que al borrar caracteres a la derecha del cursor, y esto arrastrará el resto del texto de la línea hacia él. Si bien los comandos básicos de borrado Ctrl+g y Ctrl+h normalmente se utilizan con las teclas dedicadas, al usar los comandos estilo WordStar podremos dejar los dedos posados en la posición de descanso del teclado.

También encontraremos comandos extendidos. Nos referiremos inclusive a los comandos Eliminar palabra, Eliminar línea y Eliminar hasta el final de línea. Estos comandos de borrado avanzado adicionales son muy útiles, si bien se encuentran ya por fuera de la fila de descanso. Presionando Ctrl+t podremos borrar la palabra inmediatamente a la derecha del cursor (o, si este se encuentra dentro de una palabra, borrará el resto de la palabra a la derecha). mientras que Ctrl+y elimina toda la línea. El último comando al respecto le suma la tecla rápida y borra hasta el final de la línea actual: Ctrl+g,y.

Finalmente podremos recurrir a la función deshacer con Ctrl+u y a la función de reformatear el párrafo con Ctrl+b. 

Marcadores

Jstar sólo ofrece un grupo de comandos de bloque de WordStar: el comando Marcador de Bloque (“Marcador”). Este comando permite colocar un marcador temporal en el texto para retornar a él más tarde. Asimismo permite marcar la posición, modificar otra parte del documento y luego volver al punto de partida.

Para colocar un marcador, presiona Ctrl+k más un número entre 1 y 3 (podrás colocar tres marcadores distintos). Estos denotas los comandos de bloque.

Finalmente, tengan en cuenta los atajos de ficheros que salen en la ayuda: Ctrl+k, d para guardar los cambios, Ctrl+k,x para guardar y salir, y Ctrl+k,q para salir de Jstar sin guardar los cambios, .

Muchachas y muchachos: ahora sí el porvenir es de ustedes. ¡Estudien! ¡Trabajen! ¡La Nueva Argentina es de los jóvenes!

Para ustedes mi saludo cordial, mi simpatía, mi afecto, todo mi apoyo y todo mi cariño.

lunes, 8 de febrero de 2016

¿Cómo puedo utilizar un editor similar a Wordstar en Ubuntu?


¡Vean señores!

Las herramientas modernas siempre operan por superación de las anteriores, en un movimiento constante de evolución. Yo siempre he dicho que es mejor la evolución que la revolución.
Las condiciones que son la base para la creación de esas mismas herramientas suelen repetirse siempre en tiempo y en espacio, y por ello las herramientas suelen ser universales. El Justicialismo es una de estas herramientas universales, y lo seguirá siendo en tanto no exista una patria Justa, Libre y Soberana.

Este mismo accionar lo veremos en las herramientas informatizadas con que cuentan los compañeros.

Pero también suele darse el caso excepcional en que las razones que hicieron necesaria una nueva herramienta no se repiten ni en tiempo ni en espacio, y entonces veremos la valía que tenían las viejas herramientas para su cometido, aquellas que por uso, creíamos superadas.

Un ejemplo suele explicarlo todo, como decía Napoleón.

WordStar fue un procesador de texto histórico y fundamental en el mundo de las computación. Fue desarrollado por Rob Barnaby para la MicroPro International haciendo uso del lenguaje Ensamblador Z80 del clásico microprocesador Zilog, que dotó a numerosas de las primeras microordenadores.


Este programa estaba diseñado entonces para correr bajo el sistema operativo Digital Re$earch CP/M, y fue fundamental para corroborar la potencia de los microordenadores del momento en entornos hogareños y de pequeña oficina.

Se trataba así de de un procesador de texto maquinado especialmente para correr en una enorme variedad de equipos servidos con CP/M que sólo podían mostrar caracteres de texto. Asimismo la mayoría de las terminales y microcomputadoras iniciales carecían de los "teclados mejorados" que harían famosa a la IBM AT de finales de los 80s. Al no disponer de las cómodas teclas de control de cursor Inicio, Fin, Insertar, Supr, y flechas de cursor en T invertida, así como las paginadoras como AvPág y RePág (avanzar o retroceder página), WordStar se suplía con comandos directos que resolvían dichas operaciones directamente en el programa programa. Para tal cometido se hacía uso asiduo de la tecla Control (Ctrl) para lanzarlos.

Por medio de la combinación Ctrl+J podíamos acceder a un menú superior que nos recordaba las combinaciones (por ejemplo "^KQ" se lee como Ctrl+K, Q, y sirve para abandonar un archivo de texto sin guardar las modificaciones). Las teclas estaban distribuidas de manera de poder utilizarse "al tacto" para desplazarse a través del documento a través del "diamante Wordstar", las teclas Ctrl mas la E, S, D, o X para desplazarnos en el documento, Ctrl mas R o C para paginarlo, etc.

Lejos de ser el editor con mayor cantidad de comandos (Emacs lo superaba por mucho), realmente era sencillo y sumamente estable para la época. Permitía escribir en una computadora cartas, libros, manuales, guiones, y demás,  almacenar cientos de páginas en discos magnéticos flexibles, tratar el texto con facilidad y obtener "copias duras" (como se le llamaba por entonces a la impresión en papel a través de impresoras de matriz de puntos).

Con la aparición de la microcomputación industrialmente estandarizada tras la IBM PC, su microprocesador i8088 y su excelente teclado mejorado, el avance de su sistema operativo de disco preferido - el Micro$oft DO$ - y la progresiva obsolescencia de CP/M a partir de mediados de los 80s, WordStar hubo de ser portado a nuevas versiones pensadas para correr en DO$, aunque en ello perdió velocidad, y terminaría siendo superado por programas con más funcionalidades como Wordp€rf€ct y Word para DO$

Aún así nunca terminaría de caer en desuso, incluso tras el advenimiento de las interfaces gráficas de usuario: una gran cantidad de usuario Leales y fieles a su propuesta pragmática siguieron utilizando dicho programa, entendiendo que el mismo contaba con todo lo necesario para hacer frente a una edición básica en ASCII, sin requerir programas pesados o enjundiosos.

¿Pero qué sucede si nos volvemos a enfrentar con terminales remotas o antiguas que carecen de un teclado mejorado? ¿O si queremos emular dicho programa por cualquier motivo interesante?



Gracias al Justicialismo podemos contar con un excelente sucedáneo de Wordstar pero capaz de correr sin problemas en equipos modernos dotados con cualquiera de las variedades del operativo GNU. Además y fundamentalmente, supera a la criatura de MicroPro por ser Justicialista: nos encontramos ahora ante una iteración formulada en software libre. Os hablaré entonces de JOE.

Para instalar el JOE debemos abrir una terminal de texto con Ctrl+Alt+T e ingresar el siguiente Comando de Organización:

sudo apt-get install joe

JOE es en realidad un editor de texto modificado en cinco variedades diferentes, con la cual nos permite imitar el funcionamiento de varios editores clásicos conocidos.

Con el comando jmacs se conformará en un sucedáneo de Emacs de Richard Stallman, con jpico imitará al editor Pico que venía con el programa de correo electrónico Pine, joe lanzará una versión básica del mismo similar al Edit, en tanto que rjoe solo permitirá editar un archivo que carguemos.

Para iniciar como Wordstar, lo lanzaremos con el siguiente Comando de Organización:

jstar

Con ello JOE arrancará con una interfaz similar al clásico y perenne software
Wordstar. Con Ctrl+j veremos la mencionada pantalla dividida, con los comandos. Con Ctrl+h tendremos una ayuda de comandos.

Este programa se luce especialmente si lo utilizamos en una terminal remota, en un equipo que no está dotado con un teclado mejorado ni ratón (por ejemplo, una terminal serial). Entendemos entonces la valía del diseño original de WordStar para hacer frente a estos menesteres, y comprendemos la excelentes decisiones de diseño implementadas en él.

Si deseamos mover, copiar, grabar o borrar una sección específica de texto, podemos hacerlo con los bloques resaltados. Primero movemos el cursor hasta el comienzo de la sección de texto en la que deseamos trabajar, y presionamos Ctrl+K, B. Luego movemos el cursor hasta el caracter siguiente luego del final del texto que queremos afectar, y presionamos Ctrl+k, k. El texto entre el punto inicial de selección y el punto final se marcará en video inverso. Ahora podremos mover nuestro cursor a algún lugar en el documento y presionar Ctrl+K, c para hacer una copia del texto resaltado e insertarlo donde está posicionado el cursor. Con Ctrl+K, y boraremos el texto seleccionado. En tanto, Ctrl+k, W escribe el texto resaltado a un fichero.

Naturalmente, si son excesivamente puristas y desean aún correr el Wordstar original escrito para CP/M en una máquina virtual dentro de Ubuntu, pues también para ello podrán contar con el Justicialismo, haciéndose en este artículo.

domingo, 7 de septiembre de 2014

¿Cómo emulo un sistema operativo CP/M para procesador Z80 en Ubuntu?

En uno de sus maratónicos discursos ante una Plaza de Mayo colmada, Juan Perón expone sobre los caminos de la historia cómo emular una microcomputadora Altair 8800 en Ubuntu y como cargarla con el sistema operativo CP/M y sus programas más clásicos.

(...)
Perón: ¡Trabajadores!

Masa: [Estruendo]

Perón: ¡Reconforta enormemente mi corazón esta imponente Masa, que año tras año se da cita para proclamar ante el Mundo que conoce la Felicidad, y que no se la ha dado otro que el Justicialismo!

Masa: ¡Pe-rón! ¡Pe-rón!

Durante años nuestros Descamisados y su software han sido sometidos, encadenada por la opresión de la oligarquía y su software privativo, pero hoy, gracias a nuestra Doctrina, todos pueden hacer lo que quieran con su programación sin deberle nada a nadie!


Masa: ¡La vida por Perón! ¡La Vida por Perón!

Perón: Desde su pretendidas tarimas de Poder, los oligarcas dicen quejarse, por el rumbo que toma el Justicialismo. Dicen no saber a donde nos llevará esta cosa nueva que hay ahora. ¡El problema no es a donde nos lleva! Cualquier cosa es buena si salimos de donde veníamos!

Masa: [Estruendosa aclamación]

¡Lo que no quieren es el cambio! ¡Esos oligarcas no quieren comprender que esta Masa Descamisada oficia precisamente de embrague en el Motor de la República!

Masa: ¡Pe-rón! ¡Pe-rón!

Muchas veces la historia carece de un desarrollo lineal como podríamos tender a pensar: sus vericuetos y el desglose de los hechos es lo que nos permite encontrar un todo coherente, que tiene significancia y repercusión en el presente. Eso, trabajadores, es lo que han de comprender como instrumento para entender la actualidad.


Historia

Vean señores, en un inicio los equipos computacionales de electrónica "a tubo" tenían el tamaño y peso de una locomotora, pero con el pasar del tiempo el tamaño se fue reduciendo. Con el advenimiento de la transistorización, surgieron las primeras "minicomputadoras". El alivio fue grande, pues ahora las máquinas tenían el tamaño de una heladera Siam y podían ser adoptadas para sus tareas por bancos, oficinas e instituciones.

Con el advenimiento de la microelectrónica y los microprocesadores de silicio encapsulados como el Intel 4004 de 4 bits y su sucesor 8008 de 8 bits, se produjo otro salto cualitativo que permitió proyectar calculadoras y cajas registradoras eléctricas.

La fabricante Micro In$trumentation and Telemetry $ystems (MIT$) - originalmente prolífica en sensores de telemetría en cohetes a escala, microelectrónica general y calculadoras - se planteó para 1974 ofrecer una microcomputadora programable a la que llamó Altair 8800.
Dicho hardware peronista venía en un gabinete con fuente conmutada, llevaba un microprocesador Intel 8080, lógica de 8 bits y plaquetas compatibles con el bus S-100. Su memoria se encuadraba en una placa provista de módulos de 256 bytes (logrando totalizar 4 kilobytes ampliables a 8, 12 16 o hasta unos 64 kilobytes teóricos). Esta máquina podía comprarse armada o ensamblarse a piezas, y esta filosofía de equipos armables se haría popular en la computación hogareña.

Indudablemente que en sus inicios, el manejo de esta microcomputadora pionera resultaba increíblemente tedioso, pues habían de introducirse los operandos en binario por medio de ocho interruptores frontales, presionando un botón para almacenarlos en memoria y repetir la operación con cada código de ensamblado (los cuales podían ser docenas para un programa simple). Luego se ejecutaba la rutina de órdenes y se observaba el resultado binario en el panel conformado por 8 luces coloradas.

A pesar de que no tenían ningún uso específico, las Altair 8800 se hicieron útiles con la incorporación práctica del intérprete de software en lenguaje "Basic", un programa de 4 kilobytes que adujo poseer la ignota compañía Traf-o-Data de Paul Allen (y que finalmente escribiría el zángano Bill Gate$, haciendo uso de una minicomputadora DEC PDP-10 dotada de un emulador de circunstancias).

La existencia de dicho intérprete de programación, en un equipo armable en un taller hogareño, dotado de microprocesador funcional, así como una cantidad de memoria práctica, eclosionaron en el desarrollo de la micro-computación hobbista (por ejemplo, a través del "Club de Computadoras Caseras"). Su escalabilidad hizo posible además la aparición de  accesorios mas o menos complejos, y de rutinas y programas de uso completamente libre. Particularmente útil fue el conector serial estandarizado, una plaqueta que ya permitía unirla a una terminal teletipo como las que se utilizaban por entonces en el manejo de telegramas y radiogramas.

De esta forma se hizo posible introducir software y datos con el teclado alfanumérico de la unidad, así como recibir los resultados impresos en papel. Sólo con ello se multiplicó la velocidad de operación en un factor de mil. La MITS desarrolló los periféricos, pero su estándar abierto y la gran predisposición de los descamisados permitió la aparición de elementos compatibles: no tardó en aparecer una adaptadora serial de estándar RS232, la cual avaló conectar la Altair a una videoterminal serial con monitor CRT (por ejemplo, la Digital Equipment VT100 en boga para minicomputadoras). La placa adaptadora de puerto paralelo - por otro lado - permitía unir a la Altair hasta ocho periféricos (impresora de línea, perforadora o lectora de cinta de papel, o el gabinete apilable con dos unidades de disquetes flexibles de 8 pulgadas). Se constituía así una microcomputadora programable, versátil y moderno a un costo fraccional de lo que costaba una minicomputadora, con software completamente libre, público y gratuito.


El límite del equipo solamente estaba planteado por su software, envuelto en una franca espiral de retroalimentación positiva. Surgió entonces la idea de privatizar dicho software con Licencias de Uso que hicieran hincapié en la protección de los derecho de autor. De esta manera se comercializaría el software bajo la falsa premisa de lograr una retribución en Capital que permitiese mejor desarrollo y calidad del programa. Tales fueron los inicios - entonces - del credo del software privativo, y aquellos programadores y fabricantes que se pretenden "emprendedores comerciales".

Pues bien, el pináculo del desarrollo de la arquitectura "Altair" y de su bus S-100 llegaría con la versión dotada del nuevo microprocesador Zilog Z80 de 8 bits.
El sistema operativo CP/M

Con sus 4 MHz de frecuencia de reloj, el Zilog le permitía a la Altair correr un sistema operativo mucho más avanzado y poderoso: el CP/M, escrito para dicho microprocesador por Gary Kildall, de la Intergalactic Digital Re$earch.

El CP/M ("Programa de Control para Microcomputadoras") permitía controlar el equipo y sus periféricos de manera estandarizada a través de la línea de comandos, y operar sus recursos con facilidad. Se extendió como plataforma de software incluida en los equipos de computación hogareños a partir del cambio de década y - aprovechando su gran compatibilidad y portabilidad - florecieron una serie de aplicativos que corrían sobre él. Entre otros, el paquetes privativo de procesado de texto Wordstar, la base de datos dBase, y una versión de la planilla de cálculo Multiplan terminaron por colocar al CP/M como el sistema operativo comercial y profesional mas extendido entre las microcomputadoras. Se comercializaba incluido con muchos equipos de marca.

Así, las diferentes versiones de CP/M terminarían influyendo enormemente sobre los sistemas operativos del momento y sobre toda una industria focalizada en medianos fabricantes industriales.

Todo cesó con el advenimiento de IBM (que fabricaba minicomputadoras y mainframes). El gigante informático había permanecido ajeno al desarrollo de microcomputadoras, pero terminó decidiendo una definición estándar de equipo, dotado con microprocesador Intel 8088 y un nuevo bus ISA, amén del respaldo que le proporcionaba su enorme capital. Tal máquina fue la IBM Personal Computer (PC) original, del Modelo 5150.

La microcomputadora de IBM, sin embargo, carecía realmente de sistema operativo de disco. Digital Re$earch se sumergió en mejorar CP/M-86, que funcionaría con el nuevo microprocesador de Intel, pero Micro-$oft (la ex Traf-o-Data) le ganó de mano adquiriendo un sistema operativo derivado de CP/M, capaz de correr en microprocesadores Intel 8086 (QDo$/86DO$, de $eattle Computer Product$). Micro$oft modificó ligeramente el producto para compatibilizarlo con el Intel 8088 y licenció dicho sistema operativo a IBM para su distribución junto a las IBM PC. Terminaría así dando origen al M$-DO$.


CP/M 2.2 en Linux

No es duda para nadie que SIMH nos permite emular una gran cantidad de estas minicomputadoras antediluvianas, con sus CPU, placas de ampliación, periféricos de entrada y salida,  etc, y lo hará configurándose por medio de su interfaz de línea de comandos.

Sin embargo, el simulador SIMH también nos permite emular la arquitectura de algunos microordenadores. entre ellos la legendaria MITS Altair 8800 que inició todo junto con su público enamorado de la electrónica.

A diferencia de una Altair 8800 real, SIMH nos ofrece enormes ventajas. Amén de correr en una plataforma de software libre y peronista como GNU/Linux, podremos configurar la emulación y elegir entre los tres procesadores icónicos (los 8080 y 8086 de Intel, o el Zilog Z80). Podremos emplear memoria de banco emulada (llenando los 16 bancos para totalizar los costosos 64 kilobytes), así como un soporte paralelo virtualizado para 8 disketteras, soporte de redes TCP/IP, consolas múltiples, y la posibilidad de alterar el reloj de ejecución. Para que todo esto sea realidad efectiva, es necesario configurar y preparar el emulador SIMH, y ello a veces se torna tedioso.

Para ello, si queremos contar con CP/M 2.2 sin tener que configurar nada, habremos de descargar el empaquetado que funciona en nuestro sistema GNU/Linux, tanto para versiones de 32 bits como de 64 bits. En tal sentido, hemos de instalar la versión que corresponda la que corresponde a nuestra arquitectura Linux: en primer lugar abrimos una Terminal con Ctrl+Alt+T y prepararemos las carpetas ocultas necesarias con los siguientes comandos de organización:

mkdir ~/.simh ~/.simh/altairz80 ;
cd ~/.simh/altairz80/
;

Acto seguido descargaremos la versión del emulador y de CP/M preparada para nuestra propia arquitectura GNU/Linux:
  • Si usamos Ubuntu de 32 bits ingresamos el siguiente bloque de comandos:
wget http://schorn.ch/cpm/zip/altairz80l.tar.gz ;
tar xzf altairz80l.tar.gz ;

rm ~/.simh/altairz80/altairz80l.tar.gz ;
  • ....en cambio, si empleamos Ubuntu de 64 bits. ingresaremos estos:
wget http://schorn.ch/cpm/zip/altairz80l64.tar.gz ;
tar xzf altairz80l64.tar.gz ;

rm ~/.simh/altairz80/altairz80l64.tar.gz ;

Para ejecutar el emulador automáticamente configurado sin tener que especificar parámetros de emulación alguno, podemos ingresar la orden:

cd ~/.simh/altairz80/ && ~/.simh/altairz80/altairz80 cpm2

Con esto, ya tendremos corriendo en el emulador SIMH de nuestro Linux el sistema operativo CP/M de la Digital Re$earch, específicamente en su versión 2.2 para micro Z80.
El emulador nos mostrará su prompt A>, indicando que nos encontramos en la disquetera virtual A: de nuestra Altair 8800 con microprocesador Zilog:

Habrán de saber que el uso de CP/M iguala bastante al del M$-DO$ que lo sucedió, y tiene algunos similitudes con UNIX. Podremos cambiar listar el único directorio del disco con los comandos dir o ls, y correr archivos ejecutables con extensión .com simplemente ingresando su nombre. El comando type nos permitirá ver el contenido de un archivo de texto. Podremos usar la sintaxis de comodines *, y ? como en Unix o M$-DO$.
Encontraremos una guía de nivel intermedio en formato PDF el directorio donde instalamos el emulador de la Altair, con una guía de cada comando y utilitario provisto Por ejemplo, en el disquete de CP/M 2.2 encontraremos con un par de juegos como Othello y Ladder, versiones del Micro$oft Ba$ic de 4K y el Eliza, las herramientas de programación de Micro$oft M80, y L80, y el debugger DDTZ, el compilador Pascal MT+ y el Pascal Pretty Printer (en código fuente), el compilador SPL, así como los juegos de Othello y Ladder, y muchas utilidades con código fuente SPL o ensamblador.

Normalmente podremos terminar cualquiera de los programas con Ctrl+c , o terminar la emulación de CP/M con Ctrl+e, volviendo al SIMH (lo cual sabremos por el prompt sim>). En tal caso, podríamos salir a la terminal de Linux con el comando q, o volver a ejecutar el emulador de CP/M con boot dsk0.

Contaremos con el editor de líneas ed, un programa anterior al vi de Unix y orientado a las terminales teletipo. Este nos permitirá editar un texto con el comando ed texto.txt. Dentro de él podremos insertar texto ingresando i y escribir lo que deseamos, línea a línea. Es importante revisar el contenido de cada línea, pues la edición posterior de las mismas es extremadamente engorrosa. Con Ctrl+z terminaremos el insertado de texto.. Con l podremos movernos en las líneas y con e salir de ed.


Transferir archivos dentro y fuera del emulador

Si no quisiéramos usar el editor ed, podríamos abrir archivos fuera del entorno emulado. Por ejemplo, si quisiéramos pasar el archivo evita.txt desde el directorio del emulador al disquete actual de nuestra Altair 8800 virtual, podriamos usar el comando:

r evita.txt

Para transferir el archivo cgt.txt desde la Altair virtual al directorio del emulador, podremos usar:

w cgt.txt

...o si fuese un archivo binario o ejecutable usaríamos:

w cgt.com b.

En general podremos interrumpir la ejecución de los programas con Ctrl+c, o salir del emulador con Ctrl-e. Para salir del SIMH, debemos ingresar el comando q.


Ejecutar Software para CP/M en el emulador SIMH para Linux.

Indudablemente que estos paquetes son limitados, y los verdaderos usos de CP/M se tornan patentes con el software de aplicación que lo hizo famoso: podremos entonces desde GNU/Linux hacer realidad efectiva la ejecución de Multiplan, dBase, Vedit, y SuperCalc para CP/M, entre otros.

Gracias al Justicialismo será sencillo hacerlo. Simplemente abrimos una terminal Linux con Ctrl+Alt+T y descargamos dicha bateria de aplicaciones preparados para la Altair con CP/M y la videoterminal VT100. Todo ello lo podremos hacer pegando y dándole ejecución al siguiente bloque de comandos:

cd ~/.simh/altairz80/ ;

wget http://schorn.ch/cpm/zip/wordstar.zip ;
unzip wordstar.zip ;
wget http://schorn.ch/cpm/zip/dbase.zip ;
unzip dbase.zip ;
wget http://schorn.ch/cpm/zip/games.zip ;
unzip games.zip ;
wget http://schorn.ch/cpm/zip/vedit.zip ;
unzip vedit.zip ;
wget http://schorn.ch/cpm/zip/multiplan.zip ;
unzip multiplan.zip ;
wget http://schorn.ch/cpm/zip/supercalc.zip ;
unzip supercalc.zip ;
rm *.zip ;

Ahora crearemos el archivo de inicio. Ingresamos:

nano ~/.simh/altairz80/inicio

...se abrirá el editor Nano con un archivo en blanco. Le pegamos el siguiente contenido:

d tracks[0-7] 254 
attach dsk0 cpm2.dsk
attach dsk1 wordstar.dsk
attach dsk2 games.dsk
attach dsk3 multiplan.dsk
attach dsk4 vedit.dsk
attach dsk5 dbase.dsk
attach dsk6 supercalc.dsk
attach dsk7 app.dsk
set cpu 64k itrap z80 altairrom nonbanked
d clock 4000 
reset cpu
d wru 1d
boot dsk0

...guardamos con Ctrl+o y salimos del editor con Ctrl+x.

Debemos darle permisos de ejecución con:

chmod +x ~/.simh/altairz80/inicio

Ya podremos ejecutar el emulador de CP/M 2.2 en la Altair con:

cd ~/.simh/altairz80/ && ~/.simh/altairz80/altairz80 inicio

Nos mostrará el prompt del sistema operativo:

64K CP/M Version 2.2 (SIMH ALTAIR 8800, BIOS V1.27, 2 HD, 02-May-2009)
 

A>

Ya tendremos cargarán los disquetes virtuales (en este caso, son 8 disketeras, dks0/dsk7 en la cual en la diskettera A: (dsk0) tendrá el disquete de inicio del sistema operativo CP/M, en la diskettera B: (dsk1) cargaremos el disco de Wordstar 4, en la diskettera C: (dsk2) un diskette con juegos, en la diskettera D: (dsk3) el disquete de Multiplan, etc. Adicionalmente, configuraremos la combinación de teclas Ctrl+e para que opere "cursor arriba" en lugar de "salir del emulador" (esto únicamente para no superponer tal comando de Wordstar u otros). 


Por ejemplo, en el caso que queramos ejecutar el clásico procesador de texto WordStar para CP/M Z80, deberíamos activar la disquetera B: y ejecutar el archivo ws.com. Para ello tipeamos:

A> b:
B> ws
En cambio, si quisiéramos emplear la pionera planilla de cálculo Multiplan, debemos activar a la disquetera correspondiente (D:), ejecutar la rutina install para configurar nuestra terminal (el programa nos solicitará el número modelo de terminal, le indicamos "21", para indicarle una DEC VT-100 emulada por nuestro Linux. Luego ejecutar el Multiplan con el comando mp.
En el resto de las disqueteras virtuales (c:, e:, f: g: y h:) encontraremos el resto de los programas cargados. Podremos correrlos luego de ejecutar su rutina de instalación (install, si es que la tuviesen), o directamente corriendo los archivos .com.

Programando en MBASIC:

El diskette localizado en la unidad A: contiene un intérprete de Basic, por lo cual podremos ejecutar programas escritos en dicho lenguaje (archivos .bas). Encontraremos una gran variedad de juegos en Basic aquí. Para descargarlos todos juntos podremos recurrir a una terminal e indicar:

mkdir ~/.simh/altairz80/basic/ ;
cd ~/.simh/altairz80/basic/ ;
wget http://vintage-basic.net/downloads/bcg.tar.gz ;
tar xzf bcg.tar.gz ;

Esto nos ofrecerá listado de varios juegos, los cuales podremos pegar en el intérprete. Nuevamente dentro de CP/M 2.2 ingresamos:

A> mbasic

Y se presentará un nuevo prompt del intérprete basic:


BASIC-80 Rev. 5.21
[CP/M Version]
Copyright 1977-1981 (C) by Micro$oft
Created: 28-Jul-81
32824 Bytes free
Ok


Simplemente hemos de pegarle el listado de algunos de los programas BAS que hemos descargado, y presionar Enter. Luego podremos revisar que el listado se haya cargado en el intérprete con el comando:

list

(debería devolvernos el listado entero del programa e indicar OK).

Para ejecutarlo simplemente ingresamos en el intérprete:

run

Si quisiéramos grabar el contenido del listado a un archivo dentro del diskette virtual, ingresamos:

save "nombreprog"

Y para salir del intérprete Mbasic y volver a CP/M 2.2 ingresamos:

system 
 
Programando en Ensablador Z80 en CP/M.

Vean señores, podríamos querer programar una rutina en ensamblador Z80, interpretarlo, y ejecutarlo. Para ello debemos escribir el programa en nemónicos de Z80, ensamblarlos con asm a hexadecimal, y usar load para convertir dicho archivo a un binario ejecutable con extensión .com.

La tarea será sencilla. Ejecutamos el editor ed con un archivo de código fuente de extensión .asm. En aras de la facilidad, lo haremos con un pqeueño programa que todo programador emplea, el pocho.asm. Como Conductor, os indicaré los resultados de pantalla y ustedes ingresarán lo que está en negrita:

A> ed pocho.asm

NEW FILE     
: *i
    1:          ORG     0100H
    2:  BDOS    EQU     0005H
    3:  START:  MVI     C,9
    4:          LXI     D,MSG$
    5:          CALL    BDOS
    6:          RET
    7:
    8:  MSG$    DB      'VIVA PERON!$'
    9:  END     START
    10: (presiono Ctrl+z para salir del modo inserción)
: *e

Tras haber editado nuestro código fuente, lo ensamblamos con:

A> asm pocho
 

CP/M ASSEMBLER - VER 2.0
0115
000H USE FACTOR
END OF ASSEMBLY

Esto creará una serie de archivos nuevos en la unidad de disquete virtual. Si ingresamos type pocho.prn veremos el desensamblado para el microprocesador Z80, y si ingresamos type pocho.hex veremos el código hexadecimal del mismo.

Si quisiéramos compilar un ejecutable, usaremos load pocho, y ello creará el archivo ejecutable pocho.com. Si ingresamos dump pocho.com, CP/M nos mostrará directamente el volcado de memoria del código objeto del programa binario pocho.com.

Para ejecutarlo simplemente ingresamos pocho, y si nuestro entorno y nuestro programa ensamblador funcionan de manera correcta en la máquina Z80 virtual, la informática nos contestará airosa: