Herramientas de usuario

Herramientas del sitio


013:programas-microhobby

Microhobby 13. Año II, del 29 de enero al 04 de febrero de 1985

Programas Microhobby

Editext (I)

Para el tratamiento de textos en el Spectrum

Jesús Alonso Rodríguez

Spectrum 48 K

Una de las aplicaciones más interesantes de los ordenadores domésticos es el tratamiento de textos; y si hay un ordenador especialmente poco idóneo para esta aplicación, es sin duda el Spectrum; el teclado es lento, trabaja con sólo 32 columnas, y por si fuera poco, el BASIC interpretado es un lenguaje demasiado lento para las tareas que ha de llevar a cabo un editor de textos.

En primer lugar, hay que conseguir aumentar el número de columnas en pantalla, para lo cual se genera un nuevo juego de caracteres que permite 64 columnas de impresión; a continuación se diseñan algunas rutinas en código máquina para desarrollar tareas en las que el BASIC resulta lento, tales como transferencia de bloques, impresión de pantallas, etc.; y finalmente se escribe el resto del programa en BASIC. El resultado es el Editor de textos que presentamos aquí con el título de EDITEXT.

Composición del programa

El programa tiene dos partes fundamentales; la primera es un editor de página en curso o página cero, que incorpora una serie de facilidades tales como tabulación, párrafo adentrado, borrado de caracteres, ajuste automático de línea, caracteres españoles, acentuado de vocales, etc.

La segunda parte del programa la componen una serie de rutinas que permiten almacenar en memoria hasta 21 páginas de texto, leer las páginas almacenadas, pasarlas a impresora, o almacenarlas en cintas de cassette. Para todo esto se utilizan cinco rutinas en código máquina; la primera no es preciso comentarla ya que es ampliamente conocida por todos los usuarios del Spectrum; de las restantes se acompaña el listado assembler con un gran número de comentarios que permitirán al lector entender su funcionamiento.

El manejo del Editor no es complicado, después de la «carátula» aparece una página de instrucciones que recuerda los distintos comandos del editor de página en curso, aunque es más sencillo colocar sobre el teclado una plantilla como la que se adjunta. Las instrucciones están escritas sobre la página cero, por lo que se borran al utilizar el editor; no obstante, si desea guardarlas, siempre puede transferir la página en curso a la página 21 utilizando la opción 2 (observe la velocidad con que realiza la transferencia, 20 milisegundos); por lo demás, programa tiene la buena costumbre de indicar lo que va haciendo y pedir los datos que necesite.

La zona de ajuste corresponde a los últimos caracteres de la línea, se puede fijar entre uno y ocho, o cero si no se desea ajuste automático, el programa emite una nota aguda para indicar que ha entrado en zona de ajuste, y que por tanto, la pulsación de un guión (signo «menos») o un espacio, producirá un salto automático a nueva línea; CAPS SHIFT + 2 fija y libera las mayúsculas; CAPS SHIFT + 0 borra el último carácter de la línea en curso; SIMBOL SHIFT + 2 genera la ñ minúscula; SIMBOL SHIFT + 6 genera la Ñ mayúscula; ENTER salta a nueva línea; y CAPS SHIFT + SIMBOL SHIFT pasan a modo extendido.

Al situarse el teclado en modo extendido aparece la palabra EXT en el ángulo inferior derecho de la pantalla; en este modo puede usarse el fabulador, el párrafo adentrado, el final de página, y las vocales acentuadas.

Mapa de memoria del EDITEXT.

Manejo del tabulador

Para usar el tabulador habrá primero que fijar los topes de tabulación; pase a modo extendido y pulse la tecla «1»; se encuentra ahora en rutina de tabulado, ahora lleve el cursor hasta el primer punto que desee tabular utilizando la tecla espaciadora; para fijar la tabulación pulse «T»; repita hasta un máximo de cuatro topes de tabulación; cuando haya fijado el cuarto se producirá un retorno automático al inicio de línea y saldrá de la rutina de tabulado; si desea fijar menos de cuatro topes pulse ENTER para salir de la rutina de tabulado y retornar al modo normal; es posible que su trabajo habitual le obligue a utilizar más de cuatro topes de tabulado. Esperamos que no encuentre problemas en alterar las líneas 7010, 7070, 7150, 7410, 7430 y 8020; el array «t(4)» almacena los topes de tabulación entre 0 y 63, y la variable «ct» los subíndices del array «t(4)»); una vez fijados los topes de tabulación cada vez que pulse «T» en modo extendido, desplazará el cursor hasta el siguiente tope de tabulación; para borrar los topes pulse «9» en modo extendido.

Margen adentrado

Si desea utilizar un margen izquierdo adentrado para un párrafo, coloque el cursor sobre el inicio del párrafo, pase a modo extendido y pulse «P»; ahora siga escribiendo normalmente; cada vez que pulse ENTER el cursor se situará en la columna donde estaba cuando pulsó «P», generando así un párrafo adentrado; para volver al margen izquierdo normal pase a modo extendido y pulse «B», que borrará el párrafo adentrado.

Para terminar la página pase a modo extendido y pulse «ENTER».

Si desea acentuar una vocal, púlsela en modo extendido, con lo que conseguirá la vocal acentuada.

Con el fin de aprovechar al máximo la memoria hemos omitido las sentencias REM, por lo que se adjunta un mapa de las distintas rutinas sobre el programa en BASIC, así como un mapa total de distribución de la memoria.

Campos de energía

Francisco Lorca Salas (Paul Stanley)

Spectrum 48 K

Para ubicarnos en una central nuclear no hace falta contar con una gran imaginación aunque, en este programa que veremos a continuación, se encuentre en cualquier espacio interestelar.

Así pues, situémonos en esa central nuclear en donde nosotros seremos el guarda. Nuestra misión será la de procurar que los pequeños escapes que se producen, no salgan de las cuatro torres representadas en la pantalla. Si no lo conseguimos, iremos perdiendo un poco de energía con cada escape y, si éste es muy grande, perderemos una vida.

A pesar de que disponemos de siete vidas, las iremos perdiendo, también, cada vez que pulsemos fuego (0) fuera de los extremos rectangulares de la torre o si, en ese momento, no hay ningún escape en ella.

La partida finaliza cuando se pierden las siete vidas de que disponemos. Para jugar, existen tres controles: arriba; «1» ó «7»; abajo: «2» ó «6»; fuego: «0».

013/programas-microhobby.txt · Última modificación: d/m/Y H:i por miguel