Hola na_th_an,
Pues ando intentando ahora poner en práctica el tema de usar variables de Basic en asm con la parte del juego en la que se elije la nota a tocar en un piano, con el objetivo de optimizarla de paso. El problema es que no me acaba de funcionar.
Sin meterme en detalles pongo la base esquemática en código.
Antes la selección era bastante chapucera, de este estilo:
$this->bbcode_second_pass_code('', '
sub play (pos as uByte)
if (pos = 1)
asm
LD B, 1
end asm
elseif (pos = 2)
asm
LD B, 2
end asm
...
end if
end sub')
Ahora estoy intentando aprovechar lo que me has enseñado para pasar una variable en esa asignación. Este sería un esquema del código ahora:
$this->bbcode_second_pass_code('', 'sub play (pos as uByte)
dim nota as Byte
...
poke @datosRutina, nota
asm
call tocarNota
end asm
...
end sub
Sub tocarNotaContainer
Asm
tocarNota:
ld b, (nota) ;; Aquí si sustituimos nota por un número sí que reacciona en función de él
...
ret
End Asm
datosRutina:
Asm
nota:
db 0
End Asm
End Sub')
Por lo que he estado probando en ld b, (nota) siempre se pasa el mismo valor, independientemente del valor que hayamos pokeado en el dato. ¿Estoy metiendo la gamba en alguna parte?
Impresión rápida de caracteres con ZX Basic
Moderador: na_th_an
Re: Impresión rápida de caracteres con ZX Basic
La verdad es que yo no veo ninguna gamba... A lo mejor Antonio Villena nos puede echar una mano...
¿Puede ser que estés repitiendo algún identificador y el compilador no se de cuenta y luego se haga un lío? Si el código que me has puesto se parece al completo, "nota" lo estás usando como variable en un sitio y como etiqueta en otro.
No sé, aparte de eso no veo nada raro.
¿Puede ser que estés repitiendo algún identificador y el compilador no se de cuenta y luego se haga un lío? Si el código que me has puesto se parece al completo, "nota" lo estás usando como variable en un sitio y como etiqueta en otro.
No sé, aparte de eso no veo nada raro.
Como diría Rorshach: "Urm..."
-
- Mensajes: 494
- Registrado: Jue, 24 Oct 2013, 15:52
Re: Impresión rápida de caracteres con ZX Basic
El problema es que ld b,(xxxx) no existe como instrucción en el Z80. Tendrías que escribir ld a,(xxxx) y luego un ld b,a
-
- Mensajes: 494
- Registrado: Jue, 24 Oct 2013, 15:52
Re: Impresión rápida de caracteres con ZX Basic
O también te valdría un ld bc,(xxxx-1) aunque es más rápido el que te he dicho antes. En ambos casos machacas otro registro (a ó c).
Re: Impresión rápida de caracteres con ZX Basic
Perfecto, pasándolo primero al otro registro va, gracias.
Ahora voy a investigar sobre cómo imprimir caracteres en ensamblador en base a vuestros consejos y el código que ya tengo. Luego tocará adaptarlo, pero de momento me centro en eso.
Ahora voy a investigar sobre cómo imprimir caracteres en ensamblador en base a vuestros consejos y el código que ya tengo. Luego tocará adaptarlo, pero de momento me centro en eso.
Re: Impresión rápida de caracteres con ZX Basic
Aupa,
El desarrollo del juego ha terminado.
El tema de pintado de caracteres en ensamblador se queda pendiente, pero creo que para este juego concreto es mejor así, ya tendré tiempo de aprender código máquina en condiciones y entender como poder hacerlo en futuros proyectos. Agradezco en cualquier caso vuestros consejos y los tendré en cuenta.
He hecho un pequeño Trailer. Si hay algún interesado el juego estará disponible para descarga este viernes en Imanolea's Games (http://imanoleasgames.blogspot.com.es/).
http://youtu.be/_tT0l7pAU0I
El desarrollo del juego ha terminado.
El tema de pintado de caracteres en ensamblador se queda pendiente, pero creo que para este juego concreto es mejor así, ya tendré tiempo de aprender código máquina en condiciones y entender como poder hacerlo en futuros proyectos. Agradezco en cualquier caso vuestros consejos y los tendré en cuenta.
He hecho un pequeño Trailer. Si hay algún interesado el juego estará disponible para descarga este viernes en Imanolea's Games (http://imanoleasgames.blogspot.com.es/).
http://youtu.be/_tT0l7pAU0I
Re: Impresión rápida de caracteres con ZX Basic
Te felicito. Me encanta el aspecto del juego. Estéticamente es delicioso y el concepto de los puzzles me parece muy atractivo. ¡Ya tengo ganas de echarle el guante!
Como diría Rorshach: "Urm..."
¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 36 invitados