Index du forum




Un petit coup de main... Vous pouvez nous aider à mettre ce site à jour: n'hésitez pas à me contacter !!!

* Connexion   * Inscription

* FAQ
Nous sommes actuellement le 30 Nov 2025, 07:35

Index du forum » Z80 Coding

Le fuseau horaire est UTC+1 heure


C'est l'heure de faire des économies....

Modérateur: poulette73



Publier un nouveau sujet Répondre au sujet  Page 1 sur 1
 [ 7 message(s) ] 
  Aperçu avant impression Sujet précédent | Sujet suivant 
Auteur Message
velus
 Sujet du message : C'est l'heure de faire des économies....
Message Publié : 08 Mai 2015, 15:00 
Hors-ligne
Rulezzz
Rulezzz

Inscription : 05 Août 2011, 14:38
Message(s) : 214
Bonjour a tous,

J'ai pensé qu'il serait possible de créer un compacteur meilleur que exomizer je lance le défi a tous,
j'ai eu quelques idées les voici. J'espère qu'ils pourront vous donner d'autres inspirations...
Le premier fonctionne suivant le compactage RLE pour les initiés :)
J'ai assimilé une petite variante le rendant un peu plus compétitif afin d'éviter de rencontrer des octets seuls
et de perdre de la place au lieu d'en gagner. J'ai assimilé un code hexa qui n'existe pas dans l'image pour les
4 sortes d'octets a compacter 00 0f f0 ff ce qui correspond aux 4 couleurs seules. Les autres combinaisons sont
moins fréquentes ne sont pas compactées. Source dispo sous wincpc fichier RLE
load "image",&C000: call &2000 pour le compactage
L'image se sauve sous le nom image.com début &4000 a .... autorun &4000.

Le deuxième est un dictionnaire, il recherche les paquets de 4 octets les memes s'il en trouve au moins 2 les memes
il l'insere dans le dictionnaire en position 01 etc jusque 255. S'il est seul il portera le numero 00 et sera inséré
a la fin du dictionnaire. Le décompactage est un peu plus lent
call &2000 compactage: call &9000 décompactage Source dispo sous wincpc fichier dico

Quelqu'un connait-il le systeme de compactage d'exomizer et applib afin de pouvoir les amélirorer ?


Vous n’êtes pas autorisé(e) à consulter les fichiers insérés à ce message.


Haut
 Profil  
 
markerror
 Sujet du message : Re: C'est l'heure de faire des économies....
Message Publié : 08 Mai 2015, 19:28 
Hors-ligne
VIP
VIP

Inscription : 04 Sep 2007, 19:43
Message(s) : 739
Bonsoir,

Pour moi, les compacteurs performants sont tous basés sur un algorithme de type LZW (en gros, génération d'un dictionnaire dynamique contenant des suites d'octets). La difficulté dans ce type d'exercice, c'est d'arriver à optimiser la génération de ce dictionnaire. Sur une vieille machine avec peu de mémoire, il faut forcément faire des compromis.

C'est probablement pour cela que sur les compacteurs "modernes" qu'on utilise avec nos bécanes, la partie compacteur est sur PC :-).

T&J/GPA


Haut
 Profil  
 
Xavier
 Sujet du message : Re: C'est l'heure de faire des économies....
Message Publié : 13 Mai 2015, 07:12 
Hors-ligne
Rulezz
Rulezz

Inscription : 21 Fév 2011, 17:53
Message(s) : 153
Salut,
L'adaptation du code de Markerror d'exomizer est pourtant bon!

Mais, bon dans quel sens: Au niveau temps ou au niveau taille?

Je l'ai adapté sur ZX81, et le temps de décompression est de quelques secondes pour 2k.
Mais, sur cette machine, la taille compte... pas la vitesse de décompression.
En plus, sur le CPC... ça va 4 fois plus vite!

Je suis tombé sur un mode de compression par changement de base sur Spectrum qui utilisait la base 64 pour coder deux octets... mais j'ai aucune idée de la conversion du petit programme basic en ASM! D'ailleurs, je dois le rechercher dans un des hebdogiciel...
Le taux de compression est de 50% mais est plutôt rapide, car sans buffer.
Sinon, avec un buffer, on peut appliquer la compression par redondance successive d'octets.


Haut
 Profil  
 
markerror
 Sujet du message : Re: C'est l'heure de faire des économies....
Message Publié : 13 Mai 2015, 07:29 
Hors-ligne
VIP
VIP

Inscription : 04 Sep 2007, 19:43
Message(s) : 739
Bonjour,

Personnellement, je n'utilise pas Exomizer pour mes petits projets, mais Bitbuster. Le taux de compression est moins bon (tout en restant excellent par rapport aux crunchers CPC), mais la routine de décompression est bien plus rapide. Je m'en sers par exemple pour compacter les images dans "Le mur de Berlin va sauter".


Haut
 Profil  
 
velus
 Sujet du message : Re: C'est l'heure de faire des économies....
Message Publié : 13 Mai 2015, 14:50 
Hors-ligne
Rulezzz
Rulezzz

Inscription : 05 Août 2011, 14:38
Message(s) : 214
Le buffer d'exomizer n'est que 156 octets ! Si l'on fait un compacteur avec &1000 ou &4000
de buffer y'a moyen de faire mieux non ?


Haut
 Profil  
 
TotO
 Sujet du message : Re: C'est l'heure de faire des économies....
Message Publié : 13 Mai 2015, 17:22 
Hors-ligne
VIP
VIP

Inscription : 13 Jan 2010, 14:25
Message(s) : 2282
A ce que je sache, Exomizer est hyper optimisé.
Si tu penses faire mieux, test déjà tes algo sur PC et compare les ratio.
En suite, penses à comment tu peux porter cela sur CPC...

_________________
Cent Pour Cent


Haut
 Profil  
 
velus
 Sujet du message : Re: C'est l'heure de faire des économies....
Message Publié : 18 Mai 2015, 06:14 
Hors-ligne
Rulezzz
Rulezzz

Inscription : 05 Août 2011, 14:38
Message(s) : 214
Qui sait m'expliquer comment fonctionne le compacteur exomizer ?


Haut
 Profil  
 
Afficher les messages publiés depuis :  Trier par  
Publier un nouveau sujet Répondre au sujet  Page 1 sur 1
 [ 7 message(s) ] 

Index du forum » Z80 Coding

Le fuseau horaire est UTC+1 heure


Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 26 invité(s)


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas insérer de pièces jointes dans ce forum

Aller vers :  
cron
Powered by phpBB® Forum Software © phpBB Group
Traduit en français par Maël Soucaze.