
Сообщение от
Trol73
Да простит меня уважаемый caro, но я начал потихоньку дизассемблировать его прошивку контроллера.

Сообщение от
Denn
Чтобы в наше время возникло желание хакнуть что-то от 8-биток, это "что-то" должно быть ну очень клёвое и как минимум интересное большому кол-ву народу.
Действительно, клевое и качественное. Очень рада возможности узнать, как оно работает изнутри. Даже интерес к ассемблеру AVR появился.
Примеров в сети на Си полно, но тут случай особый.
А сканкоды клавиш "встроенных" (вне таблицы), любой желающий может изменить на свой вкус прямо в блокноте.
Нужно всего лишь список сигнатур составить по лист-файлу, для возможности правки hex файла.
И совсем необязательно разработчика (caro) из за такой мелочи беспокоить. 
- - - Добавлено - - -
Вот простой пример.
Открываем в блокноте файл orion_kb.hex и ищем сигнатуру "5F3529F4". Меняем сканкод "5F" клавиши "Scroll Lock" на любой желаемый из таблицы AT Keyboard Scan Codes (Set 3). При замене сканкода 5F (Scroll Lock) на сканкод 62 (Pause), получим измененную сигнатуру "523629F4". Хотя, блин придется еще контрольную сумму блока пересчитать.
Но эту проблему решает avr-objcopy, надо батник написать для простого использования, не требующего никаких знаний.
Подробности на ASM
Код:
;Reversed by Trol73
.equ KEY_SCROLLLOCK = 0x5F
...
C:000062 355f cpi r21, KEY_SCROLLLOCK
C:000063 f429 brne check_code_6
[свернуть]
- - - Добавлено - - -

Сообщение от
OrionExt
Выложите, пожалуйста, orkb_021.hex в формате bin.
Это делается вот так.
Код:
avr-objcopy -I ihex -O binary orkb_021.hex orkb_021.bin

Сообщение от
OrionExt
01 строка: 020000020000FC удалена. Для atmega48 избыточная информация о записи адреса сегмента.
54 строка: 00000001FF удалена. Преждевременная запись о конце файла.
Первая и последняя строки несут служебную информацию. Наличие первой строки необязательно. Система AVR Studio при трансляции программы всегда добавляет в hex-файл первую строку именно такого содержания. Последняя строка — это стандартный конец для любого hex-файла.
Утилиту avr-objcopy можно скачать например тут, в составе ардуино студии. Или в составе продуктов Atmel. Ну или если совсем лень, то вот avr-objcopy.exe.zip.