Недокументированные возможности MP3 плейера iPod

Сергей Scout Кащавцев, info@ferra.ru
Недокументированные возможности MP3 плейера iPod
Скрытые и нереализованные функции, методы исправления ошибок, пасхальные яйца и многое другое...

Поскольку iPod, вообще-то говоря, представляет собою специализированный компьютер с полноценным процессором, операционной системой, жестким диском и возможностью перепрошивки firmware, то описанными в предыдущей статье функциями его возможности не ограничиваются. Давайте сначала рассмотрим те недокументированные возможности, которые зашиты в текущую версию Firmware и OC. Начнем с самого простого – перезагрузки системы: для этого нужно одновременно нажать и удерживать около 5 секунд кнопки «Menu» и «Play» — после этого на экране появится заставка с «Яблоком». После перезагрузки вы можете проверить встроенный жесткий диск — для этого нужно в момент появления яблочной заставки нажать и удерживать одновременно «Previous», «Next», «Action» (центральная кнопка) и «Menu». На экране появится заставка, иллюстрирующая процесс проверки диска. Учтите, что занимает он довольно много времени, а прервать его можно либо перезагрузкой, либо удержанием кнопки «Action». В зависимости от состояния диска вы увидите на экране одну из иконок, приведенных в таблице:

Изображение на экране

 Обозначение

iPod - Диск проверяется

Диск проверяется.

iPod - Ошибка проверки диска

Ошибка проверки диска. Проверка будет повторена при следующем включении iPod.

iPod - Проверка завершена, никаких проблем не обнаружено

Проверка завершена, никаких проблем не обнаружено.

iPod - Проверка завершена, неполадки были обнаружены и устранены

Проверка завершена, неполадки были обнаружены и устранены. После этого необходимо восстановить системное ПО iPod.

iPod - Проверка прервана пользователем и будет повторена прb следующем включении iPod

Проверка прервана пользователем и будет повторена прb следующем включении iPod.

iPod - При проверке поверхности диска были обнаружены неустранимые неполадки, восстановить данные с диска не удалось

При проверке поверхности диска были обнаружены неустранимые неполадки, восстановить данные с диска не удалось.

Еще одна интересная опция — принудительное переведение iPod в режим FireWire-жесткого диска. Это может понадобится при подключении iPod к контроллеру, не подающему питания на внешнее устройство (есть и такие!). При этом iPod включает жесткий диск, работая от батарей, что позволяет компьютеру «отыскать» и подмонтировать его жесткий диск. Для перехода в этот режим нужно после перезагрузки нажать и удерживать кнопки «Previous» и «Next», а для выхода придется опять перезагрузиться. Кстати, при подключении iPod к компьютеру, подающему питание на шину FireWire, он переходит в этот режим автоматически, при этом жесткий диск вращается непрерывно, поэтому я не рекомендую вам заряжать iPod от компьютера — все время заряда диск будет включен, при этом iPod сильно нагревается. При использовании же зарядного устройства iPod диск не включает.

Самый интересный режим — самодиагностики. Он явно остался от периода разработки (кстати, последняя прошивка — 1.0.4 — его отключает), поскольку проходит не в графическом, а, если так можно выразиться, в «текстовом» режиме. Для входа в него после перезагрузки нужно нажать и удерживать «Previous», «Next» и «Action», при этом iPod очень мило присвистывает. Список тестов (по которому, кстати, надо перемещаться кнопками «Previous» и «Next» — управляющий диск в этом режиме отключен, а для выхода из любого теста нужно нажать «Play») весьма велик, и поподробнее с ним вы сможете ознакомится на сайте www.ipoding.com — на мой взгляд, лучшем из всех, посвященных iPod. Здесь особо интересен тест под названием Remote, который всегда выдает печальное RMT FAIL — вполне ясно, что прошивка iPod поддерживает внешний контроллер, но увы, никто пока не знает, где его взять или как его сделать. Второй, не менее интересный, называется RTC и выдает каждый раз новое значение — предположительно, это тест Real Time Clock.

И вот тут-то мы как раз плавно переходим к функциям, которые могли бы быть реализованы в iPod. Памятуя о том, что iPod — это компьютер, скачаем с сайта Apple прошивку Firmware для iPod — она представляет собою так называемый Bundle, то бишь несколько файлов, упакованных в один и, щелкнув по ней правой кнопкой мыши, откроем Bundle и найдем собственно файл firmware (все это проделывается на Маке). А теперь откроем этот файл любым текстовым редактором в формате Plain Text и посмотрим, что же скрывается внутри — при внимательном рассмотрении там можно найти очень много интересного. Да, стоит еще вспомнить, на каком чипе построен iPod, и внимательно ознакомиться с его спецификациями.

Пойдем по порядку. В спецификации чипа мы натыкаемся на то, что он поддерживает так называемый tone control, то бишь цифровую обработку сигнала в реальном времени. А в firmware обнаруживаем следующие строки:
 

Bass Booster Bass Reducer Classical Dance Deep Electronic Hip Hop Jazz Latin Loudness Lounge Piano Pop R & B Rock Small Speakers Spoken Word Treble Booster Treble Reducer Vocal Booster

Так что похоже, что эквалайзер в iPod вполне мог бы быть — или будет в обозримом будущем. Теперь еще немного покопаемся в firmware и обнаруживаем следующее:

January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat am pm %A, %d %B, %Y %I:%M:%S %p %d %B, %Y %H:%M:%S %-m-%-d %-I:%M%1p %-m-%-d %b %-d %-m-%-d-%y %b %-d, %Y %-I:%M%p %-I:%M m/ d/ Y

Вспоминаем про RTC, про встроенный динамик и понимаем, что в iPod вполне можно было бы реализовать и часы с кукушкой и календарем.

Следующий кусок кода убеждает нас, что iPod вовсе не обязательно должен использовать только файловую систему Mac OS Extended и вполне мог бы быть обучен пониманию и других, более привычных писишникам систем:

retailOS

MSWIN4.1

NO NAME   

FAT12  

FAT16  

FAT32 


А напоследок — самое интересное. Вспомним на минутку, что FireWire-устройства могут работать в режиме PeerToPeer, будучи непосредственно подключенными друг к другу. Теперь еще раз перечитаем спецификации чипа и обнаружим в них возможность кодировать аудиопоток в MP3 и проводить операции чтения/записи файлов. Плюс к этому извлечем следующие куски кода из firmware:

PX-W1210

PX-W1610

PX-S88T

PLEXTOR

TEAC    CD-532E-B      

TEAC    CD-W54E         1.1B

LG      CD-RW CED-8080B

И еще несколько строк, выборочно:

CloseSession start

CloseSession complete

Burn CD

My CDRW

My CDRW size:%ldMB

Started CDRW Application

Reading Track%d:<%d>KB Left

Writing Track%d...

Какие выводы можно сделать из этого? Во-первых, похоже, что iPod потенциально способен к записи компакт-дисков в режиме прямого подключения к Firewire-рекордеру. Во-вторых, он, по идее, должен уметь конвертировать треки из аудиоформата в MP3, а также управляться с файлами самостоятельно без помощи компьютера.

Возможно, что-то из этой функциональности будет реализовано Apple в следующих релизах firmware, однако, учитывая заигрывания Apple с RIAA, не стоит ожидать возможности записывать компакты или конвертировать треки — это, знаете ли, музыкальным пиратством попахивает… Конечно, firmware может делать не только Apple, но проблема в том, что на текущий момент спецификации firmware и OC iPod закрыты, и вряд ли Apple их откроет. А реального хака firmware и операционки от западных Ньютонов-Лейбницев сложно ожидать — слишком уж они прагматичны, чтобы не бояться законодательного преследования за «взлом» и дизассемблирование. У нас же — совсем другое дело. Так может, найдется русский Кулибин, который сможет разобраться в хитросплетениях кодов и сделать из iPod то, чем он должен быть (заодно, до кучи, и русифицировав оный)? Это вполне может принести не только славы, но и денег, а что касается нарушения копирайта в нашей-то стране… Ой, не смешите меня.

Но не следует забывать и о том, что, помимо firmware, существует еще и софт — и вот тут возможностей для добавления возможностей iPod, пожалуй, побольше будет. Так, к примеру, уже существует скрипт для Mac OS, который позволяет использовать iPod в качестве… записной книжки для хранения контактов! Делается это просто: на каждый элемент записи о контакте создается пустой mp3-файл, в ID3-тегах которого записаны… правильно, имя, фамилия, телефон и так далее. Потом все это оформляется как отдельный playlist и грузится в iPod — voila! Вместо списка песен у вас список контактов…

Еще один пример расширения функциональности представила на MacWorld Expo компания Griffin Technology. Это маленький дивайс по имени PodMate, втыкающийся в аудиовыход iPod и превращающий последний в… универсальный пульт дистанционного управления! К сожалению, пока не удалось выяснить, как реализована софтовая часть этого пульта, но есть подозрения, что построена она примерно тем же образом, что и предыдущая адресная книга — iPod проигрывает некий специальный mp3-файл, который присоединенный IR-передатчик преобразует в управляющий сигнал.

PodMate

PodMate.

Список «недокументированных» функций был бы неполон без описания и нескольких неприятных багов, с которыми сталкиваются пользователи iPod. Первый из них проявляется при проигрывании файлов размером более 22 Мбайт. По непонятной причине iPod перестает останавливать жесткий диск после подгрузки в буфер очередного фрагмента, и тот вращается непрерывно, что сокращает срок работы на батареях до 2-3 часов. Apple работает над прошивкой, пока же найдено воистину соломоново решение — создан скрипт, нарезающий аудиофайлы размером более 22 Мбайт на несколько маленьких, идущих «стык в стык». Вторая, не менее неприятная ошибка иногда проявляется при проигрывании аудиозаписи на полной громкости — плейер время от времени начинает «подвывать». Самое интересное, что она была устранена в прошивке версии 1.0.3, но вернулась в 1.0.4! К счастью, все версии firmware были аккуратно собраны на сайте http://www.peaz.com/ipodarchive/, где и можно найти более старую прошивку.

А уж совсем на закуску — сладенького. Естественно, разработчики iPod не могли не вставить в него какого-нибудь «пасхального яичка» — и впрямь: зайдите в меню About и, нажав кнопку «Action» (центральная кнопка), подержите ее секунды три… И можете начинать играть в старый, как мир, Breakout — разбивать мячиком кирпичную стенку…

Поделиться:
Увидел опечатку? Выдели текст и нажми Ctrl+Enter
Мобильное приложение