Articles avec le tag « ZX0 ».

Compression de données, le format ZX0

Après avoir présenté dans l'article précédent sur la compression LZ l'idée générale de référencement arrière de données déjà présentes en mémoire, cet article va se concentrer sur une implémentation spécifique de la famille LZ : le ZX0, un algorithme développé par Einar Saukas avec pour double objectif une taille très compacte pour le code de décompression et une recherche des choix optimaux lors de la compression.

Au niveau du code de décompression, sur Z80 et pour reprendre les exemples fournis dans le README officiel, on a les chiffres suivants :

  • Routine "Standard" : 68 octets
  • Routine "Turbo" : 126 octets, environ 21% plus rapide
  • Routine "Fast" : 187 octets, environ 25% plus rapide
  • Routine "Mega" : 673 octets, environ 28% plus rapide

Pour obtenir un code de décompression aussi compact, les choix faits dans le format ZX0 sont adaptés à un décodage avec peu de calculs et des calculs simples.

Rentrons dans les détails.

Le …

Lire la suite →