Ну во первых по поводу, замыкания контактов. Ресет всего лишь обнуляет ячейки памяти, в том случае если это возможно. Как правило это возможно. Но! В очень редких случаях, происходит так называймый аппаратный сбой (что это чуть ниже). В таких случаях, при полном отсутствии питания, ДЕЙСТВИТЕЛЬНО (если только это не ПЗУ) происходит полное обнуление памяти. Теперь по поводу разницы постоянных (например ПЗУ, флешка) и временных (например БИОС, свитч) регистров памяти, то есть почему короткое замыкание? Дело в том что в некоторых моделях плееров (Twin MOS), настройки процессора храняться в энергозависимой памяти и при невозможности тупо "ресетнуть" (а поверь такое бывает, тот же самый Twin MOS. Так называемый эффект памяти полупроводника и как следствие наличие "свободных радикалов" (элементов памяти), которые и нарушают нормальную работу процессора (поэтому и есть разница между оперативой самсунг и нонэйм). Это и есть аппаратный сбой), запросто спасает замыкание накороткую либо же, полное отключение питания.
Но в данном случае это лишь предположение, поскольку у меня на руках нет даташита я немогу утверждать что память у данного проца, энергозависимая, а потому помогло ли бы - вопрос.
Во вторых по поводу аппаратного декодинга. Вот тут ты немного ошибся. Разница между аппаратным декодером и програмным - существеннейшая, например такая же как между материальным и духовным
. Дело в том что в програмном декодере роль кодера выполняет универсальный(!) процессор управляемый программой, а в аппаратном специализированая микросхема (которую по большому счету и процессором то назвать нельзя). Что значит специализированная микросхема? А значит это то, что сама ее внутренняя архитектура (принципиальная схема взаимодействия транзисторов и вспомогательных элементов, отсутствие прямого кеша RAM, отсутствия блока програмного управления ROM (необязательно) и т.д.) построенна таким образом, что иные задачи эта микруха несможет решать ниприкаких условиях. Пример таких аппаратных кодеров - проц звуковой карты, платы прямого захвата-кодирования, модули просчета, контроллеры дисплея или более банально - тупо усилитель класса D (беру только цифровые устройства), счетчик, тригер, инвертор, мигающий светодиод
.
В третьих по поводу перепрошивки. Исходники проги совсем необязательны (серьезно)
. Есть куча консольных приложений способных снять прошивку напрямую. Проблемма втом что это будет чистый код. Кстати будь это асмеблер было бы проще. В любом случае сделать бэкап, а потом методом тыка щупать мозги плеера. Другое дело что все как правило стандартно написано на асемблере и щупать вслепую придеться ну процентов 30 кода. Но тут закавыка - 30 процентов - это минимум 1 кБ, а при всех возможных вариациях кода - это тысячи закачек прошивки (учитывая восьмибитную архитектуру)
.