void setup() {
  // put your setup code here, to run once:
  volatile char *portf;
  portf=0x30;
  *portf=0xFF;
  volatile char *portk;
  portk=0x107;
  *portk=0xFF;
}

void output(char x)
{
    volatile char *out;
    out = 0x108;
    *out = 0x03;
    out = 0X31;
    x=0x00;
    *out = x;
}

void displayscreen1(char y)
{
  volatile char *out;
  out=0x108;
  *out=0x02;
  out=0X31;
  *out=y;

}


void displayscreen2(char y)
{
  volatile char *out;
  out=0x108;
  *out=0x01;
  out=0X31;
  *out=y;
}

void screen(char i)
{
  volatile char *out;
  switch(i) {
    case 0: 
    out=0x108;
    *out=0x02;
    out=0X31;
    *out=0x3F;
    break;
    case 1:
    out=0x108;
    *out=0x02;
    out=0X31;
    *out=0x06;
    break;
    case 2:
    out=0x108;
    *out=0x02;
    out=0X31;
    *out=0x5B;
    break;
    case 3:
    out=0x108;
    *out=0x02;
    out=0X31;
    *out=0x4F;
    break;
    case 4:
    out=0x108;
    *out=0x02;
    out=0X31;
    *out=0x66;
    break;
    case 5:
    out=0x108;
    *out=0x02;
    out=0X31;
    *out=0x6D;
    break;
    case 6:
    out=0x108;
    *out=0x02;
    out=0X31;
    *out=0x7D;
    break;
    case 7:
    out=0x108;
    *out=0x02;
    out=0X31;
    *out=0x07;
    break;
    case 8:
    out=0x108;
    *out=0x02;
    out=0X31;
    *out=0xFF;
    break;
    case 9:
    out=0x108;
    *out=0x02;
    out=0X31;
    *out=0x67;
    break;

    

  }
  
}
void screen1(char i)
{
  volatile char *out;
  switch(i) {
    case 0: 
    out=0x108;
    *out=0x01;
    out=0X31;
    *out=0x3F;
    break;
    case 1:
    out=0x108;
    *out=0x01;
    out=0X31;
    *out=0x06;
    break;
    case 2:
    out=0x108;
    *out=0x01;
    out=0X31;
    *out=0x5B;
    break;
    case 3:
    out=0x108;
    *out=0x01;
    out=0X31;
    *out=0x4F;
    break;
    case 4:
    out=0x108;
    *out=0x01;
    out=0X31;
    *out=0x66;
    break;
    case 5:
    out=0x108;
    *out=0x01;
    out=0X31;
    *out=0x6D;
    break;
    case 6:
    out=0x108;
    *out=0x01;
    out=0X31;
    *out=0x7D;
    break;
    case 7:
    out=0x108;
    *out=0x01;
    out=0X31;
    *out=0x07;
    break;
    case 8:
    out=0x108;
    *out=0x01;
    out=0X31;
    *out=0xFF;
    break;
    case 9:
    out=0x108;
    *out=0x01;
    out=0X31;
    *out=0x67;
    break;

    

  }
  
}



void loop() {
  // put your main code here, to run repeatedly:
  volatile long i;
  volatile char y;
  while(1)
  {
    for(i=0;i<=9;i++)
    {
      volatile long j;
      for(j=0;j<=9;j++)
      {
        output(y);
        screen(i);
        delay(1000);
        output(y);
        screen1(j);
        delay(100);
        output(y);
      }

      
    }
  }
}