Pasar automáticamente de TZX a Z80

Emuladores y aplicaciones que ayudarán a la perpetuación del Spectrum y su software en el futuro

Moderador: Sir Cilve Sinclair

Bubu
Freddy Hardest
Mensajes: 544
Registrado: Mié Oct 31, 2007 12:15 am

Pasar automáticamente de TZX a Z80

Mensaje por Bubu » Vie Ene 18, 2008 1:01 am

¡¡ Hola, torpedos !!

¿Se puede pasar de alguna manera una carga TZX a Z80 justo cuando dicha carga finalice?

Avatar de Usuario
na_th_an
Nonamed
Mensajes: 1889
Registrado: Lun May 07, 2007 10:16 am
Ubicación: Andalucía

Re: Pasar automáticamente de TZX a Z80

Mensaje por na_th_an » Vie Ene 18, 2008 11:34 am

Cárgalo en un emu y cuando finalice la carga graba el snapshot.

Avatar de Usuario
decicoder
Jack The Nipper
Mensajes: 176
Registrado: Jue Jul 19, 2007 10:37 am

Re: Pasar automáticamente de TZX a Z80

Mensaje por decicoder » Vie Ene 18, 2008 4:25 pm

Creo que Bubu se refiere a cargar el TZX y justo despues de recibido el ultimo bit, cuando la pantalla de presentación todavía está presente, en ese momento cargar hacerle la foto al z80.
xor a
ld R,a
b1 in f,(c)
jp pe , b1
ld a,R

Bubu
Freddy Hardest
Mensajes: 544
Registrado: Mié Oct 31, 2007 12:15 am

Re: Pasar automáticamente de TZX a Z80

Mensaje por Bubu » Vie Ene 18, 2008 7:52 pm

Efestiviwonder, decicoder , es justo eso. Que después del último bit leído del puerto 254 pueda emitir un fichero .z80. La propuesta de YO grabar el z80 después de la carga ya no vale, pues habrán pasado algunas décimas de segundo en las que la RAM habrá cambiado, y yo lo que pretendo es que el z80 sea justo una imagen "virgen" tras la carga.

Avatar de Usuario
decicoder
Jack The Nipper
Mensajes: 176
Registrado: Jue Jul 19, 2007 10:37 am

Re: Pasar automáticamente de TZX a Z80

Mensaje por decicoder » Vie Ene 18, 2008 8:47 pm

Hacerlo automáticamente lo veo complicado.

De forma manual se puede intentar.
-Carga el tzx a velocidad normal en el emulador.
-Cuando ya se esté cargando el que sepas que es el ultimo bloque da le al debuger del emulador.
-Ejecuta paso a paso en el debuger. Estarás debugueando la rutina de carga. Aqui tendrás que analizar un poco hasta averiguar donde está el RET del fin la rutina.
-Pon un breakpoint en ese RET y dale al run del debuger para continuar la carga normalmente
-Cuando acabe se volverá a parar en el break point y entonces te vas a Fille|Save as.. y grabas el snpshot.
xor a
ld R,a
b1 in f,(c)
jp pe , b1
ld a,R

Gandulf
Nonamed
Mensajes: 1067
Registrado: Lun May 07, 2007 10:06 pm

Re: Pasar automáticamente de TZX a Z80

Mensaje por Gandulf » Vie Ene 18, 2008 11:02 pm

Pues o bien el método expuesto por decicoder, o bien miras el cargador y averiguas la dirección de arranque, metes ahí un breakpint y listo, sin depurar el programa, aunque esto se complica en las cargas turbo. También tienes que tener en cuenta que los juegos multicarga no se pueden pasar a .Z80, a no ser que hagas uno por cada fase.
Un saludo,

Gandulf

Bubu
Freddy Hardest
Mensajes: 544
Registrado: Mié Oct 31, 2007 12:15 am

Re: Pasar automáticamente de TZX a Z80

Mensaje por Bubu » Sab Ene 19, 2008 12:19 am

Pero, güeno, no se podrá porque no se habrá pensado en ello, pero poderse hacer se debería poder, ¿no? Fijarsus no más cómo carga p.ej. el Spectaculator un .tzx:

Imagen

Aquí se ve bien claro que el formato .tzx lleva internamente la información necesaria para que el emulador sepa de antemano qué bloques hay que cargar. Por tanto no habría más que decirle al emulador que en cuanto terminase el último bloque, hiciese una afoto en formato .z80 de la RAM. ¿no?

Gandulf
Nonamed
Mensajes: 1067
Registrado: Lun May 07, 2007 10:06 pm

Re: Pasar automáticamente de TZX a Z80

Mensaje por Gandulf » Sab Ene 19, 2008 1:45 am

No es tan sencillo, un TZX o TAP puede llevar 6 bloques pero el programa arrancar tras cargar los 3 primeros. En automático es complicado hacerlo, a no ser que se presuponga que es una carga muy básica. Además un programa puede tener los bloques con esa información pero luego cargarlos de otra forma.
Un saludo,

Gandulf

Bubu
Freddy Hardest
Mensajes: 544
Registrado: Mié Oct 31, 2007 12:15 am

Re: Pasar automáticamente de TZX a Z80

Mensaje por Bubu » Sab Ene 19, 2008 2:59 pm

OK, entóns repregunto: ¿se puede configurar un emulador para que cuando carge el último bit del último bloque de carga, genere una imagen .z80?

Gandulf
Nonamed
Mensajes: 1067
Registrado: Lun May 07, 2007 10:06 pm

Re: Pasar automáticamente de TZX a Z80

Mensaje por Gandulf » Sab Ene 19, 2008 5:23 pm

:) , pero esa es la misma pregunta más o menos, ¿cómo va a saber el emulador cual es el último bloque de carga si hay varios bloques en la cinta? Si te refieres a que interperte el código cargador para saber cuando se produce una llamada eso no se puede hacer en automático, ya que pueden darse varios tipos de llamada en el propio cargador , yo creo que no te vas a librar de tracear el programa o estudiar un poco el cargador y poner un breakpoint.
Un saludo,

Gandulf

Bubu
Freddy Hardest
Mensajes: 544
Registrado: Mié Oct 31, 2007 12:15 am

Re: Pasar automáticamente de TZX a Z80

Mensaje por Bubu » Sab Ene 19, 2008 5:40 pm

nononononono, el emulador sabe perfestamente cuántos bloques hay en un tzx, pues esa info va dentro del propio tzx. De echo, si te fijas, al cargar un tzx en Spectaculator, éste abre una lista de los bloques que va a cargar, antes de ser cargados.
Por eso preguntaba yo que si se podía decir al Spectaculator que cuando termine el último, haga un snapshot a la RAM.

Gandulf
Nonamed
Mensajes: 1067
Registrado: Lun May 07, 2007 10:06 pm

Re: Pasar automáticamente de TZX a Z80

Mensaje por Gandulf » Sab Ene 19, 2008 5:49 pm

Pero pero, esto parece "atrapado en el tiempo" :) , claro que puedes saber cuantos bloques hay en un TAP/TZX, pero muchos juegos no arrancan al cargar el último de ellos sino antes. Eso lo puedes hacer con algunos juegos, por lo tanto no se puede poner como opción "de serie" en un emulador. Podrían meter una opción que grabara un Z80 cuando el "puntero" de lectura de cassete llegue al último byte del último bloque de cinta, que es a lo que te refieres tu, pero no serviría para muchos juegos, sólo para algunos por lo tanto sería extraño que alguien lo metiese.
Un saludo,

Gandulf

Bubu
Freddy Hardest
Mensajes: 544
Registrado: Mié Oct 31, 2007 12:15 am

Re: Pasar automáticamente de TZX a Z80

Mensaje por Bubu » Sab Ene 19, 2008 6:01 pm

Bueno, lo asumo. Teniendo en cuenta que el 90% (por decir que casi todos) los juegos arrancan al cargar el último bloque, lo asumo.

Gandulf
Nonamed
Mensajes: 1067
Registrado: Lun May 07, 2007 10:06 pm

Re: Pasar automáticamente de TZX a Z80

Mensaje por Gandulf » Sab Ene 19, 2008 6:20 pm

En serio, hay muchos que no, ten en cuenta que la multicarga o los menus de carga estaban a la orden del día en los últimos años del spectrum. De todas formas poner un breakpoint al inicio y grabar el Z80 en la mayoría de los casos es un momento, por eso me imagino que nadie lo ha metido en su emulador.
Un saludo,

Gandulf

Bubu
Freddy Hardest
Mensajes: 544
Registrado: Mié Oct 31, 2007 12:15 am

Re: Pasar automáticamente de TZX a Z80

Mensaje por Bubu » Sab Ene 19, 2008 7:19 pm

Bueno, pues entonces concluimos que ningún emulador lo lleva implementado (por los motivos que sean). ¡¡ Graaaacias !!

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 4 invitados