07-22-2012, 09:17 PM
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)
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
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
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