Désolé pour le bouffage de caractères, c'est vrai que je n'en ai pas laissé un seul de libre sur la page d'intro
.
Les caractères sont stockées dans la ram de l'EF9345. Si tu redéfinis un caractère, son ancienne matrice est forcément remplacée dans la mémoire par ta nouvelle définition. Si tu rajoutes une ligne 21 FOR I=1 TO 10000:NEXTI, tu verras bien que le premier SETEG redéfinit bien le caractère "A". Quand tu changes la définition du caractère en 30, le "A" déjà affiché est naturellement rafraîchi avec la nouvelle "forme" du caractère.
Par rapport à ta problématique de mémoire, ton salut se situerait plutôt dans un programme qui compacte le code binaire. Ca libèrerait de l'espace mémoire que tu pourrais consacrer temporairement au stockage et à la définition des caractères redéfinis avant de décompacter ton code.
Accessoirement, cela permettrait aussi de laisser la page de présentation pendant tout le chargement du programme principal.
Sur Z80, il y a pas mal de librairies utilisables. Pour ma part, je me sers de Bitbusters (qui vient du monde MSX). C'est pas la plus performante (quoique déjà respectable), mais la routine de décompression présente l'avantage d'être très rapide.
La librairie la plus performante actuellement est je crois Exomizer. Il est utilisé par CngSoft pour ses cracks CPC.