Эксперимент с УА. Запуск на 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 в качестве "запускалочки" программной версии "двойки" - не такая уж и "безумная". Имхо.

[spoiler name="Источник"]

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

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

[/spoiler]

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


 

Sections: ГП и Узник АзкабанаНа русскомСтатьи / Articles

 

Share in social networks: