Microhobby 22. Año II, del 02 al 08 de abril de 1985
Trucos
Toda la RAM para el Basic
— Rafael Domingo Gómez
Con este programa que nos ha enviado Rafael Domingo Gómez, conseguiremos un CLEAR hasta el máximo de la RAM física, incluyendo los gráficos definidos por el usuario (UDG), disponiendo de sus bytes para el basic sin que por esto nos quedemos sin ellos. El programa actúa de la siguiente manera:
«Pokea» la variable del sistema UDG que contiene la dirección del primer gráfico definido por el usuario, con la dirección del buffer de la impresora más cuatro bytes, ya que algunos programas utilizan las primeras posiciones de esta dirección para la entrada de datos. Seguidamente, copia todos los gráficos que hubiera habido en la dirección original de la UDG en un 16 K.
Para 48 K poner en la linea: 60,65368 en vez de 32600. Este los copia en la nueva dirección con tan solo ejecutar un CLEAR al PRAMT localizado en la variable «p», y, posteriormente, se borra.
Para utilizar esto en un programa, debemos «pokear» las direcciones 23675 y 23676 con 4 y 91, después hacer un CLEAR al máximo de la RAM y, por último, crear nuestros gráficos normalmente con USR«A» o usar la dirección 23300 en vez de 32600 o 65368.
10 LET dir =23300 20 LET p = PEEK 23732 +256 * PEEK 23733 30 LET a = INT (dir/256): POKE 23676, a 40 LET b = dir - 256 * a: POKE 23675, b 50 FOR i = 0 TO 167 60 POKE (dir + i), PEEK (32600 + i) 70 NEXT i 80 CLEAR p: NEW
Ampliación de la simulación de carga
— Daniel Barreda
Con el titulo «Simulador de carga de programas», publicábamos en el número 12 un truco que, según Daniel Barreda, puede ampliarse para conseguir el mismo efecto. El modo de hacerlo es el siguiente:
Entre las direcciones 1240 y 1253, se simula la carga de cabeceras y la carga de información.
Entre las direcciones 1254 y 1334 sólo simula la carga de información (algunas con sonido y otras sin él) excepto:
- Direcciones 1297 y 1329, sólo simulan el sonido.
- Dirección 1296, hace NEW.
- Direcciones 1330 y 1332, no hace nada.
Letra a letra
— Justino Espadas
Con frecuencia hemos querido que saliera en la pantalla de nuestro Spectrum una frase, letra por letra. Para poder realizar esto, Justino Espadas nos ha mandado un truco cuya explicación está en la fragmentación de cadenas del ordenador.
Cuando la N toma valor 1 se imprimirá la primera letra que hayamos metido. Esto se hace con la sentencia 30, que dice: PRINTA$ (N), donde N habrá tomado el valor 1, y equivaldrá a: PRINT A$ (1), con lo cual se imprimirá la primera letra, después la segunda letra y asi sucesivamente.
10 INPUT a$ 20 FOR n = 1 TO LEN a$ 30 PRINT a$(n);: PAUSE 7 40 NEXT n