I found the error by myself...
The problem never came from oscillator config at all !!!in fact i dont know if is a mikroe bug or whatelse but...
I remembered i copy paste the timer0 part from examples... look: the _bit is everywhere !!!
// Enable global and peripheral interrupts
INTCON = 0xC0; // Set GIE, PEIE
// Setup and enable TIMER0
TMR0ON_bit = 0; // turn off the timer during setup
TMR0IE_bit = 1; // Enable TMRO interrupt
T08BIT_bit = 1; // Enable 8 bit control (as opposed to 16-bit)
T0CS_bit = 0; // use internal clock to trigger timer to count
PSA_bit = 0; // Use the prescaler to slow the timer down
// prescaler
// 111 = 1:256 Prescale value
// 110 = 1:128 Prescale value
// 101 = 1:64 Prescale value
// 100 = 1:32 Prescale value
// 011 = 1:16 Prescale value
// 010 = 1:8 Prescale value
// 001 = 1:4 Prescale value
// 000 = 1:2 Prescale value
T0PS0_bit = 0;
T0PS1_bit = 0;
T0PS2_bit = 0;
TMR0L = TIMER_START_VALUE;
TMR0H = 0;
// TIMER2 config to create pwm.
// PWM frequency = 1/((PR2 + 1) * 4 * TOSC * TMR2prescaler)
T2CON=0b00000011; //prescaler 1:16 and turn on TMR2
PR2=249;// period definition
CCPR1L = 0; // max DC: 63 for =< 500us 32 for 250u 48 for 375
CCP1CON.b4 = 0; // Place bit-0 of the duty in the LSB register(bit-4)
CCP1CON.b5 = 0; // Place bit-1 of the duty in the LSB register(bit-5)
CCP1CON.b2 = 1; // Turn on PWM Module one,
CCP1CON.b3 = 1; // by setting bits 2 and 3 of CCP1CON
// Delay_ms(100/5); // stupid delay just to wire the Vcc from the servos
INTCON.GIE = 1;
INTCON.PEIE = 1;
PIE1.RCIE = 1; //enable interrupt.
UART1_Init(115200);
TMR0ON_bit= 1; // start the timer
T2CON.TMR2ON=1;
// i debugged with this itchy bitchy blink !!
LATC.F0=1;
Delay_ms(500);
LATC.F0=0;
//VDelay_us(1000000);
Delay_ms(1000) ;
while(1){...
}
And is the TMR0ON_bit who piss all my code... delay of 500ms become a 2.5sec one !!
So now the problem is ton configure correctly the timer0 to not disturb my system...