Скрытые и нереализованные функции, методы исправления ошибок, пасхальные яйца и многое другое... Поскольку iPod, вообще-то говоря, представляет собою специализированный компьютер с полноценным процессором, операционной системой, жестким диском и возможностью перепрошивки firmware, то описанными в предыдущей статье функциями его возможности не ограничиваются. Давайте сначала рассмотрим те недокументированные возможности, которые зашиты в текущую версию Firmware и OC. Начнем с самого простого – перезагрузки системы: для этого нужно одновременно нажать и удерживать около 5 секунд кнопки «Menu» и «Play» — после этого на экране появится заставка с «Яблоком». После перезагрузки вы можете проверить встроенный жесткий диск — для этого нужно в момент появления яблочной заставки нажать и удерживать одновременно «Previous», «Next», «Action» (центральная кнопка) и «Menu». На экране появится заставка, иллюстрирующая процесс проверки диска. Учтите, что занимает он довольно много времени, а прервать его можно либо перезагрузкой, либо удержанием кнопки «Action». В зависимости от состояния диска вы увидите на экране одну из иконок, приведенных в таблице: Еще одна интересная опция — принудительное переведение 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 обнаруживаем следующие строки: Так что похоже, что эквалайзер в iPod вполне мог бы быть — или будет в обозримом будущем. Теперь еще немного покопаемся в firmware и обнаруживаем следующее:Вспоминаем про RTC, про встроенный динамик и понимаем, что в iPod вполне можно было бы реализовать и часы с кукушкой и календарем. Следующий кусок кода убеждает нас, что iPod вовсе не обязательно должен использовать только файловую систему Mac OS Extended и вполне мог бы быть обучен пониманию и других, более привычных писишникам систем:А напоследок — самое интересное. Вспомним на минутку, что FireWire-устройства могут работать в режиме PeerToPeer, будучи непосредственно подключенными друг к другу. Теперь еще раз перечитаем спецификации чипа и обнаружим в них возможность кодировать аудиопоток в MP3 и проводить операции чтения/записи файлов. Плюс к этому извлечем следующие куски кода из firmware:И еще несколько строк, выборочно:Какие выводы можно сделать из этого? Во-первых, похоже, что 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-передатчик преобразует в управляющий сигнал. Список «недокументированных» функций был бы неполон без описания и нескольких неприятных багов, с которыми сталкиваются пользователи iPod. Первый из них проявляется при проигрывании файлов размером более 22 Мбайт. По непонятной причине iPod перестает останавливать жесткий диск после подгрузки в буфер очередного фрагмента, и тот вращается непрерывно, что сокращает срок работы на батареях до 2-3 часов. Apple работает над прошивкой, пока же найдено воистину соломоново решение — создан скрипт, нарезающий аудиофайлы размером более 22 Мбайт на несколько маленьких, идущих «стык в стык». Вторая, не менее неприятная ошибка иногда проявляется при проигрывании аудиозаписи на полной громкости — плейер время от времени начинает «подвывать». Самое интересное, что она была устранена в прошивке версии 1.0.3, но вернулась в 1.0.4! К счастью, все версии firmware были аккуратно собраны на сайте http://www.peaz.com/ipodarchive/, где и можно найти более старую прошивку. А уж совсем на закуску — сладенького. Естественно, разработчики iPod не могли не вставить в него какого-нибудь «пасхального яичка» — и впрямь: зайдите в меню About и, нажав кнопку «Action» (центральная кнопка), подержите ее секунды три… И можете начинать играть в старый, как мир, Breakout — разбивать мячиком кирпичную стенку…