Сравнение прошивок микросхем SAA55xx/SAA56xx/TDA93xx/TDA95xx

Однократно программируемые телевизионные процессоры серий SAA55xx/SAA56xx и TDA93xx/TDA95xx уже давно не выпускаются, однако на складах осталось еще много как неиспользованных чистых, так и забракованных при прошивке на заводе.

Во втором случае причина брака - скорее всего плохой контакт в панельке. Заводской программатор проверяет после каждого байта, поэтому остается много таких, где прописаны (частично) всего несколько байтов. Если дефект прошивки - «0», т.е. нули вместо единиц, то сделать ничего нельзя. В то же время, если дефект был - «1», т.е. «недозапись» - единицы вместо нулей, то их еще можно иногда использовать.

В то же время на складах осталось много вполне исправных уже запрограммированных микросхем, причем бОльшая часть без этикеток. Достаточно сложно бывает выяснить, что они собой представляют, и где их можно использовать.

Иногда удается найти версию в файле прошивки, но она не всегда информативна и может вообще отсутствовать. Однако сравнение с другими прошивками позволяет узнать многое. Например, есть наблюдение: если области Character ROM одинаковые, то эти прошивки от одного или схожих шасси, и, скорее всего, они в большей или меньшей степени взаимозаменяемые. Достаточно сравнивать только секцию Low Char по адресам 0x40000-0x423FF

Программа SearchChip предназначена для сравнения и поиска похожих дампов. В файл 1.hex сохраняется исследуемая прошивка. В папку examples помещаютя образцы для сравнения. Сейчас там находится бОльшая часть прошивок Rolsen-Rubin и еще некоторые. В текстовом файле intervals.txt указываются участки адресного пространства, подлежащие сравнению.

Сейчас там установлены следующие: первые 64K Program ROM и Character ROM (без сигнатуры). При желании их можно изменять. Предусмотрены 2 режима сравнения:

1. Собственно сравнение (сравнение.bat) После сравнения программа показывает количество различающихся байтов и адрес первого различия. В случае полного совпадения такая прошивка выделяется значком OK! Участки, не занятые кодом, могут быть заполнены как 00, так и FF. Чтобы они не мешали сравнению, сочетания «00 и FF» или «FF и 00» в исследуемом файле и образце соответственно не регистрируются как различия.

2. Исследование отбракованных на производстве м/с на возможность использования (проверка на перезапись.bat). В этом случае OK! появляется напротив тех прошивок, которыми можно дописать исследуемую м/с.

Эту программу можно использовать для быстрого массового сравнения не только прошивок UOC, но и любых других hex файлов. Баг: жрет память (начинает подтормаживать после некольких десятков просмотров папки). Закрыть и открыть снова. В общем, особенно не мешает. Надо будет собраться исправить как-нибудь.