La variable de sistema CHARS del Sinclair ZX Spectrum, localizada en las posiciones de memoria 23606 y 23607 almacena la dirección de memoria del juego de caracteres a mostrar.
Por defecto CHARS apunta a la dirección de memoria 15360. Simplemente modificando el puntero, se nos permite permite cambiar el juego de caracteres por defecto de una forma sencilla, tal y como se aplica en multitud de títulos comerciales.
Pero también nos permite conseguir efectos más curiosos (y no tan útiles, dicho sea de paso).
El siguiente listado en Sinclair BASIC, modifica el byte menos significativo de CHARS para hacer que el juego de caracteres quede desplazado una posición. De esta forma la A se representará como una B, y así consecutivamente.
10 POKE 23606,8
20 CLS : LIST
30 PAUSE 0
40 POKE 23606,0
50 CLS : LIST
Se desplaza el juego de caracteres, y se presenta un listado del programa.
Tras pulsar una tecla, se restaura el juego de caracteres, y se enseña de nuevo el código del programa.
Cielos, a eso le llamo yo una encriptación Made in Hollywood.
Con la esperanza de sumergirnos un pelín más en las profundidades de los 8 bits, os recomiendo echéis un vistazo a la página de la gente de Symbos. Este enlace va dirigido a todos aquellos que en su día gozaron de las delicias ofrecidas por un CPC original de "plástico y hueso" y ahora disponen de tiempo libre para………
……..enredar…..
¡Impresionante el SymbOS!