La compression

Développement de BriXen: épisode 4

Un des choses qui nous fait le plus vite défaut sur l’Amstrad, c’est le peu de mémoire dont nous disposons.

Actuellement, je préfère n’utiliser que les 64k de disponible afin de rendre nos jeux compatibles avec le plus de machine possible (c’est même une des conditions de la CPC Retrodev)

De nombreuses méthodes de compression existent pour notre Z80. La plus connues des demomakers est Shrinkler de par son haut taux de compression. Malheureusement, son temps de décompression est plus de 25 fois la vitesse de la commande assembleur LDIR (copie d’octets).

Pour un jeu, ce n’est pas acceptable.

Il m’a donc fallu trouver un compromis vitesse/taux de compression.

Mon choix s’est porté sur LZSA de Emmanuel Marty.

Il nous donne un taux de compression de 2 pour une vitesse de LDIR x2. C’est plus qu’acceptable.

Le meilleur, c’est que la fonction de décompression ne prend que 220 octets !

Il n’y a donc presque pas de raisons de ne pas l’utiliser.

La fonction est disponible dans le template Crazy Piri.

A suivre pour un prochain épisode dimanche prochain…

Laisser un commentaire