void test0(void)
{
register unsigned short i,j;
register uchar *powerout;
register uchar data;
powerout=(uchar*) &rendered_pic[0];
for(i=0;i<128/4;i++){data=(i&0xF)+((i&0xF)<<4);for(j=0;j<224;j++){*powerout=data;powerout+=4;}}
powerout=(uchar*) &rendered_pic[1];
for(i=0;i<128/4;i++){data=(i&0xF)+((i&0xF)<<4);for(j=0;j<224;j++){*powerout=data;powerout+=4;}}
powerout=(uchar*) &rendered_pic[2];
for(i=0;i<128/4;i++){data=(i&0xF)+((i&0xF)<<4);for(j=0;j<224;j++){*powerout=data;powerout+=4;}}
powerout=(uchar*) &rendered_pic[3];
for(i=0;i<128/4;i++){data=(i&0xF)+((i&0xF)<<4);for(j=0;j<224;j++){*powerout=data;powerout+=4;}}
}
int main(void)
{
short i,j,k;
volatile register ushort *pw;
volatile register uint *pl;
uint timerframes;
pl = (uint *) GFXCNTL;
pw = (ushort *) GFXDATA;
init_gfx1();
fvr_load_tiles(15,16+16,0,hex_tiles);
fvr_set_pal(0,mypal);
fvr_set_pal(1,mypal2);
vtimer=0;timerframes=0;
//PReparing screen

for(i=0;i<32;i++){for(j=0;j<28;j++){*pl = GFX_WRITE_ADDR(0xc000+0x40*j+i*2);*pw=0x8000+i*28+27-j+256;}}
//###################################
//###################################
//Test0, std fullscreen filling
//resolution of 128*224 -> 256*224 (128 vertical lines drawed)
*pl = GFX_WRITE_ADDR(0xc000+0x40*2+10);*pw=0x8000+0x2000+16;k=0;
while(k<400)
{
//Show FPS (calculated approximatively during one second on a 60hz system
if(vtimer>60){fvr_load_tiles(256,256+32*28,0,rendered_pic);*pl = GFX_WRITE_ADDR(0xc000+0x40*3+10);*pw=0x8000+0x2000+15;*pw=0x8000+0x2000+16+(((timerframes)&0xF000)>>12);*pw=0x8000+0x2000+16+(((timerframes)&0xF00)>>8);*pw=0x8000+0x2000+16+(((timerframes)&0xF0)>>4);*pw=0x8000+0x2000+16+(((timerframes)&0xF));timerframes=0;vtimer=0;}
else if(timerframes<0xFFFF){timerframes++;}
test0();k++;
}