Proyecto o.t.l.a.

Cómo pasar juegos a diferentes archivos, herramientas, software.
Avatar de Usuario
Artaburu
Trasteador
Trasteador
Mensajes: 8420
Registrado: Vie 07 Oct , 2005 6:18 pm
Ubicación: En tu pantalla

Mensajepor Artaburu » Mié 05 Dic , 2007 3:56 pm

Ha ganado puntos con los nombres de las etiquetas cambiados y con la representación de las ondas.
Me acabo de dar cuenta de una cosilla que ya me pasó. ¿No se pueden quitar los ficheros de la lista? La única forma que he encontrado ha sido borrando el .ini
Salu2,
Arta

Avatar de Usuario
Artaburu
Trasteador
Trasteador
Mensajes: 8420
Registrado: Vie 07 Oct , 2005 6:18 pm
Ubicación: En tu pantalla

Mensajepor Artaburu » Sab 08 Dic , 2007 9:40 am

Lo he probado reubicando y va bien :D Reubico poniendo 10 y lo pone sobre $0A00 más o menos, me viene de maravilla :D
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.
Salu2,
Arta

Avatar de Usuario
Artaburu
Trasteador
Trasteador
Mensajes: 8420
Registrado: Vie 07 Oct , 2005 6:18 pm
Ubicación: En tu pantalla

Mensajepor Artaburu » Sab 08 Dic , 2007 9:53 am

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?
Salu2,
Arta

Avatar de Usuario
Artaburu
Trasteador
Trasteador
Mensajes: 8420
Registrado: Vie 07 Oct , 2005 6:18 pm
Ubicación: En tu pantalla

Mensajepor Artaburu » Sab 08 Dic , 2007 10:05 am

Hoy estoy pesado... :mrgreen:
¿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

Avatar de Usuario
decicoder
Me voy lanzando
Me voy lanzando
Mensajes: 43
Registrado: Sab 01 Sep , 2007 10:19 am

Mensajepor decicoder » Dom 09 Dic , 2007 12:54 pm

Lo he probado reubicando y va bien :D Reubico poniendo 10 y lo pone sobre $0A00 más o menos, me viene de maravilla :D
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.
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.
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?
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?
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.
¿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?
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

Avatar de Usuario
Artaburu
Trasteador
Trasteador
Mensajes: 8420
Registrado: Vie 07 Oct , 2005 6:18 pm
Ubicación: En tu pantalla

Mensajepor Artaburu » Mar 11 Dic , 2007 1:58 pm

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?
No he probado las dos frecuencias, sólo a 44100 y ahí va bien como cúbica en las dos polaridades.
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
Vale, pues lo voy a probar a ver qué me sale :D Muchas gracias.
Salu2,
Arta

Avatar de Usuario
Artaburu
Trasteador
Trasteador
Mensajes: 8420
Registrado: Vie 07 Oct , 2005 6:18 pm
Ubicación: En tu pantalla

Re: Proyecto o.t.l.a.

Mensajepor Artaburu » Mié 26 Dic , 2007 5:49 pm

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?
Salu2,
Arta

Avatar de Usuario
Artaburu
Trasteador
Trasteador
Mensajes: 8420
Registrado: Vie 07 Oct , 2005 6:18 pm
Ubicación: En tu pantalla

Re: Proyecto o.t.l.a.

Mensajepor Artaburu » Jue 27 Dic , 2007 3:05 pm

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

Avatar de Usuario
decicoder
Me voy lanzando
Me voy lanzando
Mensajes: 43
Registrado: Sab 01 Sep , 2007 10:19 am

Re: Proyecto o.t.l.a.

Mensajepor decicoder » Jue 27 Dic , 2007 6:31 pm

Cuando hablas de cdt normal es porque habrás descubierto que el CDT (o tzx) es un poco especialito 8-)

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

Avatar de Usuario
decicoder
Me voy lanzando
Me voy lanzando
Mensajes: 43
Registrado: Sab 01 Sep , 2007 10:19 am

Re: Proyecto o.t.l.a.

Mensajepor decicoder » Sab 23 Feb , 2008 11:16 am

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.

Avatar de Usuario
Artaburu
Trasteador
Trasteador
Mensajes: 8420
Registrado: Vie 07 Oct , 2005 6:18 pm
Ubicación: En tu pantalla

Re: Proyecto o.t.l.a.

Mensajepor Artaburu » Sab 23 Feb , 2008 11:27 am

¡Genial!
Vamos a verlo ;)
Salu2,
Arta

trocoloco
Megaforero
Megaforero
Mensajes: 335
Registrado: Lun 16 Abr , 2007 11:02 am

Re: Proyecto o.t.l.a.

Mensajepor trocoloco » Sab 23 Feb , 2008 3:45 pm

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?
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.
Por cierto gracias por este pedazo de programa.

Avatar de Usuario
MiguelSky
Lord of Short Time
Lord of Short Time
Mensajes: 6969
Registrado: Sab 08 Oct , 2005 2:02 am
Contactar:

Re: Proyecto o.t.l.a.

Mensajepor MiguelSky » Sab 23 Feb , 2008 7:32 pm

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 :)

Avatar de Usuario
decicoder
Me voy lanzando
Me voy lanzando
Mensajes: 43
Registrado: Sab 01 Sep , 2007 10:19 am

Re: Proyecto o.t.l.a.

Mensajepor decicoder » Dom 24 Feb , 2008 9:59 am

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
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 diferentes
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?
Como sistemas de cargas hubo muchos es difícil dar un método general para sacar la información de los bloques.

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
Es decir se están guardadndo los bytes que vienen del cassette en memoria a la que apunta HL. Hay que ver pues con que valor se incializa HL antes de entrar en la rutina de carga

Código: Seleccionar todo

$be84 ld hl,$0170
Ya tenemos la dirección de incio

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
O sea pone en la pila la dirección de salto, $01a0. Esa sería la dirección de ejecución. (ahora no me acuerdo porque en el ejemplo que puse del batman en formato .SBB puse $01ad)

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.

trocoloco
Megaforero
Megaforero
Mensajes: 335
Registrado: Lun 16 Abr , 2007 11:02 am

Re: Proyecto o.t.l.a.

Mensajepor trocoloco » Dom 24 Feb , 2008 11:53 am

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 :D


¿Quién está conectado?

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


La Comunidad Española
ESP Soft, juegos para tu CPC Foro de Amstrad CPC Todos los juegos para CPC en un CD Web dedicada al Amstrad CPC (utilidades) Información útil para el CPC (talleres) Selección de juegos de Amstrad CPC Mundo CPC Pree Play then any Key CPC Basic