Хак одометра Yamaha DragStar 1100

В автокалькуляторах ничего подходящего не нашлось, пришлось копать самому. ( А сочетания иногда
прикольные. Например для приборки Harley-Davidson подошла формула от Cadillac Escalade 2005 года!)
Схема одометра в формате sPlan7 - здесь
Флэшка 93C46, организация 16 бит.
Адрес: 20h и далее - старшие цифры.

Адрес
Данные
20h
сотни
21h
тысячи
22h
десятки тысяч
23h
сотни тысяч

 Данные находятся не в явном виде, каждой цифре соответствует определённое слово (2-х байтный код):

Цифра
Код
0
BDEF
1
FBDE
2
F7BD
3
B18C
4
EF7B
5
A94A
6
A529
7
E318
8
DEF7
9
98C6

 Как формируются 2 младшие цифры (00 - 99):
1. Для продления жизни флэшки используются 20 ячеек с адресами
от 00h до 09h (10 ячеек) и от 10h до 19h (ещё 10 ячеек).
 !! Ячейки НЕ байтовые, а двухбайтовые, т.к. организация памяти 16-ти битная !!
 !! Неиспользованные ячейки (0Ah - 0Fh и 1Ah - 1Fh) заполнены 7FFF !!
2. Используется последовательное заполнение ячеек пятью определёнными комбинациями:

 Заполнение
Число
FBDE
от 0 до 19
F7BD
от 20 до 39
EF7B
от 40 до 59
DEF7
от 60 до 79
BDEF
от 80 до 99

Если рассмотреть в битовом виде, то видно что следующее значение получается путём сдвига влево на 1 бит с переносом.
Таким образом после BDEF получается 7BDF (0111.1011.1101.1111), старший 0 значит что надо переходить к началу - FBDE.
А как там в проге это решается (чтение константы, или обмен старшего и младшего бита) - нам не важно.

 ПРИМЕР 1: Допустим на одометре у нас 25753 км. Как это выглядит в памяти? Старшие 3 цифры в кодированном виде находятся в
ячейках 20h-22h. Младшие две (53) - это EF7B, этим значение будут заполнены ячейки 00h-09h и 10h-13h, дальнейшие
ячейки (14h - 19h) будут заполнены предыдущим значением - F7BD.

 ПРИМЕР 2: скриншот


 Что мы видим? В ячейке 00 - BDEF, т.е. младшие 2 цифры из диапазона 80-99. В ячейке 01 у нас DEF7, это от предыдущего заполнения
осталось (60-79), т.е. наше искомое число =80.
 Смотрим ячейки 20-23h: 20h =EF7B =4 (сотни км)
                                      21h =FBDE =1
                                      22h =F7BD =2
                                      23h =FBDE =1
Итого: наши показания - 121480 км.