[Dashboard\Subaru\Legacy\Legacy - 93C56 new]

//-------------- Civic 93C56 ---------------

Size(280,250); // ширина и высота

Form
{
    Group("Пробег",5,5,140,50)
    {
        Digit(Distance," ",5,18,90);
        Label(lb1,"KM",110,20);
    }
    Group("Информация",5,58,270,45)
    {
        Label(msg," ",0,18);
    }
    Group("Описание",5,105,270,100) 
    {
        Label(lb2,"Введите нужное значение в окне ПРОБЕГ",0,55);
        Label(lb3,"и нажмите кнопку <Применить>.",0,70);
        Label(lb4,"Калькулятор пробега для Subaru Legacy.",0,20);
        Label(lb5,"EEPROM: 93c56",0,35);
    }
    Picture(Picture1,"Subaru.bmp",180,5,0,0);
}

OnShow
{
    		
    	// --------------- проверяем правильность дампа
	// проверяем правильность дампа
	Var0 = 0;
	Var1 = 0xF0; 
	while(Var1 != 0x100)
	{
		Var2 = @Var1;
		if(Var2 != 0xFF) { Var0 = 1;}
		Var1 = Var1 + 1;
	}
	if(Var0 = 1)
	{
		msg.Color = 0x0000FF;
		msg.Bold = 1;
		msg = "Неверный дамп!";
		Distance = 0;
	}

	else
	{	
    		// --------------- текущий пробег

    	//	Var1 = (0xFFFF - ((@0xe3 << 8) | @0xe2)) * 16;
            Var2 = ((@0xe2 | (@0xe3 << 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 = 0xE0;
        Var3 = 0xE1;
        Var1 = Var1 / 16;
	  Var4 = Var1 ^ 0xFFFF;
        while(Var2 != 0x100)
        {
		@Var2 = Var1;
		@Var3 = Var1 >> 8;
		Var2 = Var2 + 2;
		Var3 = Var3 + 2;
		@Var2 = Var4;
		@Var3 = Var4 >> 8;
		Var2 = Var2 + 2;
		Var3 = Var3 + 2;
        }
        msg.Color = 0xFF0000;
        msg.Bold = 1;
        msg = "Дамп OK. Новый пробег записан.";
        Distance = Distance;
 
    }
}

