235Fermer237
philip-lynxLe 16/12/2012 à 18:51
alors, au début du code: #include <stdlib.h> #include <lynx.h> #include <lynxlib.h> #include "inc\c0.pal" #define JOY_RIGHT 0x10 #define JOY_LEFT 0x20 #define JOY_DOWN 0x40 #define JOY_UP 0x80 #define BUTTON_OPTION1 0x08 #define BUTTON_OPTION2 0x04 #define BUTTON_INNER 0x02 #define BUTTON_OUTER 0x01 #define BUTTON_PAUSE 0x01 char SCREEN[8160] at (MEMTOP-16320); char RENDER[8160] at (MEMTOP-8160); // ------------------------------------ char compteur; int i, unite, dizaine; // clip du sprite chiffres: 0123456789 extern uchar c0[]; extern uchar c1[]; extern uchar c2[]; extern uchar c3[]; extern uchar c4[]; extern uchar c5[]; extern uchar c6[]; extern uchar c7[]; extern uchar c8[]; extern uchar c9[]; uchar *chtab[10] = {c0, c1, c2, c3, c4, c5, c6, c7, c8,c9}; uchar _SCB_UNITES[]; // déclaration d'un nouveau controleur de sprite uchar _SCB_DIZAINES[]; // déclaration d'un nouveau controleur de sprite #asm _SCB_UNITES dc.b $c7,$10,$20 dc.w 0,0 dc.w 0,0,$100,$100 dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef _SCB_DIZAINES dc.b $c7,$10,$20 dc.w 0,0 dc.w 0,0,$100,$100 dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef #endasm // ------------------------------------ void Vsync() { #asm vretrace: lda $fd0a bne vretrace #endasm }

puis:
char main() { InitIRQ(); CLI; SetBuffers(SCREEN, RENDER ,0); SetRGB(c0_pal); SCBX(SCB_UNITES) = 81; SCBY(SCB_UNITES) = 50; SCBX(SCB_DIZAINES) = 74; SCBY(SCB_DIZAINES) = 50; SCBNEXT(_SCB_UNITES) = _SCB_DIZAINES; // chainage de sprite compteur = 99; // Boucle principale : while(1) { Vsync(); SwapBuffers(); unite = compteur % 10; dizaine = compteur / 10 % 10; SCBDATA(_SCB_UNITES) = chtab[unite%10]; SCBDATA(_SCB_DIZAINES) = chtab[dizaine%10]; DrawSprite(SCB_UNITES); // un seul drawsprite jean-philippe } }