Эксперимент с УА. Запуск на 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

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

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