Página 2 de 2

Re: Impresión de sprites Knight Lore

Publicado: Dom Dic 07, 2014 1:27 pm
por climacus
En el tutorial de Microhobby de JM Lazo, sobre el sistema Filmation, recuerdo que también metían las máscaras al revés y hacían el CPL. Me salió de ojo hasta a mí, que por entonces no tenía ni idea y la modifiqué.

Re: Impresión de sprites Knight Lore

Publicado: Dom Dic 07, 2014 1:29 pm
por susso
Pues no tiene ningún sentido esto, que misterio...


Enviado con Tapatalk

Impresión de sprites Knight Lore

Publicado: Dom Dic 07, 2014 1:43 pm
por susso
Post repetido, sorry.

Re: Impresión de sprites Knight Lore

Publicado: Dom Dic 07, 2014 2:10 pm
por climacus
Estoy empezando a pensar que tiene que ver con el trozo transparente que queda a ambos lados del Sprite después de rotarlo. Desplaza la máscara y ya queda con ceros también la parte transparente del carácter que no pertenece al Sprite. Hace el CPL y el AND. La verdad es que yo nunca me he fijado como lo hacen otros juegos, ya que las rutinas me las hago yo y uso otros métodos. Con gráficos
prerrotados esto no hace falta, ya que el carácter coincide siempre con el Sprite.

Re: Impresión de sprites Knight Lore

Publicado: Dom Dic 07, 2014 2:47 pm
por Gandulf
Los gráficos pre-rotados en esa época no se usaban, además dependiendo del juego no se pueden utilizar por el espacio que ocupan.

Entiendo que te refieres a que guardan la máscara sin invertir porque primero rotan el byte de la máscara y luego el del sprite, y de esa forma, el cero pasa de una rotación a otra. Tiene sentido. Si almacenas la máscara invertida, las rotaciones se tienen que hacer con el carry a 1, está claro, y los sprites con el carry a cero. Si guardas la máscara sin invertir, te vale la misma rotación, por así decirlo.

Es probable que el tiempo que se invierte en ese CPL sea inferior al que supondría la gestión del carry.

La explicación me parece buena, podemos dar carpetazo a este tema :)

Re: Impresión de sprites Knight Lore

Publicado: Dom Dic 07, 2014 3:35 pm
por susso
Pues creo que habéis dado en el clavo!

Re: Impresión de sprites Knight Lore

Publicado: Dom Dic 07, 2014 4:36 pm
por climacus
De todas formas el sistema sigue siendo ineficiente...

(mira que somos criticones)

Re: Impresión de sprites Knight Lore

Publicado: Dom Dic 07, 2014 4:43 pm
por susso
No hombre, perfeccinistas, con la tecnología actual, emuladores, debuggers, etc... Vemos que se puede exprimir más el spectrum. :-)

Re: Impresión de sprites Knight Lore

Publicado: Dom Dic 07, 2014 4:45 pm
por climacus
:twisted:

Re: Impresión de sprites Knight Lore

Publicado: Mié Dic 10, 2014 10:47 am
por climacus
He echado un vistazo a Highway Encounter y, como no podía ser menos, el tema de la impresión está mucho más logrado. La máscara está hecha con unos y hacen el desplazamiento de la misma poniendo el carry a uno. El volcado del buffer a la pantalla es super curioso.

Por cierto, Alien Highway es un calco en las rutinas principales. Sólo cambia un poco el volcado de los trozos donde ha habido cambios del buffer a la pantalla real. (muy poco)

Costa Panayi lo podía haber firmado perfectamente.

Re: Impresión de sprites Knight Lore

Publicado: Mié Dic 10, 2014 4:41 pm
por curioso1100
El volcado del buffer a la pantalla es super curioso
Pues si no es muy complicado o muy técnico, ya que te lo has "empapado" igual te apetece contarnos en que consiste esa curiosidad :wink:

Re: Impresión de sprites Knight Lore

Publicado: Mié Dic 10, 2014 5:17 pm
por susso
¿También usa la pila para dumpeado?

Re: Impresión de sprites Knight Lore

Publicado: Mié Dic 10, 2014 7:49 pm
por climacus
susso escribió:¿También usa la pila para dumpeado?

No, pero la usa como un registro más dándola un valor con PUSH DE y luego haciendo EX (SP),HL para ir intercambiando.
No es nada nuevo, pero no me convence mucho. Creo que es más rápido usar los registros alternativos. Aunque puede que esté equivocado.

Re: Impresión de sprites Knight Lore

Publicado: Mié Dic 10, 2014 8:13 pm
por climacus
curioso1100 escribió:
El volcado del buffer a la pantalla es super curioso
Pues si no es muy complicado o muy técnico, ya que te lo has "empapado" igual te apetece contarnos en que consiste esa curiosidad :wink:
Sólo he echado un vistazo por encima. Pero parece que en vez de volcar el trozo de pantalla que se ha modificado con todo el sprite, va volcando por caracteres. No sé exactamente cómo crea la tabla de qué caracteres volcar, pero es una buena idea para no repetir volcados cuando coinciden distintos sprites.

Además se olvida de calcular direcciones de pantalla, ya que imprime caracter por caracter y sólo tiene que incrementar D 7 veces. (En DE está la dirección de pantalla).

Por cierto, la rutina empieza en $9ac5.

Impresión de sprites Knight Lore

Publicado: Mié Dic 10, 2014 9:47 pm
por susso
Ok, muchas gracias, miraré ese Spectaculator...