./12> OK, effectivement ce n'est pas inutile et ça ne coûte pratiquement rien dans mon code... Je ferai sûrement ça plus tard.
En fait, pour l'instant je pensais simplement à inciter à avoir une boucle principale du même style que celle dans demo2.c, à savoir :
1. Calculer ce qu'il y a à calculer dans le jeu (gestion des personnages, des objets, etc...)
2. Les afficher sur un buffer "de dessin"
3. Echanger le buffer de dessin avec le buffer d'affichage (donc le buffer de dessin devient celui affiché)
4. Effectuer une attente qui permet d'avoir un fps constant
Je pense qu'avec ce genre de boucle, le dessin sur un buffer se fait bien après qu'il soit devenu "buffer de dessin", donc il aura eu le temps de n'être plus affiché par le controleur LCD HW1 donc ça ne créera pas de dessin parasite (par exemple, si juste après avoir échangé les buffers on dessine sur le nouveau buffer de dessin qui en fait est encore en train d'être affiché, on verra les changements à l'écran).
Mais en fait, c'est vrai que ça ne protège pas du tout l'échange de buffer de se produire alors que les buffers n'ont pas été affichés en entier, donc ça pourrait peut-être poser des petits problèmes graphiques. Je pense que j'implémenterai l'équivalent de genlib::frame_timer

Et sinon, oui c'est compatible HW1/HW2 (enfin, ce n'est pas le même handler pour HW1 et HW2, mais les programmes tournent sur tous les HW).
./16> OK. Bah comme je te l'ai dit, j'avais commencé, mais je trouvais ça assez désagréable de modifier de l'existant pour l'adapter à une nouvelle architecture pour pouvoir offrir une nouvelle API. J'ai préféré tout réécrire (même si je me suis basé sur le code de graphlib).
./19> Non, à part le bon sens peut-être, puisque genlib et graphlib sont déjà là.