Saltar al contenido

Dos nuevos programas de Microhobby copiados

julio 13, 2009

¡¡¡Vaya tela!!! Dos listados de Microhobby que se las prometía por su corta longitud, pero que tenían errores a punta pala… por un lado, una utilidad para imprimir 42 caracteres por linea en pantalla usando la instrucción LPRINT y por el otro, un analizador-sintetizador de sonidos.

El primero, publicado en el nº 141 de la revista, tenía errores en el código objeto para lo que había tenido que pedir ayuda en speccy.org. Gracias a Decicoder, se ha solventado el fallo (tremendo además, teniendo en cuenta que los de Microhobby publicaron un listado hexadecimal con cambios tras la ejecución del programa, y ni siquiera se dieron cuenta ni entonces ni después… 😕 ) y está disponible, una vez conseguido el código original, tras su comprobación, en la web del Proyecto BASIC. También lo podéis bajar desde aquí.

En cuanto al Analizador-Sintetizador de sonidos (aparecido en el nº 146 de la revista y de autor, un tal Javier Márquez), no se libra tampoco de los errores de quienes montaron el artículo: fallos en varias líneas donde en vez de verse unos espacios y caracteres en forma de INVERSE 1 deberían figurar unos GDU, teniendo en cuenta lo que se ve en uno de los fotogramas impresos. Estos fallos se pueden encontrar en las líneas 30, 40 y 2500 del listado BASIC presente en las páginas 26 a 27.

Otro fallo garrafal está en la línea 5000:

5000 LET C=37285: FOR N=65368 TO 65430:
POKE C, PEEK N: LET C=C+1: NEXT N

Puesto así, lo que está haciendo es POKEar a partir de la dirección 37285 datos desde el área de definición de gráficos GDU. Pensando en que deberían estar presentes en el listado unos GDU que definan el área del menú y del submenú de reproducción (que se imprime en la línea 2500), es donde me doy cuenta que algo está cambiado aquí: las variables C y N no están donde deberían estar cuando se supone está almacenando otro tipo de datos.

Es decir, que si tienen que aparecer definidos estos caracteres, dentro de la sentencia POKE ambas variables tienen que cambiar de posición. Así, la línea 5000 (ya corregida en la versión final del archivo TZX) quedaría así:

5000 LET C=37285: FOR N=65368 TO 65430:
POKE N, PEEK C: LET C=C+1: NEXT N

Y es así, pues mirando los últimos datos del código objeto del programa, a partir de la dirección 37285 (variable C), aparecen los bytes que definen los gráficos que nos hacían falta.

Bueno, nada… que os aprovece el programa.

Ay… las prisas de hacer una revista semana a semana tiene estas entretelas…

4 comentarios leave one →
  1. rafa permalink
    julio 14, 2009 9:34 am

    Que bueno el post! hace sonreir ya de buena mañana!. Esos códigos que son joyas y hacen cosas imposibles…léase hacer el sonido del mar con el sintetizador, o texto pequeñísimo… Esos libros con el código de juegos en basic para buscar un tesoro! Salut!

  2. Borrocop permalink
    julio 14, 2009 11:19 am

    La vida del empleado de una revista que pasa a ser esclavo de su tiempo…

    Esos mismos errores los podríamos llevar a los propios juegos que salían sin testear, y jugando con las palabras como a mi me gusta, en este caso sin “textear” con fallos en la impresión.

    Saludos

  3. julio 14, 2009 2:21 pm

    Qué bien me viene lo de las 42 columnas para un crap… 😛

Trackbacks

  1. Blog de Software » Blog Archive » Dos nuevos programas de Microhobby copiados « Program : Bytes : 48k

Publica aquí tu comentario

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

A %d blogueros les gusta esto: