Hola de nuevo.
Sin animo de ser pesado (que lo soy), dejarme crear este hilo, similar a uno en ZDP, donde empezo esta cosa rara.
Pero antes de nada, agradecer a SYX el apoyo resolviendo dudas y problemas.
Y a Mode2 por haber sido "mis manos y mis ojos" probando las primeras versiones en su CPC!
Animado por una mini-quedada con los Vintagenarios valencianos, y aprovechando que mi visita al paro da de si mas de lo esperado, decidi retomar a principios de Febrero "game.asm", proyecto descontinuado hace... 25 años.
Como mi cabecita no da para mucho, lo primero fue desliar el cacao mental de ensambladores: z80-68000 y 8086 se unificaron en un unico lenguaje, la mar de chulo, que por desgracia no existe (no busqueis el opcode de multiplicacion en el z80... sere gili!)
Tras adoptar mentalidad "Z80 Inside", toco desliar la memoria de pantalla (mas de lo mismo... aqui ni hay bitplanes ni "un byte un pixel", ni Maquiavelo la hubiera diseñado mejor).
El juego en si es muy primitivo, estoy en pruebas del codigo, con un mapeado sencillo y tres bichos que disparen, me vale de momento.
Hoy por hoy es mas divertida la pantalla menu-presentacion que el juego en si (las bolitas con un poco de arte las puedes botar, botar a dos manos, golpear de cabeza, levantarlas de suelo... intentare meterlas en el juego real cuando libere tiempo)
La cosa que ahora ya tengo mi embrion, con su scroll del "mapa de juego", rutina(s) de sprites, animaciones, pseudo fisica y pseudo inteligencia... y gracias a Arkos y su tracker, hasta musiquilla y to.
Solo puedo asegurar que correra a 50fps y habra version cinta para el 464.
Pues eso, que como estoy mas feliz que una perdiz inicio este hilo, y pido a los amantes del "low level CPC" que no se corten en postear lo que les de la gana aqui.
ULTIMA VERSION EN MI FIRMA

EL "BUG":
Cuando haces scroll hardware con Amstrad, cosas muy AGRADABLES-DESAGRADABLES suceden.
La peor: en cualquier lugar de la pantalla, las direcciones se "resetean".
La rutina que gestiona este "wrap" es EXASPERANTEMENTE LENTA para poder mantener los 50fps si un sprite, solo uno, cayera en medio de el.
El programa detecta si estamos ANTES o DESPUES del wrap, en el segundo caso corrige los punteros. Pero no llamo a la rutina lenta si estamos EN MEDIO del wrap. Por eso, aparecen "manchas" cuando movemos el Invader por la parte baja de la pantalla tras hacer un ratito de scroll. La rutina que actualiza el fondo SI TIENE EN CUENTA EL WRAP (puede dar por supuestas unas condiciones que agilizan la deteccion del cambio de memoria sin apenas coste).
Pero, si el problema esta ahi, quiero 50fps y la rutina sprite "estoy en medio del wrap" no permite 50fps, que hacer?? LO "TAPARE" CON EL DISEÑO DEL MAPA.
Por ahora, paciencia con los manchones!
Gracias a todos.
Sin animo de ser pesado (que lo soy), dejarme crear este hilo, similar a uno en ZDP, donde empezo esta cosa rara.
Pero antes de nada, agradecer a SYX el apoyo resolviendo dudas y problemas.
Y a Mode2 por haber sido "mis manos y mis ojos" probando las primeras versiones en su CPC!
Animado por una mini-quedada con los Vintagenarios valencianos, y aprovechando que mi visita al paro da de si mas de lo esperado, decidi retomar a principios de Febrero "game.asm", proyecto descontinuado hace... 25 años.
Como mi cabecita no da para mucho, lo primero fue desliar el cacao mental de ensambladores: z80-68000 y 8086 se unificaron en un unico lenguaje, la mar de chulo, que por desgracia no existe (no busqueis el opcode de multiplicacion en el z80... sere gili!)
Tras adoptar mentalidad "Z80 Inside", toco desliar la memoria de pantalla (mas de lo mismo... aqui ni hay bitplanes ni "un byte un pixel", ni Maquiavelo la hubiera diseñado mejor).
El juego en si es muy primitivo, estoy en pruebas del codigo, con un mapeado sencillo y tres bichos que disparen, me vale de momento.
Hoy por hoy es mas divertida la pantalla menu-presentacion que el juego en si (las bolitas con un poco de arte las puedes botar, botar a dos manos, golpear de cabeza, levantarlas de suelo... intentare meterlas en el juego real cuando libere tiempo)
La cosa que ahora ya tengo mi embrion, con su scroll del "mapa de juego", rutina(s) de sprites, animaciones, pseudo fisica y pseudo inteligencia... y gracias a Arkos y su tracker, hasta musiquilla y to.
Solo puedo asegurar que correra a 50fps y habra version cinta para el 464.
Pues eso, que como estoy mas feliz que una perdiz inicio este hilo, y pido a los amantes del "low level CPC" que no se corten en postear lo que les de la gana aqui.
ULTIMA VERSION EN MI FIRMA

EL "BUG":
Cuando haces scroll hardware con Amstrad, cosas muy AGRADABLES-DESAGRADABLES suceden.
La peor: en cualquier lugar de la pantalla, las direcciones se "resetean".
La rutina que gestiona este "wrap" es EXASPERANTEMENTE LENTA para poder mantener los 50fps si un sprite, solo uno, cayera en medio de el.
El programa detecta si estamos ANTES o DESPUES del wrap, en el segundo caso corrige los punteros. Pero no llamo a la rutina lenta si estamos EN MEDIO del wrap. Por eso, aparecen "manchas" cuando movemos el Invader por la parte baja de la pantalla tras hacer un ratito de scroll. La rutina que actualiza el fondo SI TIENE EN CUENTA EL WRAP (puede dar por supuestas unas condiciones que agilizan la deteccion del cambio de memoria sin apenas coste).
Pero, si el problema esta ahi, quiero 50fps y la rutina sprite "estoy en medio del wrap" no permite 50fps, que hacer?? LO "TAPARE" CON EL DISEÑO DEL MAPA.
Por ahora, paciencia con los manchones!
Gracias a todos.
Última edición por FatAgnus el Lun Mar 07, 2011 9:14 pm, editado 6 veces en total














