По пути пришлось порешать еще одну проблему, связанную, как ни странно с симуляцией
Arduino в
САПР
Proteus и... с шахматами!

Как порешать все проблемы с
Arduino IDE в том числе и под
Windows 98 я подробно написал
вот здесь:
http://www.nedopc.org/forum/viewtopic.php?f=104&t=18964#p147005Но выяснилось, что в версии САПР
Proteus 6.7 Pro под
Windows 98 эти самые ходовые
AVRдля
Arduino -
ATMega168,
ATMega328 - не поддерживаются.
Они поддержаны в версии САПР
Proteus 7.7 Pro библиотекой
AVR2.DLL, но
Proteus 7.7 Proне работает под
Windows 98...
В версии САПР
Proteus 6.7 Pro под
Windows 98 есть модели
ATMega8,
ATMega16,
ATMega32,
ATMega128 и их библиотека -
AVR.DLL.
Перенос же одной
AVR2.DLL под
Proteus 6.7 Pro вызывает его крах...
Ну что ж... делают ведь платы
Arduino и на
ATMega8,
ATMega16,
ATMega32, хотя они и считаются
неофициальными версиями, но народ порешал эту проблему для
Arduino IDE!
Информации на этот счет в Интернете много, но наиболее компактно она изложена здесь:
Адаптация Atmega32 под Arduino .
В двух словах - следует скачать файл
avr-netino-19Jan2012.zip и распаковать его в папку
hardware пакета
Arduino IDE. После чего можно выбрать компляцию под
ATMega16,
ATMega32.
Есть только еще одно неприятное НО для версии САПР
Proteus 6.7 Pro: я неоднократно наблюдал глючок
при моделировании проектов на моделях
ATMega16,
ATMega32: не работают корректно на вывод
биты
порта С -
PC6,
PC7 (они же
TOSC1,
TOSC2 для часового кварца асинхронного таймера).
Я долгое время думал, что я фьюзы неверно выставляю, но обзор показал, что в версии САПР
Proteus 6.7 - 6.9этот глюк наблюдается у многих, и скорее всего это глюк в библиотеке
AVR.DLL.

Я сделал проверочный проект на ассемблере AVR, который позволяет проверить все 4 порта
ATMega16,
ATMega32:
По выводам порта пробегает "бегущий" огонек (
понятно, что под каждый порт asm-исходник надо подправить
и перекомпилировать).
В
Proteus 7.7 Pro все порты работали идентично и без глюков, в версии же
Proteus 6.7 Pro глюк наблюдался,
как на модели
ATMega16, так и на
ATMega32...
Я немного изменил тест и проверил биты
порта С -
PC6,
PC7 (они же
TOSC1,
TOSC2)
на ввод.
На ввод они нормально работают с внешними подтягивающими резисторами, но не подключают внутренние.
Значит модели
ATMega16 и
ATMega32 в
Proteus 6.7 - 6.9 можно использовать в
Arduinoтолько с указанными ограничениями...
Возникает вопрос -
а причем здесь шахматы?
Дело в том, что я решил своим тестом проверить и
ATMega128, а в
Proteus 6.7 Pro лишь один проект
на
ATMega128 (она же
ATMega 103) - это шахматы:
AVRCHESS.DSN 
Ну и решил я перед тестом партейку в шахматы с
ATMega 103 сыграть...
Получил массу удовольствия!
ATMega 103 играет в шахматы также "хорошо" как и "Специалист"
в своё время...

Я даже вторую партейку сгонял! Чего и вам советую...
А вот проверять
ATMega128 тестом я не стал - микроконтроллер с шиной данных и с шиной адреса
скорее всего не в парадигме плат
Arduino...