Ответ: Служебные коды мобильных Операторов GSM
#6
Вот
ссылка на смещения.
Давайте на примере узнаем как создавать Optcode.
Код:
Код на включение 3х дополнительных вибро-сигналов...
Включение трёх дополнительных вибро-сигналов «Вибро-точка», «Вибро-точка-точка», «Вибро пульс»:
Входим в меню Opticode.
Ввести значения:
Opcode "47" "OK"
Field 1 "50" "OK"
Field 2 "1" "OK"
Field 3 "27" "OK"
Field 4 "1" "OK"
Field 5 (D) "225" "OK"
->Откат: Field 5 (D) "168" "OK"
Results F1:0
Находим здесь
следующую строку:
SEEM 0032_0001
bits: 00000000 <-- binary
76543210 <-- bit #
**all offsets are HEX**
offset 3B
bit 2: Vibe Dot alert (1 on, 0 off)
bit 3: Vibe Dash alert (1 on, 0 off)
bit 4: Vibe Dot Dot alert (1 on, 0 off)
bit 5: Vibe Dot Dash alert (1 on, 0 off)
bit 6: Vibe Pulse alert (1 on, 0 off)
Во все поля (смещения) в телефоне нужно вводить в десятеричной (
Dec) системе исчисления, а отображается в шестнадцатеричной (
Hex). Для этого нам понадобится обыкновенный виндоусный калькулятор.
Field 1 "50"
"SEEM 0032_0001"
Отсюда видно, что нужно менять в SEEM’е "0032” в записи "0001".
Переводим "0032" в десятичную систему исчисления, получается "32" (
Hex) => "50" (
Dec). (Field 1 "50")
Field 2 "1"
Единицу переводить не надо. "1" (
Hex) => "1" (
Dec).
Field 3 "59"
offset 3B
Смещение тоже переводим в десятичную систему "3B"(
Hex) => "59"(
Dec)
Теперь нам надо узнать значение регистра для отката.
Входим в Opticode.
Набирать быстро:
Кнопка "Меню" и "048263*"
Вводим значение:
Opcode "32" "OK" ("32" - команда на чтение).
Field 1 "50" "OK" (Номер "0032" SEEM’а в десятеричной системе)
Field 2 "1" "OK" (Номер записи "0001")
Field 3 "59" "OK" (Смещение регистра "3B"(
Hex) => "59"(
Dec))
Field 4 "1" "OK" (Указывает сколько байтов показывать телефону на экране. Нам нужно значение одного байта. Значит, вводим "1").
Results
F1:0
F2(D): а8
Где "а8" текущее значение регистра, у вас может быть и другое значение, для отката нужно перевести в десятеричную систему (просто перевести "а8"(
Hex) =>"168"(
Dec), "168" и будет значение отката). Переводим это значение в двоичную систему исчисления "а8"(
Hex)=>"10101000"(
Bin). Это текущее значение активированных и не активированных вибровызовов. Справа на лево (т.е. bit 0 это самый правый бит).
bit 2: Vibe Dot alert (1 on, 0 off)
bit 3: Vibe Dash alert (1 on, 0 off)
bit 4: Vibe Dot Dot alert (1 on, 0 off)
bit 5: Vibe Dot Dash alert (1 on, 0 off)
bit 6: Vibe Pulse alert (1 on, 0 off)
Нам нужно активировать все указанные значения (bit 2, bit 3, bit 4, bit 5, bit 6). Значит нам нужно значение "11111100"(
Bin). Переводим в десятеричную систему "11111100"(
Bin) => "252"(
Dec).
Далее записываем полученное значение регистра в телефон:
Opcode "47" "OK" ("47" - команда на запись).
Field 1 "50" "OK"
Field 2 "1" "OK"
Field 3 "59" "OK"
Field 4 "1" "OK"
Field 5 (D) "225" "OK"
Results
F1 : 0
Вот так. Ничего сложного. На этом примере можно делать любые Optcode, зная значение смещений.