Контрольная сумма (Checksum)
Контрольная сумма — это очень простая форма проверки ошибок. Она вычисляется путём сложения значений ROM, без учёта переполнения или переноса. Контрольные суммы могут быть разных размеров — 8-бит, 16-бит, 32-бит, и это обычная практика. ЭБУ OBD0 и OBD1 для Honda используют исключительно 8-битные контрольные суммы, то есть значения от 0 до 255 в десятичной системе или от 00 до FF в шестнадцатеричной.
Существует программа под названием check8 (также доступна внизу этой страницы), которая может вычислять 8-битные контрольные суммы.
Вы можете обновить ROM так, чтобы контрольная сумма оставалась 00 даже после редактирования. Вот как это сделать (в примере используется WinHex, но вы можете использовать предложенную программу ниже, однако она предназначена только для поиска контрольной суммы, а не для редактирования ROM):
- Откройте WinHex и выберите меню Tools -> Calculate Hash (выберите 8-битный режим). Запишите число, которое оно вам выдаст. Это будет текущая контрольная сумма.
- Откройте Калькулятор Windows (Start -> Run -> Calc, затем нажмите Enter), выберите View -> Scientific, включите Hex Mode (или нажмите F5).
- Введите:
FF – Текущая контрольная сумма (например, FF – AB). Число, которое вам выдаст калькулятор, нужно будет записать в памяти, внизу, где уже есть значение FF.Пример:
(FF – AB = 54). - Перейдите в адрес 7FFF, где значение равно FF, и замените его на 54.
- Если у вас нет адреса с бесплатным значением FF, а там стоит другое значение (например, 00), используйте 00 в калькуляторе, а не FF (например, 00 – AB).
Скачать Check8.exe