[Dashboard\Suzuki\Jimny\Jimny 68HC908AZ60A]

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,"Калькулятор пробега для Suzuki Jimny.",0,20);
        Label(lb2,"Magneti Marelli.68HC908AZ60A internal EEPROM",0,35);
        Label(lb3,"Введите нужное значение в окне <Пробег>.",0,50);
        Label(lb4,"Нажмите кнопку <Применить>.",0,65);
    }
     Picture(Logo,"Suzuki.bmp",185,10,0,0);
}

OnShow 
{
	Var0 = 0;
	Var1 = 0x200;
	Var3 = 0;
	if (@Var1 = 0xFF) { Var0 = Var0 + 1;}
      
	if(Var0 = 0)
	{
		while(Var1 < 0x23C)
		{
			Var2 = (@Var1 << 16) | (@(Var1 + 1) << 8) | @(Var1 + 2);
			if(Var2 > Var3) {Var3 = Var2;} 	// Наибольший пробег
			Var1 = Var1 + 3;
		}

        msg.Color = 0xFF0000;
        msg.Bold = 1;
        msg = "Дамп ОК. Введите пробег.";
        Distance = Var3;
	}
	else
	{
		msg.Color = 0x0000FF;
		msg.Bold = 1;
		msg = "Неверный дамп!";
		Distance = 0;
	} 
}

OnApply 
{
	Var5 = 0;
	Var2 = Distance;

	if(Var2 > 999900) {Var5 = 1;}
	if(Var2 < 100)   {Var5 = 1;}
	if(Var5 != 0)
	{
		msg.Color = 0x0000FF;
		msg.Bold = 1;
		msg = "Пробег должен быть от 100 до 999900 км";
	}
	else
	{
		Var2 = Var2 - 19;
		Var3 = 0x200;
		while(Var3 != 0x23c)
		{
			@Var3 = Var2 >> 16 & 255;	Var3 = Var3 + 1;
			@Var3 = Var2 >> 8 & 255;	Var3 = Var3 + 1;
			@Var3 = Var2 & 255;			Var3 = Var3 + 1;
			Var2 = Var2 + 1;
		}
		Var2 = Distance;
		Var2 = Var2 - 19;
		Var3 = 0x23c;
		while(Var3 != 0x278)
		{
			@Var3 = (Var2 >> 16 & 255) ^ 0xff;	Var3 = Var3 + 1;
			@Var3 = (Var2 >> 8 & 255) ^ 0xff;	Var3 = Var3 + 1;
			@Var3 = (Var2 & 255) ^ 0xff;		Var3 = Var3 + 1;
			Var2 = Var2 + 1;
		}
		msg.Color = 0xFF0000;
		msg.Bold = 1;
		msg = "Новый пробег записан.";
	}
}