Фиксики - Вытащить прошивку из китайского детского компьютера. Найти и заменить пару байт. Залить обратно.
Родственники подарили ребенку детский компьютер под брендом «Фиксики». Вот такой:
http://www.detmir.ru/product/index/id/159652/ http://www.youtube.com/watch?v=s56FbzGL3pU
Впринципе, компьютер неплохой, интересно смотреть на теплый ламповый ЖК экран, ребенок сразу удивился что изображение можно формировать из квадратиков. Есть неплохие игры. Вещь в себе.
Но есть один раздражающий недостаток в интерфейсе, из-за которого я запретил ребенку играть на нем и разобрал его.
Проблема в том, что этот компьютер не позволяет сосредоточиться на работе с ним. Меню устроено таким образом, что раз в две секунды оно автоматически перелистывается с мерзким звуком. То есть, меню можно листать клавишами, но если более двух секунд не листаешь, оно само начинает перелистываться по кругу. То же самое и во всех подменю. То есть, пока выберешь что тебе нужно, измучаешься. Нужно либо с дикой скоростью перетыкаться в меню, либо постоянно перелистывать обратно на нужный пункт меню, который (пока человек раздумывал) успевает перелистнуться несколько раз.
Перечитал всю инструкцию. Нигде нет отключения этого режима. В интернете нет никаких данных по возможной настройке.
Мне ничего не остается, как попробовать модифицировать прошивку, и убрать это недоразумение. Ребенок просит отдать комп, но я либо его доломаю, либо исправлю.
В компе есть две платы.
-----
Материнская плата с двумя бескорпусными микросхемами:
http://i.piccy.info/i9/8ee1b07c69417f2f11219db07463331f/1415729649/572937/825... http://i.piccy.info/i9/bc122b3a0985addefcdc19cc242f5422/1415735074/665659/825...
Я не большой знаток микроэлектроники, но если бы я делал такой комп, я бы использовал какую-нибудь 8-битную AVR-ку типа AVR XMEGA. Вопрос в том, влезет ли в ~380Кб набортной памяти все звуковые оцифровки в каком-то формате. Звуков, музыки и фраз на русском и английских языках достаточно много. Возможно, что вторая микруха - это ПЗУ я хз. Слышал, что для AVR есть либы по работе с FAT, что внешнее ПЗУ - это типа винта, вобщем не знаю.
Либо в качестве микроконтроллера используется что-то более современное с 32-х битной архитектурой типа STM32 и хотя бы с мегабайтом flash мозгов. В бытность DOS я бы мог засунуть в 1Мб несколько минут звуковой оцифровки с приемлемым качеством. В этом случае назначение второй микрухи для меня загадка.
Или на плате какой-то MIPS?
Плата односторонняя, и похоже что однослойная. На плате не нашел тактового генератора. Под черной резинкой ничего интересного - резисторы, диоды, с обратной стороны платы припаян транзистор S8550 D331 (добавил второе фото без резинки). Три электролитических кондера в прорезанных окошечках. Сверху гребенка контактов идет на ЖК экран, экран накрывает всю эту плату. Сбоку пропаянные контакты от конроллера клавиатуры.
На плате две надписи PL-1590JSMA0-1 и AEC1222. В интернете по этим обозначениям ничего не находится.
-----
Контроллер клавиатуры - это вторая плата.
http://i.piccy.info/i9/192ed57e15bfae9b93cf2c0bde31ab46/1415729757/258031/825...
Одна бескорпусная микруха. На плату заведены сигналы с клавиатуры и «мышки» - джойстика (черные открытые контакты - это они). Сверху пропаянные контакты уходят на материнку. Тактового генератора нет. Плата односторонняя, однослойная.
На плате обозначение PL-1590JSMB01-4, тоже ничего в интернете нет.
-----
Вопрос 1. Что за архитектура, по вашему мнению, скрывается в бескорпусных микросхемах на материнке? Каково назначение большой и малой микрухи на материнке?
Вопрос 2. Реально ли вытащить из (видимо большой) микрухи прошивку, и засунуть ее обратно модифицированную?
На материнке есть какие-то три здоровых перемычки, возможно это JTAG, никогда с такой штукой не работал, но если надо разберусь. В интернете правда натыкался и на двухпроводной RX/TX JTAG и на шестипроводной JTAG...
Вопрос 3. Похожи ли эти перемычки на контакты JTAG? Ели похожи, надо ли их перерезать? К каким контактам подключаться после перезки? К верхним или нижним (склоняюсь к верхним). Как определить куда подключать RX, куда TX?
Вопрос 4. Реально ли декомпилировать/отдебажить прошивку, чтобы найти место, где перетыкаются пункты меню? Я бы попробовал изменить условие, чтобы оно никогда не срабатывало по таймеру. Я под виндой подламывал несколько программ через SoftICE и OllieDebugger, представление об ассемблерах и машинном коде имею. Какой софт посоветуете (лучше опенсорч и под линух).
Вопрос 5. Реально ли залить прошивку по JTAG обратно? Или производители обычно делают непрошиваемыми такие устройства? Чем лить? Avrdude справится или нужно что-то другое?