Имитатор кабины Л-410 УВП (ФГ) — «Железные» кокпиты

Евгений Bird подсказал офсет скольжения. Однобайтовая переменная 036E, но работает не так как должна. выдает значения вправо от 0 до 127, а в лево от 255 до 127. Так быть не должно, может клюкнутая версия fsuipc используется?

Это нормально. Число в дополнительном коде. 255 соответствует  -1, 128 соответствует  -127

Да мне то зачем этот дополнительный код нужен? Мне нужна переменная в диапазоне -127 до +127.

Да мне то зачем этот дополнительный код нужен? Мне нужна переменная в диапазоне -127 до +127.

Она и есть в этом диапазоне. Просто где-то по дороге в каком-то месте вместо байтовой знаковой ее взяли как байтовую (или большего размера) беззнаковую. Вы можете вернуть его обратно — если число больше 127, вычтите из него 256.

Сергей спасибо за помощь!
Пришлось написать в СИОК такие строки. Заработало!

Var 0109, Link FSUIPC_IN, Offset $036E, Length 1 // cкольжение
{
L0 = V0109
IF L0 > 128
{
L0 = L0 — 256
}
L0 = L0 * 5 // Calculate degrees for UAS-B
&skol = L0
}

С указателем разворота такая же ерунда.

Var 0120, Link FSUIPC_IN, Offset $037C, Length 2 // разворот
{
L0 = V0120
IF L0 > 513
{
L0 = L0 — 65536
}
L0 = L0 * 3 // Calculate degrees for UAS-B
&razv = L0
}

Александр, только не >128 и > 513, а >=128, >= 512 или >127, >511.