For a quick and dirty method:
#define REG_VCOUNT (*(volatile unsigned short*)(0x04000006))
void vsync()
{
while(REG_VCOUNT >= SCREEN_H);
while (REG_VCOUNT < SCREEN_H);
}
This is considered a bad method because it uses CPU instructions in order to wait, consuming battery.
VBlankIntrWait()...