Página 1 de 1

¿Alguna función para imprimir sólo parte de la pantalla en ZX?

Publicado: Jue, 01 Sep 2016, 16:43
por Gocho
Estoy trasteando con el z88dk y quería imprimir una imagen sólo en una parte de la pantalla. Como un tile, pero en tamaño enorme, 160x112 o algo así. Justo como en las conversacionales.
El caso es que he estado buscando y sólo encuentro funciones para imprimir tiles pequeños (32x32 o menos) o la pantalla completa como el unpack de la churrera en aplib, escribiendo a pelo en la memoria de la pantalla: unpack ((unsigned int) (s_ending), 16384);

Me da igual si se mete la imagen como binario o en código .h, ya me buscaré la vida para integrarlo todo.

¿Os habéis encontrado alguna función en asm para pintar en unas coordenadas concretas de la pantalla?
¿O es más óptimo meter la pantalla entera con negro dónde no hay imagen y pintar luego encima los textos / tiles? Es lo que se hace en la intro de GokuMal, pero no se si porque es lo mejor o por reusar el código que ya había.

Gracias majos.

Re: ¿Alguna función para imprimir sólo parte de la pantalla en ZX?

Publicado: Vie, 02 Sep 2016, 12:13
por na_th_an
Es por reusar y porque había memoria de sobra - de todos modos al comprimir con aplib las zonas a negro apenas ocupan en el binario final. Es la forma más sencilla y es lo que yo haría.

Lo otro sería ya hacer una función que pinte el gráfico que sea en ASM. Si es alineado a caracter (horizontalmente) es mucho más sencillo. Necesitarías además alguna herramienta que te exportase la imagen en el formato que venga mejor para la rutina.

Si tienes algún amigo Dale Fran se lo puedes pedir. Personalmente, no se me caen los anillos por guardar la pantalla completa con los cachos a negro. Como ya he dicho, apenas impactan si comprimes.

Re: ¿Alguna función para imprimir sólo parte de la pantalla en ZX?

Publicado: Vie, 02 Sep 2016, 14:17
por Gocho
Pues entonces voy a hacer algunas pruebas de compresión y creo que usaré pantallas enteras.
En pantallas completas no he notado casi diferencia entre Aplib y ZX7, si acaso Aplib algún byte de menos, pero poca cosa.

¿No has probado RCS+ Aplib o RCS+ZX7? En las pruebas le estoy ganando casi medio KB por pantalla frente a no usar RCS.

Se que RCS+Aplib muestra la imagen a mordiscos y se ve feo(lo usé en alguno de mis dos jueguillos), pero Antonio Villena comentó en algún lado que hay una rutina para RCS+ZX7 que no lo hace. No se si habrá ya alguna de RCS+Aplib que tampoco lo haga. Tengo que probar.

Re: ¿Alguna función para imprimir sólo parte de la pantalla en ZX?

Publicado: Mar, 06 Sep 2016, 07:58
por na_th_an
No, no lo he probado, precisamente porque la imagen sale fea antes de aparecer. No me parece que quede elegante para un juego.