//display 0 to 99 on two displays
#define DELAY 100000
void setup() {
// put your setup code here, to run once:
volatile char *dir1;
dir1 = 0x30;
*dir1 = 0xff;
volatile char *dir;
dir = 0x107;
*dir = 0xff;
}
void loop() {
// put your main code here, to run repeatedly:
volatile long i,x;
volatile char *out1;
out1 = 0x108;
volatile char *out;
out = 0x31;
{*out = 0xbf; for(i=0;i<DELAY;i++);}
{*out = 0x86; for(i=0;i<DELAY;i++);}
{*out = 0xdb; for(i=0;i<DELAY;i++);}
{*out = 0xcf; for(i=0;i<DELAY;i++);}
{*out = 0xe6; for(i=0;i<DELAY;i++);}
{*out = 0xed; for(i=0;i<DELAY;i++);}
{*out = 0xfd; for(i=0;i<DELAY;i++);}
{*out = 0x87; for(i=0;i<DELAY;i++);}
{*out = 0xff; for(i=0;i<DELAY;i++);}
*out = 0xef;for(i=0;i<DELAY;i++);
*out = 0x06;
while(1)
{
*out1 = 0x3f;for(i=0;i<DELAY;i++);
*out1 = 0x06; for(i=0;i<DELAY;i++);
*out1 = 0x5b;for(i=0;i<DELAY;i++);
*out1 = 0x4f; for(i=0;i<DELAY;i++);
*out1 = 0x66; for(i=0;i<DELAY;i++);
*out1 = 0x6d; for(i=0;i<DELAY;i++);
*out1 = 0x7d;for(i=0;i<DELAY;i++);
*out1 = 0x07;for(i=0;i<DELAY;i++);
*out1 = 0x7f; for(i=0;i<DELAY;i++);
*out1 = 0x6f; for(i=0;i<DELAY;i++);
if(*out == 0x6f && *out1 == 0x6f) { *out =0;*out1=0;}
if(*out == 0x7f && *out1 == 0x6f) *out = 0x6f;
if(*out == 0x07 && *out1 == 0x6f) *out = 0x7f;
if(*out == 0x7d && *out1 == 0x6f) *out = 0x07;
if(*out == 0x6d && *out1 == 0x6f) *out = 0x7d;
if(*out == 0x66 && *out1 == 0x6f) *out = 0x6d;
if(*out == 0x4f && *out1 == 0x6f) *out = 0x66;
if(*out == 0x5b && *out1 == 0x6f) *out = 0x4f;
if(*out == 0x06 && *out1 == 0x6f) *out = 0x5b;
}
}