//Chaque charblock fait 16 ko (il contient 512 mosaïques 4 bits par exemple)
#define CharBaseBlock(n) ((void*)(((n)*0x4000)+0x6000000))
//Chaque screenblock fait 2 ko (il contient une map texte de 256x256 par exemple)
#define ScreenBaseBlock(n) ((void*)(((n)*0x0800)+0x6000000))

//Pointeur sur la mémoire de la palette (256 couleurs 16 bits)
unsigned short *Palette = (unsigned short*)0x5000000;
//La palette des objets est située ailleurs, permettant 256 couleurs supplémentaires
unsigned short *PaletteObj = (unsigned short*)0x5000200;

//Indique la ligne en train d'être dessinée par le contrôleur graphique.
volatile unsigned short *CompteurScanline = (volatile unsigned short *)0x4000006;

//Attend la VSync, c-à-d que le contrôleur graphique a fini de dessiner les 160 lignes de l'écran.
void AttendVSync()     {
    while (*CompteurScanline>=160);
    while (*CompteurScanline<160);
}


