Página 3 de 4

Re: Usar Exomizer en la churrera?

Publicado: Dom, 27 Oct 2013, 11:57
por D_Skywalk
Vaya pues sí que se complica esto...

$this->bbcode_second_pass_quote('antoniovillena', 'A')hora en serio, la única razón por la que tiene sentido es porque la Churrera usa compresión dinámica y las pantallas son muy comprensibles (hay mucha redundancia en ellas). Eso quiere decir que todo lo que se compriman dichas pantallas son bytes extras de RAM con los que llenar niveles. Si sólo comprimís pantallas, por el tamaño que tienen apenas se notaría la diferencia entre aplib y exomizer, pero como he dicho antes recomiendo encarecidamente que le apliquéis el filtro RCS (también con aplib), no cuesta nada y os podéis permitir al menos un par de Kb más de RAM para niveles extra en todos los juegos.


Si con el RCS ahorro más y tengo más espacio para lógica, perfecto :)

Supongo que tendría que añadir la funcion de unpack el código de drcs_buffered.asm no? :?

Un Saludo y gracias de nuevo :muaka:
Pd: no encuentro tu versión de 27bytes en el sourcecode del RCS que está en WOS :(

Re: Usar Exomizer en la churrera?

Publicado: Dom, 27 Oct 2013, 12:03
por antoniovillena
Exacto, pero recuerda aplicarlo sólo en las pantallas, si quieres comprimir niveles, sprites, etc... no uses dicho filtro. El filtro es muy fácil de aplicar, sólo tienes que tener claro el orden. Para comprimir aplicas primero el filtro (rcs.exe) y luego el compresor (apack.exe o lo que sea), para descomprimir primero descomprimers (unpack) y luego aplicas el drcs_onscreen.

Puedes hacer pruebas en línea de comandos y verás lo mucho que se gana.

Re: Usar Exomizer en la churrera?

Publicado: Dom, 27 Oct 2013, 12:07
por antoniovillena
$this->bbcode_second_pass_quote('D_Skywalk', 'P')d: no encuentro tu versión de 27bytes en el sourcecode del RCS que está en WOS :(


Eso es porque hace poco hubo una mejora (en el hilo del foro WOS lo explican) y Einar dijo que esperaría unas semanas a que se estabilizara antes de actualizarlo en la versión oficial. No te preocupes que tarde o temprano verás esa versión mejorada en el paquete oficial.

Re: Usar Exomizer en la churrera?

Publicado: Dom, 27 Oct 2013, 12:12
por D_Skywalk
Vale ya entiendo, descomprimo igual tal y como está en memoria de pantalla y una vez alli llamo al de-rcs-onscreen y se descomprimen, no?

Supongo que al principio se verían unos puntos sin sentido que luego se van componiendo, no?
Puede ser un efecto bonito y todo ^^_

Un Saludo y voy a ello, thx!
UPDATE: Hecho!
$this->bbcode_second_pass_code('', 'aPLib: title.rcs [ compressed 6912 -> 1307 bytes (18%) ]
Copyright (c) 1998-2009 by Joergen Ibsen / Jibz
aPLib: ending.rcs [ compressed 6912 -> 914 bytes (13%) ]
Copyright (c) 1998-2009 by Joergen Ibsen / Jibz')
440 bytes libres, ahora cuando le aplique el rcs, me quedo en ~400bytes más :corchoneta: :corchoneta: :corchoneta:

Re: Usar Exomizer en la churrera?

Publicado: Dom, 27 Oct 2013, 12:22
por antoniovillena
En realidad en el segundo paso no se descomprime, se "desfiltra". El filtro en cuestión lo que hace es reordenar los bytes de la memoria de video de tal forma que se vuelven más lineales y por tanto más redundantes para el compresor. Sólo reordena la zona $4000-$57ff, los atributos se quedan tal cual.

El efecto no es nada del otro mundo porque el algoritmo es rápido, pero en el momento de su implementación sí que había otras versiones bastante más lentas (como una que hice yo) y curiosas.

Si te pica la curiosidad puedes ver el hilo completo (en inglés) aquí.

Re: Usar Exomizer en la churrera?

Publicado: Dom, 27 Oct 2013, 12:54
por D_Skywalk
Queda raruno...

Sería muy complicada una rutina que guardara la paleta, la dejara en negro y luego la pudiera recuperar?
Es para que el momento ese de descompresión no se vea, por que queda como si al inicio hubiera cargado mal :?

Un Saludo e igualmente estoy más contento que unas pascuas con mis 400bytes más ^^_

Re: Usar Exomizer en la churrera?

Publicado: Dom, 27 Oct 2013, 13:57
por juanfran
Yo me llamo Ralph :mrgreen:

Re: Usar Exomizer en la churrera?

Publicado: Dom, 27 Oct 2013, 14:29
por D_Skywalk
que rule, que rule! :pedal:

Re: Usar Exomizer en la churrera?

Publicado: Dom, 27 Oct 2013, 15:57
por antoniovillena
$this->bbcode_second_pass_quote('D_Skywalk', 'Q')ueda raruno...

Sería muy complicada una rutina que guardara la paleta, la dejara en negro y luego la pudiera recuperar?
Es para que el momento ese de descompresión no se vea, por que queda como si al inicio hubiera cargado mal :?

Un Saludo e igualmente estoy más contento que unas pascuas con mis 400bytes más ^^_


No que va. Inicializas a cero la parte de atributos, descomprimes el bitmap en $4000-$57ff y la parte de atributos en un buffer de 768 bytes, le aplicas el drcs a la pantalla y finalmente mueves los atributos del buffer a la zona $5800-5aff. Esto es si tienes poca memoria libre (768 bytes), si te sobran 7K mejor utiliza la versión dcrs_buffered que además es más corta.

Re: Usar Exomizer en la churrera?

Publicado: Dom, 27 Oct 2013, 16:04
por na_th_an
Pues a ver de donde sacas 768 bytes juntos... Creo que es peor el remedio que la enfermedad, si ha conseguido ahorrar 440 bytes pero va a necesitar 768.