Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
ZXB errores mios de sintaxis o incompatible con SinclairBas?
#1
Hola a todos, gracias por recibirme en este foro. Sorry por escribir en español, intente' traducir mi texto con el traductor de Google pero confunde mas de lo que explica.

Les cuento que estoy creando un TRACKER para el AY 3-8912 con zx boriel puramente en basic, para poder hacerle Musica y FX a mis juegos, claro que tambien para compartirlo (y aunque alguien me explique como compilar WYZ player, creo que tiene mucho mas mérito para mi, lo tomo como desafio propio).

No es la primera vez que me sucede que alguna rutina no me funciona. Puntualmente en este TOPIC les dejare' las que mas me dieron problema y no entiendo donde esta mi error.

Este "retazo" de rutina funciona con una doble tabla ascii alojada en memoria (50000) brindando 64 columnas a imprimir, para aprovechar mas pantalla. (si, ya se que en LIBRARY del compilador tengo programita que imprime en 64 col, que tampoco se como se usa, pero como dije, a mi me gusta el desafio: "hazlo tu mismo"... tambien se que esta' es bastante precaria a lo basic espectrumero, pero para mejorarla, necesito primero que nada que funcione)
Code:
9550   '------------------------------
    '|   IMPRIME PATTERN      |
   '------------------------------
   PAUSE 0
   BRIGHT 0
   FOR f= 0 TO 15
      PAPER 7
      IF f=0 OR f=4 OR f=8 OR f=12 OR f=16 THEN
         PAPER 3
      END IF
      
      LET fil    = 8 + f
      LET col    = 1
      LET numero   = f
      LET decimales    = 2
      GOSUB 9605
   NEXT f

   STOP

9605   '------------------------------------------------
   '\                                         /
   ' |   INPRESION DE NUMEROS EN 64 COLUMNAS      |
   '/                                        \
   '------------------------------------------------
   'enviar a esta sub rutina:
   '   fil = fila
   '   col = columna
   '   numero
   '   decimales = 1-unidades
   '         2-decenas
   '         3-centenas
   '         4-mil
   '         5-decenas de mil


9606   LET X$=STR$ (numero)
9607   IF decimales > LEN X$ THEN
      LET X$="0"+X$
      GOTO 9607
   END IF
   FOR z=0 TO LEN X$ STEP 2
      POKE 23607,194
      POKE 23606,80
      PRINT AT fil,col+(z/2); X$(z)
      IF z+1 <= LEN X$ THEN
         POKE 23607,197
         POKE 23606,80
         PRINT AT fil,col+(z/2) ; OVER 1 ; X$(z+1)
      END IF  
      IF z+col > 31 THEN
         LET col = 0
          LET fil = fil + 1
      END IF
   NEXT z
   POKE 23606,0
   POKE 23607,60
   RETURN
Aqui les dejo el el .z80 en spectrum basic, el cual funciona a la perfeccion
http://www.mediafire.com/?e1331ilv7wa7k42

el siguiente es el archivo .TAP generado por el compilador del codigo escrito arriba (se resetea)
http://www.mediafire.com/?nubshu8qjaj1kwa

...y el .BIN que debe cargarse en la direccion 50000 con los graficos
http://www.mediafire.com/?fwar9f2ly17hinm

Gracias Boriel por devolverme a la vida, pues programar despierta en mi energias como solo la musica de BACH lo hace; gracias a todos, espero respuestas
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 4 Guest(s)