PIXERAMA d(1:7:1:45000ȯ n" " x" " " " " " " " 6:'' " " " " " " " " " " 5:'' " " " " " " " " " " #18,26;1;"'85" "821,8;1;1;"P R E S E N T A " ' 200 ,i=0202 1:I,5;6;1;" P I X E R A M A " 6KI+1,5;6;1;1;" P I X E R A M A " ;I:200 @6:0:6: J&0,7;"LOAD 'N' RUN '85" O''' T11 ;"PIXERAMA";''' ^" Pixerama es una rutina hechaenteramente en codigo maquina que te permite imprimir un ca- racter en culaquier lugar de la pantalla, sin que te tengas que limitar a las posiciones que la funcion 'AT' del Spectrum acepta." h r"De este modo,podras desplazar uncaracter a lo largo y ancho de la pantalla Pixel a Pixel, y conuna velocidad que no se podria en Basic." 7#0;" PULSA UNA TECLA PARA CONTINUAR":0: '''"Ademas,gracias a Pixerama podrastener la posibilidad de imprimir127 graficos definidos, obte- niendo con ello 107 graficos masque antes. En caso de querer utilizarlos tenias que recurrir" I"a engorrosos pokes en la varia- ble UDG. Ahora ya no es necesa- rio. " i"Si no que tan solo tendras que definirlos a continuacion de losveinte existentes, y por supues-to, "; 0"lo puedes hacer en cualquierlugar de la RAM." 7#0;" PULSA UNA TECLA PARA CONTINUAR":0: ,1;" UTILIZACION DE LA RUTINA " ''' J" La rutina es reubicable,y dada su corta longitud, la po- dras "; E"incluir en todos los pro- gramas hechos por ti que quieraspues "; "tan solo tiene 126 bytes." ''' C" Su manejo se reduce a pokear en dos bytes de la memoria los" D"valores de las coordenadas X e Y donde quieres que se imprima el" "caracter elegido." 7#0;" PULSA UNA TECLA PARA CONTINUAR":0: &B" Deberas ser tu quien, mediante tu programa, hagas variar las" 0Y"coordenadas, como veras al finalde este programa en una demos- tracion de la rutina." :''';" La direccion donde debes pokear los valores de X e Y viene dada por la direccion donde quieras cargar la rutina," Db"y se calcula sumando 122 al origen de la rutina; asi, si cargas la rutina en 45056, la " Nu"variable X estara el la Dir. 45178,la Y en la Dir. 45179, y en la Dir. 45180 tendremos una tercera variable." b7#0;" PULSA UNA TECLA PARA CONTINUAR":0: g''''' lE "que utilizaremos para darle a la rutina el caracter que queremos" vD"que nos imprima,expresandolo con su correspondiente codigo ASCII" D"o con su codigo de UDG, pero ojo que aqui tendremos que restarle" C"20 para que nos entienda, es decir, los UDG's nos vendran " G"dados por los valores de 128 al 255, con lo que ganamos bastan- te." 7#0;" PULSA UNA TECLA PARA CONTINUAR":0: E" Una vez que tengamos los valores introducidos, llamaremos"; E"una sentencia RANDOMIZE USR Di- reccion, donde Direccion es el "; )"punto donde hemos cargado la ru-tina." ''"Debes recordar que tu programa debe conservar el valor de X e Ydentro de los valores permitidospor el Spectrum, es decir, la X varia de 0 a 255 y la Y de 0 a 175, sino aparecera el corres- pondiente mensaje de error." 7#0;" PULSA UNA TECLA PARA CONTINUAR":0:  " Pixerama imprime en OVER 1, para no destruir el fondo por el que se mueve el caracter, conlo que el borrado de la figura se realiza llamando de nuevo a la rutina en la misma posicion donde ya habia imprimido antes." o''" Tambien podras ganar mas velocidad si cada vez incre- mentas en mas de un pixel la variable." 7#0;" PULSA UNA TECLA PARA CONTINUAR":0: 720,4;1;"PIXERAMA CODE CARGANDOSE" -1;" M A N D O S P I X E R A M A " "5,5;"8 - DERECHA"  $7,5;"5 - IZQUIERDA"  9 ,5;"6 - ABAJO" "11 ,5;"7 - ARRIBA"  '''' ""45056,130 NK=17:I=17:I:.05|L,-30+I*7:I:K 1:6:1: [x=100d:y=100d:2040:ESTE SALTO ES PARA EVITAR LA PRIMERA VEZ EL BORRADO ="7"y=y+1 ="6"y=y-1 ="8"x=x+1 ="5"x=x-1 45056 Y45178z,x:45179{,y:45180|,"":ESTA LINEA DA EL VALOR DE LAS VARIABLES 45056  0:2010 @"PIXERAMA"0:"PIXERAMA"45056,130:0 PIXERAMA 4*6\$:| _8j`8*{\_###Kzͪ"G>H0>P0>X2}xG(?w#yw+$:}(>߽0 % B iOH1