// remonter d'une ligne l'affichage à l'écran (il pourra être judicieux d'utiliser memmove définie dans string.h pour cela)
void defilement(void) {
    uint8_t i;
    uint8_t j;
    // defilement: chaque ligne monte par 1
    for(i = 0; i < 24; i++) {
        memmove(ptr_mem(i, 0), ptr_mem(i + 1, 0), 160);
    }
    // nouvelle ligne vide en bas
    for(j = 0; j < 80; j++) { 
      ecrit_car(24, j, ' ', VERT);
    }
}
// écrire le caractère c aux coordonnées spécifiées
void ecrit_car(uint32_t lig, uint32_t col, char c, int32_t COLOR) {
    //get pointeur sur la case mémoire
    uint16_t *ptr_format = ptr_mem(lig, col);
    //format: depend de la valeur de couleur / c est le charactere a ecrire
    *ptr_format = COLOR | c;
    return;
}
예제 #3
0
void efface_ecran(void)
{
	for(int i = 0; i < LARGEUR_ECRAN *  HAUTEUR_ECRAN; i++)
	{
		*(ptr_mem(0, i)) = 0xF00 ;
	}
	lig_ = 0 ;
	col_ = 0 ;
}
예제 #4
0
void defilement(void)
{
	memmove((void*)print_addr,
		(void*)(print_addr + 2 *LARGEUR_ECRAN), 
		LARGEUR_ECRAN * (HAUTEUR_ECRAN - 2) * 2);
	for(int i = 0; i < LARGEUR_ECRAN; i++)
	{
		*(ptr_mem(HAUTEUR_ECRAN - 2, i)) = 0xF00 ;
	}
}
예제 #5
0
void ecrit_car(int lig, int col, char c, int ctext, int cfond, int cl)
{
	*ptr_mem(lig, col) = c|(ctext<<8)|(cfond<<12)|(cl<<15);
}