[SOS] [PATCH] printk et scrolling ecran

David MENTRE dmentre at linux-france.org
Dim 22 Aou 10:03:25 CEST 2004


Bonjour,

Christophe Lucas <c.lucas at ifrance.com> writes:

> Voici un petit patch pour afficher un peu plus aisément à l'écran.
> Cette fonction gère le scrolling à l'écran.

Merci pour le patch.

Si j'ai bien compris :

 1. tu mémorises la mosition (x, y) (currentX, currentY) ;

 2. tu affiches dans la mémoire écran à partir de cette position (x, y),
    en sautant à la ligne suivante (par un décalage dans le buffer
    vidéo) si tu as un '\n' ;

 3. si la place restante en mémoire vidéo entre la position courante et
    la fin du buffer vidéo est trop petite, tu scrolles de la taille de
    la chaine à imprimer arrondi à la ligne supérieure. Le scrolling se
    fait en recopiant la fin du buffer vidéo au début.


Une remarque : j'ai l'impression que ton algo ne marche pas si tu as un
cas pathologique du genre « une chaine avec beaucoup de retour chariots
mais plus petite que la taille restante, càd "\n\n\n\ntoto\n" ». Si
currentY==23 et currentX=1, tu essayerais d'afficher cette chaine (de
taille 9) qui rentre en mémoire vidéo mais le scrolling ne sera pas bien
fait.

Là où je vois une erreur dans ton code, c'est que tu ne tiens pas compte
du nombre de '\n' pour calculer la taille du scrolling (appel à
scroll_screen()). 

Mais je peux me tromper, j'ai pas encore installé SOS. :)

Amicalement,
d.
-- 
 David Mentré <dmentre at linux-france.org>


Plus d'informations sur la liste de diffusion Sos