001:programas-microhobby

No renderer 'odt' found for mode 'odt'

Microhobby 1. Año I, del 5 al 11 de noviembre de 1984

Sin ocupar memoria

Programas. Microcopi. Un programa que lo copia todo

microcopi1.jpg

Hacer copias de seguridad de los programas es, aparte de una sana costumbre, una necesidad. Para ello les ofrecemos MICROCOPI, programa en código máquina que presta una gran ayuda para este tipo de trabajo. Además, un aspecto a destacar del MICROCOPI es que no ocupa lugar en la memoria, sino que utiliza la del archivo de presentación visual.

En el mundo de los ordenadores hay algunas lecciones que conviene aprender pronto, si no queremos que sea nuestro micro el que se encargue de enseñárnoslas. Una de las más importantes es la relativa a las copias de seguridad. Confiar nuestros programas a un solo cassette, o a un solo cartucho de Microdrive, es cuanto menos pecar de optimismo. De acuerdo con la primera ley de Murphy (si algo puede ir mal, irá mal) si existe alguna forma para estropear un programa no le quepa la menor duda de que sus cintas de cassette acabarán descubriéndola tarde o temprano.

Por ello conviene acostumbrarse desde el primer momento a guardar por duplicado todos los programas y archivos de datos. Esto no supone ningún problema cuando se trata de nuestros propios programas, pero plantea dificultades a la hora de hacer copias de seguridad de los programas comerciales. La mayor parte de éstos suelen estar protegidos de tal forma que se imposibilita el poder pararlos, y por tanto el poder copiarlos con el comando SAVE del Spectrum. Para solucionar este problema, le ofrecemos MICROCOPI, un programa en código máquina que le permitirá copiar una gran parte de los programas comerciales.

Pero antes de seguir adelante, es obligado hacer una advertencia: hacer copias de seguridad de los programas que hemos comprado, es una actividad perfectamente legal y recomendada incluso por muchas firmas de software. En cambio, hacer copias de programas ajenos, o vender o regalar a otras personas copias de los programas que hemos comprado, es una actividad cuanto menos poco ética, probablemente también es ilegal, pero la legislación sobre propiedad intelectual deja mucho que desear en esta materia. En cualquier caso, quede claro que la finalidad con la que ofrecemos este programa es únicamente la primera citada.

microcopi2.jpg

Y vamos ya con el programa. MICROCOPI permite copiar cualquier programa con cabecera “real” (luego explicaremos esto) cuya longitud no supere 8973 bytes en el Spectrum de 16 K ó 41741 bytes en el modelo de 48 K. También puede copiar un programa que conste de varias partes con tal de que ninguna de ellas supere la longitud indicada. Para copiar este tipo de programas es necesario hacerlo parte a parte. Además, MICROCOPI proporciona el tipo, nombre, longitud y comienzo del programa que está cargando o grabando y permite repetir estas operaciones cuantas veces queramos.

Su funcionamiento es muy sencillo. Después de cargado aparece en la pantalla el menú con las opciones “load”, < “save” y “Fin”. Pulsando la tecla correspondiente el programa realizará la operación requerida. Obsérvese que la F de “Fin” está en mayúscula para recordarle que pulse conjuntamente CAPS SHIFT y la tecla. Esta operación es una protección contra descuidos ya que el efecto de esta opción es borrar el programa de la memoria devolviendo el control al usuario. Las otras dos opciones se explican por sí solas. Pulsando la tecla 1 de “load” el programa se pondrá en modo de carga. Ponemos en marcha la cinta con el programa que queremos copiar y en cuanto MICROCOPI haya leído la cabecera nos dará los datos del programa.

Si ese no es el que queremos copiar, pulsando Break, MICROCOPI pasará a cargar el siguiente programa de la cinta. Una vez cargado y si todo ha ido bien el 'PROGRAMA MICROHOBBY el mensaje “correcto” aparecerá en la pantalla. Pulsando Enter volveremos al menú desde donde podemos elegir la opción “save” para grabar el programa. Se puede abortar la grabación y volver al menú pulsando la tecla Break; mientras no vuelva a la opción “load” puede hacer todas las copias que quiera de un mismo programa.

Veamos ahora qué significa la información que aparece en pantalla. En primer lugar tenemos el tipo del programa, que puede ser: “Program”, “Number array”, “Character array” o “Bytes”. Si tiene alguna duda en este apartado consulte el capítulo 20 del manual. A continuación viene el nombre del programa. En ocasiones se utilizan códigos de control o caracteres especiales en el nombre. Cuando MICROCOPI se encuentra con alguno de éstos, lo sustituye por un signo de interrogación, de lo contrario el nombre podría imprimirse en la parte alta de la pantalla provocando un resultado catastrófico ya que nuestro copiador se encuentra ubicado en la memoria de presentación visual. Seguidamente nos encontramos con un número que indica la longitud del programa que estamos cargando. Si ésta es superior a las que hemos indicado anteriormente, MICROCOPI se parará en el acto y nos indicará que no puede copiarlo con el mensaje “No cabe”.

Conviene tener en cuenta que, en ocasiones, se emplean cabeceras “falsas” que indican una longitud distinta a la que realmente tiene el programa. Si intentando copiar una cinta que funciona sin problemas, nos encontramos repetidamente con el mensaje “Error de carga”, es bastante probable que el programa emplee este truco de protección.

Hay muchos otros trucos de protección como grabar los programas sin cabecera, pegar los bloques de datos, etc. y MICROCOPI no puede con este tipo de programas. A veces, sin embargo, nos encontraremos con que una copia que aparentemente se ha realizado sin problemas no funciona. Aunque esto es bastante raro, es perfectamente posible. Los trucos de protección son infinitos y no existe el programa copiador que pueda con todos ellos a la vez, aunque en contrapartida tampoco existe el programa incopiable. Y siguiendo con nuestro tema, veamos ahora qué significa el último número que proporciona MICROCOPI con el rótulo “Comienzo”. Si se trata de un programa Basic, este número indica la línea de ejecución automática con que fue grabado el programa. Cuando no aparece, significa que no existe dicha autoejecución. Si se trata de “Bytes” lo que indica es la dirección de memoria a partir de la que se grabó el programa en código máquina. Por último, en el caso de los “Arrays”, este número no aparece ya que carece de importancia.

Pasemos ahora a la parte práctica del tema. En primer lugar hay que teclear el programa número 1 y grabarlo en cassette con la orden SAVE “MICROCOPI” LINE 10. La parte dura del trabajo viene a continuación. Hay que teclear el listado del programa número 2 procurando no cometer errores. Conviene tener especial cuidado con el último número de cada línea de DATA, ya que es el control que nos valdrá para corregir los errores que hayamos podido cometer (recuerde la ley de Murphy). Si tiene alguna duda, tal vez le ayudará saber que en estas líneas sólo se emplean números y letras mayúsculas de la A a la F.

Una vez finalizado el listado, conviene hacer una copia de seguridad del mismo en una cinta aparte. A continuación ya podemos poner en marcha el programa con la orden RUN. Si todo ha ido bien, al cabo de un minuto y algunos segundos, aparecerá el conocido mensaje

“Start tape, then press any key” indicándonos que podemos grabar el código máquina que ha producido el programa. Naturalmente lo grabaremos a continuación del programa número 1. Si hemos cometido algún error en las líneas de DATA, el programa se detendrá indicándonos el número de la línea defectuosa para que efectuemos la correspondiente corrección.

Ya sólo queda teclear LOAD “MICROCOPI” (o LOAD “” a secas) y cargar el programa. Hay una mínima posibilidad de que no funcione, ya que si hemos cometido dos errores que se anulen entre sí el programa no podrá detectarlos. En este caso no habrá más remedio que volver a empezar. Y una vez que lo tengamos todo en orden, ni que decir tiene que el primer programa del que hay que hacer una o dos copias de seguridad es el propio MICROCOPI.

Descarga Microcopi desde KyEnter.

Lorenzo CEBEIRA

  • 001/programas-microhobby.txt
  • Última modificación: d/m/Y H:i
  • por 127.0.0.1