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