У меня работает стабильно, наконец-то.
Тема тут такая. Почему-то никто не замечает файлы *.eep в каталоге. А это файл-содержимое памяти EEPROM. Так вот, там тупо нули должны быть при первой заливке проги. А по умолчанию, если не лить EEP-файл, будут FF. И там НЕ ТОЛЬКО page size виноват, я менял его на коде 8х8, и с указанным в теме аудиклуба значением для BG 8x8 у меня ругался MT. Готовый рабочий конфиг для 8х8 у меня отсутствовал, поэтому я делал его из 12х12, убирал все размерности, а про page size забыл... И все равно он работал! Хоть и криво, но без указанных выше приколов.
И последний вариант 12х12, который лежит в архиве на аудиклабе у меня не сразу завелся. А заработал он только после того, как я залил в EEPROM файлик от прошивки 1.0.53, он больше. Тупо трет в 0 все переменные в хранилище. Потом сделал, как в алгоритме внизу. Так заработало.
примерные строки для заливки через avrdude файла-содержимого EEPROM из пакета winavr. Вместо !\!.! полный путь к файлу
avrdude -c arduino -p m128 -P com2 -b 38400 -D -U eeprom:w:!\!.!:i -u -q
arduino - тип загрузчика. Я использую arduino'вский. avrdude может использовать практически любой загрузчик и программатор.
com2 - надеюсь, понятно, что это порт, к которому прицеплен MSAVR
38400 - скорость заливки данных. Мой загрузчик (от arduino который) работает именно на этой скорости.
Так что алгоритм такой.
1) Качаем архив с аудиклуба
2) льем eep файл в микросхему от 1.0.53. Он больше и потрет все переменные в 0.
3) льем .hex файл исправленной 12х12 BG
4) грузим конфиг, который идет с 12х12, но не делаем BURN при старте MT!!!
5) Правим параметры на свои вручную везде... И тут уже делаем BURN.
6) Едем)
Если не поможет - я выложу свои файлики, которые загружал в MSAVR, включая конфиг. Там под AEM UEGO ШЛЗ и 115 кПа ДАД от моторолы, 4ц.