Тема: Прошивка ПЗУ контроллера клавиатуры Apple II Europlus
Приветствую. Никогда не думал, что у меня в коллекции будет что-то от Apple. Но вот недавно попал мне в руки оригинальный Apple II Europlus в нерабочем состоянии. Имея опыт в починке MSX, я немного подшаманил комп, заменил старые РИФ конденсаторы в блоке питания, почистил закопчёные ноги микросхем, заменил пару подозрительных, не прошедших тесты, починил отгнившие ноги оригинальных ПЗУ и отмыл корпус от грязи. Потом пришлось ещё менять микросхему LS259 в 80-символьной карте, так как оригинальная грелась как утюг.
Комп завёлся, но на экране был только мусор. Так как я полный нуб в этой платформе, пришлось лезть на форумы и в Ютюб и изучать матчасть - читать что куда вставляется и как подключается. В итоге, я поставил внутрь 80 symbol card, 16кб language card, а также z80 card для загрузки CPM. После всех манипуляций комп стартанул в Бейсик. Так как ни одной дискеты у меня не оказалось, в дело пошёл Готек и комбинированный Shugart/Apple контроллер (на фотке).
С Готека удалось заргрузить тестовые программы и основательно протестировать комп и часть вставленных в него карт. Так как комп был куплен в Германии, сответственно он был настроен на немецкую QWERTZ клаву, а вместо квадратных скобок были немецкие буквы с умляутами. Убрать это безобразие удалось поставив вместо оригинальной 2516й ПЗУ стандартное ПЗУ 2732 с английскими шрифтами через переходник. Такая же хрень была и на 80-символьной карте, но там просто заменил оригинальное ПЗУ 2732 на моё, с английскими шрифтами. Казалось бы все - осталось только поменять местами колпачки Z и Y и готово. Ан нет - оказалось, что в этом компе стоит клавиатура с каким-то микроконтроллером, на который в прямом смысла насажено ПЗУ 2716 с его прошивкой (см. фото)! И вот этот бутерброд содержит внутри себя раскладку клавиатуры.
И вот тут меня ждал тупик. После поисков по названию микроконтроллера MK38P70 не удалось найти почти ничего по этому ПЗУ - ни дампов, ни даже упоминания его на большинстве форумов. Более того, это ПЗУ не удавалось считать моим T48 программатором - всё время получались разные контрольные суммы. Но я не сдавался.
Хотя считать ПЗУ как 2716-подобную не получилось, получилось считать её как 2732. В итоге, отрезав первые 2кб получаем исходную прошивку. Натравил на дамп прошивки и схему Эппловской клавы гугловский ИИ (Gemini) и он с первого раза нашёл таблицу сканкодов и предложил 16 модификаций. Записал всё это в микросхему 2732 (сдвоенная прошивка) и получил QWERTY раскладку!
Интересно то, что при записи в 2716 микросхему ПЗУ этой прошивки, контроллер клавиатуры её не вычитывает и клавиатура на нажатия не реагирует. В то же время, экранные шрифты, записанные в ту же самую микросхему отлично работают через переходник 2516>2716 на плате Эппла.
Вот дампы ПЗУ микроконтроллера MK38P70 для немецкой Apple II Europlus и поправленный дамп с американской раскладкой (вдруг кому пригодится):
http://podrezov.com/apple/AppleII_Keyboard_QWERTZ.bin
http://podrezov.com/apple/AppleII_Keyboard_QWERTY.bin