Foro Fase Bonus

Videojuegos => Homebrew => Mensaje iniciado por: Bubu en 20 Febrero 2012, 04:40:30

Título: ZX Frogger
Publicado por: Bubu en 20 Febrero 2012, 04:40:30
¡¡¡¡Hola, torpedos!!!!

He aquí el Frogger de MAME:

(http://4.bp.blogspot.com/_6fN0N2SeNTE/SqBKjuNXUoI/AAAAAAAAAsA/zMup1pndr48/s320/frogger.png)

Mi pasión por el Frogger es mu grande, mu grande, y por el Spectrum tamién, de tal manera que hace poco más de 2 años empecé a realizar mi propia versión de Frogger para Spectrum, tras haber visto las \"versiones\" que existían para tal ordeñador:

(http://www.relaxate.com/_downloads/ZX_Spectrum/screens-games//c/da/Frogger_4.gif)

(http://www.bagshot-row.org/chuckie-egg/images/anfreleases/AnF_Spectrum_Frogger_Screenshot.png)

En fins.

Este proyesto es para irlo cocinando muuuuy leeeentameeeeenteeeee, no tengo prisas ninguna, jiji. Estoy aprendiendo mucho ensamblador y muchas carasterísticas del Spectrum. Hasta ahora tengo muy avanzada la fase de la carretera, pero en este foro quería comenzar de cero la fase del río, jiji.




[attachment=1266]FROGGER_20111207.PNG[/attachment]




Bueno, torpedos, pues lo dicho. En este primer mensaje iré poniendo un resumen de los pequeños avances que vaya haciendo, jiji.


¡¡¡CROAC, al ataqueeeerrr!!!
Título: Re: ZX Frogger
Publicado por: Bubu en 20 Febrero 2012, 04:41:05
[Reservado nu sé pa qué, pero por si aca :-D]
Título: Re: ZX Frogger
Publicado por: logaran en 20 Febrero 2012, 05:03:08
Apenas has acabado el teclado y ya estas liado con el Frogger :shock:

Declaro formalmente inaugurado tu club de fans. :adorar: Por supuesto me pido el puesto de presidente ;)
Título: Re: ZX Frogger
Publicado por: Hoz3 en 20 Febrero 2012, 05:05:52
Hype en aumento .:trollface:
Título: Re: ZX Frogger
Publicado por: Bubu en 20 Febrero 2012, 05:23:41
¡¡Gracias, torpedos!!

Y una cosa, ¿por qué no me sale la afoto que he subido del pantallazo de mi Forgger? Me sale \"Archivo no encontrado! ¿?¿?¿?¿? ¿Vosotros lo veis?
Título: Re: ZX Frogger
Publicado por: Bubu en 20 Febrero 2012, 05:31:05
Ah, vale, que es por esto:

Código: [Seleccionar]

Error al subir el archivo \'FROGGER_20111207.bmp\': Usted necesidad de utilizar extensiones de archivo permitidas (para imágenes: jpg, jpeg, gif, png y otros archivos: txt, rtf, pdf, zip, tar.gz, tgz, tar.bz2).


Pues lo cambio, ea. JAjaJA.
Título: Re: ZX Frogger
Publicado por: Javi Ortiz en 20 Febrero 2012, 06:23:30
Ya conocia este proyecto he incluso me ofrecí de tester si lo necesitabas (cuando sea el momento)... aquí me tienes ¿eh? :-). La verdad es que una buena versión de frogger puede lucir muy bien

Un Saludo
Javi Ortiz
Título: Re: ZX Frogger
Publicado por: mentalthink en 20 Febrero 2012, 06:57:38
Ostia Bubu eres un hachá tio... la verdad que graficamente está super bien... y más aún programandolo en emsamblador, quizás si puedo rascar tiempo me meta...

Por cierto porque no le hechas un vistazo al Czz80,aunque la sintaxis es C, no es C, es lo muy similar al Basic que utilizo, y creo que puedes avanzar mucho más deprisa... no sé...

Respecto a tu ofrecimiento de ASM, por supuesto que lo acepto, no tengo ni la más remota idea de escribir una sola linea de código... gracias Bubu de antemano...
Título: Re: ZX Frogger
Publicado por: Bubu en 20 Febrero 2012, 07:09:35
Para cuando puedas testear ya ni existirá intenné, aJaJJAJAA, pero muchas gracias por el ofrecimiento.


Bien, hoy comienzo con un análisis de la situaçao: el río del Frogger.

\"El río\" es uno de los 2 juegos que trae el Frogger, siendo el otro \"la carretera\". El río presenta, en cuanto a programación, muchísimas más dificultades que la carretera, aunque no lo parezca:

- tiene elementos cambiantes: tortugas que nadan, cocodrilos que abren la boca.
- tiene enemigos eventuales: serpientes, castores
- tiene premios eventuales: moscas que aparecen en las casetas vacías
- el ancho de los troncos es variable: unos miden 3 tiles, otros 5...
- el desplazamiento horizontal de Froggy es de pixel en pixel: en la carretera todo se desarrolla de carácter en carácter, pero en el río Froggy va montada en troncos o cocodrilos que se desplazan de pixel en pixel, y ésta tiene que desplazarse con ellos.
- la detección de choque del río es la contraria respecto a la de la carretera: en ésta Froggy muere cuando coincide con un móvil; en el río Froggy muere cuando NO coincide con un móvil

En fins, pueden parecer cosas muy sutiles, pero cuando uno se remanga a pogramar en ensamblador, todo esto hace que el río sea todo un reto.


Bueno, hasta aquí el análisis de las dificultades, jiji.

¡¡Vamos a empezar ya!!

Lo primero, hacemos un pantallazo con el MAME, lo metemos en un editor gráfico, y extraemos los elementos del río más comunes:



[attachment=1267]02.png[/attachment]

Tenemos troncos de 3 tamaños, y tortugas de 2 tamaños. En las tortugas se ve que con dibujar una, tienes el resto, pero en los troncos es algo más complejo, habrá que buscar cómo dibujas los troncos menores a partir del grande, para ahorrar memoria del Spectrum.

Así que pillo el tronco grande, lo rompo en trozos, y trato de pintar los troncos menores con estos trozos, jiji.
Título: Re: ZX Frogger
Publicado por: Bubu en 20 Febrero 2012, 08:15:17
Ea, pues ya tengo pintados los 3 tipos de troncos:


[attachment=1268]03.png[/attachment]


El color es un poblema, en el Spectrum no existe ese color marrón, el que más se le parece es el color, rojo, pero es que las tortugas son rojas, y si pongo los troncos también rojos va a parecer aquello el mar rojo, bueno, el río rojo, jiji. Así que creo que los pondré verdes.
Título: Re: ZX Frogger
Publicado por: Bubu en 20 Febrero 2012, 08:26:25
Ahora convierto el tronco chico en blanco y negro, y lo exporto a SevenuP, el gran editor gráfico para Spectrum, made in Metalbrain:


[attachment=1270]04.PNG[/attachment]

El siguiente paso es exportarlo a píxeles binarios (extensión BIN) para que el Spectrum lo sepa dibujar. Y entonces desplazar el tronco un píxel a la derecha, volverlo a exportar a BIN, y así hasta 8 veces.
De esta manera, pinto los 8 troncos uno encima de otro en secuencia, y parecerá que se mueve, jiji, sin tener que hacer desplazamientos shift ni cosas de esas que tardarían mucho en ejecutarse.
Título: Re: ZX Frogger
Publicado por: Bubu en 20 Febrero 2012, 08:29:27
Cita de: \"mentalthink\" post=19623
Ostia Bubu eres un hachá tio... la verdad que graficamente está super bien... y más aún programandolo en emsamblador, quizás si puedo rascar tiempo me meta...

Por cierto porque no le hechas un vistazo al Czz80,aunque la sintaxis es C, no es C, es lo muy similar al Basic que utilizo, y creo que puedes avanzar mucho más deprisa... no sé...

Respecto a tu ofrecimiento de ASM, por supuesto que lo acepto, no tengo ni la más remota idea de escribir una sola linea de código... gracias Bubu de antemano...


Perdona, mentalthink, no lo había leído. He visto el CCZ80 y tiene muy muy buena pinta, el poblema que tiene es que C precompila y aluego compila, y el código a pesar de estar optimizado para ser C, no llega a la potencia de velocidad que tiene el ensamblador puro, Quizás un día haga una prueba de desplazamiento de sprites con CCZ80 y lo compare con el de ASM, y si son similares, sin duda el próximo proyecto lo haga en CCZ80 ;-)
Título: Re: ZX Frogger
Publicado por: mentalthink en 20 Febrero 2012, 08:35:41
Hola Bubu, yo he probado las demos que tiene y van suaves... tambien he leído que depende como optimizes el código, va muy bien, y como se puede fusionar codigo en ASM, parece ser que se hacen cosas interesantes... Esté juego, que lo vi en el foro del compilador parece estar hecho con ccz80 y algo de ASM...

http://www.youtube.com/watch?v=9LHpTwoA2Qo
Título: Re: ZX Frogger
Publicado por: Bubu en 20 Febrero 2012, 08:43:53
El juego que pones es guapísimo gráficamente, pero fíjate que no hay scroll ni sprites, los dibujos se desplazan en bloque de 8 en 8 píxeles. Y yo necesito hacer scroll de 1 en 1 píxeles los coches, los troncos, etc.
Título: Re: ZX Frogger
Publicado por: mentalthink en 20 Febrero 2012, 09:38:10
Si Bubu esto parece no tener que ver nada con el lenguaje... según escuche en el PodCast, creo que es de FaseBonus también pero no recuerdo que número... si lo buscas por entevistas , pone algo como entrevista a Retroworks... Ignacio, creo que les pregunta, que como es posible que se saquen tantos colores en un Spectrum, en comparación con los juegos de los 80, con lo que el programador, comenta que si quieres muchos colores te tienes que mover por caracteres o sea de 8 en 8 en cambio si no quieres colores puedes moverte pixel a pixel... como te digo no estoy seguro si es al 100 cosa del lenguaje... pero creo que hacia referencia a los sprites y los atributos, ya que hay problemas de mezclas de color y tal... con lo cual es una cosa o la otra, no se pueden tener movimiento pixel a pixel y un montón de colores... Vamos creo que entendí eso... sobre Spectrum no conozco a penas nada...
Título: Re: ZX Frogger
Publicado por: Deka Black en 20 Febrero 2012, 10:29:34
Tengo que confesar: No me gusta el frogger. no porque sea malo. Que no lo es.Es que me pone de los nervios...
Título: Re: ZX Frogger
Publicado por: Ivanzx en 20 Febrero 2012, 18:29:32
Ostias, buenas noticias Bubu, me alegro que lo hayas retomado! Creo ademas que es una buena manera de ir aprendiendo ASM e ir avanzando para futuros posibles proyectos :)

Suerte con el proyecto! :mog:
Título: Re: ZX Frogger
Publicado por: Raiders en 20 Febrero 2012, 19:37:29
También es de mis juegos favoritos. La versión ios está muy bien y en los ratos muertos viene de lujo.

Tu versión tiene buena pinta, y este tipo de retos personales me gustan mucho.

Mucho ánimo.
Título: Re: ZX Frogger
Publicado por: Bubu en 21 Febrero 2012, 00:07:44
mentalthink, el tema está en que sólo se pueden tener 2 colores en cada cuadrado 8x8 píxeles, por lo que hay que desplazar los muñecos de 8 en 8 píxeles para que no haya líos con los colores. Si los desplazas de 1 en 1, el juego debe ser más monocromático.

Deka Black, te entiendo, es un juego la verdad que o te encanta hasta la obsesión, o lo odias hasta la obsesión, AJaJaJJAAj.

¡Gracias, Ivanzx! Para eso está este hilo, para tener yo también una base sobre la que ir dejando los avances, y si le interesa a alguien pues puede ver así cómo se hace un juego en Spectrum con ensamblador, espero poder contarlo lo más detalladamente posible, jiji, tanto para los gráficos, la música, la programación, etc ;-)

¡Gracias también, Raiders! Tú lo has dicho, reto personal, porque a ver qué necesidad tengo yo de hacer esto (que van a ser muchísimas horas) teniéndole que quitar horas al sueño para poder hacerlo, jiji. Es eso, el reto. Y que siempre, desde chico, siempre he querido hacer un juego completo en C/M, aunque de chico sabía pogramar en C/M pero siempre empezaba juegos y nunca los acababa.
Título: Re: ZX Frogger
Publicado por: Bubu en 21 Febrero 2012, 00:11:41
Lo próximo más próximo:

- ver cómo se ve Froggy encima de un tronco.
- calcular cuánto ocupa almacenar los gráficos de los troncos y las tortugas
Título: Re: ZX Frogger
Publicado por: Deka Black en 21 Febrero 2012, 05:42:07
¿Conoce alguien unos Frogger para GBA que son una especie de aventuras?
Título: Re: ZX Frogger
Publicado por: Bubu en 21 Febrero 2012, 05:50:44
Yo pispo:

(http://pocketmedia.ign.com/media/previews/image/froggergba/frogger_2.jpg)

Me encataba el juego :-)


Frogger\'s Adventures: Temple of the Frog
Título: Re: ZX Frogger
Publicado por: Bubu en 21 Febrero 2012, 05:58:53
Y por supuesto espero que no lo hayas mencionado para que me ponga a migrarlo a Spectrum, jajaJAjAJAjaRL.
Título: Re: ZX Frogger
Publicado por: Deka Black en 21 Febrero 2012, 06:04:09
No, no, solo curiosidad
Título: Re: ZX Frogger
Publicado por: Bubu en 21 Febrero 2012, 07:13:18
Ya he puesto a la Froggy encima de un tronco, y he puesto 3 posibles colores a ver cuál os gusta más:


[attachment=1275]04_2012-02-20.PNG[/attachment]

El de arriba del todo es el Frogger original, y los otros 3 son opciones para el Zx Frogger. A mí, la verdad, el que más me convence es el 1º de los 3, el del tronco rojo, pero es que las tortugas son también rojas, y va a estar todo mu rojo...

Nu sé, ¿cómo creéis que debería colorear esto?
Título: Re: ZX Frogger
Publicado por: Bubu en 21 Febrero 2012, 07:29:13
Y ahora algunas cuentas: calculemos cuánto cuesta almacenar los gráficos de los troncos y de las tortugas:

Un rectángulo cuesta A*B*8 (A=ancho, B=alto)
En el caso del Zx Frogger, los gráficos hay que guardarlos 8 veces, con un desplazamiento de un píxel cada vez. Así las cosas, tendríamos A*B*8*8

Vamos al lío:

Troncos los hay de 7, de 9 y de 13 caracteres de ancho, por 2 de alto.
Tortugas las hay de 5 tipos, cada una con 3 de ancho por 2 de alto.

Código: [Seleccionar]

Memoria para troncos = (7 + 9 + 13) * 2 * 8 * 8 = 3712 bytes

Memora para tortugas = 5 * 3 * 2 * 8 * 8 = 1920 bytes

Total = 3712 + 1920 = 5.5KB


Sólo en dibujar los troncos y las tortugas me estoy lelvando 5.5KB. Eso es una memoria muy importante de la RAM total del ordeñador.

Y aluego tengo el poblema de qué hacer cuando la rana se monte en lo alto de un tronco o de una tortuga. No se me ocurre ni de lejos cómo scrollear el conjunto... Ay.
Título: Re: ZX Frogger
Publicado por: Robe_Inie en 21 Febrero 2012, 07:56:28
Por mi parte me sumo a los ánimos para que este proyecto tire adelante :)

Lo que comentas de los colores tronco+rana: me quedo con el 1ero. Las tortugas rojas podrías ponerlas de otro color o bien dejarlas rojas (¿quizás demasiado rojo junto?) El verde para los cocodrilos... Es que con 8 colores la verdad que está complicadilla la cosa jeje

El color amarillo de la rana yo lo dejaría para cuando cojes a la rana amiga. Pero ya te digo que son pensamientos que me vienen así de primeras. En caso de estar programándolo yo (no me queda nada... xD), también estaría hecho un lío con el tema de como administrar correctamente los 8 colores del Spectrum.
Título: Re: ZX Frogger
Publicado por: Bubu en 21 Febrero 2012, 08:07:52
OK, Robe_Inie, ¿quién dijo miedo? jAjaJJA, ¡¡8 colores son muchísimos colores!!
¿Qué te parece la última opción? ¡¡ROSA!!


[attachment=1276]04_2012-02-20-2.PNG[/attachment]


Así las tortugas rojas, y los troncos rosas. Tengo que probar a ver cómo quedaría el río con muchos troncos y muchas tortugas, pero me lo estoy imaginando y podría cuadrar, ¿nor?
Título: Re: ZX Frogger
Publicado por: Robe_Inie en 21 Febrero 2012, 08:19:38
Mmmm bajo mi punto de vista, tortugas rosas y troncos rojos quedaría mejor, ya que los troncos son más grandes, ocupan más espacio en pantalla y se ven más. Pero es que claro.. es todo tan personal ... si lo hiciera yo cambiaría mil veces y al final seguro que escogería algo totalmente diferente a la idea inicial xD

Eso como tú veas, a ver que opina la demás gente. Yo voto:

Rana = Verde (obvio)
Rana Amiga = Blanca y cuando la coges volverte Amarillo
Troncos = Rojos
Tortugas que no se hunden: Rosas (?)
Tortugas que se hunden: Azul-Cyan (?)

La putada realmente es que no existe el marrón, si no ya estaría todo solucionado. Pero oye, eso es lo bonito del Spectrum ;)
Título: Re: ZX Frogger
Publicado por: Bubu en 21 Febrero 2012, 08:31:11
Pues me gusta tu propuesta. De momento las tortugas las tengo así:


[attachment=1278]05.PNG[/attachment]


Mañana haré un montaje de todo, troncos + tortugas + casetas finales, a ver cómo queda el conjunto. ¡Muchas gracais!

Por cierto, lo de la rana que se convierta en blanco no había yo caído, me parece una idea muy buena.
Título: Re: ZX Frogger
Publicado por: Bubu en 21 Febrero 2012, 09:04:05
¡¡Opciones multicolores traigo, oigan!!

A ver que sus parece:


[attachment=1279]06.PNG[/attachment]
Título: Re: ZX Frogger
Publicado por: mentalthink en 21 Febrero 2012, 14:25:34
Sobre el tronco lo que te han comentado, yo me quedo con el primero, aunque los colores no peguén, pero es curioso que es el que mejor queda...

Sobre la última imgen, se me ha caido el álma al suelo, que guapo... esto lo tienes que acabar si o si.

Una consulta sobre los colores... no hace mucho conecte el divide al 48Kb, se que será una tonteria, porque si ninguna empresa lo hacia o es que no me fije mucho en ese juego o fue programado de una forma muy rara... porque cuando lo enchufé, pensé coño!!! estoy con el CPC o con el Spectrum... tenia un monton de colores... y se movia super rapido, y nada de trasnparencias raras, ni nada...  Bueno el movimiento parece por caracter... pero yo personalmente nunca he visto algo en spectrum con esos colores y calidad grafica...

http://www.youtube.com/watch?v=xo_0JDLqgw0
Título: Re: ZX Frogger
Publicado por: Raiders en 21 Febrero 2012, 18:47:46
Pues a mi me gusta más de la última captura la opción del tronco amarillo :P
Título: Re: ZX Frogger
Publicado por: Bubu en 21 Febrero 2012, 19:41:48
AJjajaaja, ¡¡bieeeen!! A mí también me gusta la 2ª opción, porque es más fiel al original.
El único poblema que le veo es cuando la rana se suba a un tronco amarillo, siendo la rana verde, quedará poco contrastada... De cualquier manera pondré el color de los troncos, de las tortugas y de la rana parametrizable en el código fuente para que sea variar el valor y a correr, jiji. De momento, troncos amarillos + tortugas rojas : 2, troncos rojos + tortugas rosas : 1
Cuantas más opiniones haya, mejor, que yo para tema de arte y colores soy bastante malo.

Por cierto, aquí os dejo un vidrio de la parte de la carretera, para que lo veais en acción:

http://www.youtube.com/watch?v=c3x67H5m2lY&feature=related
Título: Re: ZX Frogger
Publicado por: Deka Black en 21 Febrero 2012, 19:50:39
Apoyo el tronco amarillo
Título: Re: ZX Frogger
Publicado por: Raiders en 21 Febrero 2012, 19:51:58
Trampa! Trampa! Usa vida infinita! xD
Título: Re: ZX Frogger
Publicado por: doragasu en 21 Febrero 2012, 23:20:32
Soy un ignorante del Spectrum, así que seguramente esto que voy a decir es un disparate, pero por si acaso lo suelto. El caso es que más de una vez he oído comentar que el Spectrum tenía 8 colores, pero tiene un bit de brillo que permite pintar esos 8 colores más brillantes y así tener 16. La pregunta es: ¿No se podría usar eso para tener 2 tonos de rojo distintos, uno para el tronco y otro para las tortugas?

En cuanto al tema de optimización y C vs lenguaje de ensamble, a día de hoy lo más recomendable es escribir en C el grueso de los programas y optimizar únicamente en lenguaje de ensamble las rutinas que más tiempo de CPU consumen. Por ejemplo, no tiene mucho sentido invertir el tiempo extra que requiere programar los menús en lenguaje de ensamble, ya que no habrá diferencias apreciables de rendimiento y además los menús son un elemento en los que no pasaremos casi tiempo.

Por otro lado, como decía el gurú de la optimización Michael Abrash en su libro \"Zen of Code Optimization: The Ultimate Guide to Writing Software That Pushes PCs to the Limit\", más importante que programar en lenguaje de ensamble es diseñar (o re-diseñar) inteligentemente los algoritmos. Michael Abrash afirma que mientras que pasar una rutina de C a lenguaje de ensamble puede conseguir factores de mejora como mucho de 10 (lo cuál está muy bien), un rediseño inteligente de un algoritmo puede conseguir mejoras en un factor de 100 o más. Un ejemplo perfecto es lo que comentas Bubu de cómo vas a hacer el scroll al pixel de los troncos, evitando andar trasteando con desplazamientos y más instrucciones. Rediseñando de manera inteligente el algoritmo (independientemente de en qué lenguaje programes) has logrado una mejora que seguro es mayor que si pasases de C a ASM una rutina con desplazamientos.

Después de este tocho, en cualquier caso, el proyecto es relativamente sencillo, lo suficiente como para hacerlo por entero en ASM, así que si el tiempo no es un factor que te escasee, pues tampoco hay problema en hacerlo en este lenguaje.
Título: Re: ZX Frogger
Publicado por: Bubu en 21 Febrero 2012, 23:23:51
¡¡Gracias, Deka Black, 3 vs 1!!

JAjaJAA, Raiders, quien hace el pograma, hace la trampa :-DDDDD
Título: Re: ZX Frogger
Publicado por: Bubu en 21 Febrero 2012, 23:37:17
Cita de: \"doragasu\" post=19744
Soy un ignorante del Spectrum, así que seguramente esto que voy a decir es un disparate, pero por si acaso lo suelto. El caso es que más de una vez he oído comentar que el Spectrum tenía 8 colores, pero tiene un bit de brillo que permite pintar esos 8 colores más brillantes y así tener 16. La pregunta es: ¿No se podría usar eso para tener 2 tonos de rojo distintos, uno para el tronco y otro para las tortugas?


La diferencia entre brillo sí y no es demasiado sutil como para que destaque uno sobre otro. Los 16 colores (15, porque el negro no presenta brillo) por hardware pueden convertirse en 255 colores por sofware, ya que si pones píxeles 1 y 0 muy cercanos entre sí, y los 1 los colores con rojo p.ej. y los 0 con amarillo, obtienes un naranja virtual.
Voy a intentar hacer así los troncos a ver si consigo un color marrón más o menos guay.

Cita de: \"doragasu\" post=19744

En cuanto al tema de optimización y C vs lenguaje de ensamble, a día de hoy lo más recomendable es escribir en C el grueso de los programas y optimizar únicamente en lenguaje de ensamble las rutinas que más tiempo de CPU consumen. Por ejemplo, no tiene mucho sentido invertir el tiempo extra que requiere programar los menús en lenguaje de ensamble, ya que no habrá diferencias apreciables de rendimiento y además los menús son un elemento en los que no pasaremos casi tiempo.


Tienes razón, lo que pasa es que al principio esto lo utilicé para crearme mis librerías en ASM personalizadas, y una de ellas es la de hacer menús. Yo sólo tengo que enviar posiciones, textos y colores, y los menús se hacen en 20 segundos. Sí, a lo mejor C también y así no tendría ni que haberme hecho mis librerías, pero entonces no aprendo, no sé cómo van las tripas de todo esto. El proyecto es sobre todo para aprender yo a hacer un juego. ;-)

Cita de: \"doragasu\" post=19744

Por otro lado, como decía el gurú de la optimización Michael Abrash en su libro \"Zen of Code Optimization: The Ultimate Guide to Writing Software That Pushes PCs to the Limit\", más importante que programar en lenguaje de ensamble es diseñar (o re-diseñar) inteligentemente los algoritmos. Michael Abrash afirma que mientras que pasar una rutina de C a lenguaje de ensamble puede conseguir factores de mejora como mucho de 10 (lo cuál está muy bien), un rediseño inteligente de un algoritmo puede conseguir mejoras en un factor de 100 o más. Un ejemplo perfecto es lo que comentas Bubu de cómo vas a hacer el scroll al pixel de los troncos, evitando andar trasteando con desplazamientos y más instrucciones. Rediseñando de manera inteligente el algoritmo (independientemente de en qué lenguaje programes) has logrado una mejora que seguro es mayor que si pasases de C a ASM una rutina con desplazamientos.


Y aquí viene mi principal poblema del frogger. Actualmente tengo implementado el algoritmo \"preshifted\", es decir, los gráficos los almaceno en memoria desplazados uno a uno los píxeles, porque en su momento vi que 48KB daban para esto, y como hay demasiadas figuras que desplazar (muchos coches en la carretera, muchos troncos y tortugas en el río), pues este algoritmo es el más rápido para ello.
Pero cuando la rana se suba a un tronco, tendré un sprite sobre otro, y por tanto van a parpadear (murrápido).
Por eso quiero probar (por probar) otro algoritmo aunque sólo sea para el río, el de ir shifteando online.


Cita de: \"doragasu\" post=19744

Después de este tocho, en cualquier caso, el proyecto es relativamente sencillo, lo suficiente como para hacerlo por entero en ASM, así que si el tiempo no es un factor que te escasee, pues tampoco hay problema en hacerlo en este lenguaje.


Uy, ahí está el tema. Tengo hijos, trabajo inteso y de muchas horas, etc, y tiempo es de lo que menos tengo. De hecho me pongo sólo a partir de las 12 de la noche, y suelo acabar entre la 1 y las 2 de la noche, porque a las 6.50 estoy en planta todos los días.
De todas formas no me parece tan sencillo, máxime cuando el Spectrum tiene una velocidad que te puede limitar el desplazamiento de los sprites. Ahí es donde reside el mayor handicap. Fíjate que la mayoría de los juegos comerciales tienen muy muy pocos sprites simultáneos desplazándose de pixel en pixel.

Salu2, y gracias por tus comments, nunca considero disparates cosas así :-)
Título: Re: ZX Frogger
Publicado por: Bubu en 21 Febrero 2012, 23:38:02
PREGUNTA: ¿Permite algún C para Spectrum manejar sprites?

Parece que Z88DK pué tener algo, pero en unos sitios leo que es un mojón, que está incompleto... y entros laos no dice nada. Si alguien sabe algo, plís tellme, es pa no andar descargándome cosas y probando

¡Gracias!
Título: Re: ZX Frogger
Publicado por: Deka Black en 22 Febrero 2012, 05:50:28
De nada, de nada
Título: Re: ZX Frogger
Publicado por: doragasu en 22 Febrero 2012, 06:39:56
Cita de: \"Bubu\" post=19748
Pero cuando la rana se suba a un tronco, tendré un sprite sobre otro, y por tanto van a parpadear (murrápido).
Por eso quiero probar (por probar) otro algoritmo aunque sólo sea para el río, el de ir shifteando online.


Las 2 soluciones obvias que se me ocurren para solucionar esto son la rápida y cutre, y lenta pero mejor.

- La rápida y cutre es que en el caracter en el que esté la rana, no se pinta el fondo, sólo la rana y punto.
- La lenta pero mejor es hacer el típico sprite por software: defines una máscara para la rana, y en un buffer temporal de memoria pintas fondo, borras la zona de dentro de la máscara y pintas la rana encima. Luego copias al buffer de pantalla.

También podrías hacer como tercera opción el pre-shift en memoria incluyendo la rana encima, claro que entonces para los elementos que así lo requieran, se duplica el espacio usado en RAM, y de 5,5 kB pasarás a 11 kB...
Título: Re: ZX Frogger
Publicado por: Bubu en 22 Febrero 2012, 07:17:16
Estas 2 soluciones \"obvias\" son mortales, no van a funcionar. Tengo que mover demasiados sprites de una vez, cada uno de tamaños, direcciones y velocidades diferentes.

Al menos voy a intentar hacerme un shift online. ¿Alguien sabe qué instrucción usar? (sí, soy mu vago, y me gusta preguntar antes en un foro que guglear por mi cuén...)

Creo que tendría que desplazar 1 bit a la derecha, y el bit de más a la izquierda meterle el acarreo, y el que se sale por la derecha meterlo en el acarreo pal siguiente shift. Recuerdo que se hacía una instrucción del tipo RRC o argo así...
Título: Re: ZX Frogger
Publicado por: Robe_Inie en 22 Febrero 2012, 07:56:27
Acabo de ver la opción de los troncos amarillos... y tampoco me parece mal, la verdad !! quizás rojo con rosa queda muy forzado.. aunque tampoco me disgusta.
Título: Re: ZX Frogger
Publicado por: Bubu en 22 Febrero 2012, 08:50:32
Cita de: \"Bubu\" post=19748
(...) pueden convertirse en 255 colores por sofware, ya que si pones píxeles 1 y 0 muy cercanos entre sí, y los 1 los colores con rojo p.ej. y los 0 con amarillo, obtienes un naranja virtual.
Voy a intentar hacer así los troncos a ver si consigo un color marrón más o menos guay.


Patética mi idea de colorear los troncos de marrón naranja, jiji (rojo + amarillo) ya que entonces el agua de alrededor se vuelve roja... ¡¡el río de la sangre, mwaahahaaha!!

Nada, creo que lo suyo va a ser el color amarillo sin brillo, y la rana verde con brillo, jiji.


Bueno, me encuentro construyendo un motor de scroll horizontal mediante instrucciones RR, que desplazan un byte de memoria, y lo que se sale por la derecha es inyectado al bit de la izquierda del siguiente byte, jiji. Tié buena pinta. Para el río me podría servir...
Título: Re: ZX Frogger
Publicado por: Bubu en 22 Febrero 2012, 08:55:15
ooohhh, ¡¡y acabo de tener una luz!!

¡¡No necesito desplazar sprites, ni saber dónde están, ni ver cuánto se han desplazado ya...!! NADA. Sólo me tengo que preocupar de desplazar FILAS ENTERAS (controlando que no desborden, claro, jiji). ¡¡¡SÍÍÍÍÍ!!! Esto tié buena pinta. Necesito hacer ya el motor de desplazamiento de filas, a ver qué velocidad tiene, jiji
Título: Re: ZX Frogger
Publicado por: mentalthink en 22 Febrero 2012, 16:05:49
Hablando de C y de mojones más arriba, has mirado el czz80, y si le preguntas a los Mojones sobre el tema de como lo hacen, creo que tienen herramientas específicas para el spectrum... ya que hablan sobre una tal churreria para crear juegos a diestro y siniestro....
Título: Re: ZX Frogger
Publicado por: Ivanzx en 22 Febrero 2012, 19:23:28
Buenas! Pues a mi me gusta mas la segunda, con el tronco rojo y la rana verde :trollface:

Veo que esto esta animado, mola! :fuuu:
Título: Re: ZX Frogger
Publicado por: Rosa en 22 Febrero 2012, 20:56:24
qué grandee.
Y menudo proyectazo, ganas de ver el teaser ya!!
Título: Re: ZX Frogger
Publicado por: Bubu en 23 Febrero 2012, 07:56:06
Gracias por la sugerencia, mentalthink, si no me sale lo que tengo en mente (que ahora contaré) tiraré ya de C y librerías, pero lo voy a intentar. :-)

jajAJAA, Ivanzx, ¿esa cara es de troller? ajjaJAA, vale, anoto tu opción, ya van 3 vs 2. (como salga alguien eligiendo la opción rosa también, vamos a tener que hacer un desempate, jiji)

Rosa, jiji, tuve que buscar qué era eso de teaser, torpedo, que no lo habí oído en mi vida. Es como el vídeo intro de una pinícula, JAJAJA. Bueno, de momento nu sé si te servirá el enlace a YT que puse, no es un teaser de esos, pero sí es un ingame total, jiji.
Título: Re: ZX Frogger
Publicado por: Bubu en 23 Febrero 2012, 08:08:49
Bueno, estimados compañeros y amigos, con todos ustedes...

¡¡El FSE2!!


¿Lo qué?

¡¡El FSE2!! Sí, vamos, el Frogger Scroller Engine 2ª parte. El que ya existe es el FSE, que como decía eran muchas imágines predesplazadas. En esta ocasión voy a diseñar un motor de scroll especial para el Frogger.

Se trata de tener una serie de tablas:

- Repositorio de gráficos: tabla con los gráficos, uno tras otro. Cada gráfico estará etiquetado con lo que contiene:

tronco0: incbin \"tronco0.bin\"
tronco1: incbin \"tronco1.bin\"
etc

- Diseño de pantallas: por cada pantalla se definen 5 elementos (1 por cada fila) de este tipo:

[sens, totstep, curstep, itemaddr, canvasaddr]

sens: sentido (izquierda o derecha)
totstep: número de pasos a esperar para mover la fila 1 píxel
curstep: paso actual por el que va
itemaddr: dirección de memoria donde se encuentran los objetos a pintar
canvasddr: esto ya lo contaré

- Objetos de una fila: dada una fila de una pantalla se definen aquí los objetos gráficos que aparecen en dicha fila, así como sus posiciones iniciales

[x, y, objid] (realmente \'y\' se repite para cada objeto, puesto que todos son de la misma fila.


Bueno, esto parece algo paranoico, pero es la mínima información para poder dibujar una pantalla dada la fase en la que nos encontramos.

Voy a empezar a picar código a ver qué sale, jiji.

Por cierto, el tema del canvas no lo he explicado: en lugar de dibujar en pantalla las cosas, lo que haré será tener una zona en memoria RAM (no VRAM), en la que dibujaré ahí las cosas y las iré desplazando de 1 en 1 píxeles según se vaya necesitando. Incluso la rana subida en un tronco se dibujará ahí.
Entonces, en cada interrupción del micro volcaré con LDIR\'s ese lienzo en la pantalla final, en la VRAM.

La idea de todo esto es evitar los temidos parpadeos de la imagen, jiij


¡¡Seguiremos en contasto!!
Título: Re: ZX Frogger
Publicado por: Bubu en 23 Febrero 2012, 09:24:29
La 01:20, jiji, ya estoy cansadillo de tanto definir arrays. De momento así llevo el FSE2:

Código: [Seleccionar]


 ; Repositorio de gráficos
 void:    incbin \\"includes\\void.bin\\"
 tronco0: incbin \\"includes\\tronco0.bin\\"
 tronco1: incbin \\"includes\\tronco1.bin\\"
 tronco3: incbin \\"includes\\tronco2.bin\\"  
 tortug0:
 tortug1:
 tortug2:
 tortug3:
 tortug4:
 cocodr0:
 cocodr1:
 
 
 ; Propiedades de pantallas
 scr0:
 DEFB -1, 5, 0, scr0_row0, can0
 DEFB +1, 5, 0, scr0_row1, can1
 DEFB +1, 5, 0, scr0_row2, can2
 DEFB -1, 5, 0, scr0_row3, can3
 DEFB +1, 5, 0, scr0_row4, can4
 
 ;scr1:
 ;DEFB -1, 3, 0, scr1_row0, can0
 ;DEFB +1, 3, 0, scr1_row1, can1
 ;DEFB +1, 3, 0, scr1_row2, can2
 ;DEFB -1, 3, 0, scr1_row3, can3
 ;DEFB +1, 3, 0, scr1_row4, can4


 ; Objetos de filas
 scr0_row0:
 DEFW
        tortuga0, tortuga0, tortuga0, void,
        tortuga0, tortuga0, tortuga0, void,
        tortuga3, tortuga3, tortuga3, void,
        tortuga0, tortuga0, tortuga0, void
     
 scr0_row1:
 DEFW
        tronco0, void, void, void,
        tronco0, void, void, void,
        tronco0, void, void, void


Ah, elgráfico void,bin es un gráfico 16x16 en blanco, jiji, para dejar espacios entre los sprites.


Mañana nu sé si podré ponerme con esto porque tengo jaleo laboral de órdago, pero por si aca pa la próxima trataré de hacer una composición gráfica completa del río para ir viendo cómo quedaría, jiji.

¡¡Hasta la próx.!!
Título: Re: ZX Frogger
Publicado por: Deka Black en 23 Febrero 2012, 20:08:37
Tranquilo hombre, primero lo primero, no vayas a buscarte problemas ;)
Título: Re: ZX Frogger
Publicado por: Bubu en 24 Febrero 2012, 11:21:45
Pues sí... porque llevo en el curro desde las 09:00, y son las 03:30 del día siguiente... y a tutiplén además.
Título: Re: ZX Frogger
Publicado por: Bubu en 24 Febrero 2012, 13:05:15
Las 05:00AM y aquí sigo, AJAJAJa, llevo 20 horas seguidas currando!!!
Título: Re: ZX Frogger
Publicado por: doragasu en 24 Febrero 2012, 18:28:04
A ese ritmo, puede pasar una de 2:

- ¡O sacas tú solito a España de la crisis!
- ¡O te da un pasmo y te quedas en el sitio!

¡Duerme un poco campeón!
Título: Re: ZX Frogger
Publicado por: Raiders en 24 Febrero 2012, 18:42:41
A ver si te compensan y te dejan currar en la rana tanto tiempo!
Título: Re: ZX Frogger
Publicado por: Robe_Inie en 24 Febrero 2012, 19:09:44
Tio, Bubu... descansa un poco hombre. Que al final te veo en un mundo de 8 colores cruzando carreteras y rios ... :lol:
Título: Re: ZX Frogger
Publicado por: Bubu en 24 Febrero 2012, 19:09:50
JAjajajaa, llegué a  mi casa a las 06:00AM, y a las 10:00AM ya estoy otra vez en el curro.
doragasu, no me hables de PASMO, jajajaja, que es como se llama el compilador que estoy utilizando para el ZX Frogger :-DDDD

Anda que no, Raiders, si en vez de lo que dediqué ayer al trabajo lo hubiera dedicado a la rana, ya habría terminado el juego, incluso hasta la adaptación a Amstrad y Commodore, ajaJaj
Título: Re: ZX Frogger
Publicado por: mentalthink en 24 Febrero 2012, 19:29:16
Este tio es de los mios...

LLevate cuidao Bubu, que como bien dicen, te puedes quedar mojama (usease cadáver) delante del ordenador...
Título: Re: ZX Frogger
Publicado por: Bubu en 25 Febrero 2012, 03:19:48
jajaJAA, ea, pues ya está, jaleos laborales resueltos y con éxito. Esta profesión (infosmático, consultor, etc) no sé qué es lo que es lo que tiene que se enmarrona como ningna otra.


Bueno, ya.

Este finde voy a tener suegra en casa, lo que sisnifica que el ZX Frogger va a avanzarrrrr, aJaJaJaJAjaja.

Lo que quiero para hoy:

- Dibujar cocodrilos
- Avanzar en el FSE2



[attachment=1301]07.PNG[/attachment]


¡¡Esta noche más!!
Título: Re: ZX Frogger
Publicado por: Bubu en 25 Febrero 2012, 04:06:34
Bueno, crocodiles in action, jiji:


[attachment=1302]08.PNG[/attachment]
Título: Re: ZX Frogger
Publicado por: Bubu en 25 Febrero 2012, 04:11:32
Lo amplío pa que se vea mejón:


[attachment=1303]08_2012-02-24.PNG[/attachment]
Título: Re: ZX Frogger
Publicado por: Deka Black en 25 Febrero 2012, 06:26:45
me quedo con los policromos. Los rojos del todo parecen flotadores de piscina.
Título: Re: ZX Frogger
Publicado por: Bubu en 25 Febrero 2012, 06:41:30
jaJAJAJaa, ¡¡flotadores de piscina!! Ya ves, Deka Black, este es el poblema del Spectrum: no se pueden tener gráficos policromáticos. Sólo se permiten 2 colores diferentes por cada 8x8 píxeles. Al agua, al ser azul constante, ya te condiciona uno de esos 2 colores a elegir, y así, pues sólo te queda 1 para el cocodrilo, por lo que el cocodrilo tié que ser monocromático.

La placa base original del Frogger para recreativas, aunque contaba con el mismo microprocesador que el Spectrum (un Z80), disponía de un procesador gráfico mejor, ya que el Frogger original permite 4 colores diferentes por cada 8x8 píxeles.
Título: Re: ZX Frogger
Publicado por: Deka Black en 25 Febrero 2012, 09:29:11
¡Ah! Tonces no he dcho nada.pero yo pondra otro color que el rojo. ¿porque es rojo, no?
Título: Re: ZX Frogger
Publicado por: Bubu en 25 Febrero 2012, 10:10:23
Yeah, es rojo, pero fíjate el trauma que es esto de los colores en el Spectrum: hay 8 colores:

negro
azul : el agua
rojo : tortugas
magenta : Froggy con su novia
verde : Froggy
celeste
amarillo : troncos
blanco

El negro no pué ser porque no destaca con el agua. Quedaría celeste o blanco. Nu sé, un cocodrilo blanco no lo veo yo... Voy a probar con el celeste.
Título: Re: ZX Frogger
Publicado por: Bubu en 25 Febrero 2012, 11:05:08
Pues a ver qué os parece la selecciona de colores mostrada en esta composición:


[attachment=1307]09.PNG[/attachment]


Tiene un pequeño truco, y es que en realidad el ZX Frogger muestra la carretera sólo, y aluego el río sólo, no caben las 2 cosas a la vez, jiji, pero esto es sólo para que veais cómo quedaría el tema del color ;-)

Ah, y por motivos tésnicos que tiene que ver con el manejo de filas y sus scrolles, cada fila sólo puede tener un color de papel y otro de tinta, no pude p.ej. haber una tortuga roja y otra verde en la misma fila. Ya veré cómo me las ingenio para que la rana sea verde sin depender de la fila en la que esté.
Título: Re: ZX Frogger
Publicado por: Deka Black en 25 Febrero 2012, 20:43:28
No está mal, cocdrilos albinos cloaqueros.
Título: Re: ZX Frogger
Publicado por: Bubu en 25 Febrero 2012, 21:09:29
Y tortugas rojas mutantes, jaAJJAJAJA.

Podríamos llamar a este juego \"MUTANT FROGGER\", aJjaJAAJ
Título: Re: ZX Frogger
Publicado por: Bubu en 26 Febrero 2012, 03:54:18
El nuevo motor gráfico FSE2 ya genera cosas como esta:


[attachment=1310]10.PNG[/attachment]

con solo poner los nombres de los objetos en un array:

Código: [Seleccionar]


 scr0_row0:
 DEFW void, void, void, cocodr0, void, void, void, void, void, cocodr0, void, void, 0

 scr0_row1:
 DEFW void, void, void, void, void, void, void, void, tortug0, tortug0, void, void, tortug0, tortug0, void, void, 0
   
 scr0_row2:
 DEFW void, tronco2, void, void, tronco2, void, 0
       
 scr0_row3:  
 DEFW tronco0, void, void, void, tronco0, void, void, void, tronco0, void, 0      
 
 scr0_row4:
 DEFW void, void, tortug1, tortug1, tortug1, void, void, tortug1, tortug1, tortug1, void, void, tortug1, tortug1, tortug1, void, 0  



Aún sólo genera imágenes estáticas, sin movimiento. En breva espero meterle instrucciones RR y RL pa ir desplazando esos gráficos, jiji.

Ahora voy a hacer una especie de montaje gráfico porque estoy pensando qué voy a hacer cuando la rana se monte en un tronco, p.ej. Hay varias opciones:

- la rana manda en píxeles y color
- la rana manda pero adquiere el color del tronco
- la rana se mezcla en píxeles con el tronco, pero el color se mantiene
- la rana se mezcla en píxeles con el tronco, pero adquiere el color del tronco

Cuanto más bien se vea, seguramente será más difícil de programar y consumirá más recursos, según la ley de Murphy.
Título: Re: ZX Frogger
Publicado por: Bubu en 26 Febrero 2012, 04:27:11
Pues la mejor opción es la de que desaparezca el tronco:


[attachment=1311]11.PNG[/attachment]


Pero el tema del color no lo veo nada claro, creo que parte del tronco se pondría verde como la rana, o bien la rana se pondría amarilla como el tronco, y si se sube a las tortugas la rana se pondría roja. Esto del color es una gran putadita...

Nu sé qué hacer.
Título: Re: ZX Frogger
Publicado por: Bubu en 26 Febrero 2012, 04:36:14
Seamos sinceros, la única opción asequible con el Spectrum es esta:


[attachment=1312]12.PNG[/attachment]

Y es que en el Spectrum los colores no sirven para los sprites que se mueven, sirven para los gráficos estáticos.

Qué le vamos a hacer :-(
Título: Re: ZX Frogger
Publicado por: Bubu en 27 Febrero 2012, 07:16:28
Jorl, resulta que ya he implementado FSE2 con scroll, y sólo en mover 1 de las 5 filas que hay en el río tarda de extremo a extremo 7 SEGUNDOS !!!
Esto es inviable...


Estoy en una dicotomía insondable (por lo menos).

Nu sé qué hacer.
Título: Re: ZX Frogger
Publicado por: doragasu en 27 Febrero 2012, 17:04:02
Yo creo que tiene que haber alguna cagada en el código, no me parece para nada normal que tarde tanto. 7 segundos son casi 25 millones de ciclos de reloj, y dudo que se requiera tanto para desplazar una fila.

Tal vez sea alguna cosa rebuscada, como que a lo mejor estás operando sobre la memoria de video y puede que esta sea más lenta para lectura, o cosas de ese estilo (no me hagas caso que no tengo ni idea del Spectrum, pero este ejemplo es para ilustrar el tipo de cosas que pueden pasar).

Me gustaría echarte un cable, pero no tengo ni idea de cómo se programa para Spectrum. Tal vez si pones algo del código pueda echarle un vistazo rápido, pero dado mi desconocimiento del hardware, no se si valdrá para algo.
Título: Re: ZX Frogger
Publicado por: Ivanzx en 27 Febrero 2012, 22:35:26
Buenas Bubu! Me gustaria ayudarte tambien, pero de programacion cero patatero :fuuu:

Quizas puedas preguntar a alguno de los gurus (computer emuzone, mojon twins...)

Un saludo!
Título: Re: ZX Frogger
Publicado por: Bubu en 28 Febrero 2012, 03:33:59
Pues calculemos esto de los ciclos: resulta que mi rutina tiene una copia de los gráficos en memoria. Así que el número de instrucciones de desplazamiento es:

32 caracteres * 2 filas de caracteres * 8 scanlines cada caracter * 256 píxeles de extremo a extremo = 131.072 instrucciones RR(HL)

Entonces, 25 millones / 131.072 = 190

Por tanto cada píxel desplazado cuesta 190 ciclos (cálculos y otras cosas). No lo veo descabellao.
Título: Re: ZX Frogger
Publicado por: Bubu en 28 Febrero 2012, 03:37:19
Quizás lo que tenga que hacer es ejecutar los RR(HL) directamente sobre la VRAM, pero recuerdo cuando era chico y pogramaba en C/M que leía siempre que era mejor no escribir direstamente sobre la VRAM puesto que si se hacía seguramente parpadearían los gráficos...
Título: Re: ZX Frogger
Publicado por: mentalthink en 28 Febrero 2012, 03:45:23
Está super chulo, la ultima imagen es realmente guapa guapa, mas que recordarme al spectrum me ha venido de golpe la nostangia... y a la mente me ha venido una máquina de aquellas \"chungueras\", del joystick con la pelota Roja, usease de las que valian 5 ptas... que creo que he jugado alguna por 5 pelas...
Título: Re: ZX Frogger
Publicado por: doragasu en 28 Febrero 2012, 04:36:39
190 ciclos por pixel me parece una pasada (teniendo en cuenta sobretodo que escribes en ASM). No tengo ni idea del número de ciclos por instrucción del Z80, pero suponiendo una media de 4 ciclos por instrucción, son 45 instrucciones para desplazar un pixel... como digo, me parece una pasada.

Cita de: \"Bubu\" post=20093
Quizás lo que tenga que hacer es ejecutar los RR(HL) directamente sobre la VRAM, pero recuerdo cuando era chico y pogramaba en C/M que leía siempre que era mejor no escribir direstamente sobre la VRAM puesto que si se hacía seguramente parpadearían los gráficos...


En máquinas con más memoria y potencia, en efecto es mejor usar una técnica de doble (o triple) buffer, pero visto lo visto, y suponiendo que la lectura/escritura en VRAM es igual de rápida al menos que en RAM normal, creo que tu mejor opción es escribir directamente sobre esta memoria.
Título: Re: ZX Frogger
Publicado por: Bubu en 28 Febrero 2012, 04:50:12
OK, doragasu, cataré a escribir direstamente en la VRAM, a ver qué pasa. La teoría dice que irá el doble de rápido, uséase, que el cocodrilo tardará unos 4 segundos en recorrerse el río, jiji.

¡Hey, Ivanzx! De momento me gustaría no molestar en otros foros, y además esto es una especie de reto, jiji. Ya cuando me quede sin absoluta idea pediré socorro al mundo :-) Gracias por el consejo.

mentalthink, ¿te refieres a las máquinas en blanco y negro pero con un papel de celofán de color pa que pareciera que la máquina era a color? A esas he jugado yo. Pero ¿qué edad tiés tú? Yo tengo ya 40 tacos.
Título: Re: ZX Frogger
Publicado por: doragasu en 28 Febrero 2012, 04:53:01
Acabo de echar un vistazo rápido al set de instrucciones del Z80 (http://www.ftp83plus.net/Tutorials/z80inset_fullA.htm), y el RR[HL] se come la friolera de 15 ciclos, con lo que serían 12 instrucciones de este tipo por píxel. La verdad que no sabía que el Z80 fuera tan lento. El 6502 que llevaban las NES y el C64 si no recuerdo mal tenía una media de 2 ciclos por instrucción.

En cualquier caso, 12 instrucciones para desplazar un píxel siguen siendo unas cuantas...
Título: Re: ZX Frogger
Publicado por: Bubu en 28 Febrero 2012, 09:20:44
Bueno, he descubierto el error. Aunque no es un error de programación. Es un error en los cálculos que hice del tiempo y eso. Resulta que 7 segundos no es lo que tarda en mover toda una fila, sino en ¡¡mover las 5 filas!! Lo que pasa es que para las otras 4 no le había asignado aún los gráficos, y estaba desplazando ceros todo el rato, jiji.

Ahora sí, ya tengo todo el río desplazándose, y lo más rápido que puedo hacer es que un objeto atraviese en 7 segundos la pantalla horizontalmente. Voy a ver en el Frogger original esto cómo va, jiji.

A ver si puedo colgar en el YT un vidrio del Frogger tal y como lo llevo para que veais el tema del río ;.)


Salu2
Título: Re: ZX Frogger
Publicado por: doragasu en 28 Febrero 2012, 16:38:28
¡Eso ya es otra cosa!

Sigue siendo lento, pero después de echar los cálculos, ya parece bastante más razonable (sale a unas 2 instrucciones por pixel).

Por cierto que no se si lo habrás hecho ya, pero tal vez te convendría echar un vistazo a los ciclos de CPU de cada instrucción, y darle una pensada a ver si hay algún modo de hacer las rotaciones más rápidas que con el RR(HL), aunque sea usando más instrucciones. Mientras un RR(HL) se come 15 ciclos de reloj, un RRA o RRCA se come sólo 4 (aunque evidentemente habrá que meter algún LD por ahí que sume ciclos).

Si pones el código de la parte que hace el desplazamiento, tal vez pueda echarle un vistazo, a ver si se me ocurre algo. Especular sin ver el código es complicado...

EDITO: Acabo de caer en la cuenta de que cada desplazamiento RR(HL) no desplaza 1 pixel, sino 8, con lo que... ¡me sigue pareciendo demasiado lento!. Además acabo de echar un vistazo a tu cálculo de ciclos y hay un factor 256 no entiendo de dónde sale. Tu fórmula es:

32 caracteres * 2 filas de caracteres * 8 scanlines cada caracter * 256

Pero el factor 256 si no he entendido mal, ya lo estás metiendo implícitamente con el \"32 caracteres * 8 scanlines cada caracter\", con lo que para mí la fórmula del número de píxels a desplazar para una fila sería simplemente:

32 caracteres * 2 filas de caracteres * 8 scanlines cada caracter = 512 píxels

Si además tenemos en cuenta que cada RR(HL) desplaza no 1 sino 8 píxels, el número de desplazamientos para una fila sería:
32 caracteres * 2 filas de caracteres * 8 scanlines cada caracter / 8 pixels por desplazamiento = 64 instrucciones

¡De 64 a 131072 hay una diferencia un pelín abultada!, así que viendo que tus cálculos más o menos cuadran (a diferencia de los míos), sospecho que me he debido equivocar en algún lado.
Título: Re: ZX Frogger
Publicado por: mentalthink en 28 Febrero 2012, 18:13:18
@Bubu, no me refiero , vamos creo recordar que el algun chiringuito, o en la iglesia de mi barrio, que el curilla era muy espabilao, tenia un Pinball y una maquinilla, y las ponia a 5 ptas, para que nos dejaramos los gardufos... fijate si era listo el tio que se montaba un cine el fin de semana con 4 sillas y te cobraba 100 pelas... eso sí, eran las peliculas que acaban de salir en el Videoclub... jaja , lo tenian que haber trincao ahora los de la Sgae... joder , si es que hacerse cura o politico al final es lo mejor...

Pues eso, hombre yo tengo tambien mis tacos, unos pocos menos que tú, pero que andamos por la misma cuerda...

Por cierto aunque no tengo ni idea de lo que comentáis arriba de los ciclos de Reloj, como sabéis ese dato... que lo ponen en los Datasheets de los micros... y por lo tanto ni gastan el mismo numero de ciclos dependiendo de la instrucción, no?¿... Una cosilla, si se sabe programar en ASM un CPC, es relativamente sencillo hacerlo con un Spectrum o MSX... los 3 llevan un Z80, pero lo poco que he tocado de ASM con el CPC y se pueden hacer llamadas al Firmware y tal... cambia mucho de un sistema a otro?¿...
Título: Re: ZX Frogger
Publicado por: Bubu en 29 Febrero 2012, 04:50:18
doragasu, yohe calculado así el número de RR(HL) que hacen falta:

- Hay 2 filas que mover
- Cada fila son 32 caracteres
- Cada carácter son 8 scanlines

Bien, con esto tendríamos 2 * 32 * 8 = 512 instrucciones RR(HL)

Y con esto lo que hemos conseguido es desplazar 1 PIXEL nada más, que es lo que hace las instrucción RR(HL). Lo que hace es el bit 0 lo pasa al flag carry, el bit 1 lo pasa al 0, el 2 al 1, el 3 al 2... el 7 al 6, y en el 7 mete el flag carry anterior.

Ahora bien, estoy contando el número de instrucciones necesarias para que el cocodrilo atraviese a lo ancho la pantalla, es decir, que se desplace 256 píxeles, por lo que ese es el factor que no ves. Hay que multiplicar 512 * 256 y sale un total de 131.072 instrucciones RR(HL)

La verdad es que es un tema megafriky éste, pero meeencaaannntaaaa ;-)
Título: Re: ZX Frogger
Publicado por: doragasu en 29 Febrero 2012, 05:00:10
Ah, OK, te había entendido mal, pensaba que te referías a que tardaba 7 segundos en desplazar al cocodrilo 1 pixel, no toda la pantalla entera.

Lo que sospecho que se tiene que poder hacer es que cada RR desplace 8 píxels, pero como no se cómo se organiza la memoria del Spectrum, no me voy a atrever a afirmarlo.
Título: Re: ZX Frogger
Publicado por: Bubu en 29 Febrero 2012, 05:01:34
jJJAJAjAjAA, mentalthink, me voy a tener que meter a religioso a estas alturas :-D

Respecto a la similitud entre ordenadores con el Z80, no tienen nada que ver entre sí. Lo único que hace el Z80 es hacer operaciones aritméticas (sumar, restar) y escribir y leer de la memoria. Eso sí es común en todos los ordenadores con Z80. La diferencia, y gorda, viene en los chips de apoyo a la CPU. En Spectrum la ULA se encarga de dibujar la pantalla, emitir el sonido, leer el teclado, etc. Y el Spectrum NO TIENE GESTIÓN DE SPRITES. Hay que fabricárselos manualmente.

Tú en un Commodore 64 p.ej. metes en memoria un dibujo de 16x16 píxeles, y con una única instrucción le dices al ordenador que mueva ese sprite. Pero en Spectrum hay que fabricarse los desplazamientos píxel a píxel, y esto sin hablar del problema del color...
Título: Re: ZX Frogger
Publicado por: Bubu en 29 Febrero 2012, 05:06:10
Es así, doragasu, un único RR desplaza 1 píxel los 8 píxeles de un byte. JAjajaja, suena a trabalenguas, pero es así. Imagínate eso en pantalla:

11110000 - 11001100

pues bien, si aplicas un RR a cada byte (es decir, dos RR\'s):

01111000 - 01100110



De todas formas sé que estoy desperdiciando RR\'s porque desplazo toooda la fila, haya o no sprites ahí. Si sólo desplazara las zonas donde hay cocodrilos, troncos, etc, quizás se acelerara la cosa, pero la gestión de eso sería muy compleja y al final el tiempo se lo llevaría la gestión en sí.
Título: Re: ZX Frogger
Publicado por: doragasu en 29 Febrero 2012, 06:01:43
Ah, entendido ;). Si en el fondo estamos de acuerdo, pero yo llamo a las cosas a mi manera, y así me va. De acuerdo también en tus cálculos para mover un cocodrilo por toda la pantalla: 2*32*8*256 rotaciones.

Si implementas el desplazamiento sobre la memoria de video, ya nos contarás qué tal va. Puede que no vaya mucho mejor, por el tema de que la ULA puede meter esperas, pero aún así supongo que algo ma? rápido irá.
Título: Re: ZX Frogger
Publicado por: Bubu en 29 Febrero 2012, 06:13:52
OK, voy a hacer eso, desplazar direstamente la VRAM. Creo que lo más que pueda pasar es que mientras la ULA lee la VRAM, tiene el bus de direcciones pillado, y por tanto si se escribe sobre esas direcciones pues no se está realmente escribiendo. No estoy seguro de que esto sea así, pero todo es catarlo, jiji.

Ayer estuve echándome unas partiditas al Frogger del MAME, y resulta que la 3ª fila del río tarda 4 segundos en hacer la pantalla. El mío tarda 7 segundos, pero es que en el mío no chequeo nada, ni miro si la rana se cae el río, ni cuento el tiempo, nada. Cuando empiece a meter todos esos controles el tiempo puede pasar de 7 a 9 ó 10 segundos...

Como no mejore drásticamente lo de escribir direstamente en la VRAM, nu sé ya qué voy a hacer.


Tengo miedo.
Título: Re: ZX Frogger
Publicado por: Bubu en 29 Febrero 2012, 07:15:45
Por cierto, ¿alguien ha catado el Frogger, de Deanysoft? Salió hace un par de años o así, y es actualmente la mejor adaptación del Frogger aunque tiene muchísimas diferencias con el original:

http://programbytes48k.wordpress.com/2009/02/23/zx-spectrum-frogger-deanysoft-2009/

(con el permiso de Neal)

(http://programbytes48k.files.wordpress.com/2009/02/frogger-deanysoft-2009-31.gif)

(http://programbytes48k.files.wordpress.com/2009/02/frogger-deanysoft-2009-4.gif)

En este juego los troncos van follaos y escopetaos, pero es que creo que se desplazan de 4 en 4 ó de 8 en 8 bits, nu sé, tendré que investigarlo...
Título: Re: ZX Frogger
Publicado por: Deka Black en 29 Febrero 2012, 09:31:08
Pues no conocia esta versión, la verdad.
Título: Re: ZX Frogger
Publicado por: Ivanzx en 01 Marzo 2012, 18:27:33
Yo si que probe la version de Deanysoft cuando se preservo...y no pintaba mal pero si no mal recuerdo, era muy muy dificil :megusta:

Eso si, tecnicamente puede que sea el mejor Frogger :mog:
Título: Re: ZX Frogger
Publicado por: Deka Black en 01 Marzo 2012, 20:35:40
¿Pero era jugable? Eso es lo importante.
Título: Re: ZX Frogger
Publicado por: Bubu en 01 Marzo 2012, 21:27:17
La parte de la carretera es jugable, la del río es injugable. Catadlo y me diréis. Contadme cuántas veces os matan hasta que conseguís meter la rana en la primera casa (la de más a la izquierda). Yo necesité entre 20 y 30 vidas.
Título: Re: ZX Frogger
Publicado por: Bubu en 04 Marzo 2012, 00:23:34
Torpedos, necesito vuestros consejos codigomaquineros: ¿cómo puedo convertir un número de 16 bits en caracteres ASCII numéricos?

Supongamos que tengo en HL el número 12345

¿Cómo puedo convertir eso es \"1\", \"2\", \"3\", \"4\" y \"5\"? También me sirve si lo puedo convertir en 5 números, del 1 al 5: 1, 2, 3, 4 y 5.
Título: Re: ZX Frogger
Publicado por: doragasu en 04 Marzo 2012, 03:27:31
Yo conozco un método, pero por desgracia requiere dividir, lo cuál no es que sea precisamente rápido. Siempre he sospechado que tiene que haber una manera más rápida de hacerlo, pero bueno, te cuento como yo lo hago (que probablemente ya te lo hayas imaginado):

1.- divides entre 10000, el cociente es el primer dígito, el resto te lo guardas.
2.- divides el resto de la anterior operación entre 1000, el cociente es el segundo dígito, el resto te lo guardas.
3.- divides el resto de la anterior operación entre 100, el cociente es el tercer dígito, el resto te lo guardas.
4.- divides el resto de la anterior operación entre 10, el cociente es el cuarto dígito, el resto es el quinto dígito

A cada uno de los resultados parciales obtenidos en los 4 pasos anteriores, les sumas el número hexadecimal 30H, y ya lo tienes en ASCII.

El problema es que como dije, este método debe ser infernalmente lento, porque dividir en este tipo de ordenadores (sobretodo cuando se dividen números de 16 bits) es muy muy lento. Yo en el pasado he codificado algún método de división rápido (basado en el algoritmo de Newton-Raphson), pero sólo sirve para división en punto flotante, y no permite calcular el resto de la división.

A ver si alguien nos puede iluminar con un método más rápido...

PD: Recuerdo que cuando hace muchos años trasteé un poco con el 6502, había otro modo de convertir, que podía ser más rápido con números pequeños, y que usaba una característica del 6502 que consiste en su capacidad de hacer operaciones aritméticas en modo \"BCD\" (Binary Coded Decimal). Consistía en que con este modo activo, hacías un bucle en el que ibas decrementando el número a convertir (hasta que llegase a 0) e ibas sumando 1 a la variable con el resultado. Luego cogías en la variable resultado los bits de 4 en 4 y ya tenías los números a los que sumar el 30H.
Título: Re: ZX Frogger
Publicado por: Bubu en 04 Marzo 2012, 08:18:14
¡Efestivamente, doragasu, así es! La verdad es que no me importa el tema de la lentitud, ya que lo uso sólo para sumar puntos, y ahí no necesito velocidad. De todas formas no consume apenas nada y es rápido:

Código: [Seleccionar]

 ; Convierte un número de 16 bits en ASCII (5 caracteres)
 ; IN:  hl = número
 ;      de = puntero a memoria donde almacenar el array ASCII
num2ascii:
ld bc,-10000
call kk1
ld bc,-1000
call kk1
ld bc,-100
call kk1
ld c,-10
call kk1
ld c,-1
kk1: ld a,\'0\'-1
kk2: inc a
add hl,bc
jr c,kk2
sbc hl,bc
ld      (de), a
inc     de
ret



P.ej. el númer 23456 ejecuta 2+3+4+5+6 veces, es decir, 20 veces la subrutina kk2. Así, el peor número será el 59999, que ejecuta 5+9+9+9+9 veces, uséase, 41 veces la subrutina kk2. Pero me da igual, 41 veces ese bucle es rapidísimo, inmediato.

¡Muuuuchas gracias, torpedo!
Título: Re: ZX Frogger
Publicado por: doragasu en 05 Marzo 2012, 01:09:07
Me alegro de que te haya servido. Como apunte, acabo de acordarme de que para este tipo de máquinas, también puede ser útil utilizar el algoritmo CORDIC para dividir, aunque en tu caso, como divides entre múltiplos de 10, no es necesario. Yo nunca he usado este algoritmo para divisiones, lo he usado para cálculos trigonométricos, pero para dividir también ayuda seguro.
Título: Re: ZX Frogger
Publicado por: Neil Parsons en 05 Marzo 2012, 10:05:31
Me alegro de que estés trabajando duro con tu conversión del Frogger. Está quedando que niquelao...  :cheer:

Voy a tratar de seguir este hilo con más atención, pues me interesa conocer los progresos. A ver si puedo ser el primero en comentarlo en cuanto esté completo y preparado para ser descargado a mansalva.

Por supuesto, no hay problema en que pongas algún que otro enlace de mi blog en el foro, Bubu.  ;)
Título: Re: ZX Frogger
Publicado por: Bubu en 05 Marzo 2012, 23:29:04
Gracias, Neil Parsons, estas semanas atrás le he pegado un tute bueno, como verás en este hilo, pero ahora mismo me encuentro un poco en pause porque no sé qué hacer con los scrolles del río. Hay demasiados sprites que scrollear. Si scrolleo en frío ocupa demasiada memoria, y si scrolleo en caliente va demasiado lento.

No sé yo si cuando decidí migrar el Frogger al Zx Spectrum fui demasiado pretencioso, jiji. Pero bueno, esta pausa me servirá para pensarme muy bien cuál de los 2 métodos usar, y hasta donde se pueda llegar pues ahí se llegará. :-)
Título: Re: ZX Frogger
Publicado por: Bubu en 05 Marzo 2012, 23:36:14
Quizás me tenga que replantear la finura del scroll, y en lugar de hacerlo píxel a píxel, pues que sea de 2 en 2 píxeles. Esto mejoraría los tiempos y el almacenamiento.
Título: Re: ZX Frogger
Publicado por: doragasu en 06 Marzo 2012, 16:36:53
¿Llegaste a probar lo de escribir directamente en la memoria de video? ¿Mejoró algo el tema?

Si te vas a plantear desplazar los bits de 2 en 2, yo te sugeriría que mejor lo hagas de 4 en 4, usando la instrucción RLD/RRD
Título: Re: ZX Frogger
Publicado por: Bubu en 07 Marzo 2012, 17:15:31
Cita de: \"doragasu\" post=20488
¿Llegaste a probar lo de escribir directamente en la memoria de video? ¿Mejoró algo el tema?


Pues anoche empecé el cambio, que no es trivial, ya que las direcciones de la VRAM en el Spectrum no son lineales, me refiero, que dentro de un carácter, cada scanline hay que incrementar en 1 la dirección más pesada, pero si cambio de carácter hay que tener en cuenta el tercio de pantalla en el que estoy... vamos, una paranoia, JAjAJAJAJA. Espero tenerlo esta semana cambiado y ver qué pasa. Si funciona, sería un impulso grandioso a este proyecto :-)

Cita de: \"doragasu\" post=20488

Si te vas a plantear desplazar los bits de 2 en 2, yo te sugeriría que mejor lo hagas de 4 en 4, usando la instrucción RLD/RRD


Buf, de 4 en 4 ya no lo considero scroll, se verían los sprites dando \"golpes\", y perdería la gracia... De todas formas tienes razón con lo de desplazar 1 ó 2 bits, esto creo que no serviría para mejorar casi nada.
Título: Re: ZX Frogger
Publicado por: mentalthink en 09 Marzo 2012, 04:03:47
Bubu, como puedo contactar contigo... me gustaria comentarte una cosilla, a ver si te puede apetecer...

Iván (mentalthink)
Título: Re: ZX Frogger
Publicado por: Bubu en 09 Marzo 2012, 05:38:21
¡Pues mándame un mensaje privi por el foro!


AhAAAAAjaJAJAJA, es bromuro, mi correo sexualito es:

bubu punto marciano algarroba gmail punto com
Título: Re: ZX Frogger
Publicado por: Bubu en 10 Marzo 2012, 02:33:18
¡¡¡JAJAjaJAjaJA, QUÉ BUEEENOOO!!!!

Cuando ya creía que lo tenía todo preparado para comprobar la velocidad del río, compilo, ejecuto y...


[attachment=1386]JAJAJA.PNG[/attachment]


¡ajajaJaJajaa, ahora aparecen también los coches y camiones por el río dando vueltas!!!!


¡¡¡¡Me voy a volver loooocoooooo!!!!


Llevo 10 minutos escojonao yo aquí solo, aJaJAJAJAJA
Título: Re: ZX Frogger
Publicado por: Deka Black en 10 Marzo 2012, 04:19:19
No, llámalo ZX Frogger Amphybious Edition
Título: Re: ZX Frogger
Publicado por: Bubu en 10 Marzo 2012, 10:04:21
Pues mira, buen nombre, pero no me va a caber en la carátula de la cinta, jaJAJA.

Bueno, torpedos, ¡¡ya he cambiado el método de scroll escribiendo direstamente en VRAM!! Y esto yo no veo que parpadee nada, vamos. La velocidad ha mejorado, no llega a la velocidad del Frogger original, pero creo que es bastante jugable :-)

Después de tantos días dedicados al scroll del río, he acabado un poco quemadillo con esa parte, así que ahora quiero hacer otras cosas bien distintas en el Zx Frogger:

- Actualmente la rana al andar por la carretera va dejando su rastro
- Sistema de detección de choque con los coches

Con esto se cerraría el desarrollo de la parte de la carretera al 100%, jiji
Título: Re: ZX Frogger
Publicado por: doragasu en 10 Marzo 2012, 19:11:06
¡Enhorabuena! Me alegra comprobar que el trabajo duro da sus frutos ;)

Ya tienes hecho lo más chungo, ahora, ¡a darle el remate!

PD: la verdad que el tema de los coches acuáticos estaba bastante gracioso ;)
Título: Re: ZX Frogger
Publicado por: Bubu en 11 Marzo 2012, 04:57:28
Puesssí, jiji, aunque ahora toca otro hueso duro de roer: el sistema de detección de atropellos, jiji. A ver cómo me las maravillo yo para detectar que pillan a la rana, sin que afecte mucho al rendimiento, claro.


[attachment=1395]road.PNG[/attachment]


Actualmente los sprites de la carretera son caracteres predesplazados. EL color de cada fila es diferente, por lo que la rana se va poniendo del color de la fila a la que se mueve. Se me ocurren varios métodos de detección de colisiones, pero nu sé por cuál decidirme:

- Al reimprimir un coche (de los 12 que hay, aunque en otras fases hay más), detectar si coincide con la posición de la rana

Pensándolo bien, es el único método que se me ocurre, jiji. Voy a implementarlo a ver qué pasa...
Título: Re: ZX Frogger
Publicado por: Deka Black en 11 Marzo 2012, 05:47:45
Pues si tienes que hacerlo por cada coche...
Título: Re: ZX Frogger
Publicado por: mentalthink en 11 Marzo 2012, 08:37:48
Bubu aunque como sabes no tengo ni idea de ASM y menos de Spectrum... y supongo que se te habrá ocurrido, pero por Area... hacer una colision en cubo o cuadrado, supongo que no debe consumir demasiado, y si haces tambien por secciones, creo que estárias ahorrando consumos , o sea como son filas de graficos, pues si estas en la segunda fila solo hat cajas con las que vas a colisionar... no me refiero a dbujarlar, pero con BxA (basexAltura), tendrias las superficies rectangulares o cuadradas de los sprites...

No sé, como te digo seguro, que lo sabias, pero por si acaso...

PS: Ya tengo \"modelá\" la máquina Arcade ;)
Título: Re: ZX Frogger
Publicado por: Bubu en 11 Marzo 2012, 09:00:36
Sí... algo talque así haré. En memoria tengo las posiciones de la fila (8 píxeles) superior de cada coche. Como en la carretera la rana se mueve de 8 en 8 píxeles, pues \"sólo\" tengo que detectar que al mover uno de los coches, si su fila superior coincide con la fila superior de la rana, están colisionando.

PD: ¿No te gustaría poner por aquí los avances de esa máquina arcade? Ansioso por verla ego sum  ;)
Título: Re: ZX Frogger
Publicado por: mentalthink en 11 Marzo 2012, 10:10:04
Pues ahí va, ningun problem... ojo solo es el modelado, no tiene nada más....

[attachment=1396]bubu_Frogger.jpg[/attachment]
Título: Re: ZX Frogger
Publicado por: Bubu en 11 Marzo 2012, 18:08:45
ooooooooooooouuuuuuuuuu, yeeeeaaaahhh!!!!!!!!


Leñe, qué pasada!!

Si pudieras quedarte sólo con la parte de marquesina, monitor y panel de control, mejor, así se maximiza la imagen en el monitor ;-)))))
Título: Re: ZX Frogger
Publicado por: mentalthink en 12 Marzo 2012, 04:47:40
Bubu, como me comentaste que te lo puesiera por aqui, asi lo hago... a ver que te parece como está quedando... (ojo aunque es para bubu, acepto las críticas de quién le de la gana, pero no desvirtualizéis el hilo mucho, que en realidad lo importante es el juego).

[attachment=1397]test_01.jpg[/attachment]
Título: Re: ZX Frogger
Publicado por: Bubu en 12 Marzo 2012, 06:16:01
WWWAAAAAAUUUUUUU!!!!

¡¡Qué preciosidad, mentalthink!! ¡¡vaya pasoooteeee!! Lo que daría yo por tener una recre así en casa... Es.... preciosa, es que no se me ocurre otro adjetivo.
Yo sólo le haría un par de cambios: en la pantalla, poner el Zx Frogger, es decir, un pantallazo del Frogger para Spectrum, y lo otro es que veo mu chiquetito el pobre teclado gomas ahí en la CPO de la recre. Lógico y normal, y es que el teclao del gomas es mu chico. ¿Se podría poner de negro entero la CPO, y poner encima unos cuantos botones grises de los del gomas?

De cualquier manera, mentalthink, eres un artistazo. Me ha encatao.

Ah, y para nada es desvirtuar el hilo. Aquí me gustaría que se hablara de todo lo que tuviera que ver con el juego, no sólo sobre el desarrollo en sí.
Título: Re: ZX Frogger
Publicado por: Hoz3 en 12 Marzo 2012, 12:35:04
No he podido seguir este hilo todo lo que hubiera querido, pero me acabo de asomar y he quedado asombrado. La verdad es que el juego pinta muy bien, y esa maca virtual que se ha fabricado Metalthink mola un huevo.

Hoz3
Título: Re: ZX Frogger
Publicado por: sejuan en 12 Marzo 2012, 18:37:31
Así a bote pronto una idea para las colisiones puede ser la siguiente:
-1. Comprobar que la fila del prota se encuentra en el ámbito de la carretera.
-2. Sino es así ver si es la fila +1
-3. Sino sales de detectar.
Si la carretera va desde la 10 a la 16 (por decir algo) compruebas que la fila es menor o igual a 16 o que la fila +1 es mayor o igual a 10.
En el caso de que una de ellas coincida con la carretera entonces comprobar las columnas de cada uno de los vehículos. Previamente tendrás en una matriz las coordenadas X de todos los vehículos y solo tienes que ir comprobando con la de la rana.
Título: Re: ZX Frogger
Publicado por: Bubu en 13 Marzo 2012, 07:11:27
OK, sejuan, es muy buena idea eso de descartar las filas en las que no esté la rana, y en aquella en la que sí esté mirar la columna, así te ahorras la comprobación de las columnas de las otras filas. Muy buena idea, sí, señor.

Pero creo que no podría hacerlo tan simple, porque los vehículos no ocupan sólo una columna...

[attachment=1402]13.PNG[/attachment]

En este gráfico he puesto un ejemplo: la rana (verde) está abajo. Cada cuadrado es un caracter del Spectrum. Creo que el algoritmo debería ser así:

- Para cada coche de la fila en la que esté la rana:
-  Considero su columna inicial (la de más a la izquierda, que es la que está almacenada en el array)
- Calculo su columna final (la de más a la derecha, que es la de la izquierda más su ancho)
- Si la rana está entre la inicial y la final, rana lista de papeles, y salir del algoritmo
- Si no, probar con otro coche


¿no?
Título: Re: ZX Frogger
Publicado por: sejuan en 13 Marzo 2012, 15:33:33
Perfectamente. Si te bajas los fuentes de \'Nelo&quqo\' mira como está hecha la rutina de detección de choques. Es probable que te sirva, aunque tendrás que adaptarla. Si quieres te la comento.
Título: Re: ZX Frogger
Publicado por: Bubu en 13 Marzo 2012, 22:50:31
sejuan, no encuentro los fuentes esos por más que gugleo, de toas formas no creo que pueda reutilizar nada porque cada juego es un mundo y usa variables, formas de almacenar las cosas, llamadas a subrutinas, etc, totalmente particulares a cada juego.
Sí me interesa verlo por curiosidad ;-)
Título: Re: ZX Frogger
Publicado por: sejuan en 14 Marzo 2012, 02:00:44
Amos a ver, amos a ver  :)  todos los juegos que hacemos en Retroworks tienen los fuentes a disposición del que lo desee  :P  Te paso los enlaces de los que he hecho yo.
La rutina de detección de choques es distinta en cada uno.No dudes en contactar si algo no comprendes. Saludicos
Nelo&quqo
http://www.retroworks.es/php/game.php?id=5

jinj2
http://www.retroworks.es/php/game.php?id=10
Título: Re: ZX Frogger
Publicado por: Bubu en 14 Marzo 2012, 02:14:17
Ostras, sejuan, jajajaja, en esa péich estuve esta mañana, de hecho fui el usuario nº 400 en descargarse el juego, que no había visto antes 8-O
No había visto que a la derecha hay otros enlaces para lo de los fuentes, jiji, sorry.
Ya lo tengo, y ya he visto la rutina de detección de choques, y sí, veo que es efestivamente el método:

1) Acotas si la zona es la misma, pa descartar en choques imposibles
2) Se miran los posibles choques de la zona posible

Y la pregunta del millón: ¿cuándo ejecutas esa rutina? ¿En las interrupciones? ¿En cada movimiento del prota? ¿En cada movimiento de un enemigo?


¡Gracias!
Título: Re: ZX Frogger
Publicado por: Bubu en 14 Marzo 2012, 08:21:53
Jarl, ya tengo mi rutina de colisiones hecha y funcionando:

Código: [Seleccionar]


do_collision:
 ; Detecta si en un momento determinado existe colisión
 ; entre la rana y un coche

 ld ix, sprites_01_road
 
 ld hl, (pos)
 call calc_vram ; Calcula en de la dir. VRAM de la rana

 do_collision_01:
 ld a, (ix)
 inc a
 ret z ; Si el objeto es 0xFF, no hay más
 ld b, (ix + 11) ; Captura el ancho del objeto
 ld l, (ix + 12) ; Captura la dirección VRAM
 ld h, (ix + 13) ; del coche
 sbc hl, de      ; Comprueba si coinciden
 ld a, h
 or l
 jr z, do_collision_02 ; Si coinciden, se sale del bucle
 ld bc, 16  ; Si no coinciden
 add ix, bc ; selecciona el siguiente coche
 jr do_collision_01
 
 do_collision_02:
 ld (time4), a
 ret


Aunque no está optimizada, ya que chequeo cada coche de la carretera. Debería tener algún método para saber qué coches están en la fila de la rana sin tener que mirar antes su posición.

Se hará.

De momento, esto va tomando forma, jiji.
Título: Re: ZX Frogger
Publicado por: Bubu en 14 Marzo 2012, 19:16:50
Una pregunta que hago para z80 assembler experts:

si defino una rutina de mover los sprites 1 píxel, y la llamo como interrupción enmascarable, por mucho que sobrecargue la ejecución principal, los sprites siempre se moverán igual de  rápidos, ¿verdad? Lo digo porque creo que las interrupciones se ejecutan siempre cada N milisegundos, y siempre cada N milisegundos, sea lo pesado que sea el main, ¿nor?
Título: Re: ZX Frogger
Publicado por: doragasu en 14 Marzo 2012, 22:08:03
Cita de: \"Bubu\" post=20831
Una pregunta que hago para z80 assembler experts:

si defino una rutina de mover los sprites 1 píxel, y la llamo como interrupción enmascarable, por mucho que sobrecargue la ejecución principal, los sprites siempre se moverán igual de  rápidos, ¿verdad? Lo digo porque creo que las interrupciones se ejecutan siempre cada N milisegundos, y siempre cada N milisegundos, sea lo pesado que sea el main, ¿nor?


No se cómo va el tema de las interrupciones en Spectrum, pero por lo que leo aquí (http://www.zxdesign.info/interrupts.shtml), puedes hacer que se lance una interrupción al inicio de cada fotograma. Por lo tanto si haces una rutina que mueva los pixels y la configures para que se ejecute cada interrupción, en efecto conseguirás que los sprites se mueven siempre igual de rápidos, siempre y cuando:
1.- No haya otras interrupciones que se te puedan colar.
2.- El tiempo que tarda en ejecutarse la rutina de interrupción (es decir el movimiento de los sprites) sea inferior al que tarda en volver a producirse una nueva interrupción. O lo que es lo mismo: que la rutina finalice antes de que salte otra interrupción.

Eso sí, si usas el mecanismo de interrupciones para pintar, y andas escaso de tiempo de proceso, puede darse la circunstancia de que no te de tiempo a hacer los cálculos del resto de rutinas que están fuera de la interrupción de dibujado, por lo que hay que tener cuidadín con estas cosas. Normalmente lo que se suele hacer más que usar interrupciones es hacer una espera activa (mirando el registro que indica que acaba de empezar un nuevo frame), y luego ejecutando todo el código. De este modo todo se ejecuta sincronizado, y si en un frame no te da tiempo a dibujar todo, se produce una ralentización, pero no pasan cosas raras como por ejemplo que se calculen colisiones de un fotograma que ya es viejo, y cosas así.
Título: Re: ZX Frogger
Publicado por: Bubu en 14 Marzo 2012, 22:27:04
Ajá, este tema es mu bonito. Pero no entiendo lo siguiente: si al tratar una interrupción no da tiempo, ¿se sale? Yo creía que se quedaba interumpido hasta que al micro se le enviaba una instrucción RETI.
Bueno, entonces si se sale de la rutina de interrupción como tú dices, ¿al volver no vuelve al mismo punto, o entra otra vez por el principio?

De todas formas voy a mirar esto, porque creo que la rutina de interrupción no abandona nunca hasta que no llegue un RETI.
Título: Re: ZX Frogger
Publicado por: doragasu en 14 Marzo 2012, 22:49:13
Jeje, como siempre me he explicado mal, porque estás en lo cierto, de la interrupción no se sale hasta que haces el RETI.

Lo que intento explicar, es que si tú metes la rutina de desplazar los sprites (llamémosla _desplazar) dentro de una interrupción, y por ejemplo la detección de colisiones (llamémosla _colisiones) fuera de la interrupción, y se da la circunstancia de que _desplazar tarda en ejecutarse más o menos el mismo tiempo que el que hay entre 2 interrupciones consecutivas, entonces cuando ejecutes el RETI, no dará tiempo apenas a ejecutar código de _colisiones y saltará otra interrupción, con lo que se ejecutará _desplazar otra vez, antes de que _colisiones acabe de hacer su trabajo.

PD: Las interrupciones pueden anidarse o no, según lo programes. Por defecto en el Z80 creo que no se anidan (es decir, que si mientras estás ejecutando una rutina de atención a una interrupción salta otra, esta se encola y hasta que no acabas la que se está ejecutando no pasa a ejecutarse la siguiente). Sin embargo, si cuando entras en la rutina de interrupción vuelves a habilitar las interrupciones (con el flag correspondiente), si ocurre una interrupción mientras estás ejecutando otra, la interrupción es atendida y se ejecuta, volviendo al punto en el que dejó la anterior cuando se ejecuta el RETI.
Título: Re: ZX Frogger
Publicado por: Bubu en 14 Marzo 2012, 22:59:21
OK, doragasu, mi rutina de interrupciones hace 3 cosas:

- mover 1 píxel los sprites que se están moviendo continuamente (coches, etc)
- descontar 1 el tiempo
- detectar colisiones

No me va a pasar eso que dices. He intentado meter en las interrupciones lo que sé que hay que hacer continuamente sí o sí sin condiciones, jiji.
P.ej. leer el teclado está fuera, porque no siempre hay que leerlo (mientras la rana esté pasando de una posición a otra no hay que leer el teclado), y cosas así ;-)
Título: Re: ZX Frogger
Publicado por: Bubu en 19 Marzo 2012, 22:30:50
Tengo miedo.

No paro de pensar el la p* rutina de scroll del río, y no me acaba de convencer lo que hay ahora mismo.
Como sabéis, sobre todo los que estáis siguiendo este hilo, existen en el ZX Frogger dos formas de scroll:

- en la carretera, los sprites están predesplazados en memoria
- en el río, los sprites están una única vez en memoria, y se desplazan online mientras se juega

Pues bien, esta segunda opción es la que no me acaba de convencer, la veo lenta, pesada de mantener, y además no me serviría nada de lo ya programado en la parte de la carretera para esta del río, habría que rehacerlo todo nuevo (colisiones, movimiento de la rana...).

Al final estoy casi autoconvencido de que el río tiene que tener también los sprites predesplazados en memoria. Esto va a hacer la gestión mucho más eficaz, y la vecidad no va a ser problema. Me queda calcular si cabe todo en memoria, pero yo creo que sí.

Lo que no se me ocurre es cómo hacer que la rana, cuando se monte en un tronco, se desplace con el propio tronco. Creo que la opción más fácil es hacer que la rana (y las serpientes,  los castores, etc) sí se desplace online direstamente en la VRAM. Aunque sé que esto sí que va a parpadear, ya que a la vez se está pintando el tronco completo, y entonces se repinta la rana.

Pero no hay otra.

(http://3.bp.blogspot.com/_gSq0yn7DRT8/TItVG1XO6CI/AAAAAAAAAQw/lW5_QAAeCrw/s320/frogger.JPG)


Esto sí lo tenía claro desde que empecé con esta adaptación: había que recortar cosas del original, puesto que el Spectrum es muy deficiente en el tema de sprites y de colores, eso es lo que hace que esta máquina sea taaan interesante pera mí, jiji.
Título: Re: ZX Frogger
Publicado por: Deka Black en 20 Marzo 2012, 03:22:44
El Spectrum MOLA. Joder, si hasta tiene una versión de Shadow of the Beast
Título: Re: ZX Frogger
Publicado por: Bubu en 20 Marzo 2012, 03:40:11
Totally de acuerdo. Es que lo veo tan chiquetito, tan tiennecito, tan poquita cosa... que hay que echarle mucha muchísima imaginación para hacer juegos, hasta el punto de que muchos son verdaderas obras de arte de la imaginación. Esto es lo que me gusta de la programación, y por eso las máquinas de escasos recursos mennnncaaaantan.

Pogramar en un PC triple núcleo leches no me gusta: le das al botón derecho, opción hacer juego, y te hace un juego solo. Vaya diversión.
Título: Re: ZX Frogger
Publicado por: Bubu en 20 Marzo 2012, 07:52:26
Ya está todo calculado: los sprites del río ocupan exactamente 13KB de memoria... Ay. La tercera parte de tooooda la memoria que tengo para programar, lo ocupan los gráficos del río. Ay. Re-Ay.

Qué le vamos a hacer, nadie dijo que esto iba a ser fácil, jiji.


¡¡al lío!!
Título: Re: ZX Frogger
Publicado por: Raiders en 20 Marzo 2012, 15:50:40
Ánimo Bubu! Que aunque posteemos poco seguimos tus aventuras con la rana!
Título: Re: ZX Frogger
Publicado por: Bubu en 20 Marzo 2012, 18:26:57
¡¡Gracias, Raiders!! Así no se encuentra uno tan solo... ;-)

Pues anoche estuve desplazando de pixel en pixel los 3 tipos de troncos que hay (corto, medio y largo) y eché un tronco al río a toda velocidad a ver qué pasaba y...

¡¡el tronco cruzaba todo el río en 1.5 segundos!!

Velocidad más que satisfactoria, jiji. Como ya digo, me voy a encontrar con el problema de la rana, que cuando se monte en una tortuga, o un tronco, o un cocodrilo a ver cómo lo hago para desplazarla en paralelo...
Pero bueno, apoquitapoco, jiji.

¡CROACA!
Título: Re: ZX Frogger
Publicado por: Bubu en 21 Marzo 2012, 18:04:44
Qué curioso, el sistema de detección de colisiones funciona en el río a la inversa que en la carretera, jiji. Me explico:

En la carretera una colisión se produce cuando la posición de la rana coincide con la de algún sprite, mientras que en el río una colisión se produce cuando la posición de la rana no coincide con la de ningún sprite.

¡¡¡¿¿¿¿Por qué no enseñaron a esta rana a nadar antes de fabricar este juego????!!!

Pero para complicar aún más las cosas, en el río existen elementos que dan excepciones a esto:

- las serpientes, que están sobre los troncos o en la orilla, matan (sólo la cabeza)
- las nutrias, que están nadando por el río, matan (si estás en el extremo del tronco)
- la rana rosa, que se pasea por un tronco, se sube a la rana verde para ser llevada a casa
- la boca abierta de los cocodrilos mata

Ay, qué de cosas, no sé si me quedará RAM para programa todo esto... AjAJaJjAJjaJAJAJA.
Título: Re: ZX Frogger
Publicado por: Bubu en 29 Marzo 2012, 22:57:19
Anoche estuve probando cómo parpadearía la rana encima de un tronco, ya que el motor gráfico del Zx Frogger va a estar pintando en cada interrupción tanto el tronco como la rana, y... ¡¡NO PARPADEA!!
No me lo explico. Quizás sea que en el momento en que estoy pokeando la VRAM, la ULA no está pintando en la tele. Al final, cuando ya está todo pokeado en la VRAM, la ULA pinta en la tele, y se encuentra que la rana está encima del tronco, y por tanto no parpadea. JAAAAAAAAAARL.
Título: Re: ZX Frogger
Publicado por: doragasu en 29 Marzo 2012, 23:01:14
Me alegro. ¡Una preocupación menos!
Título: Re: ZX Frogger
Publicado por: Bubu en 07 Abril 2012, 20:36:17
Estimados compañeros y amigos: esta semana he estado toda de vacances, y pensaba que le iba a pegar un buen tirón al Frogger, jiji, pues... ¡¡¡ni he abierto el compilador!!! Y es que en vacances la rutina cambia totalmente, tol día con la family y amigos y de juerga por ahí... ay.

El caso es que tengo claro que para Froggear tié que ser cuando los días sean rutinarios (de lunes a jueves laborables, jiji). Y es que creo que esto de pogramar me sirve como vía de escape de la p* rutina laboral. Qué cosas :-)

Así que ¡¡ya queda menos para volver al grandioso y masnífico desarrollo del Frogger!! Quiero la semana que viene poner un vidrio en YT pa que veáis cómo va el tema, jiji.

¡Hasta la próx.!


(http://www.classicgaming.cc/classics/frogger/i/wp_frogger_1280x1024.jpg)

¡¡CROACA!!
Título: Re: ZX Frogger
Publicado por: Bubu en 09 Abril 2012, 23:00:27
Bueno, hoy me voy a proponer hacer que cuando la rana se mueva por el seto inicial, o el que separa la carretera del río, dicho seto se repinte cuando la rana se vaya de ahí, jiji, que ahora mismo se queda en negro el cuadro 2x2
Título: Re: ZX Frogger
Publicado por: Bubu en 10 Abril 2012, 07:23:49
Ea, pues ya está, jiji. Ya restablezco el césped ese rosa cuando la rana se va moviendo por ahí, y esto sisnifica que... ¡¡LA CARRETERA ESTÁ AL 100%!!

Sí, estimados compañeros y amigos, la carretera está completita total: tiene rutina de choques, de movimiento de los coches, de la rana, se restablecen bien los colores, controla que no se salga por los bordes, controla el tiempo, las vidas, cuando llega a la orilla del río, etc, etc.

¡¡La carretera está totalmente jugable!!

(http://images.clipartof.com/small/1089585-Clipart-Chubby-Surprised-Frog-Royalty-Free-Vector-Illustration.jpg)



He aquí el aspecto final:

[attachment=1623]15.PNG[/attachment]

(quizás ponga las vidas (lo de abajo a la izquierda) verdes en lugar de amarillas, ya veré...)

Por tanto me queda, cómo no, ¡¡¡EL P* RÍO!!! jAjajAJaJAJ



(tengo miedo...)
Título: Re: ZX Frogger
Publicado por: Raiders en 10 Abril 2012, 07:40:02
Oleeeeeeee!!!!

Esto va a llegar a buen puerto! ;)

PD: las vidas en verde no sería demasiado verde junto al lateral verde? yo lo veo bien en amarillo.
Título: Re: ZX Frogger
Publicado por: Bubu en 10 Abril 2012, 07:47:05
Tiene ud. toda la razón, sr. Raiders, ¡¡así se va a quedar!! El amarillo le da un toque de... destacamiento, por decirlo de alguna manera, jiji.

Pues nada, como regalito de hoy, un vidrio del Yutube ese en todo su esplendor (sin sonido, que no tenía ganas de activárselo, jiji)::

http://www.youtube.com/watch?v=THlOjLZx3o4


¡¡Hasta maña!!


¡¡CROACA!!
Título: Re: ZX Frogger
Publicado por: doragasu en 10 Abril 2012, 15:39:44
¡Hostia, va de lujo!
Título: Re: ZX Frogger
Publicado por: Rosa en 10 Abril 2012, 16:26:15
Cita de: \"Bubu\" post=22018
Tiene ud. toda la razón, sr. Raiders, ¡¡así se va a quedar!! El amarillo le da un toque de... destacamiento, por decirlo de alguna manera, jiji.

Pues nada, como regalito de hoy, un vidrio del Yutube ese en todo su esplendor (sin sonido, que no tenía ganas de activárselo, jiji)::

http://www.youtube.com/watch?v=THlOjLZx3o4


¡¡Hasta maña!!


¡¡CROACA!!


Ese teaser tó molón :D, y sin bugs!!
Título: Re: ZX Frogger
Publicado por: Ivanzx en 10 Abril 2012, 16:43:52
Jooer, se mueve muy bien, enhorabuena Bubu. Que sepas que aqui tienes a uno que jugara al juego y lo comprara si lo sacas en cassette (hoy en dia es mas facil que nunca).

Un saludo!
Título: Re: ZX Frogger
Publicado por: Deka Black en 10 Abril 2012, 17:57:14
joder, que movimiento más suave, muy bien, si señor.
Título: Re: ZX Frogger
Publicado por: Bubu en 10 Abril 2012, 22:29:43
¡¡gracias, torpedos, me encanta que os guste!!

La verdad es que estoy cuidando mucho (nu sé si demasiado, jiji) que esta conversión se parezca lo más posible al original.

Bueno, para hoy voy a hacer lo siguiente:

Citar

- Cuando la rana llegue a la orilla del río, hacer scroll hacia abajo de la carretera para mostrar el río
- Cuando la rana muera en el río (por tiempo, por ahogamiento...), hacer scroll hacia arriba del río para mostrar la carretera


Así que lo que haré será una rutina scroll_up y scroll_down para ello, pero en lugar de ir pixel a pixel lo haré de carácter en carácter, ya que se trata de que la transición carretera - río sea rapidísima, inmediata casi.



Y ahora, algo para el disfrute ocular:

(http://th03.deviantart.net/fs70/PRE/f/2010/314/7/b/frogger_3d_by_nes__still_the_best-d2y923o.png)

¡¡cómo me gustan estos pixarts en 3D, y si son del Frogger, pues... mmmmmmm!!


¡¡¡CROACA!!!
Título: Re: ZX Frogger
Publicado por: Neil Parsons en 11 Abril 2012, 04:59:03
¡¡Te está quedando de zorra madre!! A seguir así. :cheer:
Título: Re: ZX Frogger
Publicado por: Bubu en 11 Abril 2012, 08:13:07
¡Cheers, torpedo! ¡Sigamos pues!

Y necesito ahora vuetra ayuda. Resulta que estoy viendo cómo hacer la transición carretera - río. El juego de las arcades tiene 32 filas porque está orientado verticalmente, pero el Spectrum, al estar orientado horizontalmente, tiene sólo 24 filas. Esto sisnifica que he tenido que dibujar la carretera por un lao, y cuando la rana la cruce, entonces la sustituyo por el río. Es decir, no se verían a la vez carretera y río.

Y ahora mi pregunta: ¿cómo veis mejor que se haga la transición? Supongamos que la rana parte de A y llega a B:


[attachment=1628]16.PNG[/attachment]

Una vez en B, ¿cómo muestro el río? Podría hacer un scroll hacia abajo o algo así. Tanto del marcador como de las 5 casetas, y el seto de arriba bajarlo hasta abajo del todo, dejando así hueco para el río.


[attachment=1629]17.PNG[/attachment]


¿Cómo lo veis vosotros?
Título: Re: ZX Frogger
Publicado por: Deka Black en 11 Abril 2012, 19:20:58
Yo preferiria el scroll, pero no tengo ni idea de programacion...
Título: Re: ZX Frogger
Publicado por: doragasu en 12 Abril 2012, 02:45:53
Una pregunta interesante. El scroll siempre será más vistoso, pero aún así, tal vez sea mejor decantarse por poner pantalla en negro e inmediatamente pintar el río. ¿por qué lo pienso así? Pues porque Frogger es un juego bastante frenético, y si el scroll tarda un tiempo (aunque sólo sea 1 segundo), tal vez pueda romper el ritmo de juego. Si decides implantar scroll, yo creo que tiene que ser muy rápido para que funcione bien.

Por otro lado, dada la poca potencia de la máquina, hacer un scroll suave de la pantalla entera, incluyendo elementos de la carretera y del río, creo que puede ser bastante complicado, salvo tal vez haciéndolo de 8 en 8 píxels por ejemplo (y así podrías también solucionar el problema de velocidad, a costa de una brusquedad en el scroll).

Una pregunta: ¿Una vez que llegas al río, se le permite a la rana retroceder a la carretera? Intuyo que no, pero pregunto por si acaso.
Título: Re: ZX Frogger
Publicado por: Bubu en 12 Abril 2012, 05:49:23
ok, pues eso voy a catar. Voy a intentar un scroll de 8 en 8. Lo que nu sé es si desplazar también el marcador (las 2 líneas de arriba )  o dejarlo donde está y poner entre dicho marcador y las casetas un espacio azul, Creo que lo voy a dejar arriba del todo, y así tendríamos el marcador de arriba y la barra del tiempo de abajo siempre en las mismas posiciones, y sólo se movería la parte central que es el escenario del juego donde se desarrolla la acción, jiji.

doragasu, la rana una vez llega a la orilla del río ¡¡ya no puede retroceder!! Lo estuve pensando, y complicaría un montón las cosas y sería un \"pa ná\". Yo habré jugado unas 100 ó 1.000 partidas al Frogger del MAME, y jamás me he ido pa la carretera de nuevo una vez la he atravesado, jiji.


Bueno, pues esta va a ser la tarea de tunait, jiji


¡Gracias por las opnions!
Título: Re: ZX Frogger
Publicado por: Bubu en 12 Abril 2012, 05:57:13
¡¡Y no se vayan todavía, aún hay más!!

(http://2.bp.blogspot.com/-KxrwSiTIFhs/T0Fo4eZnCHI/AAAAAAAAAFg/MZxsdSTk4BQ/s1600/superraton.jpg)

Que digo yo, que cuando la rana llegue a una caseta, hacer el scroll contrario y mostrar la carretera, ¿no? jijii
Título: Re: ZX Frogger
Publicado por: Bubu en 12 Abril 2012, 16:52:07
Cita de: \"Bubu\" post=22122
ok, pues eso voy a catar. Voy a intentar un scroll de 8 en 8. Lo que nu sé es si desplazar también el marcador (las 2 líneas de arriba )  o dejarlo donde está y poner entre dicho marcador y las casetas un espacio azul, Creo que lo voy a dejar arriba del todo, y así tendríamos el marcador de arriba y la barra del tiempo de abajo siempre en las mismas posiciones, y sólo se movería la parte central que es el escenario del juego donde se desarrolla la acción, jiji.


Pues dicho, y hecho, jiji, ¡¡qué bien ha quedado!! Le he tenido que poner unas pausas mientras hace el scroll p\'abajo, porque si no ni se nota. Es bastante rápido, demasiado, jiji.

Bueno, pues para hoy tengo que hacer el scroll contrario, es decir, cuando la rana llegue a una caseta, o cuando la rana se ahogue en el río (manda c* que esta rana no sepa nadar, JAjajaja), o cuando se le acabe el tiempo estando en el río debo echar p\'arriba el río y mostrar de nuevo la carretera.
Lo que pasa es que este scroll no se va a ejecutar de momento.


¡¡Hasta alueguito!!


¡¡¡CROACA!!!
Título: Re: ZX Frogger
Publicado por: Ivanzx en 12 Abril 2012, 17:00:47
Buenas!

Pues en verdad al ser una conversion siempre mola hacerlo lo mas fiel al original, pero si se complica mucho la cosa puedes optar siempre por lo mas conveniente siempre que no afecte a la jugabilidad, Bubu :trollface:

Va quedando muy bien hasta ahora  :brindar:
Título: Re: ZX Frogger
Publicado por: Bubu en 12 Abril 2012, 17:43:54
Sí, es lo complicao de esto es llegar a un compromiso fidelidad / jugabilidad.
Y una cosa buena, muy buena, está teniendo esto, a parte de lo que me estoy entreteniendo, y es lo que estoy aprendiendo. Yo creo que he escogido, sin querer, un juego muy complejo de migrar. Y es que con tanto sprite que controlar, incluso sprites encima de sprites (cuando la rana se sube a un tronco, p.ej.) se está complicando, jiji.

Una vez lo acabe, me va a parecer hacer otros juegos picar y cantar, jiji.

Fíjate hasta que punto quería hacerlo fiel: resulta que en el original, hay un momento en que los coches del segundo carril se aceleran a toda hostia, sin motivo aparente. Pues he querido descubrir cuál era ese motivo para hacerlo yo igual en el Zx Frogger. He desensamblado la ROM del Frogger original, me he puesto a estudiarla, y creo haber encontrado la zona del código máquina donde se acelera ese carril, pero tengo que hacer más pruebas...
Título: Re: ZX Frogger
Publicado por: Ivanzx en 12 Abril 2012, 20:48:18
La verdad que son esas cosillas como lo de la acelaracion las que hacen este hobby sea de lo mas soprendente e interesante :)

Y eso, queremos luego mas juegos :D
Título: Re: ZX Frogger
Publicado por: climacus en 12 Abril 2012, 21:56:44
Muy buenas. Acabo de enterarme de este proyecto y me parece que es de lo más interesante. Tienes razón cuando dices que las cosas se complican, Bubu. Cuando empiezas a hacer una conversión al principio no te das cuenta de los problemillas que van a surjir. Animo que te está quedando muy bien
Título: Re: ZX Frogger
Publicado por: Bubu en 12 Abril 2012, 22:27:15
¡Sea ud. bienvenido, climacus!

¡croaca! ... digo... ¡qué tal!

Una dúbita: Tú eres el del Snow Bros, ¿nor? Si eres, mi enhabuena total, torpedo. ¿Cómo te enteraste de este proyecto Zx Frogger?
Título: Re: ZX Frogger
Publicado por: climacus en 13 Abril 2012, 01:17:32
El mismo. Muchas gracias, pero todavía hay que terminarlo... Me enteré por El Mundo del Spectrum
Título: Re: ZX Frogger
Publicado por: Bubu en 15 Abril 2012, 11:04:59
Se me están poniendo los ojos saltones y la piel verde, creo que lo voy a dejar ya por hoy...
Vaya la que he liado para hacer los scrolles vertical hacia abajo y hacia arriba según la rana llega al río o llega a una caseta... buffff... tremendo.

¡¡¡CROACA!!!
Título: Re: ZX Frogger
Publicado por: Ivanzx en 16 Abril 2012, 17:23:04
Jaja :mog: hay que programar, nada de dormir!!! Dormir es de debiles :P
Título: Re: ZX Frogger
Publicado por: Bubu en 17 Abril 2012, 21:58:27
¡Faltaría más! Dormir es como morir pero con derecho a resucitar, jiji.
Título: Re: ZX Frogger
Publicado por: mentalthink en 18 Abril 2012, 03:01:19
Buff, las ganas que tengo ya de endirgaselo al gomas... la verdad es que las dos imagenes de arriba están muy molonas...

Lo de la transición, pues no sé lo que dices de Scroll es´ta bien, aunque yo optaria, si es muy lento el Scroll, de hacerlo como en dos pantallas... o sea cruzas la calle, y automaticamente te sale el rio....

Sigué asi, que está quedando de lujo Torpedo....
Título: Re: ZX Frogger
Publicado por: Bubu en 18 Abril 2012, 23:26:26
Lo de la transición ya está hecho 100% en formato scroll de 8 en 8 píxeles, y queda curioso, jiji.

En lo que voy a trabajar hoy va a ser en intentar montar a la rana en un tronco a ver qué pasa, ¿se me ahogará la pobretica?
Título: Re: ZX Frogger
Publicado por: Bubu en 19 Abril 2012, 07:58:40
Pues ya he montado a la rana no en un tronco, sino en una tortuga, ya que las tortugas son lo que están al lado de la orilla. Y, bueno, he tenido para ello que scrollear pixel a pixel la rana a la izquiera, y como siempre grabar en la RAM el sprite de la rana prescrolleado y esas cosas.

El movimiento es muy suave, de hecho lo trato como si fuera una tortuga más o un tronco más. PEEEEEEEEEEEEEERO tiene el inconveniente del p* color, que ahora mismo al montarse la rana en la tortuga, ¡¡la rana se pone roja, AJAJAJAJA!! (porque las tortugas son rojas)

Qué desesperante es el río, pero qué desesperante... jiji


¡¡CROACA!!
Título: Re: ZX Frogger
Publicado por: MorbidMe en 19 Abril 2012, 08:00:53
Cita de: \"Bubu\" post=22647


Qué desesperante es el río, pero qué desesperante... jiji



Ríete tú de los que peregrinan a la virgen de rodillas. ¡Programando en assembler querría verles yo!
Título: Re: ZX Frogger
Publicado por: Bubu en 19 Abril 2012, 16:13:26
MorbidMe escribió:

Citar
Ríete tú de los que peregrinan a la virgen de rodillas. ¡Programando en assembler querría verles yo!



AJaJaJaJjajajajajajajAjajAJAjAJAJAjaJ
Título: Re: ZX Frogger
Publicado por: Bubu en 19 Abril 2012, 21:38:24
Pa esta noche:

- Hacer un pantallazo y subirlo aquí al río con la rana montada en una toortuga, pa que veáis cómo queda. Por supuesto que queda regular, pero es que el Spectrum no da para más en cuanto a colores. Quisiera poder tener 3 colores por carácter (rana + río + tortuga) por sólo da 2, por lo que donde esté la rana sólo se va a ver la rana verde y el fondo rojo.

- Empezar la rutina de subida al tronco en el evento KEY_UP. Es decir, si estoy en la orilla del río, y pulso KEY_UP, borrar la rana estática y crear una rana dinámica (scrolleante) que se desplece a la vez que las tortugas del río.


¡¡CROACA!!
Título: Re: ZX Frogger
Publicado por: batuex en 20 Abril 2012, 18:34:00
Hey Bubu!!

Menudo trabajo estás haciendo con esta conversión!
Felicitaciones, está quedando de lujo!!
Me entusiasmó tanto tu trabajo que leí todo el hilo de un tirón!!

Que recuerdos!! y es que Frogger fue el primerisimo primer juego que pude disfrutar en casa con mi primer ordenador...
Mas que frogger eso era una aberración: Frogger de Cornsoft para ZX81 16k, licencia oficial de Sega !!!
 Ayyy esos pixeles que eran 1/4 de caracter !!!  esos parpadeos !! esa ausencia de sonido !! que recuerdos jjaja

A pesar de todo esto, pasé muy gratos momentos con aquella versión -que salvando las diferencias, tenía algunos puntos en común con tu version-

Hay una \"Emulación\" de este frogger de zx81 que corre en spectrum 128k, se encuentra en world of spectrum como \"Frogger 81\"   .. si no lo conocés pispealo y vas a ver de que hablo !!

Con respecto a tu remake
Gráficamente está muy fiel al original, y a pesar de las vueltas que has tenido que dar por el problema del color en el spectrum realmente te está quedando excelente.

Lo que noté es que la musiquita de cuando comienza el partido está levemente distinta a la de la recreativa: (ojo, que la escuché en el video de la primer página del hilo, así que si la has actualizado quizás mi comentario no tenga sentido)
 Por un lado la sacaste en otra tonalidad... por otro lado, los bajos que hiciste (la mano izquierda del piano) no está exactamente igual a la original

Si te sirve te dejo una pequeña contribución: un snapshot del wham the music box, con una versionsilla mia grabada en memoria (está en la canción nº 6, pero simplemente pulsando el 3  \"hear tune\" podés escucharla

Hey, que hice solo esa musiquita que dura 6 segundos (y no me llevó mas de 5 minutos hacerla)

Si te gusta como quedó  puedo hacer las demás!!

y de nuevo, mis felicitaciones, y aguardo impaciente para pegarme unas viciadas con esta versión de ZX-Frogger !!!

Saludos!
Título: Re: ZX Frogger
Publicado por: batuex en 20 Abril 2012, 18:43:25
:cachis:   parece ser que no está permitido subir al foro archivos con extensión .Z80

Aquí lo subo a Rapidshare

https://rapidshare.com/files/3153296361/Musiquita_Frogger.z80

[attachment=1702]MusiquitaFrogger.zip[/attachment]
Título: Re: ZX Frogger
Publicado por: batuex en 21 Abril 2012, 04:51:06
,,, Que el Wham The music Box me trajo algunos recuerdos...
y ya que estaba con tiempo, me puse un rato a recordar como se usaba, y aproveché para versionar algunas musiqullas del frogger, intentando respetar posible las notas de la recreativa

Dejo un nuevo snap del programa con 4 o 5 musiquitas en memoria

Saludos!

[attachment=1704]MusicasFrogger2.zip[/attachment]
Título: Re: ZX Frogger
Publicado por: Bubu en 21 Abril 2012, 21:29:24
¡¡Muy buenas, batuex!!

Me ha encantado tu intro :-)

La música de este Frogger la empecé también con WHAM, pero me resultaba algo complejo. Esa es la que has escuchado en el enlace del principio de este hilo. Hace 1 mes o así empecé a utilizar Beepola, que es para PC, y te exporta a Spectrum la música, y es mucho más cómodo. La música la rediseñé pero no la he subido a intenné. Me gustaría pasártela para ver qué opinas.

Zx Frogger va a tener (en cuanto a melodías) las siguientes 3 canciones:

- la de empezar tras moneda
- la de empezar tras morir
- la de GAME OVER

Las 3 las tengo diseñadas, tratando de hacer exactamente las mismas notas y timings. ¿Te las puedo enviar a tu correo?

El mío es bubu punto marciano algarroba gmail punto com

¡muchas gracias!

He oído las tuyas y son exquisitas, aunque en el último enlace no sé cambiar de canción. ¿Cómo se hace?
Título: Re: ZX Frogger
Publicado por: batuex en 21 Abril 2012, 21:47:57
Hey!

Me alegra que te hayan gustado, Bubu!
Pues claro, puedes enviarme a mi correo tus versiones!

Ahi te escribo un mail!

Hasta luego
Título: Re: ZX Frogger
Publicado por: batuex en 21 Abril 2012, 21:50:37
Para cambiar la canción en el último enlace que envié, pulsar:
1 Load Tune
M (Memory)
Luego un numero del 1 al 5
y luego la opción deseada (3 para escuchar la canción, 6 para editarla, 4 para compilarla, etc)

Para cargar otra canción hay que hacer lo siguiente: Primero pulsar el 6 para pasar a modo edición. Luego, volver a pulsar el 6 para regresar al menú, y ahora si se puede volver a utilizar el procedimiento anterior.
Título: Re: ZX Frogger
Publicado por: Bubu en 22 Abril 2012, 09:18:31
Grandioso, batuex, suena froggerístico total. Enhorabuena, torpedo. Yo te acabo de enviar a tu correo las músicas del Frogger que he incluido, a ver qué tal te suenan, jiji.
Título: Re: ZX Frogger
Publicado por: MorbidMe en 25 Abril 2012, 20:21:41
Tanto esfuerzo y resulta que 10 metros más arriba había un puente!!!

(http://img545.imageshack.us/img545/4232/39a52854cd4dca8aba9317e.jpg)
Título: Re: ZX Frogger
Publicado por: Deka Black en 26 Abril 2012, 03:44:45
Tsk, tsk,tsk...
Título: Re: ZX Frogger
Publicado por: telekita en 26 Abril 2012, 03:52:50
hey, que eso es trampa
Título: Re: ZX Frogger
Publicado por: Bubu en 26 Abril 2012, 20:13:24
jajaJAJAJAJAA; ¡¡pero eso no es un puente en el río, es un paso de peatones, en la carretera bueno, más bien un paso de forggers, JAjajaja, muy bueno, MorbidMe!!
Título: Re: ZX Frogger
Publicado por: Bubu en 02 Mayo 2012, 22:33:02
Bueno, que aquí sigo, ¿ein?, lo que pasa es que cada vez que intento meterle mano a la parte de la rana subida en un tronco, me quedo... más o menos como de bajoncilla porque pienso que esto va a ser prásticamente imposible, eso unido con que la semana pasá fue la feria en Sevilla, pues han hecho que esto parezca abandonao.

Pero para nada. He dibujao la rana con un rectángulo de fondo, y la he desplazao 8 veces, para cuando se suba a un tronco o a un cocodrilo pues parezca que está encima de algo (para eso lo del rectángulo).

Tengo que hacer esto mismo pero desplazándola 8 veces a la izquierda, para cuando se suba a una tortuga.

Pero es que sigo sigo sin tener NPI de cómo abordar esto: cuando la rana esté en un tronco, que se desplaza a la derecha, y el jugador pulse el botón para la izquierda, la rana debería seguir la secuencia de imágenes: abrir patas, desplazarse 4 píxeles, abrir más la patas, cerrar algo las patas, desplazarse 4 píxeles, y volver a dibujar la rana normal... Todas estas secuencias no está preshifted...
Y pa colmo la rana se puede subir a un tronco y estar mirando p\'arriba, p\'abajo, pa la izquierda o pa la derecha, ¡¡¡hay que poner lo del restángulo a esas 4 posturas!!! Bufffff.... me queo sin memoria.

La verdad es que es un berenjenal impresionante esto. Puede que tarde unos meses en dar con alguna solución apañable...


PD: ¿Y si hago el Frogger sólo con la carretera y mando a tomápoculo el río? AajAAajJAJAjaJAjJ. Podría decir que en una segunda entrega hago lo del río :-DDDD
Título: Re: ZX Frogger
Publicado por: Deka Black en 03 Mayo 2012, 03:17:57
Frogger edicón secano XDD
Título: Re: ZX Frogger
Publicado por: Ivanzx en 03 Mayo 2012, 17:51:43
Bubu, seguro que cuando superes ese desafio te picas aun mas con el juego.
Animo y a ver si sale una solucion ;)
Título: Re: ZX Frogger
Publicado por: Bubu en 04 Mayo 2012, 04:38:13
jajajaa, ¡¡gracias!!

Es que estoy gastando toda la memoria en los gráficos predesplazados, y para el juego en sí me quedan pocas KB. Pero sí, en cuanto vea un poco la luz yo creo que los dedos se me moverán solos pogramando.
Título: Re: ZX Frogger
Publicado por: Bubu en 07 Mayo 2012, 06:13:02
Ay...


\"La puta rana que no salta\"

By logarana, jiji
Título: Re: ZX Frogger
Publicado por: RiCCo en 07 Mayo 2012, 22:56:15
Hombre, si haces como en las versiones de spectrum de colocar solo 3 lineas de coches y troncos, te cabria todo en la misma pantalla, no??? Si vas a hacer dos pantallas, estoy de acuerdo que la transicion se haga lo mas rapido posible, aunque si una vez cruzada la carretera, no vas a poder volver atras, entonces en vez de cinco lineas, haz seis o siete para que sea mas dificil.
Ademas, en el cambio de pantalla, que pasaria con la serpiente que sale en la mitad del recorrido??
Título: Re: ZX Frogger
Publicado por: logaran en 08 Mayo 2012, 00:17:28
Bubu, que sepas que estaré atento a ese huevo de pascua en la versión terminada, reconociendo la inestimable colaboración, los sabios consejos y el apoyo incondicional que tanto mi mujer como yo te hemos brindado en este viaje a la retromadrid para que lleves a buen término tu versión del frogger (AKA \"La puta rana que no salta\")
Título: Re: ZX Frogger
Publicado por: Bubu en 25 Mayo 2012, 07:33:14
Cita de: \"RiCCo\" post=23508
Hombre, si haces como en las versiones de spectrum de colocar solo 3 lineas de coches y troncos, te cabria todo en la misma pantalla, no??? Si vas a hacer dos pantallas, estoy de acuerdo que la transicion se haga lo mas rapido posible, aunque si una vez cruzada la carretera, no vas a poder volver atras, entonces en vez de cinco lineas, haz seis o siete para que sea mas dificil.
Ademas, en el cambio de pantalla, que pasaria con la serpiente que sale en la mitad del recorrido??


Qué va, tíu, quiero mantener lo máximo de parecido con el originás, que son 5 filas del río y 5 de la carretera. Como no caben, divido el juego en 2: primero se cruza la carretera, y aluego el río.

¿serpiente? ¿qué serpiente? ...


Cita de: \"logaran\" post=23508

Bubu, que sepas que estaré atento a ese huevo de pascua en la versión terminada, reconociendo la inestimable colaboración, los sabios consejos y el apoyo incondicional que tanto mi mujer como yo te hemos brindado en este viaje a la retromadrid para que lleves a buen término tu versión del frogger (AKA \"La puta rana que no salta\")


Sí, sí, el huevo el que sus voy a tirar, joíos, vaya sabios consejos y apoyo moral, aJJAAJaJ



Bueno, torpedos, que sepáis que el Frogger sigue adelante. Tenemos a una nueva adquisición, el sr. Toniman, que se está encargando de los efectos especiales, cosa compleja puesto que son sonidos que no deben afectar a la suavidad del juego, así que tiene una tarea jodidilla el muchacho.

Por mi parte he integrado las músicas, y ahora estoy integrando estos efectos especiales, y está quedando muy muy arcádico, jiji.

Lo que pasa es que poco más voy a contar ya de desarrollo y código máquina y eso porque le vais a acabar cogiendo asco ya al juego, jajajA

En principio quiero tenerlo \"a la venta\" en el RM2013, a ver qué tal. Quisiera grabarlo en cintas, imprimir las carátulas, etc. Ya sus iré contando.

¡¡CROACA!!
Título: Re: ZX Frogger
Publicado por: RiCCo en 25 Mayo 2012, 15:36:46
La serpiente que aparece en mitad de la mediana de vez en cuando para que no te quedes eternamente esperando en el centro (creo que abajo tambien sale)
Título: Re: ZX Frogger
Publicado por: Bubu en 25 Mayo 2012, 16:21:37
¿Ein? ¿hay una serpiente ahí? ¿y en el río hay una nutria? ¿y sale una rana rosa en los troncos?
Título: Re: ZX Frogger
Publicado por: mentalthink en 25 Mayo 2012, 21:46:32
Como anda el desarrollo bubu, que hace mucho que no veo actualizaciones... (que sepas que tengo en mente la portada, pero voy realmente liao...), Non ti preocupare... que aquí tengo los archivos \"Madre\"  :trollface:
Título: Re: ZX Frogger
Publicado por: RiCCo en 25 Mayo 2012, 23:58:54
[strike]La nutria no he llegado a verla[/strike] En la foto aparece. La rana rosa/morada si. y a partir del tercer nivel sale esto
[img size=320x240]http://img513.imageshack.us/img513/8996/frogger.png[/img]

Sale por los troncos de mas arriba y por la mediana
Título: Re: ZX Frogger
Publicado por: Bubu en 26 Mayo 2012, 06:42:24
Cita de: \"mentalthink\" post=24379
Como anda el desarrollo bubu, que hace mucho que no veo actualizaciones... (que sepas que tengo en mente la portada, pero voy realmente liao...), Non ti preocupare... que aquí tengo los archivos \"Madre\"  :trollface:


Don\'t worry, baby!! Me he puesto como meta para que esté 100% (incluido carátulas impresas, cintas grabadas, etc) el RetroMadriz 2013, el año de la rana, AJaJjajAJAJA, así que hay tiempo. En cuento a desarrollo va bene, últimamente andamos en modo musical, y está quedando de arte, oiga.


RiCCo, jiji, era una tonterida graciosa mía lo de preguntar que qué serpiente, qué nutria, qué rana rosa... ¡¡¡es que es mu complicao pogramar esoooo, y me la estaba dando de no saber de su existenciaaa!!! Buaaaaaahahhh!!!! Buaaaaaahhh!!!
En fins, a picar, a picar, a picar, jijiji.
Título: Re: ZX Frogger
Publicado por: Bubu en 29 Mayo 2012, 07:57:16
Jarl, hoy he estado trabajando en la parte cuando se completa una fase: suena una musiquilla mientras las 5 ranas van guiñando el ojo y sonriendo, una tras otra. Como no se puede ejecutar código mientras suena una música, he troceado la música en 5 partes, y entre una y otra hago que una rana guiñe el ojo, y suene entonces las siguiente sub-música, y ha quedado perfesto:


[attachment=2023]18.PNG[/attachment]
Título: Re: ZX Frogger
Publicado por: Bubu en 29 Mayo 2012, 07:58:47
Pero como sois tós más malos que la canne der pescueso, pues esta canción no la habréis escuchado en la vida, jAjAJAjAJAja
Título: Re: ZX Frogger
Publicado por: Bubu en 20 Agosto 2012, 21:48:52
Estimados compañeros y amigos, voy a salir aquí y ahora del armario y os voy a contar la dura realidad... sobre el Zx Frogger.
Resulta que hace 2 meses empecé la jornada de sólo mañana y podía tener tiempo para meterle mano al Zx Frogger. Pues al poco de eso resulta que va Murphy y me hace petar el ordeñador, vamos, que salió ardiendo la placa.

No passsa nada, que no panda el cúnico. Saqué rápidamente el disco duro donde entre otras millones de cosas y proyestos tenía el Zx Frogger, lo enchufé en otro ordeñador y.... ¡¡¡NO FUNCIONABA!!!

¡¡¡aJaJaJaJAJAJaJAJAJajAJja!!!

No había forma. Tras mucho probar, me fijé en que una de las patillas del conector IDE del disco duro está rota, así que simplemente, el disco duro no funciona.

Me dio una bajona muy fuerte, y como ya se me está empezando a quitar, me gustaría preguntaros si creéis que esto tiene arreglo. ¿Las tiendas de infosmática arreglan cosas así?


(http://www.maximumpc.com/files/u69/frogger_game_over.jpg)
Título: Re: ZX Frogger
Publicado por: logaran en 20 Agosto 2012, 21:56:17
Cita de: \"Bubu\" post=27385
Estimados compañeros y amigos, voy a salir aquí y ahora del armario y os voy a contar la dura realidad... sobre el Zx Frogger.
Resulta que hace 2 meses empecé la jornada de sólo mañana y podía tener tiempo para meterle mano al Zx Frogger. Pues al poco de eso resulta que va Murphy y me hace petar el ordeñador, vamos, que salió ardiendo la placa.

No passsa nada, que no panda el cúnico. Saqué rápidamente el disco duro donde entre otras millones de cosas y proyestos tenía el Zx Frogger, lo enchufé en otro ordeñador y.... ¡¡¡NO FUNCIONABA!!!

¡¡¡aJaJaJaJAJAJaJAJAJajAJja!!!

No había forma. Tras mucho probar, me fijé en que una de las patillas del conector IDE del disco duro está rota, así que simplemente, el disco duro no funciona.

Me dio una bajona muy fuerte, y como ya se me está empezando a quitar, me gustaría preguntaros si creéis que esto tiene arreglo. ¿Las tiendas de infosmática arreglan cosas así?


(http://www.maximumpc.com/files/u69/frogger_game_over.jpg)


Hombre, tratándose de la recuperación de datos IMPORTANTISIMOS seguro que se puede arreglar. Si en una tienda no quieren marearse se me ocurre que incluso de podría hacer una apaño soldando un hilo a la patilla rota y de ahí a la faja ide. Un coñazo pero, desde luego, lo que de ningún modo puedes hacer es dar esa panzada de trabajo por perdida.
¡Joder! mira que yo no me resigno a no comprar el Frogger en la próxima Retromadrid y estoy muy loco ¿eh? Que yo el puto juego de la rana que no salta MA-TO.
Título: Re: ZX Frogger
Publicado por: Bubu en 21 Agosto 2012, 03:16:33
jAjajajaaja

Bueno, el pin jodido es el pin 43:

(http://www.unitechelectronics.com/ide44pinout.gif)

que es GND. Por eso cuando lo enchufo ni si quiera se hace el intento de ser detectado. Antes de soldar nada (que seguro que me lo cargo definitivamente) quisiera saber si existe alguna tienda en la que puedan intentar algo, y a ver a qué precio...


EDITO: Pues nor, jiji, el disco es de 40 pines, así que el pin jodido es el 39, que es el DASP-

WTFIT?
Título: Re: ZX Frogger
Publicado por: logaran en 21 Agosto 2012, 03:28:33
Echa un vistazo a este hilo de EOL (http://www.elotrolado.net/hilo_disco-duro-roto-snif-snif-soluciones_1313378) (es muy corto) Parece que plantean varias soluciones.

Una de las que plantean (la de comprar la placa para acoplarle el disco) no parece demasiado cara (http://www.ebay.es/itm/PLACA-SEAGATE-DISCO-DURO-MOD-24000341-006-P2-/290763229429?pt=LH_DefaultDomain_186&hash=item43b2d6c8f5#ht_500wt_1413), si es que das con la del mismo modelo, claro.
Título: Re: ZX Frogger
Publicado por: Bubu en 21 Agosto 2012, 03:39:20
Jorl, yo creo que si soy capaz de quitar la funda de los 40 pines puedo hacer algo, pero es que me da mieo quitar esa funda...
En el enlace que has puesto parece sencillo. Pero el HD trae unos tornillos de esos rarros, rarros, rarros, a ver qué encuentro por aquí...

Cheers!!
Título: Re: ZX Frogger
Publicado por: Bubu en 21 Agosto 2012, 03:44:14
Bueno, jiji, pue en un momento en que Murphy estaba mirando para abajo, ¡¡he encontrado el destornillador adecuado y lo he abierto!! Ahora veo los pines de marras, y estoy viendo el que está doblado. A ver cómo me las apaño para soldar eso tan fino, jiji.
Título: Re: ZX Frogger
Publicado por: Robe_Inie en 21 Agosto 2012, 04:49:35
Nunca he hecho lo que estás haciendo, así que no te puedo decir... pero ojalá haya suerte y recuperes ese Frogger...

Hay empresas que se dedican a la recuperación de datos en casos de catástrofe (juer que chungo suena eso xD), pero los precios son astronómicos también.
Título: Re: ZX Frogger
Publicado por: Bubu en 21 Agosto 2012, 06:41:53
Pues voy a intentar soldar el pin jodido, y si no me compro un HD como me ha aconsejado logaran con su enlace. Por cierto, que si recupero el proyesto le voy a tener que dar un beso con lengua como lo vea, AJAJAJjA.
Título: Re: ZX Frogger
Publicado por: Bubu en 21 Agosto 2012, 07:09:49
Bueno, ya he hecho un apañito en el pin defestuoso, lo voy a enchufar ahora a ver qué pasa, jiji.
Título: Re: ZX Frogger
Publicado por: logaran en 21 Agosto 2012, 07:16:06
Con los dedos cruzados me tienes  :unsure:
Me consta que, en ese disco duro, hay muchas horas de trabajo.
Título: Re: ZX Frogger
Publicado por: Robe_Inie en 21 Agosto 2012, 07:43:16
Danos buenas noticias, ¡ por favor... !
Título: Re: ZX Frogger
Publicado por: Bubu en 21 Agosto 2012, 07:46:32
[attachment=2518]210820121213.jpg[/attachment]
Título: Re: ZX Frogger
Publicado por: logaran en 21 Agosto 2012, 07:53:45
¡Aleluya, hermanos!  :adorar:
Ufff, vaya alivio. Me alegro un montón tío. De verdad que me hubiera jodido mucho que se perdiera tanto trabajo. Al fin y al cabo, ese Frogger, es el único juego por el que mi mujer ha mostrado algún interés en su vida. Y, créeme, eso tiene mérito  :brindar:
Título: Re: ZX Frogger
Publicado por: Bubu en 21 Agosto 2012, 08:00:43
jAjAjAjAjAjajajAJAJ!!!

Pues lo he abierto, y lo que tenía era un pin hundido. Le he dado con un microdestornillador, lo he puesto en su sitio. Entonces, se me ha caído una gota de sudor en toa la placa controladora del HD. Se me ha caído el mundo... Después de secarlo, he cerrado todo, he rezado a Santa Marciana, he conestado por USB al portátil el HD y... ¡¡salieron las carpetas!!


Peeeeeero, justo cuando la flecha del ratón estaba a punto de dar al \"Copiar\" en la carpeta del Frogger, se ha bloqueado el explorador, y es que el disco ha dejado de funcionar.


AajAJjaJAAJ, te juro que pocas veces he pasao tanto mieo.

Entonces, he apagado todo, he apretado más aún el conestor IDE, he vuelto a encender, y ya sin poblemas.

Joer, el corazón me iba a dar un vuelco. Ahí había mucho trabajo, efestivamente, además estaba el protecto del ArcaDOS desde sus orígenes, y las afotos de la familia, los niños, de todo el año 2012... uffff...
Título: Re: ZX Frogger
Publicado por: logaran en 21 Agosto 2012, 08:06:45
Amigo, antes de irme al sobre (que en 4 horas suena el puto despertador) te voy a decir una palabra mágica que me extraña que no conozcas tras tantos años dedicados a la informática:

BACKUP!!!

Cojones! Y no nos des más sustos de estos ¡hombre, ya! :P
Título: Re: ZX Frogger
Publicado por: Bubu en 21 Agosto 2012, 08:14:51
BACKUP???

Anda, anda, eso sólo lo usan los que no saben de infosmática, JAjajajaa.
Título: Re: ZX Frogger
Publicado por: Robe_Inie en 21 Agosto 2012, 08:31:08
Me alegro que todo haya quedado en un susto... Ala, ahora ya no tienes excusa para no seguir con el Frogger ;)

¡¡ Y a partir de ahora lo importante en 100 sitios diferentes por si las mosquis !! jeje
Título: Re: ZX Frogger
Publicado por: Raiders en 21 Agosto 2012, 18:39:25
Me alegro que todo haya salido bien al final!! Joder que angustia ha tenido que ser!

Copias de seguridad por todas partes!
Título: Re: ZX Frogger
Publicado por: Bubu en 21 Agosto 2012, 18:41:43
Cita de: \"Robe_Inie\" post=27427
Ala, ahora ya no tienes excusa para no seguir con el Frogger ;)


No lo sabes tú bien... Ayer, cuando lo recompilé de nuevo después de 3 meses sin hacerlo, sentí un monazo de pogramar en ensamblador que no era normal, JAjajaja.
Título: Re: ZX Frogger
Publicado por: Ivanzx en 21 Agosto 2012, 21:50:53
SiiiiiiiiiiiiiiiiiiiiIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII joder!!!!!!!!  :fuuu:
Título: Re: ZX Frogger
Publicado por: Bubu en 23 Agosto 2012, 04:02:45
AJAJajjAjAJAA, lo que no me pase a mí...


Bueno, logaran, un karmapoint para ti, que aunque sé que prefieres unas cervecitas, me cae lejillos, jiji.
Título: Re: ZX Frogger
Publicado por: logaran en 23 Agosto 2012, 06:25:13
Cita de: \"Bubu\" post=27532
AJAJajjAjAJAA, lo que no me pase a mí...


Bueno, logaran, un karmapoint para ti, que aunque sé que prefieres unas cervecitas, me cae lejillos, jiji.


Esas cervecitas caerán en la \"RetroSevilla\" o como sea que se llame ¿no?
Título: Re: ZX Frogger
Publicado por: Bubu en 23 Agosto 2012, 07:44:41
¿Podrías venirte pa ostubre o noviembre? Sería hacerlo un sábado sabadete, jiji, además hay barra de bar con botellines.

¡¡CROACA!!
Título: Re: ZX Frogger
Publicado por: logaran en 23 Agosto 2012, 14:15:41
Allí estaremos, compañero. Además acompañado de cierto cordobés aficionado a contar chistes :D
¡Como en los viejos tiempos ;) !
Título: Re: ZX Frogger
Publicado por: Bubu en 23 Agosto 2012, 15:44:53
¡¡¡¡BIEEEEEEENNNNNN!!!!
Título: Re: ZX Frogger
Publicado por: mentalthink en 24 Agosto 2012, 08:34:29
Vaya no había visto esté hilo, y cuando he leído que el disco se había fastidiao, bufff...

Como dice Logaran lo del Backup, que la verdad es algo, que yo tampoco solia hacer, ahora lo hago a diario... va de lujo, y para esos projectos que no ocupan mucho, mirate algo como el Sugar Sync, automatizado con todos los mobiles y tabletas que tengas, y te dan de golpe 5Gb sin hacer casi nada...

Por otro lado, aunque se te hubise jodido el pin con un poco de destreza te podría haber funcionado con una pequeña ñapa, cualquier sitio que sea masa, es lo mismo en cualquier parte del circuito, o sea si cojes un cable y lo sueldas a otra patilla de masa, deberia ir... al igual que si lo suelas a la masa de la fuente de alimentación... es por donde se van los Voltios XD... aunque en realidad es al reves en elestrónica va de negativo a + (las intensidades, los voltios ni vienen ni van)

Me alegro que se haya solventao el problema, y como dice Logaran, hazte Backups, porque yo en un año, achicharré 3 discos duros de 2 de 500GB y un Raptor de 70Gb de 35.000 pts(que se fuerón a tomar por cu..), mejor que fuera asi, porque se le llega a salir el disquillo volando  que va a 150.000 RPM y me sierra la cabeza y al vecino de arriba laspiernas  XD
Título: Re: ZX Frogger
Publicado por: Bubu en 12 Septiembre 2012, 07:49:25
Gracias, mentalthink, desde hoy ya me hago copias de los proyectos que más me importan que son el FroggerZX y el ArcaDOS, jiji. Lo hago en un pendrive.
Título: Re: ZX Frogger
Publicado por: Bubu en 12 Septiembre 2012, 07:57:05
¡¡Bueno, torpedos!!

En Estos 4 meses sin \"croacas\" he estado pensando en qué hacer con el p* río, y qué cosas sacrificar para poderlo adaptar al Spectrum sin que el color clash lo destroce mucho. Y he llegado a la siguiente conclusión:



[attachment=2780]22.PNG[/attachment]


Uséase, lo siguiente:

- Troncos y cocodrilos de color magenta. Es decir, no serán cocodrilos, ¡¡serán cocodrilas, que son más peligrosas!! Así es, como decían los Hombres G: \"Has sido tú, chica cocodrilo\", AJAJAJAJJA.
- Tortugas de color rojo. En el original, cuando se hunden se ponen de color verde, pero aquí siempre van a estar de rojo.
- De esta manera, todo lo que se desplace a la derecha va a ser magenta, y lo que se desplace a la izquierda va a ser rojo
- Para que el puñetero color clash (o mejor, color trash) sea lo mínimo posible, la rana irá con el color de fondo igual al de la tinta sobre lo que esté, y la tinta de color verde. Así, si se sube a una tortuga, que tiene la tinta roja, la rana se pintará de papel rojo y tinta verde. Esto hace que se vea en un recuadro.
- Realmente lo que haré será pintar la tortuga, y entonces la rana encima, y entonces la tortuga encima, y entones la rana encima, y así... Voy a probar esto, espero que no parpadee mucho.



¿Os gusta la selección de colores? Sé que no es la mejor, pero como digo me ha llevado 4 meses para descubrir que es la única opción que me queda... AJAJAJAJAJJAAJRLRR



Próxima entrega: la rana subida a un p* tronco, usando este método.

¡¡CROACA!!
Título: Re: ZX Frogger
Publicado por: RiCCo en 12 Septiembre 2012, 13:21:59
No hay manera que no se vea el recuadro alrededor de la rana??
Título: Re: ZX Frogger
Publicado por: Bubu en 12 Septiembre 2012, 16:18:55
Es problema del \"attribute clash\" del Spectrum y otros ordeñadores de la época. Resulta que sólo puedes tener 2 colores como mucho en cada cuadradito de 8x8 píxeles. Así que tenemos el río azul, el tronco rosa y la rana verde, son 3 colores.

La única manera pa que no se vea el recuadro alrededor de la rana es que o bien la rana sea azul como el río, o bien el río sea verde como la rana, pero entonces lo que ocurriría es que la rana se confunde con el río, no se sabría por ande anda.

Este poblema no lo tiene la carretera, porque ahí la rana no se monta en los coches, sino que va por la propia carretera.

Te lo huro, esto ha sido fruto de muuuucho pensar, jiji.
Título: Re: ZX Frogger
Publicado por: Ivanzx en 12 Septiembre 2012, 17:22:04
Pues a mi si me gusta, para las limitaciones del Spectrum, y viendo que es una solucion viable, queda bien la pantalla ;)
Al final Toniman va a ayudar con los graficos?

Saludos!  :mog:
Título: Re: ZX Frogger
Publicado por: Bubu en 12 Septiembre 2012, 17:49:11
Me alegro que te guste, Ivanzx;

Se me ocurre que para que no se vea un cuadro alrededor de la rana podría simplemente hacer que los troncos, cocodrilos y tortugas fueran más anchos, tanto como el cuadrado de la rana (16 píxeles). Voy a dibujar con el Paint una simulación de cómo quedaría, jiji. Aunque me da cierta tristeza que en caso de ensanchar los objetos del río ya no serían idénticos al Frogger original...

Toniman me iba a ayudar en los FX, los efestos de sonido, lo que pasa es que no le quiero aún pedir ayuda porque he probado algunos FX y tengo al Spectrum trabajando tanto (continuamente haciendo scrolls de coches, troncos y tortugas) que cada vez que quiero que haga un mínimo bip-bip el Spectrum se atranca esa décima de segundo, y hace que esa décima de segundo se pare el scroll.

Los no frikis no notarían esto, pero yo me fijo mucho en estos detalles y sí lo noto, y acaba siendo desagradable para jugar. Así las cosas, antes de pedirle ayuda voy a avanzar en el río, y cuando lo tenga planteado, entonces veo si añadiéndole los FX se hace imposible de jugar, o hay suerte y sigue siendo jugable ;-)

Por cierto, toniman, para ponerte en contasto conmigo mándame una solicitud al FB (soy Bubu Marciano) para poderte dar acceso al grupo Marcianitos.
Título: Re: ZX Frogger
Publicado por: Bubu en 12 Septiembre 2012, 22:37:31
Bueno, acabo de hacer la imagen anterior pero ensanchando los troncos pa que no se vea la rana metida en un cuadrao rosa, y el resultado es tan malo que ni lo voy a poner aquí, jiji. Porque los troncos todavía pueden pasar, tienen forma rectangular, pero, ¿y las tortugas? ¿y las cocodrilas? Que va, que va, esto se va a quedar de momento con el rectángulo de la rana, jiji.
Título: Re: ZX Frogger
Publicado por: doragasu en 13 Septiembre 2012, 00:54:27
La verdad lo he pensado un par de minutos, y mucho me temo que no se me ocurre ninguna solución mejor que la del cuadrado. Lo único que se me ha ocurrido, puede que lo mejore un pelín, pero la mejora sería tan pequeña que no creo que merezca la pena. Consistiría en:

1.- Hacer la rana del color del río.
2.- Cuando la rana \"colisiona\" con un elemento (tortuga, tronco, cocodrilo), enmascarar con lo que hay debajo, usando una máscara con la forma de la rana rodeada de 1 pixel con el color de lo que haya debajo.

Como no creo que me explique bien, van dos imágenes. \"Sprite\" de la rana, para troncos y cocodrilos:

[attachment=2789]spr.png[/attachment]

Resultado (en la misma imagen que el resultado del cuadrado):

[attachment=2788]23.PNG[/attachment]

Para mi gusto queda un pelín mejor, pero la diferencia es tan pequeña que no se si merece la pena complicarse.

Por cierto que me ha llamado la atención un tronco que tiene un anillo amarillo  :mog:
Título: Re: ZX Frogger
Publicado por: Bubu en 13 Septiembre 2012, 01:48:40
Cita de: \"doragasu\" post=28712
La verdad lo he pensado un par de minutos, y mucho me temo que no se me ocurre ninguna solución mejor que la del cuadrado.


De cualquier manera muchísimas gracias por haber pensado una solución, se agradece, de verdad.

Cita de: \"doragasu\" post=28712

1.- Hacer la rana del color del río.


Esto me facilitaría mucho las cosas porque no tendría que estar coloreando y descoloreando cada vez que la rana cambia de columna. Pero el resultado es más \"feo\" porque tenemos la rana azul, y no verde.

Cita de: \"doragasu\" post=28712

2.- Cuando la rana \"colisiona\" con un elemento (tortuga, tronco, cocodrilo), enmascarar con lo que hay debajo, usando una máscara con la forma de la rana rodeada de 1 pixel con el color de lo que haya debajo.


Podría hacer un montaje con esto, pero es lo que tú dices, que va a aportar muy poco o nada. Lo único que aportaría sería algún que otro pixelillo del tronco o de la tortuga en las proximidades de la rana. Fíjate que en la rana con la máscara que has puesto tú, prácticamente es cuadrado, por lo que el exterior de la máscara es casi cero.

Cita de: \"doragasu\" post=28712

Por cierto que me ha llamado la atención un tronco que tiene un anillo amarillo  :mog:



AjAjAjAJAA; eso es porque la imagen que puse la traté con el Paint para mostrarla como ejemplo, y anteriormente los troncos eran amarillos. :-D (y los cocodrilos celeste).
Título: Re: ZX Frogger
Publicado por: Bubu en 13 Septiembre 2012, 07:46:21
¡Hola, torpedos!

Voy a contar los próximos días pasito a pasito cómo voy a ir haciendo lo del río, pa que veáis lo \"facilito\" que es...
Se trata de desplazar la rana en posición normal hacia la derecha, p.ej. cuando se monta en un tronco.

Abrimos el gran pograma SevenuP y configuramos la opción File > Output options como sigue:


[attachment=2796]23.png[/attachment]


Lo siguiente es coger la imagen de una rana del Frogger, quitarle colores e impurezas, ponerla en formato BMP, y abrirla con el gran pograma SevenuP:


[attachment=2797]24.png[/attachment]

Lo importante es que la primera columna de píxeles esté vacía, como vemos en este caso lo está.
A continuación pulsamos en File > Export data, y exportamos la imagen en formato BIN. Le ponemos el nombre fro0_0.bin
Vamos a exportar 7 veces la imagen, cada una será un pixel desplazado a la derecha respecto a la anterior.

Para desplazar 1 píxel, pulsamos en el icono de desplazamiento a la derecha, y tenemos así la siguiente imagen:


[attachment=2798]25.png[/attachment]

Volvemos a exportar a BIN, esta vez con el nombre fro0_1.bin

Repetimos este proceso 7 veces, hasta llegar a la octava imagen:


[attachment=2799]26.png[/attachment]

Obsérvese que los caracteres de la columna de más a la izquierda están completamente vacíos. Esto sirve para ir limpiando la estela que dejaría la rana a su izquierda mientras se desplaza a la derecha.

Tendremos 8 archivos bin llamados fro0_0.bin hasta fro0_7.bin
Cada uno de estos archivos mide 48 bytes, ya que como vemos hay 6 caracteres, y cada uno tiene 8 bytes.
Ahora tendremos que pegar esos bin en un único bin. Esto lo hago yo mediante un pograma bat muy simple:

Código: [Seleccionar]

copy fro0_0.BIN + fro0_1.BIN + fro0_2.BIN + fro0_3.BIN + fro0_4.BIN + fro0_5.BIN + fro0_6.BIN + fro0_7.BIN fro0.BIN /B


Al ejecutar esto desde la línea de comandos, nos crea un archivo nuevo llamado fro0.bin, que mide 8 veces más que el resto, claro.
Todo esto tendremos ya en la carpeta:


[attachment=2800]27.png[/attachment]


Ahora lo que queda es incluir en el ensamblador este archivo fro0.bin, montar la rana en un tronco, ¡¡y ver qué pasa!!

Pero eso será...

(http://4.bp.blogspot.com/-tbPqzaIU2KE/UETttPtcpPI/AAAAAAAADSM/omC5P-BqzXE/s1600/proximamente.gif)
Título: Re: ZX Frogger
Publicado por: Bubu en 14 Septiembre 2012, 07:25:22
¡¡Hola, torpedos!!

Hoy he realizado el scroll contrario de la rana en el río, es decir, el que va hacia la izquierda. Después he colocado una rana sobre un tronco, y otra rana sobre una tortuga, y he ejecutado el juego en la parte del río, y no queda naaada mal, oiga:


[attachment=2813]28.png[/attachment]

(el tronco debería haber salido magenta, pero sale amarillo, ya investigaré purcuá)

La cosa está en que se pinta la rana murrápido, y entonces el tronco, y entonces la rana, y entonces el tronco, y todo esto a velocidades lumínicas. El efesto que produce es bueno: se ven a la vez la rana y lo que hay debajo de ella, jiji.

Me ha gustao :-)

Como podéis comprobar, la rana no la estoy pintando de verde, sino del color de su fila. Es que si la quiero poner de verde tengo que ir cambiando de color esa zona murrápido, y eso va a ser que ralentice el juego, con lo crítico que es aquí los tiempos para poder scrollear todo.

En fins, de momento esto se va a quedar así.

A continuación, lo que tengo que hacer es programar la transición carretera -> río, que tampoco es fácil (¿quién dijo que esto lo fuera? jiji) Cuando llegue a la zona intermedia, al pulsar UP el pograma debe montar a la rana en la tortuga correspondiente, o si no hay tortuga, hundirse, jiji.

A ver qué pasa.

(http://www.comp.dit.ie/website07/images/news/frogger.png)

¡¡CROACA!!
Título: Re: ZX Frogger
Publicado por: Bubu en 14 Septiembre 2012, 07:31:24
Cita de: \"Bubu\" post=28814
¡¡Hola, torpedos!!


(el tronco debería haber salido magenta, pero sale amarillo, ya investigaré purcuá)



Aunque ahora que lo pienso, lo de poner los troncos magentas era porque quería poner la rana verde, y no se iba a ver bien sobre un tronco amarillo. Pero como voy a dejar la rana con el mismo color que el del tronco, no pasa nada por dejar el tronco amarillo, jiji. El parpadeo superrápido ese hace que se sepa siempre ande anda la rana.


¡¡ CROACA !!
Título: Re: ZX Frogger
Publicado por: Bubu en 21 Septiembre 2012, 07:00:27
Torpedos, I need some help from you. Resulta que tengo 3 registros y necesito hacer una comparación entre ellos:

IF a + b >= h >= a

¿cómo se haría esto en C/M? Lo necesito lo más optimizado posible en velocidad puesto que es parte de la rutina de colisiones que estoy mejorando, y es vital que sea rapidísima.

Como os podéis imaginar, \'a\' es el comienzo de un coche, \'b\' es el ancho del coche, y \'h\' es donde está la rana. Esto sería una primera aproximación, porque en realidad la rana no ocupa una posición, sino dos, pero bueno, me gustaría saber cómo optimizar esa comparación que he puesto ;-)

Thanks in advance!

¡¡CROACA!!
Título: Re: ZX Frogger
Publicado por: doragasu en 21 Septiembre 2012, 16:17:59
No entiendo la expresión  :mog:

Quizás algún paréntesis ayudaría. Por ejemplo, tal vez quieras decir algo así:

IF (((a + b) <= h) AND (h >= a))

Por otro lado, entiendo que la comparación se hace en el eje X, y en función del resultado de la comparación, lo que quieres hacer es un salto condicional, ¿no? Por lo general las instrucciones de salto condicional suelen ser de todo menos rápidas, hay que evitarlas siempre que se pueda.

Tampoco entiendo por qué sólo comparas con la posición de la rana, y no con la posición y el ancho de la misma. ¿Es porque haces comparaciones carácter a carácter y no pixel a pixel?

Jeje, en lugar de ayudarte te hago perder el tiempo explicando más, porque aun cuando me contestes, lo cierto es que nunca he programado en lenguaje de ensamble de Z80 (aunque intentaré echar un vistazo rápido al set de instrucciones a ver si se me ocurre algo).

PD: yo haría la detección de colisiones del siguiente modo: Si [ra, rb] son las coordenadas x origen y fin de la rana, y [ca, cb] son las coordenadas origen y fin del coche, la expresión de colisión sería algo así como:
IF ((rb >= ca) AND (ra <= cb))
Título: Re: ZX Frogger
Publicado por: Bubu en 21 Septiembre 2012, 17:34:06
Ay, jiji, es que puse la expresión en formato matemático, en lugar de formato infosmático. Quería decir lo siguiente:

Código: [Seleccionar]

IF (a + b >= h) AND (h >= a)


Es decir, si lara rana (que está en \'h\') está entre el principio de un coche (que está en \'a\') y el final de un coche (que está en \'a\' + \'b\'), hay colisión.

Básicamente lo que quería preguntar era mucho más simple: ¿cómo se compara fácilmente un MAYOR O IGUAL en Z80?

Supongamos que quiero hacer IF D >= E

Código: [Seleccionar]

ld a, d
cp e
jr XXXX


Necesito saber qué condición XXXX (flags) son los que puedo usar para saltar si D es mayor o igual a E (o lo que es lo mismo, si E es menor que D)
Título: Re: ZX Frogger
Publicado por: doragasu en 21 Septiembre 2012, 18:34:32
Para comparar \"Y >= X\" (suponemos que X e Y son posiciones de memoria, tipo HL), tras echar un vistazo rápido al set de instrucciones del Z80, yo lo haría así:

Código: [Seleccionar]
   LD A, Y
    CP X
    JP P, DIRECION


Resumiendo, le restas X a Y, y si el resultado es positivo, saltas a la dirección correspondiente a \"Y >= X\". Si el resultado no es positivo, sigues la ejecución, correspondiente a \"Y < X\". En la instrucción de salto, el primer parámetro (la \"P\") indica \"saltar si el resultado es Positivo\" (el micro lo hace mirando el flag de signo S). Si quisieras hacer lo mismo pero para resultado negativo, habría que cambiar la \"P\" por una \"M\".

El problema de este método, es que supongo que el parámetro de posición puede ser mayor que 128, ¿no? Si es así, tendrás que hacer una resta de 16 bits.
Título: Re: ZX Frogger
Publicado por: Bubu en 21 Septiembre 2012, 18:40:07
OK, eso creo que me valdría, doragasu, son todo posiciones de 8 bits (columnas de la pantalla, no direcciones de memoria).
Así, que para yo acordarme, sería esto:

Código: [Seleccionar]

LD A, MAYOR
SUB MENOR
JP P, DIRECCION_MAYOR_IGUAL


Lo he entendido bien, ¿nor? Uséase, el flag P se levanta también cuando son iguales. Mientras que el flag M no, ¿esto es así?

Es que siempre me acabo liando de que si el flag es P, M, que si cargo en A el mayor, o el menor...
Si esa regla \"nemotésnica\" que he puesto es válida, yo creo que ya me acordaré para siempre.

¡¡cheers!!
Título: Re: ZX Frogger
Publicado por: doragasu en 21 Septiembre 2012, 18:47:52
Está bien tal y como lo has puesto. En mi post original he editado y he cambiado el SUB por un CP, que es lo mismo (la instrucción CP hace una resta), pero con la diferencia de que el CP toca sólo los flags y el SUB toca flags y acumulador (puede que te interese más el CP si luego tienes que comparar otra vez con el mismo valor, así te ahorras volver a cargarlo en el acumulador).

Si los valores son menores que 128, entonces perfecto :)

En realidad, \"P\" y \"M\" no son flags, sino condiciones de salto. En ambos casos, la instrucción únicamente comprueba el flag de signo (el flag \"S\"). Si pones una \"P\" como condición de salto, la CPU mira el flag \"S\", y ejecuta el salto si ese flag corresponde a un número positivo. Si pones una \"M\", la CPU mira el flag \"S\" también, pero salta si el flag corresponde a un número negativo.
Título: Re: ZX Frogger
Publicado por: Bubu en 21 Septiembre 2012, 19:22:58
OK, pero ¿y si el número es 0? Uséase, ¿y si ambos números son iguales? ¿Cuánto vale el flag \"S\"? ¿\"P\" ó \"M\"?
Título: Re: ZX Frogger
Publicado por: doragasu en 21 Septiembre 2012, 19:55:14
Un matemático te dirá que el 0 es neutro: no es ni positivo ni negativo. Pero sabiendo que para el Z80, el signo es modelado con 1 bit, y por tanto todos los números son forzosamente o positivos o negativos (no existe ningún número neutro), ¿El 0 es positivo o negativo?

En materia de computación, el 0 SIEMPRE se considera como un número positivo, por mucho que los matemáticos puedan echar espumarajos por la boca al oírlo.

Usease, que si los 2 números de la comparación son iguales, y el resultado es por tanto 0, el Z80 saltará con la condición \"P\" pero no saltará con la condición \"M\".
Título: Re: ZX Frogger
Publicado por: Bubu en 22 Septiembre 2012, 01:41:50
Bueno, filosofías aparte (podría estar horas hablando del CERO y cosas así, jiji), esto sería:

Código: [Seleccionar]

LD A, MAYOR
CP MENOR
JP P, DIRECCION_MAYOR_IGUAL
JP M, DIRECCION_MENOR


Pues ya está, con esto voy a intentar rehacer un poco la rutina de detección de choques que creo que puedo sacarle algo de microsegundos, jiji.

Muuuchas gracias, doragasu


¡¡CROACA!!
Título: Re: ZX Frogger
Publicado por: doragasu en 22 Septiembre 2012, 05:34:48
El último salto (JP M, DIRECCION_MENOR) sobra, ya que si el número es menor, el código seguirá ejecutando secuencialmente por debajo, sin saltar. No hace falta hacer otra comparación, si el número no es mayor o igual, es forzosamente menor. Basta con que pongas el código correspondiente a la acción \"MENOR\" debajo del primer salto.

Y quitando ese salto, te ahorras 13 ciclos de reloj ;). En el peor caso, si por lo que sea necesitases saltar, usa un salto incondicional (JP (HL)), que gasta sólo 4 ciclos en lugar de los 13.
Título: Re: ZX Frogger
Publicado por: Bubu en 22 Septiembre 2012, 06:57:39
Bueno, puse tanto el JP P como el JP M para tener los 2 casos a mano, y elegir el que interese en cada momento, jiji. En realidad no uso JP, sino JR, que son saltos cortos y rápidos (creo) de ejecutar.
Título: Re: ZX Frogger
Publicado por: Bubu en 22 Septiembre 2012, 07:38:15
Ostras, acabo de ver que JR con el flag del signo no existe, JAjajAJA, sólo hay con Zero o Carry. ¡¡Maldición!!

Entóns, ¿se podría usar el Carry Flag para esto del Mayor Menor o Igual?
Título: Re: ZX Frogger
Publicado por: doragasu en 22 Septiembre 2012, 18:30:35
Por lo que leo, en el Z80, el borrow (que es como se suele llamar al carry cuando se resta) funciona al revés que en el 6502. En el Z80 el carry se pone a 1 cuando al hacer la operación A - B, se da la circunstancia de que B > A. Sabiendo esto, se podría hacer así:

Código: [Seleccionar]
   LD A, X
    CP Y
    JR NC, X_MAYOR_O_IGUAL_A_Y
; Sigue ejecutando por aquí si Y > X
    [...]

X_MAYOR_O_IGUAL_A_Y:
; Sigue ejecutando por aquí si X >= Y
    [...]


Hay que tener en cuenta que un \"JP cc,nn\" siempre tarda 13 ciclos en ejecutarse, mientras que un \"JR NC,e\" o \"JR C,e\" tarda 9 ciclos si no se salta, y 15 ciclos si se salta. Por lo tanto, para que el cambio de JP por JR sea beneficioso, se ha de escribir el código para que la mayoría de las veces no haya que saltar. Es decir, en el caso de detección de colisiones en Frogger, se ha de escribir para que se salte cuando hay colisión, ya que la mayoría de las veces no hay colisión. No se si me explico...

Como bonus dejo el código para saltar si \"X > Y\" (sin el igual):


Código: [Seleccionar]
   LD A, Y
    CP X
    JR C, X_MAYOR_QUE_Y
; Sigue ejecutando por aquí si X <= Y
    [...]

X_MAYOR_QUE_Y:
;    Sigue ejecutando por aquí si X > Y
    [...]
Título: Re: ZX Frogger
Publicado por: Bubu en 23 Septiembre 2012, 18:29:38
OK, eso de los ciclos es importante saberlo.

He retocado el sistema de detección de choques con todo esto y...

¡¡YA NO FUNCIONA!! JAjAJAjajAJajAjajA, a ver qué tonterida habré hecho. Ahora la rana tiene inmunidad total, jiji. Me tendré que poner a debugar, con lo fastidioso que es :-)
Título: Re: ZX Frogger
Publicado por: doragasu en 23 Septiembre 2012, 18:51:34
Jeje, ¡y sin pokes!
Título: Re: ZX Frogger
Publicado por: Bubu en 25 Septiembre 2012, 15:28:28
aJAJAJJAaJ, pa que veas lo bien que me está salidendo :-D
Título: Re: ZX Frogger
Publicado por: Raiders en 25 Septiembre 2012, 15:44:35
Te ha salido rana :P

Taka chis! xD
Título: Re: ZX Frogger
Publicado por: Bubu en 29 Septiembre 2012, 08:02:54
:-DDDD

Bueno, pues tonight pelotazo de ron, musiquita del Máxima FM, y... ¡¡a pogramar el FroggerZX!!

He decidido cambiarle el nombre al juego, en lugar de ZX Frogger, le voy a poner Frogger ZX, así se encontrará más fácilmente en las listas cuando se busque por \"Frogger\", jiji.

Hoy estoy implementando rutinas de pintado de pantallas según la fase en la que se esté. Mientras esto voy saneando el código, jiji.

¡¡CROACA!!




Nota: Qué ganicas de meterme un juergazo por el cuerpo...
Título: Re: ZX Frogger
Publicado por: Bubu en 29 Septiembre 2012, 09:26:57
Y ahora sus planteo un pasatiempo infosmático a los que sepáis de Z80, jiji. Quiero ejecutar una rutina con una variable de N a 0. ¿Cómo hago eso?

Código: [Seleccionar]

ld b, N
otro: call haz_cosas_con_b
djnz otro


Si hago eso, ¡¡con el valor b=0 no se ejecuta, sino que se sale!!
Título: Re: ZX Frogger
Publicado por: Bubu en 29 Septiembre 2012, 09:31:36
Lo he resuelto así:

Código: [Seleccionar]

ld b, N
otro: call haz_cosas_con_b
djnz otro
call haz_cosas_con_b


Pero nu sé, eso de llamar a la rutina \"haz_cosas_con_b\" en el bucle y fuera de él no lo veo mu elegante (aunque sí efestivo, jiji). ¿Cuál es la manera elegante?
Título: Re: ZX Frogger
Publicado por: Bubu en 29 Septiembre 2012, 21:34:06
Se me ocurre no utilizar DJNZ, sino JR XX. Así las cosas:

Código: [Seleccionar]

ld b, N
otro: call haz_cosas_con_b
dec b
jr nc, otro


Es decir, mientras no haya carry (nc) va a estar haciendo cosas con b. Y el carry se despierta cuando pasa de 0 a 255, es decir, cuando desborda, ¿nor?
Título: Re: ZX Frogger
Publicado por: Robe_Inie en 29 Septiembre 2012, 22:03:51
Hola Bubu,

Yo no tengo ni idea de ASM, pero sólo puedo decir...

!!Croaca, Croaca, adelante y ánimo con el proyecto !!  ;)
Título: Re: ZX Frogger
Publicado por: Imanolea en 29 Septiembre 2012, 22:54:06
Secundo lo dicho por Robe_Inie,

¡Ánimo con el Frogger ZX!
Título: Re: ZX Frogger
Publicado por: RiCCo en 29 Septiembre 2012, 23:04:55
Joer, esto esta empezando a tener mas hype que el duke nukem forever :D
Título: Re: ZX Frogger
Publicado por: Deka Black en 30 Septiembre 2012, 02:45:46
Mientras no tarde tanto tiempo...
Título: Re: ZX Frogger
Publicado por: Bubu en 30 Septiembre 2012, 03:35:39
¡¡Muchísimas gracias, torpedo, eso anima bastante!!

Por cierto, RiCCo, que he tenido que buscar qué es eso del \"hype\", AJAJAj, que nu me sonaba de nada. Hay que ver qué modelno eres, jiji.

Pues nada, lo que pasa es que como cuento en este hilo todo el desarrollo hasta el más mínimo detalle, pues por eso a lo mejor se está haciendo \"hype\". Había pensado en no escribir más hasta que no estuviera ya terminado, así hay más \"secreto\", jiji, pero es que escribir aquí me sirve a mí mismo de recordatorio de cosas, ver yo mismo por dónde voy, ver a qué ritmo voy, y eso.

¡¡CROACA!!
Título: Re: ZX Frogger
Publicado por: RiCCo en 30 Septiembre 2012, 03:59:12
Yo lo decia por el puñado de gente que somos ya los que seguimos tus progresos :D
Título: Re: ZX Frogger
Publicado por: doragasu en 01 Octubre 2012, 03:27:57
La instrucción DEC no afecta al flag de acarreo, así que tu última proposición me temo que no funciona tal cuál la has puesto (podría valer cambiando el DEC por un SUB).

Entiendo que la rutina que se ejecuta, toma el valor del registro b como parámetro de entrada, ¿no? Si es así, creo que lo mejor que puedes hacer es utilizar la solución que hace el último CALL cuando sale del bucle.

Si no es así, y lo único que quieres hacer es ejecutar la rutina N + 1 veces (de 0 a N), y sin usar como parámetro de entrada el valor del registro b, puedes hacerlo tal cual lo pusiste, pero cargando en b \"N + 1\" en lugar de \"N\".

Se puede hacer de otras maneras, pero al tener que añadir la instrucción de decremento aparte, van a ser más lentas.
Título: Re: ZX Frogger
Publicado por: doragasu en 01 Octubre 2012, 03:39:14
Por cierto, si la rutina a la que tienes que llamar en el CALL es pequeña, para ganar velocidad suele ser recomendable cambiar la llamada a la rutina por una macro. De este modo te ahorras un montón de ciclos, sobretodo si N es grande. El ahorro en ciclos es de (N + 1) * (22 + 13).
Título: Re: ZX Frogger
Publicado por: Bubu en 01 Octubre 2012, 03:42:50
Cita de: \"doragasu\" post=29660
La instrucción DEC no afecta al flag de acarreo, así que tu última proposición me temo que no funciona tal cuál la has puesto (podría valer cambiando el DEC por un SUB).


Cierto, acabo de leer que no afecta al CF, pero sí al SF, el flag del signo. Así que cuando se pasa de 0 a FF salta el flag. No serviría si el número de partida ya es negativo, pero si es menor que 0x80 (que es mi caso, que sólo quiero ejecutar la rutina unas 5 ó 10 veces) pues sí valdria, creo, ¿nor?
Título: Re: ZX Frogger
Publicado por: doragasu en 01 Octubre 2012, 16:24:28
En efecto te vale si usas el flag de signo, para N comprendido entre 0 y 127, pero como decía antes, creo que es mejor la solución que usa un CALL extra después de salir del bucle, porque al usar una instrucción menos dentro del bucle, seguramente se ejecute más rápido.

Y como también puse antes, en el caso de que el valor de N sea constante y no se utilice en la rutina llamada (que no me ha quedado claro si se usa o no), lo mejor sería dejar la rutina inicial, pero cargando N+1.
Título: Re: ZX Frogger
Publicado por: Bubu en 07 Octubre 2012, 09:09:11
Comprendido. Es que esto de los flags \"raros\" no los dominaba yo. Sólo controlaba los flags de limón y de naranja. Mmmmmm...

Bueno, pues aquí estoy saneando el código. Hay que ver lo difícil que es sanear el código, leñe, aunque se hace más agradable con un pelotazo y un chunda-chunda saliendo por el altavoz, jiji.
Título: Re: ZX Frogger
Publicado por: Bubu en 08 Octubre 2012, 22:16:00
Estoy calculando y me quedan entre 15 y 20 KB de memoria para terminar el juego, jiji. Tengo miedo. Y aún no he pintado la serpiente ni el castor.

Bueno, y ahora sus lanzo una pregunta maquinera: he ubicado el pograma a partir de los 32KB superiores, porque creo que si lo ubico antes se vuelve lento ya que la memoria baja es compartida entre la CPU y la ULA para pintar. ¿Podría al menos ubicar datos (no ejecutables) en esos primeros 16KB?
Título: Re: ZX Frogger
Publicado por: doragasu en 09 Octubre 2012, 00:00:03
Me gustaría contestarte pero... ¡no tengo ni idea!

No me conozco la arquitectura interna del Spectrum, y es la primera vez que leo eso. Si te vale una simple opinión, basada simplemente en un vistazo rápido a este diagrama (http://www.1000bit.it/support/manuali/sinclair/zxspectrum/sm/block.gif), me parecería raro que en verdad ocurra lo que dices de que los primeros 16 kB sean más lentos, porque aunque el bus de direcciones lleva lógica de multiplexado, el bus de datos es compartido por todos los periféricos y ambos bancos de memoria (el de 16 kIB RAM + 16 kiB ROM y el de 32 kIB RAM). Por lo tanto, si la ULA (que tiene prioridad) quiere acceder al bus, no sólo tiene que parar una hipotética lectura en el bloque de 16 kIB, sino también en el de 32 kIB, si no quiere que haya colisión en el bus de datos.

En cualquier caso, supongo que lo mejor es probarlo ;-)
Título: Re: ZX Frogger
Publicado por: Bubu en 09 Octubre 2012, 05:37:23
No me refería a colisión en el bus de datos, sino en el de direcciones: la ULA está cada N tiempo accediendo a la RAM baja y pintando en la tele. Cuando hace esto, debe bloquear a la CPU para que no acceda a esa parte de la RAM, aunque sí podría acceder a la parte alta de la RAM.

Por eso CREO que lo ideal es escribir en la RAM baja sólo mientras se esté atendiendo a una interrupción, porque como éstas se producen durante el VBLANK, la ULA no está accediendo a esa zona de memoria.

Todo esto te lo digo de memoria (leía libros de teoría de C/M cuando chico, jiji) y nunca lo he puesto en prástica.

El multiplexado del que hablas se refiere a que el bus de direcciones tiene 16 bits, pero los chips de la RAM sólo tienen 7 u 8 pines para la dirección, por lo que el bus se multiplexa.

Pero como bien dices, ¡¡lo mejor es catarlo, a ver qué pasa!!
Título: Re: ZX Frogger
Publicado por: doragasu en 09 Octubre 2012, 15:39:49
Los accesos a memoria (ya sea por parte de la CPU, de la ULA o de Perico de los Palotes), requieren de los 3 buses: datos, direcciones y control. Con que haya colisión en uno de los buses no hacemos nada. Así que si hay colisión en el bus de datos, de nada sirve que no la haya en el de direcciones.

Si la ULA accede a la parte baja de la RAM, según el diagrama que te puse, bloquea los accesos al bus de datos de TODA la memoria, no sólo de la parte baja.

Lo que comentas tendría sentido si la RAM fuese de doble puerto, pero si el diagrama ese es fiel a la realidad, no le veo mucho sentido.

Pero vamos, que ya nos contarás cuando lo pruebes ;)
Título: Re: ZX Frogger
Publicado por: Bubu en 09 Octubre 2012, 16:35:39
Pienso que la ULA no accede a la parte alta de la RAM, sólo a la baja, por lo que esa zona de memoria es compartida por la ULA y por la CPU. Como la ULA tiene prioridad, la CPU se tié que esperar a que la ULA termine. En cuanto a la parte alta de la RAM, perfectamente podría estar la CPU accediendo a esa zona aunque la ULA lo esté haciendo a la parte baja. No hay colisión ni en el bus de datos ni en el de direcciones. Entiendo que los chips tendrán una impedancia alta en los pines del bus de datos cuando no quieran leer o escribir en el bus de datos, y baja cuando sí, así que no hay colisión en el bus de datos.

Mira este enlace:

http://users.dcc.uchile.cl/~rbaeza/cursos/proyarq/dfuenzal/mem.html

en el segundo párrafo \"Los primeros 16K : Memoria Peleada\".

Es un tema muy interesante éste, aunque de un nivel de frikismo importante, jiji.
Título: Re: ZX Frogger
Publicado por: doragasu en 09 Octubre 2012, 21:46:09
El enlace que me has pasado, en efecto dice que el problema está al leer de esos 16 kIB, pero a mí que alguien me explique cómo puede la ULA leer un dato de los 16kIB de memoria \"baja\" a la vez que la CPU lee un dato de los 32 kiB de memoria \"alta\" siendo el bus de datos compartido. Es como decir que por una carretera de un único carril, pueden pasar por el mismo sitio 2 coches en sentidos opuestos. ¿Tenía Sir Clive Sinclair una varita mágica para conseguir esto? Pues que la pase, porque podría haber ahorrado dinero a todos los que para solucionar este problema utilizan memorias de doble puerto.

Por otro lado, si leemos la explicación en la web de la que saqué el diagrama (http://www.1000bit.it/support/manuali/sinclair/zxspectrum/sm/section1.html#rdwrop) (copio y pego un cacho):

Citar
If the ULA is about to access the RAM and it detects either A14 or A15 (ie the CPU is also about to access the RAM) the ULA inhibits the CPU clock temporarily halting the CPU memory transaction until its own transaction is completed.


Que nos viene a decir que cuando ULA y CPU intentan acceder a la vez a la memoria, la ULA lee de memoria y la CPU se para, independientemente de que sean los primeros 16 kIB (activados por A14) o los 32 kiB siguientes (activados por A15). Por eso dice lo de \"either A14 or A15\".
Título: Re: ZX Frogger
Publicado por: doragasu en 09 Octubre 2012, 22:02:10
En WoS también te dan la razón (http://If you run a program in the lower 16K of RAM, or read or write in that memory, the processor is halted sometimes, as the ULA needs to access the video memory to keep the TV updated; the electron beam can\'t be interrupted, so the ULA is given a higher priority to access the contended memory. This part of memory is therefore somewhat slower than the upper 32K block.):

Citar
If you run a program in the lower 16K of RAM, or read or write in that memory, the processor is halted sometimes, as the ULA needs to access the video memory to keep the TV updated; the electron beam can\'t be interrupted, so the ULA is given a higher priority to access the contended memory. This part of memory is therefore somewhat slower than the upper 32K block.


Así que aunque yo no entiendo cómo, ¡si lo dice WoS va a misa!
Título: Re: ZX Frogger
Publicado por: Bubu en 09 Octubre 2012, 22:59:10
Cita de: \"doragasu\" post=29853
El enlace que me has pasado, en efecto dice que el problema está al leer de esos 16 kIB, pero a mí que alguien me explique cómo puede la ULA leer un dato de los 16kIB de memoria \"baja\" a la vez que la CPU lee un dato de los 32 kiB de memoria \"alta\" siendo el bus de datos compartido. Es como decir que por una carretera de un único carril, pueden pasar por el mismo sitio 2 coches en sentidos opuestos. ¿Tenía Sir Clive Sinclair una varita mágica para conseguir esto? Pues que la pase, porque podría haber ahorrado dinero a todos los que para solucionar este problema utilizan memorias de doble puerto.


Pero ¿por qué no va a poder acceder la ULA rellenar el bus de direcciones con una dirección, p.ej. 20000, y la CPU con otra dirección, p.ej. la 40000, simultáneamente? Lo que dices de la carretera no es buen ejemplo, es que no hay un único carril. EL bus de direcciones está duplicado. A la RAM baja le llega el bus de direcciones tanto de la ULA como del CPU, y para que no haya colisión se le ponen unas resistencias antes de entrar a la memoria baja. Pero la ram alta tiene su propio bus de direcciones que sólo llega desde la CPU.

Míralo de otra manera: la ULA no accede al bus de direcciones, sino directamente a los pines de las memorias de RAM baja. A ver si con este esquema nos aclaramos (yo cada vez me aclaro menos, AJaJaJja):

ftp://ftp.worldofspectrum.org/pub/sinclair/technical-docs/ZXSpectrumIssue2-Schematics.gif
Título: Re: ZX Frogger
Publicado por: Bubu en 09 Octubre 2012, 23:01:57
Cita de: \"doragasu\" post=29854

Así que aunque yo no entiendo cómo, ¡si lo dice WoS va a misa!



¡¡¡AJaJAjJAjaJAJAJAJaaAJaAAAAAAAAAJJaJJAjajajAaJA!!!!


Pues si yo te cuén el fallo que he visto en los esquemáticos del Spectrum que están en WoS (y que son como tú dices la biblia de todo intenné) te quearías a cuadros. Eso, o es que yo tengo un Spectrum totalmente revirao :-DDD
Título: Re: ZX Frogger
Publicado por: doragasu en 10 Octubre 2012, 03:48:29
Vamo a vé. Estoy de acuerdo en que no hay colisión en el bus de direcciones, pero la hay en el bus de datos (que es la carretera de 1 carril a la que me refiero). Vamos con una clase de teoría:

Cualquier sistema microprocesador basado en la arquitectura de Von Newman de 3 buses funciona de la siguiente manera:

Existen 3 buses, compartidos por todo el sistema: Datos, direcciones y control. La CPU es quien en principio hace de árbitro y genera tanto los buses de direcciones como el de control. El bus de datos es bidireccional, a veces lo pone la CPU, a veces lo pone la memoria/periféricos, según la CPU quiera leer o escribir.

La manera que tiene la CPU de leer en este tipo de arquitectura es la siguiente:

1- La CPU genera las señales de control indicando que quiere hacer una lectura. Simultáneamente genera también la dirección de lectura. El bus de datos lo deja como entrada.
2- La memoria pone el dato correspondiente en el bus de datos, y la CPU lo lee.

El Z80 no es una excepción a estas reglas, trabaja así exactamente como he puesto (aunque he resumido un poquillo). Ahora tenemos en el Spectrum una complicación: además de la CPU, la ULA también puede acceder a la memoria baja. Según veo en el diagrama, los buses de direcciones están \"desacoplados\" entre los 16 kiB de memoria baja y los 32 kiB de memoria alta, así que estoy de acuerdo en que si CPU quiere leer de los 32 kIB de memoria alta, y la ULA quiere leer a la vez de los 16 kiB de memoria baja, no hay colisión en el bus de direcciones.

PERO EL BUS DE DATOS ES UNO SÓLO (al menos según el diagrama), con lo que qué ocurriría en el caso de que ambas funcionen a la vez: Pues que la ULA pondría el dato en el bus de datos, y a la vez los chips RAM de memoria alta pondrían el dato en el mismo bus de datos, con lo que ahí tenemos la colisión. Esto peta.

Por tanto, o el diagrama no es fiel a la realidad, o hay algo que se me escapa.
Título: Re: ZX Frogger
Publicado por: Bubu en 10 Octubre 2012, 06:36:50
NOOOOOOORRRRRRRRRRRR, jaAJJAjaJAjAjAAa,

¿qué me dices de las resistencias R1 a R8 con sus pull-ups R9 a R16?

EDITO: En tu ejemplo de la carretera y los coches, sería como si en un sentido hubiera una rampa que subes, pero en el otro sentido la rampa te coge a la inversa, así que no pués subirla, jiji. ¡¡y la carretera es la pispa!!

Oeeeeee oe oe oe oeeeee
ooooeeeeee ooooeeeee!!!
Título: Re: ZX Frogger
Publicado por: doragasu en 10 Octubre 2012, 20:48:36
Cita de: \"Bubu\" post=29875
EDITO: En tu ejemplo de la carretera y los coches, sería como si en un sentido hubiera una rampa que subes, pero en el otro sentido la rampa te coge a la inversa, así que no pués subirla, jiji. ¡¡y la carretera es la pispa!!


 :mog:

Bueno, como el diagrama ese que puse no me aclaraba las cosas, he buscado un esquema real (http://k1.dyndns.org/Vintage/Sinclair/82/Sinclair%20ZX%20Spectrum/Circuit%20Diagrams/ZX%20Spectrum%20Issue%202%20-%20Schaltbild.gif) a ver dónde están esas resistencias que me dices... y ahora lo veo claro.

Jaja, sin duda Sir Clive Sinclair era el puto amo ahorrando pasta XD. ¡Eso que ha hecho con las resistencias es una chapuza como una catedral! Que funcionar funciona, ojo, pero es una chapuza de cuidado. Entre otras cosas porque en determinadas situaciones puede forzar a los buses de la ULA, la CPU y las memorias a soltar corrientes de 10 mA por pin, lo cuál no es para nada común en un bus de este tipo (y de hecho no me extrañaría que tanto CPU como memorias se calienten en el Spectrum más que en otros sistemas menos chapuzas).
Título: Re: ZX Frogger
Publicado por: RiCCo en 10 Octubre 2012, 21:49:23
Las cosas que mas nos simplifican la vida en realidad son chapuzas. El sistema de refrigeracion de un frederico, en si es una chapuza, pero anda que no salen buenos de ahi los botellines!!! :D
Título: Re: ZX Frogger
Publicado por: Bubu en 10 Octubre 2012, 22:10:56
Cita de: \"doragasu\" post=29892

Bueno, como el diagrama ese que puse no me aclaraba las cosas, he buscado un esquema real (http://k1.dyndns.org/Vintage/Sinclair/82/Sinclair%20ZX%20Spectrum/Circuit%20Diagrams/ZX%20Spectrum%20Issue%202%20-%20Schaltbild.gif) a ver dónde están esas resistencias que me dices... y ahora lo veo claro.


Pero, torpedo, si ese mismo esquema fue el que te adjunté hace 6 mensajes, jiji, es el esquema que está en WoS.

Cita de: \"RiCCo\" post=29894

Las cosas que mas nos simplifican la vida en realidad son chapuzas. El sistema de refrigeracion de un frederico, en si es una chapuza, pero anda que no salen buenos de ahi los botellines!!!


¿Frederico? ¿Mande?
Título: Re: ZX Frogger
Publicado por: RiCCo en 11 Octubre 2012, 02:33:24
Tu nunca has escuchado a los mojinos escocíos, no??
Título: Re: ZX Frogger
Publicado por: Bubu en 11 Octubre 2012, 04:13:56
Qué va, tíu, jiji, los escuchaba al principio, cuando cogieron el testigo de Los Chanclas, y poco más. Ya he visto qué es eso de Federico, jiji (no Frederico!!)
Título: Re: ZX Frogger
Publicado por: doragasu en 11 Octubre 2012, 17:31:02
Bueno, pues volviendo al tema inicial :P parece que en efecto, cuantas menos cosas metas en los 16 KiB de memoria baja, mejor. Supongo que si metes datos a los que no accedas con mucha frecuencia (por ejemplo el marcador, cosas de los menuses, etc) pues no habrá problemas.
Título: Re: ZX Frogger
Publicado por: Bubu en 11 Octubre 2012, 22:18:38
Y si pa colmo meto escrituras o lecturas de la VRAM en esa zona, acabáramos, jiji.

EDITO: Me voy a acabar liando, jiji, teóricamente tardaría lo mismo un pograma en la RAM baja que escribiera en VRAM o que no escribiera en VRAM.

¿y si un pograma en RAM alta trata de escribir en VRAM, mientras la ULA está pintando? Pues mal rollito, ¿nor? Entiendo que por eso es mejor escribir en VRAM sólo durante las interrupciones, porque éstas se producen en el VBLANK y ahí la ULA deja libre la RAM baja, jiji.
Título: Re: ZX Frogger
Publicado por: doragasu en 12 Octubre 2012, 05:37:40
Las escrituras de RAM a RAM no se hacen directamente (porque el Spectrum no tiene controlador de DMA, si no me equivoco), así que en cualquier escritura de este tipo, primero la CPU lee el dato de la posición origen, y lo guarda en la posición destino.

Teniendo esto en cuenta, seguramente las escrituras de ram alta a ram baja serán más rápidas que las escrituras de ram baja a ram baja. La primera tiene 1 posibilidad de pillar a la ULA en plena faena (y ser por tanto demorada) y la segunda tiene 2 posibilidades de coincidir con la ULA.

En efecto en los tiempos de blanqueo, supongo que la ULA estará quietecita, dejando a la CPU disponer de toda la memoria. En general (y no sólo en el Spectrum), en cualquier plataforma que no disponga de doble buffer, siempre que se pueda lo mejor es escribir en la memoria de video en los periodos de blanqueo vertical, para evitar artefactos indeseables, como el molesto \"tearing\".
Título: Re: ZX Frogger
Publicado por: Bubu en 23 Noviembre 2012, 08:15:02
Bueno, cómo pasa el tiempo, jiji, y resulta que desde el 06/10/2012 no toco una sola línea de código, ¡¡¡pero hoy tengo una solución!!! Nu sé cómo no se me ha ocurrido antes...

La cosa está tal que así:

07:30 a 20:00 - Dedicado al trabajo (ducha, ir, trabajar, comer allí, trabajar más, volver)
20:00 a 21:00 - Jugar con niños
21:00 a 22:30 - Preparar cenas, cenar, recoger cena
22:30 a 23:00 - Acostar niños
23:00 a 00:00 ó 01:00 - Totalmente rendido, vagabundeo por intenné, sin ganas de pensar

Esta es la razón por la que no avanza el Zx Frogger.

Pero como decía antes, ¡¡¡he encontrado una solución, sin dejar de cumplir el calendario aquí expuesto!!

JAAAAARL

Tengo 1 hora pa comé, y lo hago en el trabajo (tapergüares y cosas de esas). En 10 minutos yo ya he calentao la comida y he comío. Pues bien, ¡¡en los 50 minutos restantes!!


¡¡¡¡ESO ES!!!!

Así que me estoy haciendo un RAR con tooodo lo que voy a necesitar en el ordeñador del curro (compilador, fuente, sonidos, gráficos) me lo envío al correo de allí, y... ¡¡A POGRAMAR!!


Espero que esta sea la solución, jiji, al menos no se me ocurre otra cosa...
Título: Re: ZX Frogger
Publicado por: RiCCo en 23 Noviembre 2012, 14:45:31
Y yo que pensaba que habias dado con la solucion para que \"la puta rana que no salta\" no se resbalara de los troncos encebados.

Hazlo multicarga ya!!!!!
Título: Re: ZX Frogger
Publicado por: doragasu en 23 Noviembre 2012, 16:26:20
Jeje, es duro intentar frikear siendo padre, sobretodo si tienes la molesta costumbre de intentar dormir alguna que otra horilla por las noches.

Ánimo, que ya te va faltando menos. Eso sí, igual en el curro te van a empezar a mirar raro :forever:
Título: Re: ZX Frogger
Publicado por: Bubu en 23 Noviembre 2012, 17:07:34
Cita de: \"RiCCo\" post=32063
Y yo que pensaba que habias dado con la solucion para que \"la puta rana que no salta\" no se resbalara de los troncos encebados.

Hazlo multicarga ya!!!!!


Multileches voy a hacer. ¡¡Eso es trampa!! Así se hace tamién un juego de la Play4 en Spectrum.


Cita de: \"doragasu\" post=32064
Jeje, es duro intentar frikear siendo padre, sobretodo si tienes la molesta costumbre de intentar dormir alguna que otra horilla por las noches.

Ánimo, que ya te va faltando menos. Eso sí, igual en el curro te van a empezar a mirar raro :forever:


Joer, qué fallo, leñe, a ver si va a ser por las 5 ó 6 horas que sobo, AJAJJAJA.
Y lo de que me van a mirar mal... hace años que me llaman \"el friki\", manda coxones.


Bueno, bueno, bueeeeno, ¡¡ya estoy instalando aquí el tema que te quema!!
Título: Re: ZX Frogger
Publicado por: RiCCo en 23 Noviembre 2012, 19:07:31
Cita de: \"Bubu\" post=32069
Bueno, bueno, bueeeeno, ¡¡ya estoy instalando aquí el tema que te quema!!

Ponte a trabajar, que es lo que tienes que hacer, y dejar ya la mierda de las maquinitas!!!! :D
Título: Re: ZX Frogger
Publicado por: Ivanzx en 24 Noviembre 2012, 01:28:58
Buena idea Bubu, asi seguro que el proyecto recibe un empujón ;)
Por cierto atento a mi blog...:-D
Título: Re: ZX Frogger
Publicado por: mentalthink en 24 Noviembre 2012, 04:58:49
Bubu una preguntilla cuanto llevas con el desarrollo de la rana?¿... en global, no me refiero ni parones ni nada, si no desde cuando generaste el primer fuente...

OJo que no es por medir el tiempo, simplemente es por curiosidad, porque como empezé mi juego hace también un montón de tiempo... no sé si empezamos más o menos a la par... ojo que no tiene nada que ver una cosa con la otra ni el tiempo que tiene Bubu con el mio...
mera curiosidad...
Título: Re: ZX Frogger
Publicado por: Bubu en 24 Noviembre 2012, 06:32:46
Cita de: \"RiCCo\" post=32074

Ponte a trabajar, que es lo que tienes que hacer, y dejar ya la mierda de las maquinitas!!!! :D


Pero mira que eres mala, ¿pos ne he dicho antes que lo iba a hacer en la hora que tengo pa comé, so víbora?

Cita de: \"Ivanzx\" post=32089
Buena idea Bubu, asi seguro que el proyecto recibe un empujón ;)
Por cierto atento a mi blog...:-D


¡¡Estaremos atentos!! Espero no aparecer en la lista del vaporware, AjAJAJjajAjA. No, en serio, esto es un proyesto personal que saldrá adelante, y me puse como fecha el RetroMadrid 2013. Una cosa tengo mu clara, jiji: \"CUANDO NO PUEDE SER, NO PUEDE SER, Y ADEMÁS...\"

Cita de: \"mentalthink\" post=32110
Bubu una preguntilla cuanto llevas con el desarrollo de la rana?¿... en global, no me refiero ni parones ni nada, si no desde cuando generaste el primer fuente...


¡¡Es que me da miedo acabar!!, ¡¡me gusta tanto pogramar el Zx Frogger!!
El primer fuente data del 12/08/2008. Lo único que hacía era pintal media pantalla de negro y media de azul. El segundo salta al 07/06/2009 y dibuja ya un coche (quieto) en pantalla, jiji. Después salta a agosto de 2009, y entre ese agosto y septiembre hago mucho avance. Y de ahí saltamos al 19/11/2009.

En total hasta la fecha he trabajado en el Frogger 75 días distintos, a una hora o dos por día.

Como veis, soy un pogramador de verano. Y es que teniendo la jornada que tengo como habéis visto es lo normal. Por eso estoy muy ilusionado con lo que se me ocurrió de desarrollar durante la hora de comer en el trabajo de lunes a jueves (los viernes como en casa, jiji). Tengo muuuuchas ganas de que llegue el lunes pa probar esto, jiji. Por fin algo me motiva pa ir al trabajo.
Título: Re: ZX Frogger
Publicado por: mentalthink en 24 Noviembre 2012, 07:24:23
Vaya pues me has dado un sorpreson, yo pensaba que lo habías empezado hará un añito o así... Joder pues ya llevas tu tiempo, aunque sea poco tiempo tocandolo... pero un proyecto largo largo...

Pues nada , metele \"viela\" y a ver si lo vemos en el 2013...
Título: Re: ZX Frogger
Publicado por: Bubu en 24 Noviembre 2012, 07:34:18
Pues sí, no tengo ninguna prisa como ves, jiji. Yo tengo muy claro en qué estado se encuentra la \"escena retro\". Algún día borracho lo contaré todo, AjAJAJAJJAjaJA!!

Y tú, ¿qué tal llevas tu magazine?
Título: Re: ZX Frogger
Publicado por: Bubu en 26 Noviembre 2012, 23:29:16
¡¡Estoy froggereando en estos momentos, JAjAJAJAja!!


¡¡CROACA!!
Título: Re: ZX Frogger
Publicado por: Raiders en 26 Noviembre 2012, 23:41:23
No te distraigas con el curro y dale caña a la ranita!!
Título: Re: ZX Frogger
Publicado por: RiCCo en 26 Noviembre 2012, 23:48:31
Pero ya sabes como terminar el juego o aun sigues dandole vueltas al ese problema que tenias con la rana??

Lo vas a hacer todo en la misma pantalla o vas a hacer scroll???
Que tal llevas lo de la serpiente??
Y lo de que no se caiga de los troncos??

Seria un puntazo que pudieras presentar el juego en el retromadrid que viene.
Título: Re: ZX Frogger
Publicado por: Bubu en 27 Noviembre 2012, 00:08:14
Yata. Too much short!!!

Esta tunait respondo, jiji.
Título: Re: ZX Frogger
Publicado por: Bubu en 27 Noviembre 2012, 23:20:10
Cita de: \"RiCCo\" post=32241
Pero ya sabes como terminar el juego o aun sigues dandole vueltas al ese problema que tenias con la rana??


Sí, eso ya lo pensé hace un tiempo. Cuando la rana llegue al río, la convierto en un sprite más como si fuera otro tronco que se pinta encima del tronco donde esté. En el río existirá \"clash attribute\" con lo que la rana se pondrá del color del objeto en el que se suba (cocodrilo, tronco o tortuga)

Cita de: \"RiCCo\" post=32241

Lo vas a hacer todo en la misma pantalla o vas a hacer scroll???


La carretera tendrá su pantalla, y se verá arriba sólo un cachito de río. Al llegar arriba, se hará un scroll hacia abajo, se mostrará el río entero y abajo sólo un cachito de carretera. Esto ya está implementado y funcionando.

Cita de: \"RiCCo\" post=32241

Que tal llevas lo de la serpiente??


Mal, jiji. La serpiente rompe todos mis esquemas, pero ya se me ocurrirá algo... P.ej. no ponerla, AJaJajJAJAJA,. No, en serio, ya se me ocurrirá algo. ;-)


Cita de: \"RiCCo\" post=32241

Y lo de que no se caiga de los troncos??


AJAJJAJAjajaja, qué c* En eso es con lo que estoy ahora mismo, haciendo que la rana se desplace a la misma velocidad del objeto sobre el que esté subida.

Cita de: \"RiCCo\" post=32241

Seria un puntazo que pudieras presentar el juego en el retromadrid que viene.


Pues es lo suyo, sí, y por cierto, ¿alguien sabe cuándo será (si hay) el RM 2013? Como sea el 03/01/2013 ¡¡voy listo, AjaJAjAJAJAJA!!
Título: Re: ZX Frogger
Publicado por: RiCCo en 27 Noviembre 2012, 23:45:26
Que te pasa el 3 de enero???

Normalmente, retromadrid ha sido entre marzo y mayo. Supomgo que aun es demasiado pronto para saber si volveran a organizarlo. Ojala lo hagan como el año pasado en matadero. Seria un puntazo
Título: Re: ZX Frogger
Publicado por: araubi en 28 Noviembre 2012, 01:05:41
Luego hasta podías hacer como los programadores de la época: hacer un port directo al MSX para que tengamos algo de lo que quejarnos  :brindar:

Mucho ánimo con esa rana, Bubu  :lol:
Título: Re: ZX Frogger
Publicado por: Ivanzx en 28 Noviembre 2012, 02:31:40
Pues la RM va a ser el 8, 9 y 10 de marzo, asi que te da tiempo Bubu!!! :kiss: XD
Título: Re: ZX Frogger
Publicado por: Bubu en 28 Noviembre 2012, 03:14:43
¡¡Ofú!!

Tenemos 20 días laborables por mes, así que 20 x 3 meses = 60 días laborables
Cada día laborable le echo 40 minutos, así que 60 x 40 = 40 horas

¡¡¡¡Me quedan 40 horas de desarrollo!!!!
Título: Re: ZX Frogger
Publicado por: RiCCo en 28 Noviembre 2012, 03:39:24
Tas tardando!!! :D
Título: Re: ZX Frogger
Publicado por: NekOkapi en 28 Noviembre 2012, 04:10:57
Y además tenemos el puente de diciembre, navidades. año nuevo, reyes, y Semana Santa por poco no toca.

Ya puedes decir a tus jefes que como buen ateo vas a currar en estas fiestas religiosas en señal de protesta y por el bien del ecosistema ranil.
:-D

Y si no, siempre te queda el SuperFrogger. Ya sabes, esa rana que no muere cuando se cae al agua, la atropellan... pase lo que le pase (por encima) ella sigue viva.  :P
Título: Re: ZX Frogger
Publicado por: Bubu en 28 Noviembre 2012, 23:16:48
AJAJajAjaJAjajaa, te intentaré hacer caso, aunque puestos así, como además de ateo soy afutbolero, no me voy a ir al trabajo cá vez que echen un partido, AJAJAJajja.


Bueno, me dejo de chácharas y... ¡¡A PICAR!! (Que ya he comío, jiji)
Título: Re: ZX Frogger
Publicado por: Bubu en 15 Diciembre 2012, 08:23:26
Minuto de juego y resultado: estas 2 semanas picando código (y sobre todo analizando mucho y pensando) en la hora de la comida he avanzado bastante. He rehecho al 100% el motor de desplazamiento de los coches y troncos. Antes trataba cada sprite por separado. Desplazaba un coche, y otro, y otro, y así. Ahora, la gestión la hago por cada fila. Desplazo una fila, y otra, y otra, y así. Esto se ha optimizado bastante, y se ha hecho gracias a que todos los sprites de una misma fila van a la misma velocidad y en la misma dirección.

Por otra parte he creado una nueva rutina de desplazamiento de sprites simples, y la puedo aplicar a la rana en el río, a las serpientes, y al castor, por lo que ya tengo todos los ingredientes para meterle mano a esto.

He probado a subir la rana a una tortuga y a un tronco, y la cosa va bastante fluida; estoy más que satisfecho con el resultado.

Me gustaría poneros un vidrio pa que vierais el resultado, pero para no hyperizar esto más (¡gracias por el concepto \"hyper\", RiCCo) no lo voy a hacer, jiji.

Lo que sí me queda por hacer y es bastante importante y complejo es el movimiento que de la rana en el tronco hace el usuario. Si estando en un tronco hacia la derecha el usuario mueve hacia la derecha, se tié que desplazar más rápido que el tronco. De eso no he pensado nada, pero tengo claro que es el único escollo que me queda. En cuanto lo resuelva el ZxFrogger ya está más que encaminado, jiji.


¡¡CROACA!!
Título: Re: ZX Frogger
Publicado por: MorbidMe en 15 Diciembre 2012, 08:39:42
Oye Buburana! ¿Has pensado en encuadernar este post y enviarlo a los compradores de la edición de coleccionista?
Título: Re: ZX Frogger
Publicado por: Bubu en 15 Diciembre 2012, 08:55:02
AJAjAjAjAjaja, es que nu sé si hacer algo físico o no.

¿Alguien estaría dispuesto a comprar esta cinta física, con su carátula y todo? ¿A cuánto?

(http://www.retrogamesshop.com/images/product_images/original_images/img_3210.jpg)
Título: Re: ZX Frogger
Publicado por: Robe_Inie en 15 Diciembre 2012, 08:56:22
Bubu, ¡ si lo sacas en formato físico yo quiero una copia ! Que de tanto seguir el hilo todos estos meses me estoy emocinando e hyperizando yo también jaja
Título: Re: ZX Frogger
Publicado por: Bubu en 15 Diciembre 2012, 09:13:34
Jarl, Robe_Inie, es que el poblema va a estar en que seguramente por hacer pocas copias no salga rentable. Nu sé, no estoy ponido en esto, jiji.

¿Alguien conoce el mundo Matra?

http://www.matranet.net/
Título: Re: ZX Frogger
Publicado por: Ivanzx en 15 Diciembre 2012, 09:37:48
Yo tambien compraría una copia ;)
Título: Re: ZX Frogger
Publicado por: RiCCo en 15 Diciembre 2012, 21:56:20
Te sorprenderia la de gente que compraria una version fisica del juego. En marzo te vienes conmigo a retromadrid y hablas con matra o la gente de retroworks, que tambien hacen formato fisico de juegos y les preguntas cuanto saldria una tirada de juegos en cassette.

YO TAMBIEN TE LO COMPRARIA (aunque espero que me lo regalaras antes  :trollface: )

Tu pon como en ebay. Edicion muy limitada a 500 copias, VERY RARE, VINTAGE. 300 euros cada unidad :D Gastos de envio aparte.
Título: Re: ZX Frogger
Publicado por: logaran en 15 Diciembre 2012, 22:33:36
¡ Aquí tienes otro comprador !
Y eso que no tengo Spectrum pero, la verdad, me haría muchísima ilusion volver a comprar un juego de Spectrum después de tantos años. También se lo podrías comentar a la gente de 1985 alternativo que te pillan cerquita :D
Título: Re: ZX Frogger
Publicado por: doragasu en 16 Diciembre 2012, 01:28:13
Yo no tengo ni he tenido nunca un Spectrum, pero... si cuando lo acabes, publicas los fuentes, ¡yo te compro otra!
Título: Re: ZX Frogger
Publicado por: Bubu en 19 Diciembre 2012, 00:52:47
¡olé!

Estoy contastando con los fabricantes de las cintas pa llenar RM2013 de ellas, JAjAjaJAJARL.

Y, señores y señoras, ranos y ranas, con todos ustedes...

http://img560.imageshack.us/img560/4909/fyxkqlitmrvftwutfwlszx.mp4
Título: Re: ZX Frogger
Publicado por: doragasu en 19 Diciembre 2012, 16:37:25
¡Se ve muy fluido, y ya con colisiones y todo!

¡Pobra rana espachurrada!

Parece que ya te queda poco :cheer:, deseando ver el río en movimiento :)
Título: Re: ZX Frogger
Publicado por: batuex en 19 Diciembre 2012, 17:14:51
Heeeeeeee muy bien!!

Parece el arcade!! recién se nota que es un spectrum cuando a la rana la reviénta el camión y se pone magenta jajaj

Muy bien logrados los gráficos ... y la melodía jeje
Felicitaciones

¡quiero jugarlooo!
Título: Re: ZX Frogger
Publicado por: Bubu en 19 Diciembre 2012, 17:18:31
Jorl, pues yo no veo el vídrio, se queda como congelao, y eso que uso Google Chrome con todos los plugins del mundo mundial
El río se mueve también igual de fluido, pero será un secretito y no lo enseñaré, AJajajajaJjAjAjAJaja  ¡¡qué malo soy!! ¡¡viva el mal, viva el capital!! AjajajajajaAAAAARL
Título: Re: ZX Frogger
Publicado por: batuex en 19 Diciembre 2012, 17:32:51
Daleeee poné un video del riooo

Rio!! Rio!!!   Me Río de Janeiro ooo
Título: Re: ZX Frogger
Publicado por: Bubu en 19 Diciembre 2012, 23:40:48
¡¡Este batuex, musicólogo y direstor de la orquesta filarmónica de Froggerlandia, qué grande!!

btw, ¿Alguien ve el vidrio que he puesto?
Título: Re: ZX Frogger
Publicado por: RiCCo en 20 Diciembre 2012, 00:44:49
Yo si, esta tela de chulo como un camion chafa a la ranita. Tengo ganas de ver la parte del rio.
Título: Re: ZX Frogger
Publicado por: Ivanzx en 20 Diciembre 2012, 04:45:08
Cita de: \"Bubu\" post=33622
¡¡Este batuex, musicólogo y direstor de la orquesta filarmónica de Froggerlandia, qué grande!!

btw, ¿Alguien ve el vidrio que he puesto?


A mi no me va, lo probé ayer y se me quedaba la pantalla congelada, pero es que no tengo el quick time player, creo    :S
Título: Re: ZX Frogger
Publicado por: Raiders en 20 Diciembre 2012, 04:56:48
Yo si veo el vídeo! Croack!
Título: Re: ZX Frogger
Publicado por: Bubu en 20 Diciembre 2012, 08:04:57
Es que lo intenté subir al YT, pero se me quedó bloqueado en el 0% cerca de media hora.
Título: Re: ZX Frogger
Publicado por: Robe_Inie en 20 Diciembre 2012, 08:12:31
¡¡ Bubu maestro !! Qué bueno, es fiel al arcade hasta en la pantalla de presentación. Eso se mueve muy pero que muy bien, queremos más videos jej

Bravo también por el músico  :silly:
Título: Re: ZX Frogger
Publicado por: batuex en 20 Diciembre 2012, 09:40:16
Sí Bubu, se ve bien el video (el enlace a imageshack)
Esperemos que las nuevas generaciones, al mencionar aquél clásico juego de la rana no piensen en Zuma Deluxe.

pd: pon un video del rio ya!!
Título: Re: ZX Frogger
Publicado por: Ivanzx en 20 Diciembre 2012, 18:28:24
Bubu, como puedo contactarte por privado? :disimulo:
Título: Re: ZX Frogger
Publicado por: Bubu en 20 Diciembre 2012, 20:42:33
op.1: Si tienes FB, dime cómo buscarte y te mando un privado por allí
op.2: Si tienes correo, dime el correo y te mando un correo
op.3: Por señales de humo, jiji
Título: Re: ZX Frogger
Publicado por: Ivanzx en 20 Diciembre 2012, 20:56:05
Tienes cuenta aun en Speccy.org en los foros o en zonadepruebas? Te puedo mandar un privado por ahi :)
Título: Re: ZX Frogger
Publicado por: mentalthink en 20 Diciembre 2012, 21:36:13
Hombre yo compraria la cinta original por supuesto (La tapa anda por aquí ;))... Yo siempre he pensado que si sacará algo para máquinas de 8 bits o quizas en 16 bits lo sacaría al equivalente a 875 pts, por eso de no perder las buenas costumbres...  :P , pero bueno eso cada cual... Yo he visto en ebay, pilas duracell por 1.000.000 de Euros  :woohoo:  , o sea que eso es cosa del desarrollador...  :brindar:
Título: Re: ZX Frogger
Publicado por: Bubu en 20 Diciembre 2012, 23:19:41
Cita de: \"Ivanzx\" post=33680
Tienes cuenta aun en Speccy.org en los foros o en zonadepruebas? Te puedo mandar un privado por ahi :)


Qué va, en ninguno de los dos... La cosa está en comunicarnos sin publicar nuestros correos...
¿No existe alguna página web en la que uno entra, le da a obtener ID, le dan un ID, se lo dice públicamente al otro, el otro se mete en esa web, pone el ID, y se comunican ambos?
Título: Re: ZX Frogger
Publicado por: Bubu en 20 Diciembre 2012, 23:22:04
Cita de: \"mentalthink\" post=33682
Hombre yo compraria la cinta original por supuesto (La tapa anda por aquí ;))... Yo siempre he pensado que si sacará algo para máquinas de 8 bits o quizas en 16 bits lo sacaría al equivalente a 875 pts, por eso de no perder las buenas costumbres...  :P , pero bueno eso cada cual... Yo he visto en ebay, pilas duracell por 1.000.000 de Euros  :woohoo:  , o sea que eso es cosa del desarrollador...  :brindar:


¡Hey, el sr. art designer! Tengo que hablar contigo para ir cerrando el tema que quema, jejeje. Respecto al precio, 875 pesetas era cuando una cinta costaba 100 pesetas, jAjajAja, ahora una cinta virgen vale eso, 875 pesetas. El precio lo pone el fabricante, que no creo que exceda los 10 pavos, ya iré viendo...
Título: Re: ZX Frogger
Publicado por: Ivanzx en 21 Diciembre 2012, 07:07:33
:)

Ya te comento si ha salido bien el tema :D
Título: Re: ZX Frogger
Publicado por: mentalthink en 21 Diciembre 2012, 10:44:58
Citar
¡Hey, el sr. art designer! Tengo que hablar contigo para ir cerrando el tema que quema, jejeje. Respecto al precio, 875 pesetas era cuando una cinta costaba 100 pesetas, jAjajAja, ahora una cinta virgen vale eso, 875 pesetas. El precio lo pone el fabricante, que no creo que exceda los 10 pavos, ya iré viendo...


Pues nada ya me dirás, mirate si tienes lo ficheros porque yo si que no sé donde los tengo, a no ser que estén en el disco USB... (temas de follones con el PC)

joder pues lo de los cassetes no lo arregla ni el de formula V, 10€ un cassete debera llevar la cinta de oro por lo menos... lo que tienes que hacer te vas a una tienda de los chinos y por 10€ te traes 1.000.000 de cintas al menos  :-D  :-D  :D
Título: Re: ZX Frogger
Publicado por: Bubu en 21 Diciembre 2012, 17:06:14
Ivanzx, tras contactar con en criptólogo, ya más o menos hemos dado con tu correo. Te he enviado algo, a ver si lo tienes, jiji. Puedes eliminar las pistas ;-)

mentalthink, lo de los chinos no había yo caído, pero ten en cuén que no sólo es cinta. Está la carátula y la impresión en la carcasa de la cinta. Me lo haré ver, jiji.

Cheers!!
Título: Re: ZX Frogger
Publicado por: mentalthink en 21 Diciembre 2012, 22:51:21
No hombre bubu te lo decia en coña, aunque ahora que caígo, quizás en empresas como deal extreme y demás encuentres, en china creo que aún se usa el cassete al igual que en otras partes del globo, lo que pasa que por leyes Europeas la barrieron del medio, no era nada ni de tecnologia ni nada, para que compres...

Sobre le tema de impresión.. eso yo lo veo el menos de los problemas, piensa en temas de copisteria, a parte online tienes un montón y son más bartas... con que elijas un papel sencillo, cuanto menos pese y menos historia de brillos y cosas tenga, menos te costará, pero ya verás que no es excesivamente caro... Yo recuerdo ya hace años que hice unas cuantas copias en papel bueno y no me salio muy caro...

Y a las malas, compras papel de foto, que un chorron de hojas valen 2 o 3 € y las imprimes, aunque la tinta es lo malo, pero ya te digo que yo me hice unos panfletos de propaganda y quedaban la mar de bien, bastante profesional...

Es lo de siempre mirar y mirar...
Título: Re:ZX Frogger
Publicado por: Bubu en 07 Enero 2013, 00:22:17
(http://www.laughnessmonster.com/wp-content/uploads/2012/12/Hoppy-New-Year.jpg)
Título: Re:ZX Frogger
Publicado por: mentalthink en 12 Enero 2013, 02:41:32
Ya me dirás bubu, que como entro de higos a peras... Por cierto tiene el foro ahora MP...?¿
Título: Re:ZX Frogger
Publicado por: Bubu en 12 Enero 2013, 03:26:03
¡Yeah, habemus MP! ¿Andandabas?
Título: Re:ZX Frogger
Publicado por: Bubu en 15 Enero 2013, 15:42:05
Torpedos, sus pongo un vidrio que filmó el logaran, para que veais más o menos la pinta que va teniendo, jiji:

https://www.youtube.com/watch?v=M0h9q8-STck

Título: Re:ZX Frogger
Publicado por: Bubu en 15 Enero 2013, 15:43:45
Por otra parte deciros que cuando esté acabado (¡sí, algún día estará acabado!) se pondrá a la venta en formato físico (cinta con su carátula) para goce, disfrute y coleccionismo de todos, ya que este Frogger será el primero de una colección ;-)

Título: Re:ZX Frogger
Publicado por: flopping en 15 Enero 2013, 16:24:57
Acabo de ver el video y la verdad es que pinta muy bien ese juego, la velocidad es muy elevada, quizá demasiado si el control no es muy preciso, pero bueno eso ya lo veras mas adelante, me ha gustado mucho el tema de que solo ves la parte de la pantalla en la que estas jugando, y que el río apareA cuando llegas a el, ademas recordemos que el frogger es un juego en pantalla vertical y hacerlo en una pantalla horizontal habría perdido muchísimo, así es mas original, ahora a ver como sigues, jajajaja..

Por cierto muy bueno el spectrum portátil, así puedes ir con tu trabajo a cualquier parte, hombre l mismo se podría hacer con un portátil y un emulador, pero como que no es lo mismo, jajajajaja....  Ya tengo ganas de poder probar alguna beta o demo, si algún día la pones a disposición, ya sabes, pues a mi también me encanta el frogger, y bueno, ya sabes el siguiente, el pacman, el space invades, etc....así tendremos la colección completa, jejejejeje.... muy buen trabajo y sigue así que vas muy bien, salu2.
Título: Re:ZX Frogger
Publicado por: Bubu en 15 Enero 2013, 21:36:28
La velocidad ahora mismo es alta, pero lo tengo así para ver hasta dónde puedo llegar. Realmente en el vidrio sale la 1ª fase la cual en realidad es mucho más lenta, tengo que ir parametrizando las fases, jiji.

El Spectrum portátil me lo llevé para enseñarlo, más que para enseñar el Frogger, jiji, pero así si enseño el Frogger en el Spectrum portátil mataba 2 pájaros de un tiro, y además seguro que si se lo enseño en un portátil con Window$ estos de Málaga se creerían que era un PogüerPoint en vez del juego de verdura, jiji.
Título: Re:ZX Frogger
Publicado por: Robe_Inie en 15 Enero 2013, 23:00:27
se pondrá a la venta en formato físico (cinta con su carátula) para goce, disfrute y coleccionismo de todos, ya que este Frogger será el primero de una colección ;-)
¿¿ BUBUSOFT ?? ;)
Título: Re:ZX Frogger
Publicado por: mentalthink en 15 Enero 2013, 23:48:03
Ostia bubu, pues rápido y que suave va el juego, te está quedando o te ha qedaó de lujo... Ya me dirás... lo de la tapa... que creo que lo debo de tener?¿  :o la question es dónde... Espero no haberlo tronchao.
Título: Re:ZX Frogger
Publicado por: Bubu en 16 Enero 2013, 09:19:24
¿¿ BUBUSOFT ?? ;)

jiji, pues mira, no suena mal :-DD
El fabricante y distribuidor lo hará una empresa que se dedica a ello ;-)


Ostia bubu, pues rápido y que suave va el juego, te está quedando o te ha qedaó de lujo...

Gracias, gracias, pero es me está quedando (aún), jiji, que aún me estoy comiendo la cabeza para que el juego quepa en 48 KB.

Ya me dirás... lo de la tapa... que creo que lo debo de tener?¿  :o la question es dónde... Espero no haberlo tronchao.

mentalthink, lo último creo recordar fue que me enviaste el tema, modifiqué algunas chorraíllas (creo que del lomo) y te lo reenvié por correo. ¿No lo tienes? De todas formas hace medio año o así cambié de correo, te lo paso por M.P.
Título: Re:ZX Frogger
Publicado por: mentalthink en 16 Enero 2013, 17:47:57
Ya está bubu ya lo he visto, y te he respondido... Ya lo vamos matizando el tema por mail...

Saludetes!!!
Título: Re:ZX Frogger
Publicado por: Ivanzx en 17 Enero 2013, 12:13:05
Bubu, le pondras final al juego? Me refiero si habra un final al superar todos los niveles. Es que los juegos sin final me dan un coraje que  >:(
Aunque esto es muy personal, pero bueno, a ver si cuela y te parece bien  ::)
Título: Re:ZX Frogger
Publicado por: RiCCo en 17 Enero 2013, 14:57:12
Hombre, la cosa es que sea fiel a la version original, y eso de final para el frogger muy fiel no es que sea
Título: Re:ZX Frogger
Publicado por: Bubu en 17 Enero 2013, 15:21:58
Efestivamente, estoy obsesionado con una copia lo más fiel posible al arcade original. Otro usuario, creo que toniman me pidió que le pusiera al juego un PAUSE, pero digo lo mismo.
Incluso para jugar hay que pulsar el 5 para echar moneda, jiji.
Título: Re:ZX Frogger
Publicado por: davebizarro en 18 Enero 2013, 15:28:44
nah!! los verdaderos machotes no usan pause!!
por cierto pedazo de curro, desde luego es para probarlo en un spectrum real, en un emulador es como no probarlo.
Título: Re:ZX Frogger
Publicado por: Bubu en 21 Enero 2013, 15:28:56
Es que es eso, me encanta verlo funcionar en un Spectrum real porque sé que el Z80 está ¡¡a tope moviendo "sprites"!! AJAJjAjAjajajA
Título: Re:ZX Frogger
Publicado por: Robe_Inie en 21 Enero 2013, 23:34:31
Bubu, ya sabes que soy un seguidor de este hilo y de tu juego .. jejeje
¿¿ para Retromadrid tendrás la edición física para vender ?? ^^

Está quedando igual que el arcade... hasta hay que echar moneda jaja
Título: Re:ZX Frogger
Publicado por: RiCCo en 22 Enero 2013, 07:36:36
Yo para el Retromadrid no lo veo. Ultimamente veo a Bubu super saturado con su trabajo y la familia y no tiene tiempo pa' ná. Le he dicho que se lleve la demo para el retromadrid pero es tan sibarita que hasta que no lo tenga terminado, no lo presentará, seguro (lo conozco como si lo hubiera parido :D)
Título: Re:ZX Frogger
Publicado por: Bubu en 22 Enero 2013, 15:26:08
Yo tamién lo conozco, y efestivamente...
Título: Re:ZX Frogger
Publicado por: Neil Parsons en 23 Enero 2013, 02:13:43
Me ha entrado un antojo de ancas de rana tras ver el video... te está quedando de rechupete, Bubu.  ;D
Título: Re:ZX Frogger
Publicado por: Bubu en 23 Enero 2013, 15:32:34
AJaJjajajajaa


(http://images.paraorkut.com/img/pics/glitters/t/thank_you-7950.gif)
Título: Re:ZX Frogger
Publicado por: Ivanzx en 24 Enero 2013, 10:33:10
Por cierto, Bubu, uno de tus siguientes proyectos, no sera este, no??

http://www.youtube.com/watch?v=yCTEVSD_iug

 :)
Título: Re:ZX Frogger
Publicado por: Bubu en 24 Enero 2013, 15:18:38
Ummm... vamos a ver si acabo antes algún día éste de la ranita, porque si no...
¿Por qué dices lo del anteater? La verdad es que es un juego bastante rarillo, lo he jugado alguna vez y no consigo hacerme con el control.
Título: Re:ZX Frogger
Publicado por: Ivanzx en 24 Enero 2013, 16:39:04
 ;D porque es uno de los que jugaba en mi infancia y le tengo muy buen recuerdo, aparte pica bastante cuando te haces con la mecanica y el control, y al ser una de las recreativas primitivas  ::) es sencilla, en teoria de convertir  :)
Título: Re:ZX Frogger
Publicado por: Neil Parsons en 25 Enero 2013, 18:54:32
Como adaptación del Ant Eater ya está el "Freddy" que publicaron los de Microhobby, y además mayormente en BASIC...   ;D

(http://proyectobasiczx.files.wordpress.com/2010/10/freddy.gif)

http://proyectobasiczx.wordpress.com/revistas/microhobby/141-160/mh-148/
Título: Re:ZX Frogger
Publicado por: Bubu en 07 Febrero 2013, 15:57:53
Bueno, torpedos, treinta y once años endespués... ¡¡ya se sube la rana a las tortugas, AAjajAjAjAJ!!

Lo acabo de conseguir. Ahora mismo lo estoy viendo. Por finnnnn...

Todavía queda mucho por recorrer (que se vaya coloreando de verde por donde la rana vaya desplazándose, que se ahogue, que llegue a las casetas de arriba, etc, etc, etc..) pero esto ha sido muy emocionante y me va dar ánimos para seguir, jiji. Para conseguirlo he tenido que reescribir rutinas fundamentales totalmente de nuevo, como p.ej. las rutinas de desplazamiento de sprites.

Efestivamente esto no va a estar para RM2013 (esperaba que fuera a mediados de mayo, como el año pasado) así que le doy permiso a Ivanzx para que lo considere vaporware, jiji.

Es bromuro, torpedo, como ves, es vaporcilloware solamente, jiji, pero es que las ollas que emanan vapor es porque algo rico se está cociendo dentro dentro, jiji, y a fuego lento.... mmmmmm...

Bueno, ¡¡a seguir!!

¡¡CROACA!!
Título: Re:ZX Frogger
Publicado por: RiCCo en 07 Febrero 2013, 19:33:49
Me alegro un monton tio. No veo el dia en que lo termines, pero ese dia, lo disfrutare jugando, tanto como tu haciendolo,  por todo el trabajo que estas haciendo.
Título: Re:ZX Frogger
Publicado por: telekita en 07 Febrero 2013, 22:57:08
jaip jaip

enhorabuena bubu un pasito menos
Título: Re:ZX Frogger
Publicado por: Bubu en 08 Febrero 2013, 18:57:26
Cheers!!

Lo del río no voy a poner afotos ni vidrios porque es un secreto, jiji, pero va teniendo ya una pinta curiosa ;-)
Título: Re:ZX Frogger
Publicado por: Bubu en 18 Febrero 2013, 01:36:31
IvanZx, se me ha ocurrido acuñar un nuevo palabro: SLOWARE, jiji. Y ahí si estaría catalogado este Frogger.
Título: Re:ZX Frogger
Publicado por: Ivanzx en 18 Febrero 2013, 12:11:44
IvanZx, se me ha ocurrido acuñar un nuevo palabro: SLOWARE, jiji. Y ahí si estaría catalogado este Frogger.

Jajaja, sera el siguiente articulo de opinion del Rincon del Spectrum  ;D

Animo con el juego!
Título: Re:ZX Frogger
Publicado por: Bubu en 21 Febrero 2013, 15:53:44
¡Gracias!

Pues nada, sólo un pequeño comentario por deciros la frikada con la que estoy ahora pispo, jiji: desplazando por el río el color de la rana. Sí, torpedos, ya desplazo la rana, ¡¡y ahora tengo que desplazar el color de la rana, AJAjAJJA!! Es lo que tiene pogramar para un ordeñador sin gestión de sprites, ¡¡¡mmmmmmmmmmmmmmmencantaaa!!!

Por cierto, que voy a anotar aquí para yo tenerlo presente algo que ya vimos hace un tiempo, pero con lo que siempre me acabo liando, jiji:

Código: [Seleccionar]
ld a, A
sub B
jp p, (si A>=B)
jp m, (si A<B)


¡¡CROACA!!
Título: Re:ZX Frogger
Publicado por: Bubu en 19 Marzo 2013, 16:12:14
¡Hola, torpedos! Estoy ahora con el registro de la puntuación en la tabla de récords. Tengo una pequeña duda y me gustaría que me dieseis opinión. Para saber si la puntuación, que es de 16 bits, es mayor o menor que una puntuación en la tabla de récords, necesito saber cómo comparar 2 números de 16 bits.

Así las cosas, tengo en HL la puntuación del jugador (p.ej. 20000), y en DE el récord (p.ej. 15000). ¿Cómo puedo saber si HL >= DE, o HL < DE?

Había pensado en hacer 2 comparaciones, primero comparo H y D, y si son iguales, entonces comparo L y E. Esto sería válido, ¿nor?

Así las cosas:

Código: [Seleccionar]
LD A, H
SUB D
JP M, (si HL<DE. Se acabó el proceso)
JP Z, (si H = D. Hay que comparar L con E)
(aquí HL>DE. Se acabó el proceso)

Yo lo veoo un poco complejillo, ¿habrá algún truqui por ahí que mesescape y que pueda usar mejor pa comparar 2 números de 16 bits?
Título: Re:ZX Frogger
Publicado por: Bubu en 19 Marzo 2013, 16:58:59
¿Alguien sabe si sería más mejón hacer una resta de 16  bits del tirón, en vez de 2 comparaciones de 8 bits? Me refiero algo tal que así:

Código: [Seleccionar]
SBC HL, DE
Título: Re:ZX Frogger
Publicado por: Bubu en 19 Marzo 2013, 17:25:34
Estoy catando esto del SBC y me estoy liando entera:

Código: [Seleccionar]
; Comprobación HL > DE
CCF
SBC HL, DE
JP P, (si hl >= de)
JP M, (si hl <  de)

Pues nada, no me carbura. Si HL=10 y DE=10 me dice que HL<DE.
Además, si HL=65535 y DE=0 me dice también que HL<DE.
Vaya jaleo...
Título: Re:ZX Frogger
Publicado por: Bubu en 19 Marzo 2013, 18:47:57
Bueno, ocurre que SBC es resta con signo, así que se comporta de diferente maneras para números mayores que 32767 y cosas así...
Pero a ver qué tal esto:

Código: [Seleccionar]
cp16bits:
 ; Subrutina que compara 2 números de 16 bits
 
 ; Entrada:
 ; HL: número1
 ; DE: número2
 
 ; Salida:
 ; flag NC si HL>=DE
 ; flag  C si HL< DE
 ; flag  Z si HL= DE
 
 ld a, h
 cp d
 ret nz
 ld a, l
 cp e
 ret

¿Funcionará?
Título: Re:ZX Frogger
Publicado por: Bubu en 19 Marzo 2013, 18:52:27
¡¡FUNCIONA!!
Título: Re:ZX Frogger
Publicado por: araubi en 19 Marzo 2013, 19:07:03
¡Enhorabuena!  ;D
Título: Re:ZX Frogger
Publicado por: Bubu en 19 Marzo 2013, 19:45:48
AJajjaajja, gracias, araubi. Y además, ya está hecha la subrutina para la gestión de récords. Si el jugador supera uno de los 5 récords, queda registrado en la tabla desplazando los récords inferiores hacia abajo, jiji. Eso sí, como sabéis, en el Frogger no se pone nombre, una pena, pero al ser esto un simulador 100% (o casi, jiji) fiel, pues tampoco le voy a poner lo del nombre.
Título: Re:ZX Frogger
Publicado por: Bubu en 19 Marzo 2013, 23:36:10
Torpedos, una pregunta que me tiene janderizado (MetalBrain, si estás por aqui esto es para ti): ¿cómo se pué ampliar un sprite dibujado con SevenuP?

Al iniciar un sprite, le tengo que decir el tamaño, p.ej. 32x16. Me pongo a dibujarlo. Y mientras dibujo, me doy cuén de que me hace falta ampliarlo, 8 píxeles más de ancho. ¡¡Pues nu sé hacerlo!! Tengo que tirar el dibujo y volver a hacerlo...
Título: Re:ZX Frogger
Publicado por: doragasu en 20 Marzo 2013, 11:10:01
Veo que el problema ya está resuelto, así que esto es por molestar más que nada. Aún así, vamos con la matraca. En el Z80, el bit de más peso no tiene por qué usarse para el signo, así que lo que comentas de que tienes problemas con números mayores de 7FFFH no debería de ser así. Lo que comentas del bit de mayor peso para el signo, es para las restas en lenguaje C cuando usas tipos de datos con signo (por ejemplo int o char). Pero en lenguaje de ensamble, nada de eso. Con lo que sí que tienes que tener cuidadín es que antes de hacer la resta, tienes que asegurarte de que el bit de acarreo sea 0. Si no lo haces, al resultado de la resta, se le sustraerá un '1' adicional (es decir, que si haces 4 - 2 con el acarreo a 1, el resultado será 1 en lugar del valor correcto 2. Por último, tras hacer la resta, para saber qué número era mayor, el flag que tienes que mirar es el de acarreo.

Sobre qué opción es más rápida, si una resta de 16 bits o 2 comparaciones de 8, depende de la casuística. Seguramente sea más rápido una resta de 16 bits que 2 comparaciones de 8, pero se da la circunstancia de que probablemente la mayoría de las veces sólo necesites hacer una de las 2 comparaciones, y esto será más rápido que la resta de 16 bits.

Por otro lado, hacer subrutinas con tan poco código como el de la comparación que has puesto, funcionar funciona, pero es MUY LENTO, porque las instrucciones CALL y RET suelen consumir bastantes ciclos (no he mirado concretamente en el Z80, pero a menudo las instrucciones de salto son de las más costosas, sobretodo en arquitecturas con pipeline). Si tienes que hacer muchas comparaciones, yo lo desaconsejaría. Siempre y cuando una rutina tenga poco código, es siempre más óptimo convertirla en una macro.
Título: Re:ZX Frogger
Publicado por: Bubu en 20 Marzo 2013, 15:23:09
Pues nu sé... el ejemplo que me hice no me funcionaba. Hacía algo tal que así:

Código: [Seleccionar]
CCF
SBC HL, DE

uséase, primero limpio el carry flag con CCF, y aluego hago la resta. Y pa números grandes se comportaba al contrario que pa números pequeños.

Respecto al tema de la lentitud con CALL, para el Frogger no me preocupa ya que sólo lo uso cuando el jugador finaliza la partida y hay que mirar si su puntuación se registra en la tabla de récords. Si lo tuviera que utilizar en mitad de un proceso continuo, entóns sí que haría la macro.

Gracias, doragasu, por tu observación.
Título: Re:ZX Frogger
Publicado por: Bubu en 20 Marzo 2013, 15:31:23
Y a continuación, una chorraílla que hi encontrao por ahí, pero que responde a una pregunta que me hacen muchas veces, jiji:

(http://arcadeafterdark.com/images/what%20theyre%20thinking%20frogger.jpg)
Título: Re:ZX Frogger
Publicado por: doragasu en 20 Marzo 2013, 17:02:13
Pues nu sé... el ejemplo que me hice no me funcionaba. Hacía algo tal que así:

Código: [Seleccionar]
CCF
SBC HL, DE

uséase, primero limpio el carry flag con CCF, y aluego hago la resta. Y pa números grandes se comportaba al contrario que pa números pequeños.

¡OJO!, CCF no pone a 0 el bit de acarreo, sino que lo complementa (usease, que lo invierte). Así que la secuencia correcta sería:

Código: [Seleccionar]
SCF
CCF
SBC HL, DE

O si nos ponemos un poco más creativos, podría ser más óptimo por ejemplo:

Código: [Seleccionar]
AND A
SBC HL, DE

Aparte de esto, la clave está en que después de hacer la resta, ¿cómo determinas cuál de los números es el mayor? Debería hacerse comparando con el flag de acarreo. Si está a 1, entonces DE es mayor que HL. Si está a 0, entonces HL es mayor, o bien ambos números son iguales.
Título: Re:ZX Frogger
Publicado por: Bubu en 20 Marzo 2013, 17:57:17
¡¡¡Cooooñe, CCF invierte el flag¿?¿?¿!!!

AJjaJAjajaja, ¡¡yo creía que CCF sisnificaba Clear Carry Flag!! Ya me vale...
Pues ese era mi error, ajajajaJaJ, mandan coxones.
Ay... ay...
Título: Re:ZX Frogger
Publicado por: Bubu en 26 Marzo 2013, 00:30:25
Torpedos, una duda pseudo paranoica: los coches de la 2ª fila empezando por abajo, ¿tienen un efesto de movimiento de las ruedas, o son totalmente estáticas?

[attach=1]

Lo digo porque jugando a la versión en la Atari 2600 me ha parecido ver cómo las rayitas blancas y rojas de las ruedas se alternaban, dando así la sensación de movimiento. En cambio en el MAME no lo noto...
Título: Re:ZX Frogger
Publicado por: RiCCo en 26 Marzo 2013, 07:13:03
Mejor, tapate los ojos y haces como que no se mueven, porque si no, te las vas a ver put apuradas para programar ese movimiento :D
Título: Re:ZX Frogger
Publicado por: Bubu en 26 Marzo 2013, 23:21:57
JAjaJAjAa, no, no va a ser tan difícil. Cada sprite lo tengo dibujado en memoria 8 veces (desplazado 1 pixel cada vez). Así las cosas, dibujaría un frame del coche, aluego otro frame con la rueda invertida, el siguiente frame con la rueda normal, el siguién con la rueda invertida, etc.

Pero me gustaría saber si esto ocurre o no en la placa original.
Título: Re:ZX Frogger
Publicado por: RiCCo en 27 Marzo 2013, 07:01:09
Tu tienes la placa original, no?? Pinchala y ves como va. De todas formas, mira que has jugado veces al frogger en mame, y nunca te has fijado en eso??

En la version de Atari 2600 programada por Sega si se ve movimiento
https://www.youtube.com/watch?v=YT0-HyznXdk (https://www.youtube.com/watch?v=YT0-HyznXdk)

Pero en la version arcade no veo que se muevan
https://www.youtube.com/watch?v=u23kf-XBack (https://www.youtube.com/watch?v=u23kf-XBack)

Hombre, si no supone mucho el ponerle movimiento, podrias hacerlo, aunque ya no seria como la original y puestos a modificar el original, podrias ponerle boton de pausa :D
Título: Re:ZX Frogger
Publicado por: Bubu en 28 Marzo 2013, 00:38:05
¿Pausa? JAAAARL, ¡¡andevá!!

Pues ya sé lo que voy a hacer para averiguar el tema de la rueda, entrar en las entrañas del Frogger original (MAME) y ver los gráficos que están en memoria, y ahí veré si hay una sola versión de la rueda, o dos, jiji.
Título: Re:ZX Frogger
Publicado por: Metalbrain en 31 Marzo 2013, 13:42:10
Torpedos, una pregunta que me tiene janderizado (MetalBrain, si estás por aqui esto es para ti): ¿cómo se pué ampliar un sprite dibujado con SevenuP?

Al iniciar un sprite, le tengo que decir el tamaño, p.ej. 32x16. Me pongo a dibujarlo. Y mientras dibujo, me doy cuén de que me hace falta ampliarlo, 8 píxeles más de ancho. ¡¡Pues nu sé hacerlo!! Tengo que tirar el dibujo y volver a hacerlo...

La verdad es que me paso muy de higos a brevas... es cierto que no se puede variar el tamaño de un gráfico, pero tampoco tienes que hacerlo de nuevo desde 0. Puedes crear el nuevo gráfico, ir al antiguo, darle a CTRL+C para copiar, ir al nuevo, darle a CTRL+V y pinchar sobre el pixel de la esquina izquierda para pegar. Y si el gráfico tenía máscara, repetir la operación viendo la máscara para copiar también la máscara, ya que solo se copia una cosa al mismo tiempo.
Título: Re:ZX Frogger
Publicado por: Bubu en 31 Marzo 2013, 13:59:59
Efestivamente me di cuén a los pocos días de eso. Abriendo una nueva sesión de SevenuP, abro ahí el nuevo lienzo ampliado, y copio en el dibujo antiguo y pego en el nuevo. ¡¡Yeah!!

Además, otra cosa que me di cuén y que me era muy necesaria es lo de crear sprites animados. Yo lo hacía de 1 en 1: creaba 1 sprite, lo exportaba a bin. Ahora borraba el dibujo, creaba el siguiente frame, lo exportaba a bin... ¡¡Así 8 veces!! Y una vez generados los 8 sprites, con un COPY de MSDOS lo pegaba todo en un solo archivo bin. Cada tronco, cada rana, cada tortuga... AjAJJAjaa. ¡¡Y ahora me doy cuén de que el SevenuP trae gestión de sprites animados!! Uséase, que permite memorizar los 8 sprites por separado sin tener que exportarlos 1 a 1, pudiendo exportar los 8 a la vez... Ay...

¡Gracias, Metalbrain!
Título: Re:ZX Frogger
Publicado por: Ivanzx en 30 Diciembre 2013, 00:58:00
Bubu, como va la cosa??!!!
Título: Re:ZX Frogger
Publicado por: Bubu en 30 Diciembre 2013, 17:04:52
Pues mira, noticias grandiosas: el 31/12/2013 me quedo en paro, y me podré dedicar a lo que me gusta, entre otras cosas al Zx Frogger ;-)
Título: Re:ZX Frogger
Publicado por: araubi en 30 Diciembre 2013, 17:17:57
Pues si es por ese motivo hubiese preferido que siguieses sin tiempo para el ZX Frogger. Lo siento, Bubu  :-\
Título: Re:ZX Frogger
Publicado por: Bubu en 30 Diciembre 2013, 19:24:39
Nah...
Título: Re:ZX Frogger
Publicado por: Ivanzx en 30 Diciembre 2013, 19:43:32
Nah...

Ostias, pues lo siento Bubu, espero que pronto encuentres algo, y mejor :)
Título: Re:ZX Frogger
Publicado por: Tordek en 31 Diciembre 2013, 08:36:35
Bubu,
estas vacaciones he estado en Berlín y allí encontré una cosa curiosa que me hizo pensar en ti xDDD
A ver si puedo colgar el video en youtube y te lo enseño.

Lo encontré en el museo del PC de Berlín (imagino que más o menos sabes por donde van los tiros).

Animo!!!
Título: Re:ZX Frogger
Publicado por: Bubu en 31 Diciembre 2013, 21:11:08
Muchísimas gracias, Tordek, la verdad es que nu me imagino para nada qué puede ser... ¡¡me has dejado con la duda hasta el año que viene, JAAAAARL!!
Título: Re:ZX Frogger
Publicado por: Tordek en 02 Enero 2014, 09:36:37
https://www.youtube.com/watch?v=B43uinkXMpw&feature=youtube_gdata_player (https://www.youtube.com/watch?v=B43uinkXMpw&feature=youtube_gdata_player)

A ver si lo he hecho bien jejejejeje.

Un saludo a todos!

PD: soy muy malo, lo sé, pero en mi defensa diré que me estaba autograbando xDD
Título: Re:ZX Frogger
Publicado por: RiCCo en 02 Enero 2014, 12:53:15
Tioooo, no tienes excusa. En un juego que tienes que saltar y disparar, vale. Pero en un juego en el que solo necesitas una mano para jugar...!!! :D :D :D
Título: Re:ZX Frogger
Publicado por: Tordek en 02 Enero 2014, 16:03:33
Jejejeje ya me han pillado xddd
Si os pasais por berlin, teneis que visitar el museo. Está muy pero que muy bien.

Enviado desde mi GT-I9300 mediante Tapatalk

Título: Re:ZX Frogger
Publicado por: Bubu en 02 Enero 2014, 18:02:12
¡¡¡OOOOOOOOHHHHHHHHHHHHHH, una Frogger auténtica...!!!

Pero lo que no veo claro es esa palanca, que además ni tiene retorno, ¿nor? Parece que cuando la mueves hacia un lado, la tienes que volver a mover al lado contrario para llevar hasta el centro ¿?¿?
¿Cuántas vidas tenías en cada partida, Tordek?
Título: Re:ZX Frogger
Publicado por: Tordek en 03 Enero 2014, 10:20:54
Mmm creo recordar que si retornaba sola. Quiza estaba algo manoseada...
Si la memoria no me falla eran 3.
Había muchas más. Luego si puedo subo fotos ;)

Enviado desde mi GT-I9300 mediante Tapatalk

Título: Re:ZX Frogger
Publicado por: araubi en 10 Enero 2014, 12:44:08
Bueno, antes de que llegué el ZX Frogger iré practicando con este aparatito  :P

(http://i1166.photobucket.com/albums/q611/araubi/IMGP1261_zps0c5363a0.jpg)

Ahora tengo que comprar pilas y a ver si todavía funciona  :P
Título: Re:ZX Frogger
Publicado por: Bubu en 10 Enero 2014, 13:30:26
Si la memoria no me falla eran 3.

Pues noooooop, me da a mí que son 5 vidas las que tiene, fíjate al principio de tu vidrio, abajo a la izquierda, salen 4 ranitas más la que tú estás moviendo. Así que el del local tiene puestos los dip switches a favor del jugador... yo quiero ir...

Bueno, antes de que llegué el ZX Frogger iré practicando con este aparatito  :P

Aydiosmíodelamorfermoso...


¡¡¡CROACA!!!
Título: Re:ZX Frogger
Publicado por: araubi en 24 Enero 2014, 12:09:29
Actualizo, porque al fin he conseguido pilas del tamaño correcto (C) y he comprobado que todavía funciona. Chisporrotea un poco a veces el sonido y la tapa de las pilas está algo floja, pero por lo demás todo correcto

(http://i1166.photobucket.com/albums/q611/araubi/IMGP1262_zps8f293f68.jpg)

 ;D
Título: Re:ZX Frogger
Publicado por: Robe_Inie en 24 Enero 2014, 15:53:12
¡¡ Qué chulada Araubi !!
Título: Re:ZX Frogger
Publicado por: RiCCo en 24 Enero 2014, 16:19:43
Joer, me recuerda a mi añorada puckmonster. He visto que de este estilo hay varias "conversiones" arcade. Me gustaria volver atras en el tiempo y buscarlas, porque son una chulada, con esos colores que hipnotizaban :D
Título: Re:ZX Frogger
Publicado por: Bubu en 24 Enero 2014, 21:21:01
fap fap fap
Título: Re:ZX Frogger
Publicado por: DanySnowyman en 24 Enero 2014, 22:04:06
Buf que guapada Araubi! Un colega tenia una parecida al Defender y en las colonias de EGB se la llevaba y jugábamos poniéndonos un trapo por encima de la cabeza como si hiciéramos vahos. Así lográbamos una inmersión absoluta.


Enviado desde Tapatalk que va de lujo
Título: Re:ZX Frogger
Publicado por: Bubu en 15 Agosto 2014, 03:37:51
ajAJAjaJajAjAjajaA, ¡¡acabo de empezar a pogramar el Frogger de nuevo, desde CERO!!

Ay, lo que puede un par de pelotazos...
Título: Re:ZX Frogger
Publicado por: batuex en 15 Agosto 2014, 06:54:31
Noooo!!!
pero siiii!!!   quiero jugarlo !!!

Aún conservo las musiquitas que hice con beepola. Si hacen falta te las reenvio, bubu...

metele con eso !!!  saludos
Título: Re:ZX Frogger
Publicado por: logaran en 15 Agosto 2014, 10:21:58
ajAJAjaJajAjAjajaA, ¡¡acabo de empezar a pogramar el Frogger de nuevo, desde CERO!!

Ay, lo que puede un par de pelotazos...

¿Que? Es decir ¿QUEEEEEEEEEEEEEE?
¡La madre que te parió!: D

Enviado desde mi ZX Spectrum +2A

Título: Re:ZX Frogger
Publicado por: Robe_Inie en 15 Agosto 2014, 15:41:13
jajaja Bubu , ¿ pero no estaba casi terminado ? xDD
Título: Re:ZX Frogger
Publicado por: logaran en 15 Agosto 2014, 15:51:37
jajaja Bubu , ¿ pero no estaba casi terminado ? xDD

¿Casi? A falta de nada lo tenía ya. Aqui te dejo la presentacion de la versión Alpha que nos hizo en Gondor (mi bar) en una quedada de hace año y medio.

http://youtu.be/M0h9q8-STck?list=UU7XlgELlttBbpATQ_Mg9hSA (http://youtu.be/M0h9q8-STck?list=UU7XlgELlttBbpATQ_Mg9hSA)
Título: Re:ZX Frogger
Publicado por: Bubu en 19 Agosto 2014, 00:08:09
AJAjaJajAjAAJ, en la P de p* rana que no nada, AJAJja, tiés tol arte, joío.

Bueno, estimados compañeros y amigos, el tema de empezar de cero es por los 3 poblemas siguientes:

- Allá por 2009 cuando empecé con esto pretendí coger el código fuente del Frogger original de las recreativas, y como es una cpu Z80, pues migrarlo 1:1 al Spectrum, salvo la parte de rutinas gráficas. Por supuesto me pegué un batacazo espectacular, por mil razones. Aun así quedaron algunas rutinas como la de escribir mensajes, dibujar los hogares en el río, etc, que son copias de la máquina original. Pero esto hacía que el código fuera un mojón de Cuenca.

- El sistema de detección de choques me ha dado verdaderos quebraderos de chosla, y no quedó finalmente resuelto. Se basa en que si la rana y un coche coincide en su coordenada (x,y) entóns hay choque. Y claro, esto no es verdura, porque en un cuadradito de 8x8 aunque sean iguales su (x,y) pero la rana puede estar en un pixel diferente al del coche. Total, que esto requiere replantearse el sistema de detección de choques, y prásticamente la parte central de todo el cotarro, por lo que es mejor borrón y cuenta nueva.

- El tema del clash attribute. Cuando empecé a pogramar esto no era consciente del poblema que supone el clash attribute. Yo pensaba que con sólo desear que no ocurriese, pues no ocurriría, JAJAjajAA. Peeeeero.


Total, que mejón empezar y hacer las cosas ya bien ahora que tengo una visión muy general y global de todo. Esto va a quedar bastante organizado.

Eso sí, los media se van a mantener, uséase, los gráficos (by Bubu) y las músicas (by batuex) van a mantenerse, pues estan de lujo total.
Título: Re:ZX Frogger
Publicado por: Robe_Inie en 19 Agosto 2014, 01:29:36
Entiendo , si ahora tienes todo mejor planificado entonces quizás ves mejor empezar de cero. La pregunta es... ¿para cuándo crees que lo tendrás listo? Porque andamos todos aquí desesperados con mono de rana xDDD
Título: Re:ZX Frogger
Publicado por: Deka Black en 19 Agosto 2014, 11:46:40
Por la presente, declaro ZX Frogger como el Duke Nukem Forever fasebonusero. y que nadie se ofenda, eh ;)
Título: Re:ZX Frogger
Publicado por: Bubu en 19 Agosto 2014, 14:54:46
AjajAjJAjaJA, para nada, no me ofendo en arsoluto, AjAjAJ, si yo fuera una empresa o me dedicara a esto, pues estaría medio preocupao, pero esto es un hobby y lo hago por puro pleasure.

Por tanto la fecha de entrega es...


:-D
Título: Re:ZX Frogger
Publicado por: Bubu en 21 Agosto 2014, 15:30:57
Una preguntita tésnica sobre pogramación en ensamblador del Spectrum: necesito saber cómo detectar que una tecla cualquiera se ha pulsado, sin necesidad de saber cuál concretamente es. ¿Sabéis cómo se hace?
Título: Re:ZX Frogger
Publicado por: Bubu en 21 Agosto 2014, 22:47:57
Ya lo he hallado, torpedos, se hace con:

Código: [Seleccionar]
IN A, (0xFE)

Título: Re:ZX Frogger
Publicado por: Bubu en 21 Agosto 2014, 23:39:11
Pues no, no era así exácticamente, vaya la que he liado... Es así:

Código: [Seleccionar]
XOR A
IN A, (0xFE)
Título: Re:ZX Frogger
Publicado por: Robe_Inie en 22 Agosto 2014, 01:13:54
No sé si será dentro de 100 años, pero algún día tengo que aprender ensamblador xD pero he de sentir ese impulso definitivo(como cuando dejé de fumar jaja) y disponer de tiempo infinito... así que bueno, sin prisa alguna y ninguna, pero es de esas cosas que rondan la cabeza. Quizás cuando me jubile, si es que me jubilo (eso querrá decir que ha habido trabajo).
Título: Re:ZX Frogger
Publicado por: Bubu en 22 Agosto 2014, 14:52:21
A nuestra generación nos jubilará el cementerio...

Bueno, lo del ensamblador es que desde chico (unos 12 ó 13 años tendría) aprendí, así que ya me sale como el hablar, jiji. Lo que pasa es que lo de leer el teclado es algo muy peculiar de la ULA, no es cosa de ensamblador.
Título: Re:ZX Frogger
Publicado por: Bubu en 30 Agosto 2014, 01:04:47
Buenas, torpedos,

la cosa va pero que muy bien. Lo tengo todo rehecho, y el tema va de lux. Y sin querer queriendo pinté los troncos de negro, y, oyes, me gusta el resultado:

(https://lh6.googleusercontent.com/-agLC6Ku1VAE/VAD46Ls-qUI/AAAAAAAAAG4/8cFSiv5HKlA/w563-h549-no/FROGGER_20140830.PNG)

Título: Re:ZX Frogger
Publicado por: Bubu en 30 Agosto 2014, 01:06:44
Eso sí, la rana de negro paese que está asá, jAjaJajAJjaRL.
Tengo previsto poner la rana de verde con fondo negro si está en un tronco, o con fondo rojo si está en una tortuga, jiji.
Título: Re:ZX Frogger
Publicado por: logaran en 30 Agosto 2014, 01:11:14
Muy buena pinta!!
Esos troncos negros no te diré que no los vea raros,que los veo. Pero me gusta como queda. :)

Enviado desde mi ZX Spectrum +2A

Título: Re:ZX Frogger
Publicado por: Bubu en 30 Agosto 2014, 01:21:13
¡¡¡Hoooola, logaran!!! :D
Es que estaban de rojo, pero el rojo con fondo azul es muy chillón, al menos en las teles de tubo, y las tortugas ya son rojas... Ten en cuén que el Spectrum tié 8 colores:

- negro (como están)
- azul (no pué ser, porque el río ya es azul, jiji)
- rojo (como estaban)
- magenta (ay, omá)
- verde (no pué ser, porque la rana ya es verde, jiji)
- celeste (podría ser, pero con la rana en verde no destacaría)
- amarillo (ídem)
- blanco (como que no, ¿nor?)
Título: Re:ZX Frogger
Publicado por: logaran en 30 Agosto 2014, 01:26:07
No, si ya te digo que nunca lo hubiera pensado pero que el resultado me gusta.
La única alternativa que podrías probar seria a cambiar los sprites de los troncos y hacerlos con trama que dejaran ver mas el fondo. Aunque ya veo que asi es como le das el efecto de sombra en el agua ¿no?

Enviado desde mi ZX Spectrum +2A

Título: Re:ZX Frogger
Publicado por: Bubu en 30 Agosto 2014, 02:43:23
Los sprites, todos, son 100% importados del MAME, uséase, de la máquina recreativa. En este aspesto no he quitado ni ponido ni un sólo píxel de más ni de menos. Eso sí, los colores sí es un temazo.
Título: Re:ZX Frogger
Publicado por: Robe_Inie en 30 Agosto 2014, 10:07:54
Vaya repaso y avance le has pegado , tio !!

A este paso lo veremos pronto jejeje los troncos negros a mi no me convencen, pero es una apreciación personal. Que igual luego es la mejor opción, pero quizás al estar acostumbrado a otro color en el arcade me pasa eso.
Título: Re:ZX Frogger
Publicado por: Bubu en 31 Agosto 2014, 01:50:51
Vaya repaso y avance le has pegado , tio !!

A este paso lo veremos pronto jejeje los troncos negros a mi no me convencen, pero es una apreciación personal. Que igual luego es la mejor opción, pero quizás al estar acostumbrado a otro color en el arcade me pasa eso.

Es que los troncos en el Frogger original son marrones, a ver cómo los pongo en el Spectrum, ¿rojos?
Título: Re:ZX Frogger
Publicado por: Robe_Inie en 31 Agosto 2014, 02:20:00
El rojo sería -para mi- la mejor opción (es el color más parecido a un tronco). Pero bueno, eso como tu veas :)
Título: Re:ZX Frogger
Publicado por: Bubu en 31 Agosto 2014, 02:39:38
Nonoonoooorrr, como yo lo vea no, que yo soy bueno pogramando pero malo en estilos y colores y esas cosas. Prefiero que me aconsejéis. Voy a modificar un momentín el pograma para que sea fácil cambiar los colores de las tortugas y los troncos, y os voy poniendo las diferentes opciones que me vayáis comentando, hasta dar con la más mejón ;-)

¡Próximamente!
Título: Re:ZX Frogger
Publicado por: Robe_Inie en 31 Agosto 2014, 12:22:11
Ok ponlas y así vamos opinando ,
es que el negro me da un toque de "apagado ceniza" (por llamarlo de alguna manera), jajaja le quita viveza al juego,
lo malo del rojo es que igual se mata con el rojo de las tortugas, no ? Puedes usar dos tipos de rojo ? ¿uno con brillo (para las tortugas por ej) y otro sin brillo para los troncos?

Y otra cosa, ¿es posible que la rana se vea verde una vez subida en un tronco o tortuga? ¿o adoptará el color de estos ?



Título: Re:ZX Frogger
Publicado por: Bubu en 02 Septiembre 2014, 01:16:16
ya he puesto la rana de verde cuando se sube a los troncos o tortugas. Te paso un pantallazo con éstos en rojo:

(https://lh3.googleusercontent.com/-b7eCwWfl1V8/VAT95A0H1RI/AAAAAAAAAHk/8q5Wan7mMII/w576-h549-no/FROGGER_20140902_01.PNG)

El tema del color de la rana en el río es un auténtico temazo. El clash attribute de marras es inevitable...
Título: Re:ZX Frogger
Publicado por: Robe_Inie en 02 Septiembre 2014, 01:24:59
Pues sí que es puñetero , sí... Sale siempre ese recuadro , ¿no?
¿ Ves más viable dejar la rana del mismo color que los troncos quizás ? o mejor sacrificar eso a favor de que la rana se vea verde?

Por cierto, en rojo quedan más chulos que en negro a mi entender.
Título: Re:ZX Frogger
Publicado por: Bubu en 02 Septiembre 2014, 01:38:53
Pues sí que es puñetero , sí... Sale siempre ese recuadro , ¿no?

El recuadro es consecuencia del clash attribute: resulta que el color en el Spectrum es a baja resolución. Sólo pueden definirse 2 colores (fondo y tinta) por cada cuadrado de 8x8 píxeles.

¿ Ves más viable dejar la rana del mismo color que los troncos quizás ? o mejor sacrificar eso a favor de que la rana se vea verde?

Es una grandiosa decisión. Si se deja en monocromo (la rana y los troncos del mismo color) entonces no sale el recuadro, pero entonces si los troncos y las tortugas y la rana son rojas, es todo mu feo... (téngase en cuén que aluego además deben aparecer las serpientes)

Por cierto, en rojo quedan más chulos que en negro a mi entender.

Sí, pero ¿no lo ves mu soso? Todo de rojo... Véase en el MAME:

(http://boneash.oldgame.tw/MAME/pic/frogger_2.png)

El tema del brillo/no brillo es demasiado sutil en el Spectrum. Qué pena que no exista el color marrón. Jorl.
Título: Re:ZX Frogger
Publicado por: Robe_Inie en 02 Septiembre 2014, 01:50:51
¿ Qué otras opciones hay ? Tronco negro, quizás después de todo no quede tan mal. Aunque me sigue gustando más el rojo (quizás por su parecido con el marrón), pero si eso va a significar que vaya a haber exceso de rojos, podría gustarme también otra opción.

Tengo entendido que hay juegos recientes que consiguen que no haya clash atribute, ¿sabes algo?
Título: Re:ZX Frogger
Publicado por: Magneto en 02 Septiembre 2014, 12:10:58
¿Y las tortugas de otro color que no sea el rojo, como blancas o amarillas xD?. Lo digo por el tema de que no esté todo rojo, aunque imagino que el problema viene cuando se sube la rana encima...
Título: Re:ZX Frogger
Publicado por: Bubu en 02 Septiembre 2014, 15:09:03
Efestívaménete el poblema viene cuando la rana se sube encima, que para manterla de color verde hace que empiece el clash attribute a dar el poculo. Así, si pongo las tortugas de amarillo, al subirse la rana en las tortugas se vería un cuadrao de fondo amarillo con la rana verde.

Sólo veo 2 opciones medio buenas:

1) Pasar de que la rana se ponga verde. Se pondría del color de donde se subiera.

2) Dibujar los troncos y las tortugas mucho más anchas, para que ocupe toda su fila, y así no destacaría ese cuadrao que aparece en la rana.

Ah, Robe_Inie, el clash de los colores es totalmente inevitable en el Spectrum, ya que lo hace la ULA, el chip que genera el vídeo en el Spectrum. Hay juegos que no tienen clash, pero eso es porque no hacen scroll gráfico al píxel, sino de 8 en 8 píxeles, con lo que no necesitan mezclar colores.
Título: Re:ZX Frogger
Publicado por: Bubu en 02 Septiembre 2014, 15:27:12
He aquí tu petición, Magneto, poniendo troncos rojos y tortugas amarillas:

Cuando se sube a un tronco:

(https://lh3.googleusercontent.com/-SJcCl2z3Ybs/VAXFN0-D8rI/AAAAAAAAAIA/P-0gKIfNPz8/w576-h549-no/FROGGER_20140902_02.PNG)

Cuando se sube a una tortuga:

(https://lh3.googleusercontent.com/-jYHZTUKPIMI/VAXFOBogNGI/AAAAAAAAAIE/gda_1VdN7wU/w576-h549-no/FROGGER_20140902_03.PNG)
Título: Re:ZX Frogger
Publicado por: RiCCo en 02 Septiembre 2014, 15:32:40
En la otra version que tenias hecha quedaba mejor. Por que el recuadro alrededor de la rana es tan grande?? Supongo que no podras hacerlo mas pequeño porque si no ya lo hubieras hecho, pero seria lo suyo.
Título: Re:ZX Frogger
Publicado por: logaran en 02 Septiembre 2014, 15:52:56
Ese cuadrado es ENORME, y se ve horroroso, sea del color que sea.
Yo pondría los troncos del ancho de un carácter y eliminaría la hilera de coches que se ve abajo para poder ensanchar el río.
A una malas, que sea la rana la que adopte el color de allá donde este.
Título: Re:ZX Frogger
Publicado por: Magneto en 02 Septiembre 2014, 23:28:49
Sí, ya me he dado cuenta de que da igual el color xD. Pues como has dicho, puedes ensanchar los troncos, aunque creo que eso perdería la esencia del juego. Opto porque la tortuga coja el color de donde esté, al menos así no se jode la estética del juego.
Título: Re:ZX Frogger
Publicado por: Bubu en 03 Septiembre 2014, 00:24:28
En la otra version que tenias hecha quedaba mejor. Por que el recuadro alrededor de la rana es tan grande?? Supongo que no podras hacerlo mas pequeño porque si no ya lo hubieras hecho, pero seria lo suyo.

En la versión anterior la rana se ponía del color de donde se montaba, por lo que no salía ese cuadrao. En esta versión lo puedo hacer tamién muy fácilmente, sólo tengo que cambiar un numerito.


Ese cuadrado es ENORME, y se ve horroroso, sea del color que sea.
Yo pondría los troncos del ancho de un carácter y eliminaría la hilera de coches que se ve abajo para poder ensanchar el río.
A una malas, que sea la rana la que adopte el color de allá donde este.

Pues eso proponía yo, pero es que la verdura es que entóns ya no son los gráficos originales del Frogger... Tengo miedo... Al final creo que usaré tu proposición de "A una malas".


Sí, ya me he dado cuenta de que da igual el color xD. Pues como has dicho, puedes ensanchar los troncos, aunque creo que eso perdería la esencia del juego. Opto porque la tortuga coja el color de donde esté, al menos así no se jode la estética del juego.

Efestívaménete. Voy a probar a poner la rana del color de ande se monte, y subiré una afoto pa que veáis cómo queda. Se me ocurre la siguiente historia:

Froggy es una rana que se ha despistado y debe llegar a su casa, más allá del río. Para ello debe cruzar una carretera, y entóns cruzar un río RADIACTIVO. Es tan radiactivo que al colocarse sobre un objeto se pone del color de éste. Es más, si se cae al río, se muere



:-D
Título: Re:ZX Frogger
Publicado por: Bubu en 03 Septiembre 2014, 00:25:56
Por cierto, torpedos, muchas gracias por las opiniones. Las valoro un montón, y hacen que no me sienta alone :-) y me replantee las cosas...
Título: Re:ZX Frogger
Publicado por: Bubu en 03 Septiembre 2014, 00:26:36
Por otra parte... ¿sus habéis dao cuén de que ahora lo de la rana rosa va a ser una paranoia? AjAJJAjAJAjAjAJJAJA
Título: Re:ZX Frogger
Publicado por: Magneto en 03 Septiembre 2014, 00:30:50
Jajaja...frogger rainbow edition xD
Título: Re:ZX Frogger
Publicado por: Bubu en 03 Septiembre 2014, 00:37:50
AjAJAJAJAJAJRL, pues mira, el Spectrum se caracteriza por el logo "rainbow" :-D

Bueno, ahí va una afoto del Frogger con radiostividad, jiji:

(https://lh6.googleusercontent.com/-i0pt6IRKg2A/VAZFzU1t_eI/AAAAAAAAAIc/uR-SA4sXBYU/w576-h549-no/FROGGER_20140903_01.PNG)

Eso sí, pa que sus hagáis una idea, continuamente se pinta el tronco sin rana, y entóns la rana rodeada de azul (tal y como se ve en este pantallazo), entóns de nuevo el tronco sin rana, y entóns de nuevo la rana rodeada de azul... de tal manera que hay una especie de parpadeo sutil e inevitable, pero a la vez agradable. Esto no se puede apreciar lóxicaménete en una afoto, que sí en un vidrio.

Título: Re:ZX Frogger
Publicado por: Bubu en 03 Septiembre 2014, 00:40:13
¡Hey, hey! ¿Y si en vez de poner la rana verde y el fondo rojo (en los troncos) pongo la rana verde y el fondo azul?

A ver...
Título: Re:ZX Frogger
Publicado por: Bubu en 03 Septiembre 2014, 00:58:40
Esto os va a gustar, jiji:

(https://lh4.googleusercontent.com/-NGj6DA-eT5w/VAZLCUYbhfI/AAAAAAAAAJE/jXu83x9GWGI/w576-h549-no/FROGGER_20140903_02.PNG)

Y a todo esto, ¿sus parece bien los troncos de rojo y las tortugas de amarillo? ¿O volvemos a los troncos negros :-D y las tortugas de rojo? Esto por faplís decididlo vosotros...

Título: Re:ZX Frogger
Publicado por: Bubu en 03 Septiembre 2014, 01:20:13
Bueno, y antes de irme a la camita, una afoto de la rana verde a la caza y captura de la rana rosa:

(https://lh3.googleusercontent.com/-07CBx3xdNcI/VAZQTDcgbJI/AAAAAAAAAJs/s8nWAfsXGp4/w638-h512-no/FROGGER_20140903_03.PNG)


¡¡Buenííísimas crocas noches!!


EDITO: Atención, atención, recordad que en los troncos de arriba de vez en cuán aparece un cocodrilo en lugar de un tronco, y que los cocodrilos debe tener el mismo color que los troncos.
Título: Re:ZX Frogger
Publicado por: Robe_Inie en 03 Septiembre 2014, 02:08:07
¡¡ Croack !!

Yo voto por troncos rojos, tortugas amarillas, y rana verde con cuadrado azul.
Creo que es la combinación menos monótona y menos camaleónica ;)

A ver qué opina el resto de compañeros.
Título: Re:ZX Frogger
Publicado por: Magneto en 03 Septiembre 2014, 08:34:31
Estoy de acuerdo con Robe...no queda nada mal así. Eso sí, el cocodrilo va a tener que ser rojo...en las instrucciones comenta que está así de tomar el sol xD.
Título: Re:ZX Frogger
Publicado por: logaran en 03 Septiembre 2014, 08:41:01
Totalmente de acuerdo con los compis. :)
Título: Re:ZX Frogger
Publicado por: araubi en 03 Septiembre 2014, 10:02:40
De acuerdo con las opiniones anteriores :P
Título: Re:ZX Frogger
Publicado por: Bubu en 03 Septiembre 2014, 15:03:54
Ooooook, pues ahí va eso: incluyo el cocodrilo, y los colores amarillo y rojo, jiji

(https://lh6.googleusercontent.com/vXif_sh3PoPLXRMwihuQpNIPdNeqrc3qKBVdp65KkQ=w640-h512-no)
Título: Re:ZX Frogger
Publicado por: Bubu en 03 Septiembre 2014, 15:09:40
Ooooops... un momento...
Título: Re:ZX Frogger
Publicado por: Magneto en 03 Septiembre 2014, 21:21:43
Qué ha pasado? xD
Título: Re:ZX Frogger
Publicado por: Robe_Inie en 03 Septiembre 2014, 21:52:53
Inversión de colores ¿no? jeje creo que quería poner los troncos en rojo y le han salido en amarillo y al revés con las tortugas.
Título: Re:ZX Frogger
Publicado por: Bubu en 03 Septiembre 2014, 23:35:21
Efestivaménete, jejeje

(https://lh6.googleusercontent.com/-weSXZjfpqe4/VAeJP6bU9DI/AAAAAAAAAKw/hgJ5jXy8iB8/w640-h512-no/FROGGER_20140903_05.PNG)

Bueno, ¿lo veis mejor así? ¿Es vuestra elección preferida? Quien quiera decir algo que lo diga ahora o... que se joa :-DDDDD
Título: Re:ZX Frogger
Publicado por: RiCCo en 04 Septiembre 2014, 07:35:24
Y esa rana rosa que hace ahi?? Sigo viendo el cuadrado enorme, pero pintado de azul se disimula bastante y no queda tan mal.
Título: Re:ZX Frogger
Publicado por: logaran en 04 Septiembre 2014, 09:05:57
Y esa rana rosa que hace ahi?? Sigo viendo el cuadrado enorme, pero pintado de azul se disimula bastante y no queda tan mal.
Según entendí, con el juego en funcionamiento, el cuadrado no se verá, ya que la rana estará en un frame si y en otro no. De ese modo, la ilusión óptica hará desaparecer el cuadrado aunque deje en su lugar un sutil parpadeo. ¿No era así, bubu?
Título: Re:ZX Frogger
Publicado por: Magneto en 04 Septiembre 2014, 12:47:04
Y esa rana rosa que hace ahi??

Es el player 2 xD
Título: Re:ZX Frogger
Publicado por: Bubu en 06 Septiembre 2014, 00:31:04
Según entendí, con el juego en funcionamiento, el cuadrado no se verá, ya que la rana estará en un frame si y en otro no. De ese modo, la ilusión óptica hará desaparecer el cuadrado aunque deje en su lugar un sutil parpadeo. ¿No era así, bubu?

El cuadrao parpadea murrápido, por lo que verse se ve, pero a razón de 30 veces por segundos. Un día de estos (o de aquellos) tengo que facer un vidrio para que se vea el efesto que comento ;-)


Y esa rana rosa que hace ahi??

Es el player 2 xD


Ay... ay... pero ¿quééééééé?
Título: Re:ZX Frogger
Publicado por: Robe_Inie en 06 Septiembre 2014, 03:12:35
RiCCo , no preguntes qué hace ahí la rana rosa, que a Bubu le va a dar algo  jajaja está bien ahí, en su sitio.

A ver cuándo dejas ver algún video , hay ganas de verlo en movimiento ya ;)
Título: Re:ZX Frogger
Publicado por: Bubu en 06 Septiembre 2014, 04:30:45
Arghhhh... gghghghhghghg.... sprejrglkjwgkwb...

Ay...


Ya.


La rana rosa es parte del juego. Aparece eventualmente en los troncos. Y si tú (la rana verde) la capturas y te la llevas a casa (arriba) te dan 200 puntos.
Título: Re:ZX Frogger
Publicado por: Robe_Inie en 06 Septiembre 2014, 15:56:49
Yo de pequeño siempre que jugaba al Frogger o sucedaneos, me montaba la historia cerebral de que la ranita rosa era la parienta y la rescatabas jaja

¿Se sabe exactamente si es hembra, primo o hermana?
Título: Re:ZX Frogger
Publicado por: logaran en 06 Septiembre 2014, 16:17:54
¿Se sabe exactamente si es hembra, primo o hermana?

La hermana melliza, claramente ¡Si tiene los mismos ojos! :P
Título: Re:ZX Frogger
Publicado por: Magneto en 06 Septiembre 2014, 18:15:41
Oye, que lo de player 2 lo decía en broma...no sabía que te iba a dar un colapso mental xDDD
Título: Re:ZX Frogger
Publicado por: Bubu en 07 Septiembre 2014, 11:08:35
AjAjaJjajajajJAJAjAaja, ¡¡es la novia!! Y cuando te la llevas 5 veces a casa, sale la rana verde guiñando el ojo, aludiendo cláramente a la cópula.

Qué grande...
Título: Re:ZX Frogger
Publicado por: Robe_Inie en 07 Septiembre 2014, 12:02:22
Vamos, que al rano le gusta el meneo, como a todos xD
Título: Re:ZX Frogger
Publicado por: Bubu en 07 Septiembre 2014, 22:46:01
Es la rana que parte la pana.
Título: Re:ZX Frogger
Publicado por: Magneto en 08 Septiembre 2014, 17:06:48
Todo esto que estamos diciendo de coña podrías incluirlo en una versión beta para que nos riamos un rato xDDD
Título: Re:ZX Frogger
Publicado por: Bubu en 08 Septiembre 2014, 22:44:05
Jaaaaaarl, tú es que nu sabes la de paranoias que le ocurren ahora mismo al juego, AJaJJA, p.ej. la rana no se ahoga en el agua, no le pillan los coches, y lo máximo: en los troncos de arriba ¡¡desaparece!!
Aunque esto ya sé por qué es y cómo corregirlo, aunque la solución es compleja, jiji.
Título: Re:ZX Frogger
Publicado por: Magneto en 09 Septiembre 2014, 10:15:16
Hum, suena a que le han dado unos rayos gamma y está cogiendo superpoderes, inmunidad, invisibilidad...The Fantastic Frog!!! ;)
Título: Re:ZX Frogger
Publicado por: Magneto en 21 Septiembre 2014, 23:35:37
Como va la cosa?. Espero que bien :)
Título: Re:ZX Frogger
Publicado por: Bubu en 22 Septiembre 2014, 00:12:15
Sí, va muy bien :-). Estoy ahora tratando de optimizar más aún el motor de sprites, para que sea más rápido, ya que ahora se mueve muy rápido, pero cuando ponga las serpientes por ahí y la rana rosa, puede que se haga un poquito más lento. Así que lo voy a optimizar a más no poder, jiji.
Título: Re:ZX Frogger
Publicado por: Magneto en 22 Septiembre 2014, 15:50:04
Me alegro, que no dabas señales de vida y pensaba que te habían secuestrado los cocodrilos...:)
Título: Re:ZX Frogger
Publicado por: Bubu en 24 Septiembre 2014, 00:49:26
Jaaarl, menos mal que no :-D

Ahora pispo estoy enseñando a la rana a moverse solita, pa que ella pueda hacer la demo que hace la máquina original a la espera de que el jugador eche moneda, jiji.
Título: Re:ZX Frogger
Publicado por: Ivanzx en 30 Septiembre 2014, 10:36:26
Bubu, echale un vistazo a este video, buenisimo, por cierto, a partir del minuto 4:22, te interesara mucho seguro ;)

https://www.youtube.com/watch?v=yYzlyyj6cc0&feature=youtu.be (https://www.youtube.com/watch?v=yYzlyyj6cc0&feature=youtu.be)

saludos!
Título: Re:ZX Frogger
Publicado por: Bubu en 30 Septiembre 2014, 22:04:49
¡¡¡Ostras!!!, AjAJAJJAjAjAJA, ¡¡falta mi versión!! :-D

Muchísimas gracias por el enlace, Ivanzx, será consumido con su debido interés que es mucho ;-)

(hay que ver lo cutres que son casi todas las versiones...)
Título: Re:ZX Frogger
Publicado por: Bubu en 07 Octubre 2014, 00:20:32
Necesito un poquito de ayuda. Se trata de hacer un efesto especial de sonido: el "croaca" cuando la rana llega a una caseta de arriba.


EDITO: Se puede usar Beepola o BeepFX
Título: Re:ZX Frogger
Publicado por: Magneto en 14 Octubre 2014, 17:39:57
Como va nuestra rana? xD
Título: Re:ZX Frogger
Publicado por: Bubu en 14 Octubre 2014, 23:13:20
¡Hola, Magneto! Pos va bien, la verdad es que estoy mu contento con el nuevo pack de rutinas que me hi creao. Tiene pinta de que he pasado exitosamente la mayor dificultad del juego, que es dibujar sprites encima de otros sprites (la rana sobre los troncos).
No coñozco ningún juego de Spectrum que lo haga, jiji.

Ahora estoy retocando un poco el río, en concreto haciendo que cuando la rana salte de tronco en tronco en el río, se restablezca el color de donde estaba, ya que ahora mismo se queda de color vede el trocito de tronco donde estaba la rana, jiji. Pero eso es cuestión de media horita de trabajo :-D

Ahora mismo el juego es ya jugable, ya que cruza la carretera, aluego el río, y si metes la rana en un hogar te da los puntos y empiezas de nuevo, como en el Frogger real. Lo que no tengo hecho ni empezado aún es la segunda mayor dificultad del pograma: la rutina de detección de muelte, uséase, cuando un coche pilla a la rana, o cuando la rana se cae a las terribles corrientes del río.
Es un tema bastante difícil y al que le tengo que dar una gran pensada, ya que puede hacer que se ralentice todo el movimiento de sprites si no se optimiza esta rutina.
Título: Re:ZX Frogger
Publicado por: Robe_Inie en 15 Octubre 2014, 00:01:02
Hay ganas ya de ranear en el Spectrum un rato, ¡ánimo!

Una pregunta Bubu, los patrones de pantallas, movimientos, velocidad de coches según pantallas, aparición de cocodrilos, serpientes, etc es fiel a la recreativa original? Es decir, ¿has estudiado el código Z80 de la ROM original? o has observado y luego aplicas según tu libre albedrío?

A mi cualquier cosa me parece bien, pregunto por curiosidad sólo :D (y conociéndote, apostaría a que te has empapado del Z80 original)
Título: Re:ZX Frogger
Publicado por: Bubu en 15 Octubre 2014, 00:27:03
¡Buena pregunta, torpedo!

Cuando empecé con esto vi que el Frogger de las máquinas tenía un Z80, por lo que me dije: leñe, esto tié que estar tirao pasarlo al Spectrum, sólo tengo que copiar y pegar la ROM en la RAM.


AjaJajAjAJaJjaJAJAjAjA

Qué iluso...

No pintaba ná en pantalla. Claro, no contaba yo con la ULA del Spectrum, que usa una forma de dibujar totalmente especial para el Spectrum, y para nada se parece lo más mínimo a cómo dibuja la placa del Frogger original.

Así las cosas, pase al 2º plan que fue copiar las rutinas de gestión, y hacer unas rutinas de pintado nuevas. La cosa empezó a funcionar. Peeeero era taaaan taaaan diferente el tema de pintar, que lo mejor fue rehacer todo al 100%.

Pa que te hagas una idea, en el Frogger originás los troncos no son sprites, sino que es parte del fondo. Lo que pasa es que esta placa trae unos registros, uno por fila, de tal manera que si le cambias el valor ¡se pinta esa fila entera desplazada!

Claaaaro, así estaría tirao hacer un Frogger pa Spectrum, AjAjaJAJ, sólo tengo que ir cambiando el valor de esos registros, y se me mueven tó los troncos, las tortugas y los coches sin ningún esfuerzos. Pero no... en el Spectrum eso ni de lejos.

Así que está todo reprogramado al 100%. Los gráficos sí que están exportados píxel a píxel del original.

Lo que sí quiero conseguir es reajustar los parámetros de tal manera que los timings me que queden idénticos a la máquina (el contador del tiempo, la velocidad de los coches, de los troncos, etc, etc).
Título: Re:ZX Frogger
Publicado por: Bubu en 15 Octubre 2014, 00:36:18
Eso sí, de tantas veces que he intentado migrar el código original al Spectrum, que ya me coñozco la ROM del Frogger del MAME tanto que me la sé en binario con los ojos cerraos, AjaJAJAJJAJARL.
Título: Re:ZX Frogger
Publicado por: Magneto en 16 Octubre 2014, 00:24:20
Jajajajaja...menudo curro te estás dando. Cuando lo tengas lo probaré en el spectrum, nada de emuladores, que se lo merece xD
Título: Re:ZX Frogger
Publicado por: Bubu en 17 Octubre 2014, 00:17:25
JAAAAAAAAAAAAAARL

Acabo de ponerme mu contento y mu triste a la vez. Resulta que he logrado realizar la rutina que chequea el atropello, y otra que chequea el ahogamiento. Así que por eso estoy mu contento. Era un tema que me quemaba y que no sabía como resolver, y con un par de ideas felices ahí está.

Pero mu triste porque... ¡¡mi rana se muere!! ¡¡Bwwaaaahhhhh!! ¡¡Pobretica!! Ay, que se me ahoga...
Título: Re:ZX Frogger
Publicado por: logaran en 17 Octubre 2014, 00:26:21
Pero mu triste porque... ¡¡mi rana se muere!! ¡¡Bwwaaaahhhhh!! ¡¡Pobretica!! Ay, que se me ahoga...

¿Una rana que no sabe nadar? ¡Pues vaya mierda de juego! XD
Título: Re:ZX Frogger
Publicado por: Bubu en 17 Octubre 2014, 22:50:21
AjAjaJajAjAjA, tantos años que se ha llevado la tía sin ajogarse, y ahora va, hago el pograma, y me s'ajoga.

AjajAA, además, ya le puedes decir a tu parienta la gran noticia :-D
Título: Re:ZX Frogger
Publicado por: batuex en 31 Marzo 2016, 23:11:04
Hey, Bubu

¿por donde anda la rana ??  xD