Nuevo método de compresión: Exomizer 2

Todo sobre la creación, diseño y programación de nuevo software para
nuestro Spectrum

Moderador: Sir Cilve Sinclair

Responder
Avatar de Usuario
Metalbrain
Freddy Hardest
Mensajes: 592
Registrado: Lun May 07, 2007 8:17 am
Ubicación: Sevilla
Contactar:

Nuevo método de compresión: Exomizer 2

Mensaje por Metalbrain » Sab Dic 08, 2007 3:47 pm

Señoras y señores, con ustedes el método de compresión que vence con claridad tanto al de aPLib como al de pucrunch: exomizer 2.

http://hem.bredband.net/magli143/exo/

Como no había descompresor para Z80, lo he portado yo, y además me he hecho un optimizador que coge la salida del exomizer, le quita 2 bits inútiles y le reordena los bits para que se puedan leer un poco más rápido con el Z80.

La rutina descompresora necesita una tabla de 156 bytes, que puede ser desechada tras la descompresión, así que si la ponemos en un buffer no debería suponer ningún gasto extra. De registros dobles solo utiliza el AF'.

http://www.speccy.org/metalbrain/exo_v3.zip

En la carpeta /normal están las versiones que funcionan directamente con la salida que genera exomizer al hacer:

exomizer raw -o salida entrada

En /optimized están las que funcionan con la salida optimizada, la cual se genera haciendo:

exomizer raw -o temporal entrada
exoopt temporal salida

Las rutinas _simple necesitan que la tabla esté alineada a un múltiplo de 256, y no soportan cadenas de literales, que suele ser raro que aparezcan y además se pueden desactivar con la opción -c de exomizer.
SevenuP se escribe con u minúscula y P mayúscula.

Avatar de Usuario
mcleod_ideafix
Johnny Jones
Mensajes: 3985
Registrado: Vie Sep 21, 2007 1:26 am
Ubicación: Jerez de la Frontera
Contactar:

Re: Nuevo método de compresión: Exomizer 2

Mensaje por mcleod_ideafix » Dom Dic 09, 2007 2:35 am

Oh! mola.... y cuál es el ratio de compresión que se puede alcanzar con este método?
Web: ZX Projects | Twitter: @zxprojects

Avatar de Usuario
Metalbrain
Freddy Hardest
Mensajes: 592
Registrado: Lun May 07, 2007 8:17 am
Ubicación: Sevilla
Contactar:

Re: Nuevo método de compresión: Exomizer 2

Mensaje por Metalbrain » Dom Dic 09, 2007 12:38 pm

Eso depende siempre de los datos que se estén comprimiendo, pero para hacerte una idea, con los 17 archivos que se usan de benchmarks en MegaLZ ( http://lvd.nm.ru/MegaLZ/ ), que tienen un total de 262052 bytes, al comprimir nos quedan:

123609 bytes con bitbuster_extreme0.1
118341 bytes con MegaLZ
117791 bytes con pletter 0.5a
114715 bytes con aPLib
113927 bytes con pucrunch
110121 bytes con exomizer 2 (sin cadenas de literales)
110116 bytes con exomizer 2 (sin cadenas de literales, optimizada)
110089 bytes con exomizer 2
110085 bytes con exomizer 2 (optimizada)
SevenuP se escribe con u minúscula y P mayúscula.

Avatar de Usuario
TrueVideo
Jack The Nipper
Mensajes: 195
Registrado: Mié May 23, 2007 8:34 am
Ubicación: BCN
Contactar:

Re: Nuevo método de compresión: Exomizer 2

Mensaje por TrueVideo » Dom Dic 09, 2007 7:52 pm

Muy interesante. Le echaré un ojo en cuanto pueda..

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: Bing [Bot] y 12 invitados