// Author: Civic TSI

num GEARADR = 0x6016;

num gear1;
num gear2;
num gear3;
num gear4;
num gear5;

void open()
{
	num x = 650;
	num y = 110;

	CreateBorder(x, y, 150, 150, 6, 0, "Gear Correction");
	CreateStatic(x+5, y-5, 100, 20, 6, 0, "Gear Correction");

	gear1 = CreateEdit(x+20, y+20, 50, 20, 6, 0, "");
	CreateStatic(x+80, y+23, 40, 20, 6, 0, "1st");

	gear2 = CreateEdit(x+20, y+40, 50, 20, 6, 0, "");
	CreateStatic(x+80, y+43, 40, 20, 6, 0, "2nd");

	gear3 = CreateEdit(x+20, y+60, 50, 20, 6, 0, "");
	CreateStatic(x+80, y+63, 40, 20, 6, 0, "3rd");

	gear4 = CreateEdit(x+20, y+80, 50, 20, 6, 0, "");
	CreateStatic(x+80, y+83, 40, 20, 6, 0, "4th");

	gear5 = CreateEdit(x+20, y+100, 50, 20, 6, 0, "");
	CreateStatic(x+80, y+103, 40, 20, 6, 0, "5th");

	CreateBtn(x+20, y+120, 50, 20, 6, "ReadGearCorrection", "Read");
	CreateBtn(x+80, y+120, 50, 20, 6, "WriteGearCorrection", "Write");

	ReadGearCorrection();
}

void ReadGearCorrection()
{

	setitem(gear1, readbyte(GEARADR));
	setitem(gear2, readbyte(GEARADR+1));
	setitem(gear3, readbyte(GEARADR+2));
	setitem(gear4, readbyte(GEARADR+3));
	setitem(gear5, readbyte(GEARADR+4));
}

void WriteGearCorrection()
{
	writebyte(GEARADR, getitem(gear1));
	writebyte(GEARADR+1, getitem(gear2));
	writebyte(GEARADR+2, getitem(gear3));
	writebyte(GEARADR+3, getitem(gear4));
	writebyte(GEARADR+4, getitem(gear5));
}
