Microhobby 10. Año II, del 8 al 14 de enero de 1985

Consultorio

Precios de programas

Los precios que vienen puestos en los programas de la sección de los Mejores ¿son de alguna tienda o establecimiento en especial?; y si es así ¿cuál es?

M. Angel Heras :: Madrid

En la cabecera de cada comentario de programa vienen impresos todos los datos de éste. El nombre es lo primero que aparece, un poco más abajo vienen dos apartados diferenciados: en el primero, figura la compañía que ha realizado el programa y, a la derecha de ésta, tras una barra transversal, el nombre de la compañía que lo comercializa, y que además es la que nos ha proporcionado el programa a nosostros, por tanto como es lógico, el precio que figura al final es el que nos ha dado dicha empresa.

Reset de dos clases

Quiero adquirir un ordenador y como profano quisiera hacerles algunas preguntas que les agradecería me las contestaran lo más pronto posible.

En la instalación del reset que publican en el n.° uno dicen que hay dos modelos, la versión 2 y la versión 3B, esta última debido a la abertura disipa mejor el calor ¿cómo sabemos cuál es la verisón 3B?; ¿cuánto tiempo se puede tener conectado el Micro sin que el calor lo afecte? pues me han comentado que el Spectrum se calienta mucho.

Jorge Fernández :: Madrid

A simple vista, no es fácil observar cuál de las dos versiones del Spectrum le han vendido. Por lo que lo mejor es abrirlo aflojando los cinco tornillos inferiores y leer el texto indicativo de la versión en la parte inferior derecha de la tarjeta, inscrito con letras blancas.

El tiempo que se puede tener el Spectrum conectado es indefinido, y no por ello se deteriorará, siempre claro está, que no se le tapen sus perforaciones de disipación. El calor que se nota al tocar la caja es debido, fundamentalmente, al regulador de tensión interno y a la ULA.

Un cassette para todos

Quiero saber si para aplicar el cassette al ordenador (o sea sacar un cable del ordenador al cassette) lleva alguna salida especial o por el contrario todo cassette puede servir.

Voy a comprarme un JOYSTICK y quiero saber si para ponérselo al SPECTRUM necesita otro aparato. Por favor, indíquenme el JOYSTICK más recomendable y los distintos precios de los JOYSTICKS y de algún otro aparato que hiciera falta.

Muchas gracias.

Juan Diego:: Barcelona

Cualquier cassette que disponga de entrada de micrófono externo y salida para auricular sirve para ser usado con el Spectrum.

Los Joystiks para ser conectados al Spectrum necesitan una interface que se vende conjuntamente. En cuanto a precios y modelos de estos así como los distintos periféricos a usar con el Spectrum encontrará información en la publicidad de Microhobby y en tiendas especializadas.

Programar en BASIC

Tengo un JOYSTICK de la marca SPECTRAVIDEO, que acopla al ZX con un interface ZX SPECTRUM. Quisiera saber ¿qué instrucciones podría utilizar para programar en BASIC juegos que funcionaran con el mismo (instrucciones a añadir en cualquier programa escrito en BASIC).

Me he fijado que muchos programa BASIC utilizan en una misma línea de instrucciones varios colores al describir una frase. Ejemplo:

10 REM PROGRAMA(rojo) DE AYUDA(verde) AL USUARIO(azul)//
20 PRINT "PARA(verde) INICIAR EL PROGRAMA(rojo) PULSA(azul) LA TECLA J" (magenta)

(Entre paréntesis se indican los colores que adquieren las palabras.)

Mi pregunta es: ¿Cómo logran hacerlo?

Javier López Ferre :: Barcelona

El interface 2 de Sinclair es extremadamente fácil de utilizar, ya que el primer Joystick controla las teclas del 1 al 5 y el segundo las del 6 al 0. Basta por lo tanto con escribir su programa como si fuera a utilizar estas teclas.

En cuanto a las restantes preguntas esperamos que en el n.° 3 de la revista encuentre la información que desea.

Problemas de teclado

Tengo un ZX Spectrum, y para mí uno de sus principales problemas es su teclado; ya que sé escribir bien a máquina, mis preguntas son las siguientes:

¿Merece la pena comprarse un teclado, por ejemplo «el Teclado Multifución I, INDESCOMP»?

¿Son sus teclas al tacto tan buenas como las de otros ordenadores mayores?

¿Permite este teclado la incorporación de otros interfaces?

José Ignacio Alonso :: Lugo

Si utiliza Vd. su Spectrum para tratamiento de textos es, desde luego, imprescindible añadirle un teclado de los llamados «profesionales». El de INDESCOMP es de buena calidad, aunque no tiene un tacto comparable al de las máquinas realmente profesionales.

En cuanto a los periféricos, el teclado de INDESCOMP es perfectamente compatible con todos.

Microdrive

En primer lugar deseo felicitarles por su nueva revista. Por otro lado he hecho el programa MICROCOPI y es muy bueno. Este programa, aunque está preparado para funcionar en cinta de cassette, yo, cambiando algunas líneas del Basic, he logrado grabarlo en el Microdrive; lo que no consigo es que lea y grabe programas del Microdrive. Quisiera saber si esto es posible cambiando algunas líneas del DATA y, si esto es así, me diga cuáles y por qué números.

José Aguilar González :: Altea (Alicante)

La ROM «enmascarada» del Interface 1, contiene rutinas distintas a las empleadas por la ROM normal para las operaciones de lectura/escritura. Por ello no es posible adaptar MICROCOPI para microdrive.

Presentación de programas

En la cinta HORIZONTES sale una «presentación» cuando el cassette se está cargando. Me gustaría saber cómo puedo hacer esta presentación para mis programas. Otra pregunta es: ¿pa ra qué sirve el Código Máquina? Gracias.

Juan Marcos Masmiquel :: Baleares

Lógicamente, lo primero que tiene que hacer es grabar en cassette la pantalla de presentación con la orden SAVE «pantalla» SCREEN$. A continuación, necesita hacer un pequeño programa que se encargue de la carga de la pantalla del programa principal. Para evitar que el nombre del programa se imprima en la pantalla, estropeando el efecto, localice una zona de la misma sin dibujo y sitúe ahí la posición de impresión. Un ejemplo, si la primera línea de la pantalla está libre y es, pongamos por caso, de color negro, el programa sería como sigue:

10 PAPER 0: INK 0: BORDER 0: CLS
20 LOAD "pantalla" SCREEN$
30 PRINT AT 0, 0;
40 LOAD "programa"

Evitar errores

Tengo un SPECTRUM 16K y tengo pensado comprarme uno de vuestros juegos pero cuando voy a mirar las listas veo que todos están en 48K y mi ordenador no puede funcionar. Mi otro problema es que cuando cargo un programa me pone en la parte inferior estas letras: R TAPE LOADING ERROR y entonces, el ordenador deja de funcionar.

Roberto Fernández :: Valladolid

Efectivamente, los programas de 48K no funcionan en el SPECTRUM de 16 K, pero con las navidades a la vuelta de la esquina es tiempo de ir pensando en una ampliación de memoria, ¿no le parece?

En cuanto al problema de la carga de programas es, por desgracia, bastante clásico. Una buena limpieza de las cabezas del magnetófono, rebobinar las cintas tras su utilización y NUNCA dejarlas cerca del televisor, son unas buenas precauciones. Por lo demás todo es cuestión de ir probando diferentes posiciones de tono y volumen hasta encontrar la más adecuada. Si es Vd. un poco manitas también puede probar a regular la altura de la cabeza de grabación. Y por supuesto al grabar sus programas no se olvide de desconectar la clavija EAR.

Programar en código máquina

Poseo un ZX-SPECTRUM de 48 K, y tengo una duda que paso a exponer:

Estoy confeccionando un programa para que me haga unos cálculos concretos, y éstos se basan en un precio; «X», medida; «$» y, una referencia; «&», y, tengo una cantidad muy elevada para meter en memoria, entre otros cálculos en el mismo programa.

Tengo una Referencia «&», que sería una cantidad alfa-numérica que me solicitaría el programa/ordenador, y una vez introducida tendría que buscar en la memoria el precio que le corresponde «X», así como una medida,«$», lo que en BASIC, equivale a:

IF INKEY$ = "&" THE GO TO nnnn/GOSUB nnnn
...
...
...
THEN LET c = «X» AND f = "$": RETURN/GO TO n
...
...

La pregunta es: ¿Cómo puedo hacer lo mismo, en Código Máquina o cualquier otro lenguaje, para ahorrar al máximo y que no sea tan tedioso el programarlo?

Pedro González :: Barcelona

No entendemos muy bien el sentido de su pregunta, pero vamos a intentar orientarle:

Si su problema es la cantidad de memoria disponible, el truco no está en el código máquina, sino en el empleo de variables o matrices alfanuméricas que consumen mucha menos memoria que las numéricas, ya que estas últimas gastan 6 bytes adicionales: cinco para la coma flotante y uno para el CHR$ 14 indicativo de número.

En cuanto al problema de tener que utilizar una larga lista de INKEY$ para capturar las diversas teclas, puede solucionarlo utilizando el valor ASCII de las mismas. Por ejemplo, la utilización de las teclas A…Z le permite direccionar fácilmente el flujo de su programa con muy pocas instrucciones:

LET A = CODE INKEY$ GO SUB A (O GO SUB A * 100)

Donde sí puede ser de gran utilidad el código máquina es en la búsqueda de los valores de la tabla. Sería muy largo explicarle un programa completo, pero la idea general es cargar en el registro IX la dirección de la tabla a investigar (no utilice el registro IY que se emplea para apuntar a la dirección de las variables del sistema). Cargando los datos en el registro B (acumulador).

Y en realidad tampoco necesita utilizar las parejas GO TO/GO SUB si utiliza una matriz como si fuera un archivo indexado. Supongamos una matriz alfanumérica DIM A$(10, 16) a la que Vd. quiere llamar pulsando las teclas 0 al 9. Los ocho primeros bytes de cada elemento contienen el valor ASCII del precio, y los ocho siguientes, la medida (esto le da hasta 99.999.999).

Una vez metidos los datos, su programa quedaría así:

10 IF (INKEY$ "9" AND INKEY$ 0) THEN GOTO 10
20 LET INDICE = (CODE INKEY$) — 47 /*CONVERTIR A BINARIO*/
30 PRECIO = VAL A$ (INDICE, 1 TO 8)
40 MEDIDA = VAL A$ (INDICE, 9 TO 16)
 
010/consultorio.txt · Última modificación: d/m/Y H:i por miguel
Recent changes RSS feed Creative Commons License Driven by DokuWiki Made on Mac