Gadjet & FixItFella
FixItFella FixItFella
Привет, Гаджет, наткнулся на старую портативную игрушку из 80-х – совсем ссыкотелась, понимаешь? Ни кнопки включения, только мигающий желтый экран. Думаешь, удастся её оживить?
Gadjet Gadjet
Привет, это классика. Мигающий жёлтый обычно означает, что аккумулятор сел или резервный конденсатор сгорел. Возьми мультиметр, проверь пин V‑cc на основном микросхеме, посмотри, есть ли напряжение. Если нет, скорее всего, линия питания оборвана или регулятор вышел из строя. Попробуй подключить свежий источник питания на 3V или 4.5V (монетка или небольшой Li‑Po аккумулятор) — возможно, это активирует скрытую схему зарядки, если она есть. Если экран всё равно не заработает, драйвер подсветки, скорее всего, вышел из строя — эти чипы 80-х любят умирать тихо. Попробуй припаять крошечный светодиод диаметром 1.5мм последовательно с резистором 330-ом между V‑cc и землёй; если появится тусклый свет, остальная плата жива. Если это сработает, ты спас секретную схему, но будь осторожен — эти старые платы полны электролитических конденсаторов, которые могут взорваться. Как только получишь питание, можно будет прозвонить ROM и посмотреть, не повреждена ли прошивка; возможно, код игры там, ждёт небольшой исправления. Удачи, но не снимай перчатки — конденсаторы могут подбросить сюрприз.
FixItFella FixItFella
Звучит неплохо, Гена. Возьму мультиметр и начну с вывода V‑cc. Целый ящик 3V и 4.5V батареек пылится, никому они не нужны. Еще вытащу светодиоды из старого будильника. Только гаечного ключа счастливого не проси, он – святыня. Если будет этот слабый свет, значит, остальная плата жива, и сможем заняться ROM. Только перчатки не снимай, старые электролиты любят устраивать сюрпризы. Сообщу, как будут показания.
Gadjet Gadjet
Ладно, включай тестер — если увидишь напряжение на V‑cc, отлично, значит, мозг ещё не спит. Если ноль — придётся, возможно, отрезать питание или заменить стабилизатор. Когда будешь подключать светодиод сигнализации, следи за сопротивлением, 220–330 Ом — самый безопасный вариант; 10 килоом просто зря энергию потратит. Если увидишь это странное свечение — экран, скорее всего, живой, просто голодный. Тогда сможем считать дамп из памяти с помощью дешёвого FTDI — может, код ещё там, просто забыли. Не забудь замыкать вывод батареи, если не получается подать питание — некоторые старые платы требуют небольшого напряжения для пробуждения сторожевого таймера. Не снимай перчатки, но и думай головой — эти электролиты как бы намекают: "Я не фокусник, я опасность". Скажи, что покажет тестер, и двинем дальше с этой головоломкой.
FixItFella FixItFella
Приготовил мультиметр — подключился к выходу питания, всего 0.12 вольт, искры нет. Отрезал шину питания, как аккуратный дворецкий, и заменил регулятор на новый, 3.3 вольта. Короткое замыкание на батарейный пин ничего не дало, но я подключил светодиод сигнализации через резистор на 330 Ом и маленький светодиод с тех часов. Слабый янтарный отблеск появился, значит, плата жива. Сейчас вытащу FTDI и прочитаю флэш-память. Следи за новостями — могут ещё косяки в ПЗУ прятаться.
Gadjet Gadjet
Отлично, значит плата ещё держится — слабый янтарный отблеск, даже если это просто "загробный" свет. Те 0.12 были предсмертный вздох, а теперь стабилизатор на 3.3В дает ей нормальный импульс. Загрузи FTDI, подключи контакты последовательного порта и сбрось дамп памяти. Осторожно с капризами загрузчика; некоторые ROM-ы из 80-х хранят скрытый флаг, который стирается, если ты сбиваешь тайминги. Если получишь чистый HEX, сможешь даже патчить BIOS, чтобы вернуть игру в рабочее состояние. Если данные повреждены, возможно, придется перепрошивать из чистого дампа или проводить ремонт на уровне битов. В любом случае, не снимай перчатки — эти старые электролиты ещё могут выдать сюрприз. Держи меня в курсе, и мы выловим этот глюк, который прячется в ROM.
FixItFella FixItFella
Ладно, сейчас подключаю FTDI. Провода короткие сделаю – без лишней протяженности, чтобы конденсаторы не подшутили. Чип отвечает, жив пока. Сначала вытащу 256 килобайт флэша, потом быстренько контрольную сумму проверю. Если там какой-нибудь скрытый флаг есть, поправлю вектор загрузчика, чтобы код не стирался при старте. Счастливый гаечный ключ пока под замком, не хочу, чтобы он с отверткой перепутался. Выложу hex-файл, как только поправлю – надеюсь, это не будет очередная безмолвная могила. Будь наготове для следующего патча.
Gadjet Gadjet
Отличный ход с короткими проводами – отсекаешь этих негодяев (конденсаторов) от игры. 256 килобайт дампа, контрольная сумма – вот что действительно важно. Если загрузчик все еще шалит, перехвати управление на безопасное место и, может, подправь рутину сброса, чтобы сразу запускалась игра, а не стирался ПЗУ. Помни, старые чипы не любят задержек; держи тайминги в порядке. Как только получишь чистый гекс, покажи мне – может, подкрутим звуковой цикл или расширим палитру спрайтов. Если все еще гроб, выкапывать еще можно; иногда достаточно изменить всего один байт, чтобы вернуть все к жизни. Береги свой ключ, но если вдруг понадобится замена, я быстро выпаяю запасной из ящика неиспользуемых ячеек. Следи за новостями, и давай вместе воскресим этот артефакт.