Tout d'abord, pour la taille de fichier intermédiaire, je suis d'accord ça multiplie la taille par 8. C'est un vrai problème, car je ne sais pas combien de mémoire vive possède la calculatrice (je ne sais même pas si on parle de mémoire vive sur une calculatrice

).
Cependant hormis ça la présence d'un tableau intermédiaire est loin d'être une "étape inutile", puisqu'elle permet d'éviter le passage octet=>bits ou vice versa.
En effet comme je l'ai dit précedement dans mon cas je pensais faire en parallèle un programme de création d'images. A partir de ce moment là il suffit, dès qu'on dessine un pixel sur l'écran, d'écrire un '1' dans la zone du tableau correspondant... Plus de manipulation bits à bits, et une compression accélérée!
Et puis, une fois la compression effectuée, le "tableau intermédiaire" serait effacé donc la place exhorbitante prise en mémoire serait elle aussi rendue.
A vrai dire j'ai déjà réalisé ce dont je vous parle (l'histoire du tableau virtuel), mais à une échelle miniature, dans un programme de création de sprites. Malheureusement je ne me suis pas penché pour lui sur l'histoire de la compression RLE adaptée, sachant que sur une image 32x32, et surtout sur un sprite où les détails sont légions, elle ne serait pas forcément "rentable". Je vous posterais quand même ce programme dès qu'il sera fini!
Comme l'a fait remarquer Martial Demolins, il est aussi possible de passer par la manipulation de bits (et encore, un bien grand mot pour une petite chose, s'il suffit de convertir des octets en binaire) mais je préfèrerai m'y pencher sérieusement que si ma solution initiale, gourmande en octets intermédiaires, est vraiment irréalisable au niveau des capacités de la machine.
Pou ce qui est du code et des idées crades, je suis désolé mais je viens de la programmation basic sur TIz80, que j'ai appris en autodidacte, et je me suis donc habitué à passer par des solutions "pas très conventionnelles" pour arriver à mes fins.
M'enfin après tout si ça marche sans inconvénients majeurs, je vois pas le mal ^_^.
Pour ce qui est de la programmation ASM, j'y ait pensé mais je me suis dit que je préfèrerai améliorer mon niveau en C plutôt que de me jeter dans un autre langage.