Macros para The Editor

Descripción del contenido de la página

Macros para el editor de textos The Editor de la Sinclair QL.

Etiquetas:

Uno de los programas que más usé con la computadora QL fue The Editor. Era un editor de texto sin formato con una característica muy poderosa: permitía escribir macros con sus propios comandos, en ficheros de texto, para ejecutarlos en cualquier momento. Esto permitía automatizar muchas tareas complejas o repetitivas.

Muestro a continuación algunos de los macros o programitas para The Editor que conservo, los que son más curiosos.

Código fuente

adaptador_del_gens_3_cmd

Este programita lo debí de escribir a finales de los 1980. Me permitió adaptar listados en ensamblador de Z80, escritos para la Sinclair ZX Spectrum con el programa GENS-3, a un formato más estándar, manejable para utilizarlo con mi ensamblador ql80.

Los paréntesis servían para agrupar comandos en bucles, pero no recuerdo lo que indicaba el cero inicial, quizá repetir el bucle indefinidamente.

jl
0(6cr;s;p;d;7cr;s;a//;p;pr;d;2p;7cr;j;n)
w

elordesperante_cmd

Estos comandos son sustituciones simples de caracteres. Para usar el idioma Esperanto en la QL creé un juego de caracteres alternativo. Por cierto, el juego de caracteres de la QL no era estándar salvo en su parte ASCII, lo que obligaba a usar traductores para intercambiar textos con otros sistemas; además carecía de las vocales mayúsculas acentuadas del castellano. En mi juego de caracteres sustituí algunas letras y signos que no solía necesitar (por ejemplo las letras griegas y los símbolos de monedas) por las seis letras propias del Esperanto que tienen supersigno (ĉ/Ĉ, ĝ/Ĝ, ĥ/Ĥ, ĵ/Ĵ, ŝ/Ŝ, ŭ/Ŭ), y por las vocales mayúsculas acentuadas del castellano (Á, É, Í, Ó, Ú).

Este programita sustituye las letras del Esperanto representadas por pares de caracteres ASCII (la letra seguida del supersigno más parecido), por el código equivalente en mi propio juego de caracteres.

t;rp ec.c^.¢.
t;rp ec.g^.¥.
t;rp ec.h^.α.
t;rp ec.j^.δ.
t;rp ec.s^.θ.
t;rp ec.u~.λ.
t;rp ec.C^.μ.
t;rp ec.G^.π.
t;rp ec.H^.χ.
t;rp ec.J^.ƨ̣.
t;rp ec.S^.§.
t;rp ec.U~.¤.

novesperante_iksen_cmd

Este otro hacía la operación contraria, convirtiendo los códigos que las letras del Esperanto tenían en mi propio juego de caracteres a una representación ASCII formada por pares de caracteres, aunque diferente: se usa la letra X para representar los supersignos. Es una representación ASCII convencional bastante difundida para el Esperanto, aunque hoy en día apenas usada debido a la difusión de Unicode; se llama x-alfabeto, es decir, «alfabeto x»:

t;rp ec.¢.cx.
t;rp ec.¥.gx.
t;rp ec.α.hx.
t;rp ec.δ.jx.
t;rp ec.θ.sx.
t;rp ec.λ.ux.
t;rp ec.μ.CX.
t;rp ec.π.GX.
t;rp ec.χ.HX.
t;rp ec.ƨ̣.JX.
t;rp ec.§.SX.
t;rp ec.¤.UX.

faru_indekson_cmd

Esto creaba un índice; no me pregunten cómo. Por lo que veo y recuerdo, repetía una y otra vez la búsqueda de dos signos de igual, que al parecer marcaban los títulos de sección, y copiaba la línea correspondiente a donde fuera que hubiera que construir el índice.

rp(f.==.;sm;p;bs;be;gb;bi;cm;n)

qb_cmd

Este otro es muy interesante. Lo escribí para convertir un listado de un programa de Sinclair BASIC, de la ZX Spectrum, al formato del QBASIC de Microsoft. Se me ocurrió hacer una versión en QBASIC de alguno de mis programas, pero la cosa se quedó sólo en idea.

Sin embargo este pequeño conversor funcionaba bien. Por supuesto no hacía todo, sólo lo que era posible hacer de forma «ciega», como explican los comentarios del propio listado.

El listado del programa original lo obtenía con las funciones de impresión del emulador Z80, un emulador de ZX Spectrum para DOS y Windows que era de lo mejor que había entonces, y del que fui usuario registrado. Ese fichero yo lo pasaba a mi QL, lo transformaba con The Editor y lo volvía a enviar a la PC para seguir trabajando con él en QBASIC... Toda una sinfonía.

Por entonces (1996) ya no usaba ninguna de mis QL, sino una PC de 1991 (con un procesador 486 a 50 megaciclos por segundo y con 8 megaoctetos de RAM, recuerdo), con una tarjeta QXL que hacía todas las funciones de la QL (llevaba su propio procesador Motorola 68000 y su propia memoria, y usaba la PC como entrada y salida), por lo que ambas arquitecturas estaban dentro de una sola máquina y era más cómodo trabajar con las dos simultáneamente.

. qb_cmd

. Convierte (en parte) un texto de un listado de Sinclair Basic
. (de la ZX Spectrum) a QBASIC de Microsoft

. Copyright (C) 1996 Marcos Cruz (http://programandala.net)
. Licencia/Permesilo/License: http://programandala.net/licencia

. 1996-05-28

. convertir los números de línea en etiquetas
t si1 s
rp( i/ / j cw s p d cw s p i/etiqueta_/ j ce a/:/ p j 2n )
t d

. insertar los ENDIF
t rp( fwc/IF/ a/ENDIF/ p fwc/THEN/ cw 2s p d p ce )

. separar los comandos en líneas
t rp ( f/: / s 2dc s p d )

. conversiones directas
t rp ewc/GO TO/GOTO/
t rp ewc/GO SUB/GOSUB/
t rp ewc/CODE/ASC/
t rp ewc/REM/'/

. convertir los saltos en etiquetas
t rp( fwc/GOTO/ cw s i/ etiqueta_/ j p j n )
t rp( fwc/GOSUB/ cw s i/ etiqueta_/ j p j n )