Pasar automáticamente de TZX a Z80
Moderador: Sir Cilve Sinclair
-
- Freddy Hardest
- Mensajes: 544
- Registrado: Mié Oct 31, 2007 12:15 am
Pasar automáticamente de TZX a Z80
¡¡ Hola, torpedos !!
¿Se puede pasar de alguna manera una carga TZX a Z80 justo cuando dicha carga finalice?
¿Se puede pasar de alguna manera una carga TZX a Z80 justo cuando dicha carga finalice?
- 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
Cárgalo en un emu y cuando finalice la carga graba el snapshot.
- decicoder
- Jack The Nipper
- Mensajes: 176
- Registrado: Jue Jul 19, 2007 10:37 am
Re: Pasar automáticamente de TZX a Z80
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
ld R,a
b1 in f,(c)
jp pe , b1
ld a,R
-
- Freddy Hardest
- Mensajes: 544
- Registrado: Mié Oct 31, 2007 12:15 am
Re: Pasar automáticamente de TZX a Z80
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.
- decicoder
- Jack The Nipper
- Mensajes: 176
- Registrado: Jue Jul 19, 2007 10:37 am
Re: Pasar automáticamente de TZX a Z80
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.
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
ld R,a
b1 in f,(c)
jp pe , b1
ld a,R
-
- Nonamed
- Mensajes: 1067
- Registrado: Lun May 07, 2007 10:06 pm
Re: Pasar automáticamente de TZX a Z80
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
Gandulf
-
- Freddy Hardest
- Mensajes: 544
- Registrado: Mié Oct 31, 2007 12:15 am
Re: Pasar automáticamente de TZX a Z80
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:
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?
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?
-
- Nonamed
- Mensajes: 1067
- Registrado: Lun May 07, 2007 10:06 pm
Re: Pasar automáticamente de TZX a Z80
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
Gandulf
-
- Freddy Hardest
- Mensajes: 544
- Registrado: Mié Oct 31, 2007 12:15 am
Re: Pasar automáticamente de TZX a Z80
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?
-
- Nonamed
- Mensajes: 1067
- Registrado: Lun May 07, 2007 10:06 pm
Re: Pasar automáticamente de TZX a Z80
, 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
Gandulf
-
- Freddy Hardest
- Mensajes: 544
- Registrado: Mié Oct 31, 2007 12:15 am
Re: Pasar automáticamente de TZX a Z80
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.
Por eso preguntaba yo que si se podía decir al Spectaculator que cuando termine el último, haga un snapshot a la RAM.
-
- Nonamed
- Mensajes: 1067
- Registrado: Lun May 07, 2007 10:06 pm
Re: Pasar automáticamente de TZX a Z80
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
Gandulf
-
- Freddy Hardest
- Mensajes: 544
- Registrado: Mié Oct 31, 2007 12:15 am
Re: Pasar automáticamente de TZX a Z80
Bueno, lo asumo. Teniendo en cuenta que el 90% (por decir que casi todos) los juegos arrancan al cargar el último bloque, lo asumo.
-
- Nonamed
- Mensajes: 1067
- Registrado: Lun May 07, 2007 10:06 pm
Re: Pasar automáticamente de TZX a Z80
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
Gandulf
-
- Freddy Hardest
- Mensajes: 544
- Registrado: Mié Oct 31, 2007 12:15 am
Re: Pasar automáticamente de TZX a Z80
Bueno, pues entonces concluimos que ningún emulador lo lleva implementado (por los motivos que sean). ¡¡ Graaaacias !!
¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 4 invitados