014:software

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
014:software [d/m/Y H:i] – [Sistema Turbo] miguel014:software [d/m/Y H:i] (actual) – [El sistema «TURBO» en clave] miguel
Línea 44: Línea 44:
  
 Intentamos describir telegráficamente, sin orden lógico, algunos de los puntos en que se apoya el sistema. Anticipamos que tiene un doble sistema de protección: Intentamos describir telegráficamente, sin orden lógico, algunos de los puntos en que se apoya el sistema. Anticipamos que tiene un doble sistema de protección:
-a) A nivel de basic. + 
-b) A nivel de código máquina.+  * A nivel de basic. 
 +  A nivel de código máquina. 
 Los puntos en que se basa son los siguientes: Los puntos en que se basa son los siguientes:
-1.°) El BASIC cargador contiene enmascarada la rutina de carga rápida, junto con los datos de carga del programa. + 
-2.°) La rutina de carga representa la última línea (aparente) del programa BASIC. Su número de línea es superior a 9999, por lo que no se ejecuta. +  - El BASIC cargador contiene enmascarada la rutina de carga rápida, junto con los datos de carga del programa. 
-3.°) La rutina de carga está enmascarada con la función OR exclusive, de modo que cada octeto original se obtiene de hacer el OR exclusive entre dos octetos adyacentes del código enmascarado. +  La rutina de carga representa la última línea (aparente) del programa BASIC. Su número de línea es superior a 9999, por lo que no se ejecuta. 
-4.°) La rutina específica para desenmascarar la rutina de carga y trasladarla a su zona de ejecución, ocupa la zona de variables del BASIC. Su comienzo está en la dirección a la que apunta la variable VARS. +  La rutina de carga está enmascarada con la función OR exclusive, de modo que cada octeto original se obtiene de hacer el OR exclusive entre dos octetos adyacentes del código enmascarado. 
-5.°) La rutina de desenmascaramiento está, a su vez, enmascarada mediante una utilización especial del registro indexado IY. Este registro se utiliza normalmente como registro doble de 16 bits. Los códigos son los mismos que los de los registros H y L, salvo con un FD delante de cada código. +  La rutina específica para desenmascarar la rutina de carga y trasladarla a su zona de ejecución, ocupa la zona de variables del BASIC. Su comienzo está en la dirección a la que apunta la variable VARS. 
-6.°) Todas las líneas BASIC tienen número de línea 0 y PAPER 0, INK 0, ocultos o implícitos en cada lí- +  La rutina de desenmascaramiento está, a su vez, enmascarada mediante una utilización especial del registro indexado IY. Este registro se utiliza normalmente como registro doble de 16 bits. Los códigos son los mismos que los de los registros H y L, salvo con un FD delante de cada código. 
-nea. Ello los hace invisibles en el listado. +  Todas las líneas BASIC tienen número de línea 0 y PAPER 0, INK 0, ocultos o implícitos en cada línea. Ello los hace invisibles en el listado. 
-7.°) Las líneas BASIC no aportan nada esencial, salvo la 4.a, que contiene oculta, en los códigos hexa-decimales que siguen al indicativo 0E, la verdadera asignación en la pila de máquina directamente, de la dirección de retorno en caso de error, y que es la contenida en la variable VARS. +  Las líneas BASIC no aportan nada esencial, salvo la 4.a, que contiene oculta, en los códigos hexadecimales que siguen al indicativo 0E, la verdadera asignación en la pila de máquina directamente, de la dirección de retorno en caso de error, y que es la contenida en la variable VARS. 
-8.°) La puesta en marcha de todo el proceso, tiene lugar al finalizar la ejecución del BASIC, momento en el que en lugar de imprimir en pantalla el mensaje O.K., salta automáticamente al comienzo de la rutina de desenmascaramiento. +  La puesta en marcha de todo el proceso, tiene lugar al finalizar la ejecución del BASIC, momento en el que en lugar de imprimir en pantalla el mensaje O.K., salta automáticamente al comienzo de la rutina de desenmascaramiento. 
-9.°) La rutina de carga rápida tiene protecciones diversas en su ejecución. En distintos puntos de la misma, comprueba los resultados de la carga y salta a la dirección 0 de la memoria ROM si no son los esperados. Antes de saltar al comienzo del juego, se borra ella misma. +  La rutina de carga rápida tiene protecciones diversas en su ejecución. En distintos puntos de la misma, comprueba los resultados de la carga y salta a la dirección 0 de la memoria ROM si no son los esperados. Antes de saltar al comienzo del juego, se borra ella misma. 
-El programa DEC ATHLON, además, tiene una protección adicional en su código máquina: + 
-a) No tiene BASIC. Es inútil buscar ningún listado. +El programa Decathlon, además, tiene una protección adicional en su código máquina: 
-b) Sólo tiene definidas las variables del sistema que necesita el juego, como la de BORDER; por ejemplo. + 
-c) Al no estar definida la zona BASIC (puede estar definida pero vacía), el programa es inmanejable desde el BASIC; sólo puede examinarse con un monitor de código máquina o similar (Acondicionar el BASIC supondría destruir parte del juego).+  * No tiene BASIC. Es inútil buscar ningún listado. 
 +  Sólo tiene definidas las variables del sistema que necesita el juego, como la de BORDER; por ejemplo. 
 +  Al no estar definida la zona BASIC (puede estar definida pero vacía), el programa es inmanejable desde el BASIC; sólo puede examinarse con un monitor de código máquina o similar (Acondicionar el BASIC supondría destruir parte del juego).
  • 014/software.1292448804.txt.gz
  • Última modificación: d/m/Y H:i
  • por miguel