[Dashboard\Motobikes\Honda\CBR 600RR 93C56]

Size(280,270); 

Form
{
	Group("Пробег",35,13,120,50)
	{
		Digit(Distance," ",5,18,70);
		Label(lbkm,"КМ",90,20);
	}
	Group("Информация",5,80,270,45) 
	{
		Label(msg," ",0,18);
	}    
	Group("Описание",5,130,270,90) 
	{
		Label(lb1,"Калькулятор пробега Honda CBR600RR",0,20);
		Label(lb2,"EEPROM 93С56.",0,35);
		Label(lb3,"Введите нужное значение в окне ПРОБЕГ.",0,50);
		Label(lb4,"Нажмите кнопку <Применить>.",0,65);
	}
	Picture(Logo,"Honda.bmp",180,10,0,0);
}

OnShow
{
	Var0 = 0;
	Var1 = 0x90; 
	while(Var1 != 0xa0)
	{
		Var2 = @Var1;
		if(Var2 != 0xFF) { Var0 = 1;}
		Var1 = Var1 + 1;
	}
	if(Var0 = 0)
	{
		msg.Color = 0x0000FF;
		msg.Bold = 1;
		msg = "Неверный дамп!";
		Distance = 0;
	}
	else
	{	
		Var2 = ((@0x82 | (@0x83 << 8)) ^ 0xFFFF) << 4;
		msg.Color = 0xFF0000;
		msg.Bold = 1;
		msg = "Дамп ОК. Введите новый пробег.";
		Distance = Var2;
	}
}

OnApply
{
	Var1 = Distance;

	Var0 = 1;
	if(Var1 < 100)      { Var0 = Var0 - 1; }
	if(Var1 > 999900)   { Var0 = Var0 - 1; }

	if(Var0 = 0)
	{
		msg.Color = 0x0000FF;
		msg.Bold = 1;
		msg = "Пробег должен быть от 100 до 999900 км"; 
	}
	else
	{
		Var2 = 0x80;
		Var3 = 0x81;
		Var1 = Var1 / 16;
		Var4 = Var1 ^ 0xFFFF;
		while(Var2 != 0xa0)
		{
			@Var2 = Var1;		Var2 = Var2 + 2;
			@Var3 = Var1 >> 8;	Var3 = Var3 + 2;
			@Var2 = Var4;		Var2 = Var2 + 2;
			@Var3 = Var4 >> 8;	Var3 = Var3 + 2;
		}
		Var5 = Distance;
		Var5 =(Var5 / 16) * 10;

		Var2 = 0xC0;
		Var3 = 0xC1;
		Var5 = Var5 / 16;
		Var4 = Var5 ^ 0xFFFF;
		while(Var2 != 0xE0)
		{
			@Var2 = Var5;		Var2 = Var2 + 2;
			@Var3 = Var5 >> 8;	Var3 = Var3 + 2;			
			@Var2 = Var4;		Var2 = Var2 + 2;
			@Var3 = Var4 >> 8;	Var3 = Var3 + 2;
		}

		msg.Color = 0xFF0000;
		msg.Bold = 1;
		msg = "Дамп OK. Новый пробег записан.";
		Distance = Distance;
	}
}