Buenas!
Estoy usando printf() para sacarme por pantalla las variables...
Tengo una rutina que cuando pulso D, me pinta en pantalla con printf las variables que me interesa...
AHora bien, cada print lo hace en la posición contigua del texto...
Estoy usando \n para "saltar" a la línea siguiente...
Ahora bien... ¿Como borro la "consola" o "Modo terminal"?
Gracias 1000
Z88DK (curso Radastan) - Dudas Varias
Moderador: na_th_an
- Hark0
- Mensajes: 96
- Registrado: Mar, 28 Ene 2014, 07:42
- Ubicación: Cornellà de Llobregat - Barcelona
- Contactar:
Z88DK (curso Radastan) - Dudas Varias
Última edición por Hark0 el Vie, 16 May 2014, 11:16, editado 1 vez en total.
litiopixel.blogspot.com - Desarrollo videojuegos Indie · Pixel-Art · Retroinformática · Electrónica
Re: Z88DK - Borrar "consola" - Printf
Ni idea. Podrías borrar el área de bitmap de la pantalla con un poco de ensamblador.
$this->bbcode_second_pass_code('', '#asm
ld hl, 16384
ld (hl), 0
ld de, 16385
ld bc, 6143
ldir ; ZASCA!
#endasm')
Luego creo que puedes ponerte arriba del todo de nuevo imprimiendo el código de AT y la posición. Supongo que imprimiendo \x16\x00\x00 te vale, pero no recuerdo bien.
Te recomiendo que pases de printf y te hagas el tuyo propio... Si no quieres ingentes cantidades de código comiéndose tu binario con mil características que realmente no necesitas.
$this->bbcode_second_pass_code('', '#asm
ld hl, 16384
ld (hl), 0
ld de, 16385
ld bc, 6143
ldir ; ZASCA!
#endasm')
Luego creo que puedes ponerte arriba del todo de nuevo imprimiendo el código de AT y la posición. Supongo que imprimiendo \x16\x00\x00 te vale, pero no recuerdo bien.
Te recomiendo que pases de printf y te hagas el tuyo propio... Si no quieres ingentes cantidades de código comiéndose tu binario con mil características que realmente no necesitas.
Como diría Rorshach: "Urm..."
- Hark0
- Mensajes: 96
- Registrado: Mar, 28 Ene 2014, 07:42
- Ubicación: Cornellà de Llobregat - Barcelona
- Contactar:
Re: Z88DK - Borrar "consola" - Printf
Es a modo de debug solamente... pruebo ese asm...
litiopixel.blogspot.com - Desarrollo videojuegos Indie · Pixel-Art · Retroinformática · Electrónica
- Hark0
- Mensajes: 96
- Registrado: Mar, 28 Ene 2014, 07:42
- Ubicación: Cornellà de Llobregat - Barcelona
- Contactar:
Re: Z88DK - Borrar "consola" - Printf
He añadido la función "zasca"... al motorzx.h del amigo Radastan
$this->bbcode_second_pass_code('', 'void zasca (void)
{
#asm
ld hl, 16384
ld (hl), 0
ld de, 16385
ld bc, 6143
ldir ; ZASCA!
#endasm
}')
Hace un bonito CLS, pero no restaura la posición del cursor...
Nada, no te preocupes, es modo "debug"... solo para mis ojos...
$this->bbcode_second_pass_code('', 'void zasca (void)
{
#asm
ld hl, 16384
ld (hl), 0
ld de, 16385
ld bc, 6143
ldir ; ZASCA!
#endasm
}')
Hace un bonito CLS, pero no restaura la posición del cursor...
Nada, no te preocupes, es modo "debug"... solo para mis ojos...
litiopixel.blogspot.com - Desarrollo videojuegos Indie · Pixel-Art · Retroinformática · Electrónica
Re: Z88DK - Borrar "consola" - Printf
Claro, eso sólo rellena de ceros todo el bitmap. Para volver arriba puedes probar a hacer un printf posterior con el código de at y la posición ,0,0 tal y como te puse en el anterior mensaje.
Enviado desde mi LT18i usando Tapatalk 2
Enviado desde mi LT18i usando Tapatalk 2
Como diría Rorshach: "Urm..."
- Hark0
- Mensajes: 96
- Registrado: Mar, 28 Ene 2014, 07:42
- Ubicación: Cornellà de Llobregat - Barcelona
- Contactar:
Re: Z88DK - Borrar "consola" - Printf
Lo pruebo!
litiopixel.blogspot.com - Desarrollo videojuegos Indie · Pixel-Art · Retroinformática · Electrónica
Re: Z88DK - Borrar "consola" - Printf
También puedes usar la rutina de la ROM, que vuelve el cursor arriba del todo. Probablemente la E/S de consola de z88dk emplée las variables del sistema para saber dónde imprimir, con lo que te valdría con un simple:
$this->bbcode_second_pass_code('', '#asm
call 3435
#endasm')
Para borrar la pantalla y volver arriba del todo. Pero claro, para usarlo necesitas la ROM del Spectrum. No podrás poner tu juego en un cartucho o usarlo en clones misteriosos, pero eso creo que es lo de menos.
$this->bbcode_second_pass_code('', '#asm
call 3435
#endasm')
Para borrar la pantalla y volver arriba del todo. Pero claro, para usarlo necesitas la ROM del Spectrum. No podrás poner tu juego en un cartucho o usarlo en clones misteriosos, pero eso creo que es lo de menos.
Como diría Rorshach: "Urm..."
- Hark0
- Mensajes: 96
- Registrado: Mar, 28 Ene 2014, 07:42
- Ubicación: Cornellà de Llobregat - Barcelona
- Contactar:
Re: Z88DK - Borrar "consola" - Printf
Pues no resetea la consola!
Curioso...
Curioso...
litiopixel.blogspot.com - Desarrollo videojuegos Indie · Pixel-Art · Retroinformática · Electrónica
Re: Z88DK - Borrar "consola" - Printf
Pregunta en z88dk.org, entonces. La verdad es que no tengo ni idea de cómo funciona la consola. Quizás en la wiki... http://www.z88dk.org/wiki/doku.php?id=library:stdio
¿Has probado lo que te dije al principio del AT 0,0?
¿Has probado lo que te dije al principio del AT 0,0?
Como diría Rorshach: "Urm..."
- Hark0
- Mensajes: 96
- Registrado: Mar, 28 Ene 2014, 07:42
- Ubicación: Cornellà de Llobregat - Barcelona
- Contactar:
Re: Z88DK - Borrar "consola" - Printf
Si y tampoco.... pero como te digo no te preocupes...
Es solo debug/test... amén que añadir "printf" y cadenas está engordando la cinta que da gusto...
PD tengo algunas dudas más sobre Z88DK (esta vez sobre carga de mapas)... ¿hago un hilo nuevo o sigo aqui y renombro el hilo?
Por cierto, añado la cinta por si alguien la quiere catar:
https://dl.dropboxusercontent.com/u/556 ... _blog3.tap
Teclas:
Enter -> jugar
qaop -> mover
espacio -> accion
d -> debug
0 -> menu
Entrar a jugar, salir al menu y volver a entrar NO resetea nada del mapa
Es solo debug/test... amén que añadir "printf" y cadenas está engordando la cinta que da gusto...
PD tengo algunas dudas más sobre Z88DK (esta vez sobre carga de mapas)... ¿hago un hilo nuevo o sigo aqui y renombro el hilo?
Por cierto, añado la cinta por si alguien la quiere catar:
https://dl.dropboxusercontent.com/u/556 ... _blog3.tap
Teclas:
Enter -> jugar
qaop -> mover
espacio -> accion
d -> debug
0 -> menu
Entrar a jugar, salir al menu y volver a entrar NO resetea nada del mapa
Última edición por Hark0 el Vie, 16 May 2014, 10:59, editado 2 veces en total.
litiopixel.blogspot.com - Desarrollo videojuegos Indie · Pixel-Art · Retroinformática · Electrónica
¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 3 invitados