Программная архитектура Wii - отстой. Если вы посмотрите на список обновлений для PS3 или Xbox 360, вы увидите что апдейт 2.40 для PS3 сделал XMB доступным в играх, или апдейт 2.0.73570 для XBOX добавил New XBox Experience, к тому же было выпущено множество мелких обновлений и исправлений стабильности, поддержки новой периферии и добавления новых фич, таких как сохранение скриншотов в играх. Множество новых фич улучшали геймплей и взаимодействие с консолью.
В свою очередь за это время Wii получила:
- Вещи а ля копирование сейвов на SD карту, которые нужно было сделать с самого начала.
- Поддержка новых фич в новых играх, и полным отсутствием обновлений для уже существующих игр.
- Обновление встроенных каналов (WiiShop etc.)
- Обновление WiiMenu (твики messageboard, возможность перемещать каналы в меню и, о прорыв, часы)
- Обновления безопасности и безуспешные попытки остановить homebrew
Но это не самое страшное. Как выяснилось, Нинтендо выбрала путь полного отсутствия операционной системы и отсутствия "стандартного" кода вообще, который запускается на CPU Broadway. Когда вы запускаете игру, всё что вы видите на экране, загружается с крутящегося поликарбонатного диска, и не существует механизмов для запуска чего-либо другого: ни апдейтов для "закулисья", ни апдейтов для Home Menu, ничего. Если когда-нибудь Нинтендо захочет запустить hypervisor (см. википедию) в их играх, им нужно будет поставить новый процессор с полной поддержкой виртуализации, потому что игры разработаны с прямым обращением к CPU и большинству аппаратного обеспечения,
Но если вы следите за Wii сценой, то скажете "а как же IOS?". Конечно система безопасноти и IO система (система ввода-вывода) работает отдельно от игр (на отдельном процессоре интегрированном в Hollywood чипсет) и обновляется вместе с System Menu. В них включаются такие важные компоненты как драйвера периферии. Но Нинтендо решила, что каждая новая фича которую они захотят ввести, будет разрабатываться как отдельный IOS. Ваша версия Wii имеет множество версий IOS, при этом старые версии не обновляются (кроме как обновления безопасности для закрытия наших эксплойтов). Дело конкретно не в добавлении новых фич или идиотизма этой структуры, а в том, что новые фичи не работают на старых играх. Это включает любые обновления через WiiConnect, и любые другие фичи типа "иллюминация слота мигает когда вы вынимаете диск" - попробуйте вынуть диск когда вы играете в Zeld'у, и вы увидите что это не работает, потому что зельда использует старый IOS9. Всего установлено 23 версии IOS с последними апдейтами. Любую новую фичу, которую Нинтендо хочет добавить, нужно добавлять отдельно в каждый IOS и это не гарантирует абсолютной стабильности работы потому что интерфейсы у разных версий разные. Одно создание этих обновлений тянет за собой огромные затраты (как временные так и денежные, я полагаю, прим. переводчика). Более полугода потребовалось Нинтендо на исправление труча бага во всех версиях IOS. К тому же, IOS ограничен только тем, что в нём уже заложено (на уровне железа), так как ARM процессор, на котором выполняется код, не имеет доступа к графическому чипу (к тому же, арм процессор недостаточно быстрый и не поддерживает операции с плавающей точкой (о Боги!! 2009 год на дворе)), а это значит, что изменением IOS невозможно добавить никаких визуальных изменений.
Дальше - хуже. Некоторые вещи, которые должны быть в IOS, в нём отсутствуют. Например, такие как Bluetooth стек и код WiiRemote. Забудьте о поддержке Bluetooth в старых играх. Код доступа к SD картам запрограммирован в играх, а это значит, что они не могут добавить IOS с поддержкой парралельной записи SD карт поскольку использование 2 драйверов файловой системы одновременно на одном устройстве невозможно. Единственное, что Нинтендо может обновлять достаточно легко - сеть, потому что она полностью запрограммирована в IOS, но опять таки, им придётся исправлять все 23 версии IOS.
Как пример рассмотрим широко обсуждаемую фичу - возможность запуска VC и WiiWare игр с SD карт (серйозно, о чём чёрт возьми, нинтендо думали когда встраивали 512 мб памяти не предусмотрев никакой возможности расширения), Существует 3 возможных варианта:
1. Добавить код поддержки FAT файловой системы в новый IOS, при этом отключить доступ к SD карте всем остальным IOS'ам.
2. Добавить код поддержки FAT файловой системы в новый IOS, обновить все IOS'ы в которых использовался фат и заменить весь этот код на междуIOS'овые интерфейсы к новому IOS'у. (самый правильный вариант. прим. переводчика)
3. Обмануть консоль и просто копировать код (игру) с SD карты в память консоли и запускать непосредственно из памяти, тем самым увеличивая использования (изнашивание) флеш карты и время загрузки.
Скорее всего будет использован последний вариант и единственная причина по которой варианты 1 и 2 существуют - доступ к скачиваемому контенту осуществляется через систему безопасности что в свою очередь вынуждает нинтендо использовать что-то типа стандартного интерфейса.
В то время как другие консоли получает обновления, поддержку новой периферии, фиксы багов, и даже глобальные обновления Xbox New User Experience, на Wii всё останется почти так же как сейчас. Максимум что может сделать нинтендо это обновить меню но как только вы попадёте в игру - новизна закончится. Забудьте о улучшеном Home Menu, забудьте об обновлениях онлайна кроме незначительных улучшений на стороне сервера. Унифицированя френд система без необходимости введения кодов для каждой игры? Забудьте. Баги игр? К несчастью система патчей не предусмотрена (привет Twilight hack). Будущая нормальная система онлайна с нормальной социальной составляющей? Для новых игр - возможно, для старых нет. Хуже то что нинтендо так гордится собой что они не признают что напартачили с ПО и выпускают такие "полезные" новые фичи которые будут работать только с новыми играми. Они просто будут ждать Wii2 (или хуже Wii3), оставлять позади своих соперников, и фичи всё равно не будут работать в режиме обратной совместимости.
Вообщем ПО Wii спроектировано почти с 0 возможностями для дальнейшего расширения, даже для таких примитивных вещей как носители информации или система патчинга игр, и что хуже - это отразится на режиме совместимости (а возможно и на всей консоли) будущей консоли.
Запомните. Нинтендо не удаётся совершенствовать консоль не потому что они не пытаются, а потому что они убили свои шансы с самого начала.
Не критикуйте сильно за отсутствие знаков препинания. Я не живу в России.
Я лишь перевёл статью, и всё что там описано - точка зрения её автора.
Теперь немного отсебятины.
Я не согласен с автором статьи в том что прямой доступ к аппаратным ресурсам это зло. Наоборот в условиях низкой частоты процессора это единственный вариант. Я не согласен с тем что систему IOS'ов нельзя убить. ИМХО если есть вариант делать междуисовские ссылки то при определённых усилиях возможно обьеденить все иосы в один, но вопрос в том будут ли это делать. Ответ - нет.
Если бы я мог что-то поменять то я бы убрал нафиг совместимость с GameCube... (я понимаю что некоторые кубовские игры хорошие но извращать софт из-за обратной совместимости тоже не стоит)