На русском En français In english Українською Português

Эксперимент с УА. Запуск на Windows ME, на виртуальной S3

В этой статье рассматривается эксперимент запуска Узника Азкабана на виртуальном компьютере с виртуальной видеокартой S3, эмулируемой в некоторых виртуальных машинах и бывшей достаточно популярной много лет назад… Чтобы не возникало проблем с представителями затронутых в оригинале статьи компаний и организаций, часть фраз была удалена или сокращена, с сохранением смысла. То есть, акцент сделан на полезной информации.

А у меня для вас, друзья мои, очередная история про… А вот и не угадали! Не про «двойку», ибо как совершенно справедливо было замечено — «Не симсами едиными жив человек!».

И ведь верно! Помимо симсов были у ЕА и другие интереснейшие игры, которые шли на чём угодно, пока не возникло связи между этими играми и результатами гонки технологий между лидерами рынка производства видеокарт. При этом для создателей известных нам игр подобная ситуация возникала и раньше. И одной из подобных ситуаций посвящён мой сегодняшний рассказ. Ну а какое он имеет отношение к «делу нашему» — вы узнаете позже.

Итак, продукция компании ЕА линейкой «симсов» не ограничивалась. Этих самых «линеек» у неё было несколько и одна из них была «линейка» игр — «Про Гарри Поттера». Представлять её, как и «симсы» — не надо. Уровень её был высочайший и те, кто эти игры вроде бы проходили «успешно» не были уверены, что и с десятой частью их «возможностей» столкнулись. Скажем так, разгадать ВСЕ игровые загадки и досконально исследовать ВСЕ игровые локации, не перечитав все книги и не пересмотрев все фильмы на соответствующую тему, было решительно невозможно.

Сперва всё было хорошо и даже замечательно. «Философский камень» и «Потайная комната» шли в самых лучших СТАРЫХ традициях на чём угодно. А вот «Узник Азкабана»…

Давайте-ка мы, друзья мои, водворим эту игру на виртуальную машину… для пущей наглядности, где уже установлена Windows ME (в дальнейшем именуемая — «Линолеум» (её «народное название»)), с КОРРЕКТНО обновлённым до потребной игре 8-й версии директом.

А кстати, что там умеет эта самая интегрированная S3 732?

Ух ты! На сопоставимых задачах, а именно, 2D и «софтверном» 3D она рвёт, как Тузик — грелку, карту, выпущенную на 10 лет позже (наша — нижняя, интеловская — верхняя). Запомним-ка мы циферки…

Ну, значит, запускаем мы игру и…

… и ничего. Потому что эта картинка — ВСЁ, что вы увидите, прежде чем игра «схлопнется» не говоря не слова. В чём же причина?

На этот вопрос нам ответит неприметный с виду игровой файлик VideoCard.ini — аналог привычных нам по двойке графических правил, только совмещённый со списком видеокарт. Достаточно взглянуть на содержимое этого файла, припомнить историю «компьютерных гонок» начала нулевых — и сразу станет понятно, почему игра поддерживает весьма ограниченный набор оборудования.

Одной из причин была ситуация со стандартами производства оперативной памяти, что повлияло на состав оборудования.

Давайте-ка внимательно изучим список поддерживаемых видеокарт. Там будут видеокарты всех мало-мальски «актуальных» производителей, включая настолько «неактуальных», что даже знаток истории компьютерного «железа» долго будет вспоминать, кто это вообще был, и, не факт, что вспомнит. Но в этом списке будет недоставать самой «мелочи» — каких либо упоминаний о продукции компании S3.

Ну а с Поттером-то нам что делать? А сделать с ним надо примерно то же самое, что предполагается использовать в качестве одного из решений проблем с «двойкой» — использовать «связку» WineDirecta и Galliuma, чтобы игра стартанула, а там… видно будет. Для Windows 98 такая «связка» существует уже очень давно и имя её — SwiftShader. Она использовалась в «коммерческой» версии Wine, но была портирована на Windows, а уж народные умельцы её там быстро подправили.

Наш «хитрый план» заключается в…

1. В том, что довольно много производителей явно подозревали, что Directx не всегда будет таким, каким он был в 90-е годы, и, соответственно, «гвоздями приколачивать» свои поделия к ddraw.dll — не стали, и наш «Узник Азкабана» — как раз входит в число таких поделий.

2. В кое-каких особенностях работы директа версий 8/8а (технические подробности — пропущу).

3. В том, что защита системных файлов в «Линолиуме», хоть и параноидальна, но при этом — её можно обмануть. Ddraw.dll она, например, будет защищать будет и ей без разницы, что обновлённая версия этой библиотеки, которую пытается установить пользователь — от Майкрософта. А вот d3d8.dll — уже нет.

А, стало быть, нам d3d8.dll и заменять на… d3d8.dll, только «свифтшейдеровскую». Но перед этим, скопируем оригинальную библиотеку куда-нибудь…до поры, до времени.

С первого взгляда вы ничего не заметите, кроме того, что число «попугаев» в тесте аж на пол-попугая увеличилось.

Но стоит только запустить «Узника»…

Ну… «софтвер» так «софтвер». Соглашаемся и…

А теперь — самое интересное. Мы возвращаем «оригинальную» d3d8.dll на место — а игра как шла, так и идёт, из чего мы делаем вполне, имхо, логичный вывод, что невозможность запуска «Узника» на картах S3 была целиком и полностью ИСКУССТВЕННОЙ.

Вроде всё? Нет! Разве вы не обратили внимание, что игра у нас запускается аж в двух «окнах» одновременно? На первое окно можно не обращать внимание. Оно — чисто «демонстрационное», так как играть в игру, как таковую, будут в полноэкранном режиме работы виртуальной машины. Но вот второе…

Дело в том, что «программный» режим работы игры гвоздями приколочен к одному-единственному разрешению экрана — 512 на 384 с цветностью 16 бит. Скверно! Очень скверно!

А что, если нам вот так прямо взять, да и внести изменения в… О УЖАС!!!…видеодрайвер? Страшно? В случае с NT-системами — возможно. Но в системах 9х (ака 95/98/98 SE/ME) видеодрайвера работают в ПОЛЬЗОВАТЕЛЬСКОМ режиме, а коли так…

Сразу откуда-то 32-х битный цвет «нарисовался» (не было же).

Но для нас куда важнее то, что теперь игра идёт как полагается, в полноэкранном режиме.

Вот такая вот история. Не знаю, какие выводы вы из неё сделаете, а лично я, на примере с игрой, лишний раз убедился в том, что идея использовать Wine в качестве «запускалочки» программной версии «двойки» — не такая уж и «безумная». Имхо.

Источник: https://thesims.cc/posts/5600532

Опубликовано по просьбе участницы сообщества.

Примечание редактора: оригинал статьи содержит множество сатирических вставок. По некоторым соображениям, они были либо смягчены, либо опущены, чтобы переместить акцент на полезную информацию.


 

Разделы: HP and the prisoner of AzkabanНа русскомСтатьи / Articles


(с) 2010-2020 Коллектив проекта hp-games.net. 16+ Cookies Политика конфиденциальности Финансовая помощь проекту

Авторы и источники указаны для каждого материала отдельно или на странице О проекте. Если Вы используете материалы этого сайта, то обязательно разместите ссылки на них.