Proyecto o.t.l.a.
Hoy estoy pesado...
¿Cómo puedo cargar una pantalla de presentación y a continuación el juego en si? Sólo quiero que la pantalla se cargue en &c000 y el resto en otra dirección. Vamos, que la pantalla no se ejecute.
Y si antes quiero meter código para cambiar los colores o el modo... ¿hago un bin ejecutable, cargo la pantalla y luego el juego?
¿Cómo puedo cargar una pantalla de presentación y a continuación el juego en si? Sólo quiero que la pantalla se cargue en &c000 y el resto en otra dirección. Vamos, que la pantalla no se ejecute.
Y si antes quiero meter código para cambiar los colores o el modo... ¿hago un bin ejecutable, cargo la pantalla y luego el juego?
Salu2,
Arta
Arta
Acuerdate que al WinApe solo le gusta la forma de onda cuadrada. Puedes probar en emulador con onda cuadrada y luego para el real la que mejor vaya.Lo he probado reubicando y va bien Reubico poniendo 10 y lo pone sobre $0A00 más o menos, me viene de maravilla
Lo malo es que el cdt que me carga en mi 464 da error en el WinApe. En la version 1.4 de CPCE va bien.
Al final como ha quedado la cosa.¿ 4 muestras/bit y forma de onda cubica? ¿funciona con las dos frecuencias de muestreo 44100 y 48000? ¿con las dos polaridades?
Sí eso hace, la explicación técnica es que ese corte de los ultimos bytes está fijo ya en el fichero .sbb que genera otlaBuilder que supone que el cargador va a estar siempre en $ff10. La opción de reubicación de oltaplayer debería ser coherente con otlaBuilder. A ver como lo soluciono.Otra cosilla. Si se hace una reubicación en área que no sea de pantalla tal vez se podría hacer que se viera entera... ahora lo que hace es cortar los últimos bytes para no machacar el cargador si se carga en zona de pantalla, ¿no?
Eso puede funcionar. Para cargar un .sna por ejemplo , priemro se carga un binario cortito ejecutable que restaura los registor de gate array paleta etc. Se retorna del ejeucable i sigue la carga de la pantalla sin ejecutarse nada (si el punto de ejecución de un BIN es 0 se supone que no es ejecutable) y luego se carga el resto de memoria¿Cómo puedo cargar una pantalla de presentación y a continuación el juego en si? Sólo quiero que la pantalla se cargue en &c000 y el resto en otra dirección. Vamos, que la pantalla no se ejecute.
Y si antes quiero meter código para cambiar los colores o el modo... ¿hago un bin ejecutable, cargo la pantalla y luego el juego?
No he probado las dos frecuencias, sólo a 44100 y ahí va bien como cúbica en las dos polaridades.Al final como ha quedado la cosa.¿ 4 muestras/bit y forma de onda cubica? ¿funciona con las dos frecuencias de muestreo 44100 y 48000? ¿con las dos polaridades?
Vale, pues lo voy a probar a ver qué me sale Muchas gracias.Eso puede funcionar. Para cargar un .sna por ejemplo , priemro se carga un binario cortito ejecutable que restaura los registor de gate array paleta etc. Se retorna del ejeucable i sigue la carga de la pantalla sin ejecutarse nada (si el punto de ejecución de un BIN es 0 se supone que no es ejecutable) y luego se carga el resto de memoria
Salu2,
Arta
Arta
Re: Proyecto o.t.l.a.
Efectivamente, decicoder, puedo hacer un cargador para cargar un programa que cargue la paleta y la pantalla y luego todo el código del programa.
Una cosa, el WAV que se genera es bueno pero el CDT sólo lo interpreta bien el CPCE. ¿Hay alguna limitación con el cdt?
Una cosa, el WAV que se genera es bueno pero el CDT sólo lo interpreta bien el CPCE. ¿Hay alguna limitación con el cdt?
Salu2,
Arta
Arta
Re: Proyecto o.t.l.a.
decicoder ¿hay alguna posibilidad de hacer un cdt normal con el otla player? Me refiero a uno que se pueda leer en todos los emuladores.
Salu2,
Arta
Arta
Re: Proyecto o.t.l.a.
Cuando hablas de cdt normal es porque habrás descubierto que el CDT (o tzx) es un poco especialito
Utiliza el tipo de bloque ID 15 - Direct recording block. Osea , que en realidad como un fichero de sonido puro (wav, csw, etc..) con otro formato. Pero se pierde la forma de onda.
En cuanto a codificarlo con bloques normales tipo 11 12 13 14 no es posible porque estos bloques están pensados para que se trasmitan bits y lo que se están trasmitiendo son parejas de bits.
Creo que se podría utilizar el bloque de las ultimas versiónes del formato TZX , ID 19 - Generalized Data Block. Pero es demasiado complicado y quizá los emualdores que tienen problemas con los bloques tipo 15 los tengan con los tipo 19.
La conversión a cdt es más que nada anecdótica. Por comodidad para probar en un emulador (en los de spectrum suele ir bien) con un solo click. Aunque hay quien le encontró una utilidad. Se preparaba las carga rápidas en fromato tzx (tamaño más pequeño que los wav) y luego las cargaba en un emulador de un PDA a velocidad normal y con un spectrum real conectado a la PDA. Asñi cargaba a la vez en emulador y real.
Ultimamente tengo menos tiempo y tengo el desarrollo algo abandonado. Lo que si me gustaría hacer es recopillatorio de juegos de los tres sistemas ya convertidos a alta velocidad para que los más vagos puedan descargarse los ficheros .sbb o .wav directamente. Si tienes ya algunos hechos para amstrad los podría incluir.
Por el tema de licencias para spectrum y creo que para amstrad no hay muchos problemas. Los juegos para msx paece que son más tiquismiquis
Utiliza el tipo de bloque ID 15 - Direct recording block. Osea , que en realidad como un fichero de sonido puro (wav, csw, etc..) con otro formato. Pero se pierde la forma de onda.
En cuanto a codificarlo con bloques normales tipo 11 12 13 14 no es posible porque estos bloques están pensados para que se trasmitan bits y lo que se están trasmitiendo son parejas de bits.
Creo que se podría utilizar el bloque de las ultimas versiónes del formato TZX , ID 19 - Generalized Data Block. Pero es demasiado complicado y quizá los emualdores que tienen problemas con los bloques tipo 15 los tengan con los tipo 19.
La conversión a cdt es más que nada anecdótica. Por comodidad para probar en un emulador (en los de spectrum suele ir bien) con un solo click. Aunque hay quien le encontró una utilidad. Se preparaba las carga rápidas en fromato tzx (tamaño más pequeño que los wav) y luego las cargaba en un emulador de un PDA a velocidad normal y con un spectrum real conectado a la PDA. Asñi cargaba a la vez en emulador y real.
Ultimamente tengo menos tiempo y tengo el desarrollo algo abandonado. Lo que si me gustaría hacer es recopillatorio de juegos de los tres sistemas ya convertidos a alta velocidad para que los más vagos puedan descargarse los ficheros .sbb o .wav directamente. Si tienes ya algunos hechos para amstrad los podría incluir.
Por el tema de licencias para spectrum y creo que para amstrad no hay muchos problemas. Los juegos para msx paece que son más tiquismiquis
Re: Proyecto o.t.l.a.
Ya está disponible la version 2.0 del proyecto otla.
http://code.google.com/p/otla/
La principal novedad para los usuarios de Amstrad es que además de ficheros .sna y .bin ahora se pueden convertir ficheros .cdt. Aunque la conversión no es facil , hay que averiguar la dirección de incio y ejecución del bloque dentro del cdt que tiene la parte principal del juego.
En el ejemplo BATMAN.CDT si lo abrimos vemos que tiene 3 bloques. El ultimo parece el importante. Con ayuda de un emulador con debuger podemos averiguar la direccion de inicio de ese blqoue (368) y la direccion de ejecucion (429). Esos parametros se cambian al bloque y se genera el fichero .sbb.
http://code.google.com/p/otla/
La principal novedad para los usuarios de Amstrad es que además de ficheros .sna y .bin ahora se pueden convertir ficheros .cdt. Aunque la conversión no es facil , hay que averiguar la dirección de incio y ejecución del bloque dentro del cdt que tiene la parte principal del juego.
En el ejemplo BATMAN.CDT si lo abrimos vemos que tiene 3 bloques. El ultimo parece el importante. Con ayuda de un emulador con debuger podemos averiguar la direccion de inicio de ese blqoue (368) y la direccion de ejecucion (429). Esos parametros se cambian al bloque y se genera el fichero .sbb.
Re: Proyecto o.t.l.a.
estoy intentando buscar en el debuger del cpce la direccion de inicio y la direccion de ejecucion del batman como comenta decidoder para luego poder tomarlo como referencia y hacerlo yo con otros cdts y bins pero como soy un novato de esto no tengo mucha idea, alguien em puede orientar de como los puedo buscar o donde están?
Por cierto gracias por este pedazo de programa.En el ejemplo BATMAN.CDT si lo abrimos vemos que tiene 3 bloques. El ultimo parece el importante. Con ayuda de un emulador con debuger podemos averiguar la direccion de inicio de ese blqoue (368) y la direccion de ejecucion (429). Esos parametros se cambian al bloque y se genera el fichero .sbb.
Re: Proyecto o.t.l.a.
Por cierto decicoder, sugerí en el hilo dedicado a la exposición del G.U.A. en el cercano RetroMadrid que se haga una demostración de tu sistema. No se si hay ya planeado alguna demostración en los otros sistemas, pero creo que es una cosa interesante para enseñar
Re: Proyecto o.t.l.a.
Pues si que estaría bien, Me gustaría ver a un 464 con ese adaptador de cinta cargando a alta velocidad. En cuantas más máquinas reales se pruebe major, sobre todo MSX porque estas tienen hardwares diferentesPor cierto decicoder, sugerí en el hilo dedicado a la exposición del G.U.A. en el cercano RetroMadrid que se haga una demostración de tu sistema. No se si hay ya planeado alguna demostración en los otros sistemas, pero creo que es una cosa interesante para enseñar
Como sistemas de cargas hubo muchos es difícil dar un método general para sacar la información de los bloques.estoy intentando buscar en el debuger del cpce la direccion de inicio y la direccion de ejecucion del batman como comenta decidoder para luego poder tomarlo como referencia y hacerlo yo con otros cdts y bins pero como soy un novato de esto no tengo mucha idea, alguien em puede orientar de como los puedo buscar o donde están?
Vamos al caso del ejemplo del Batman.CDT que está en el zip
Los empezamos a cargar en un emulador a velocidad normal (por ejemplo el WinApe)
En plena carga del bloque del juego lanzamos el debuger. Estamos en plena rutina de carga donde encontraremos alguna instruccion tipo ld (dd),r seguido de un inc dd En el caso del batman
Código: Seleccionar todo
$becc ld (hl),e
$becd inc hl
Código: Seleccionar todo
$be84 ld hl,$0170
Para la dirección de ejecucion cuando acaba la carga suele haber un JP $xxxx. Esa será la dirección de ejecución. Pero en el caso del batman del ejemplo es distinto. Cuando acaba la carga no hay un JP sino un RET y observamos tambien que al comienzo de la rutina de carga antes de inicializar HL con la dirección de incio hace esto
Código: Seleccionar todo
$be80 ld hl,$01a0
$be83 push hl
Con esos datos apuntados Abrimos el batman.CDT con el OtlaBuilder. Vemos tres bloques todos con un icono de error (dirección de inicio desconocida). El que nos interesda es el gordo- Con el botón derecho le cambimos los paramtros de inicio y ejecución. Aceptamos y guardamos.
(Se me olvidó comentar que una mejora de Otla 2.0 es que permite visualizar e introducir datos en formato hexadecimal)
Como ves la conversión no es trivial. Esa sería la segunda parte del proyecto otla, cada uno podría convertir sus juegos preferidos a formato .SBB y luego compartirlos en una base de datos común de CPC, MSX y SPectrum. Pasar de .SBB a un reproductor de sonido (o incluso otros dispositivos de carga como el DiviIde del Spectrum) no debe plantear ninguna complicación.
Re: Proyecto o.t.l.a.
estupendo decicoder muchas gracias por tu ayuda, me voy a poner manos a la obra haber si saco un par de juegecitos que tengo vistos por aquí. Tengo una duda que se me olvidó antes, se pueden pasar tambien juegos multicarga?
Por cierto me parece estupenda esa idea de la base de datos ojalá que salga adelante, de todas formas siempre es bueno subirlas a una ftp o tal vez arta quiera hacer algo así en la web
Por cierto me parece estupenda esa idea de la base de datos ojalá que salga adelante, de todas formas siempre es bueno subirlas a una ftp o tal vez arta quiera hacer algo así en la web
¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro
La Comunidad Española |