Всем доброго времени суток! Давненько меня здесь не было, да всё недосуг было. По идее надо было бы мне закончить свою старую тему, да, если можно так выразиться, "открылись новые обстоятельства", которыми грех как можно скорее не поделиться с "городом и миром". А поскольку у меня интернет глючит, то "мыслью по древу" особо растекаться не буду, а перейду сразу к делу.
Если вы, друзья мои, уже сталкивались с виртуальной машиной VMware, то уже знаете, что с поддержкой систем семейства 9х дело там обстоит крайне скверно. Чисто теоретически вы конечно же можете установить, скажем 95-ю винду на машину самой последней версии, причём особо долго "плясать с бубном" не придётся. Мало того, если вам знакома такая "зверюшка", как VMware Tweaker, то вы запросто сможете вместо "поломанного" в последних версиях машины SB128, выбрать "православный" "SB16 или AWE32", причём подобный выбор я рекомендую и тем, кто устанавливает на виртуалку и системы славного семейства NT5.х - большинство глюков со звуком исчезнет. Без гостевых дополнений тоже можно прекрасно обойтись, так как работу гостевой системы они всё равно не ускорят - была бы под руками программа, способная "слепить" из кучи файлов "исошник". Но остаётся одно слабое место - эмулируемая видеокарта. "Гостевой" видеодрайвер для неё то есть, но... Много ли, спрашивается, проку от видеодрайвера, который с видеопамятью работать не умеет, с "директриксом" взаимодействовать тоже не умеет. И что самое худшее - не умеет толком работать с VESA, при том, что сам эмулируемый видеоадаптер числится VESA-совместимым. А в придачу ко всему видеодрайвер не умеет переключаться "на лету" в 16-битный режим. Пожалуй, единственным его достоинством, является отсутствие "доставляющего" бага с курсором (те, кто имел дело с UNIVBE, или с SDD, сразу поймут, что я имею в виду). Но на этом его достоинства и заканчиваются...
Ну и как же мы будем решать зту проблему? SDD? Тяжеловесная "вещь в себе", разработчики которой видимо больше всего опасались, что какой-нибудь "умненький мальчик" или "добренький дяденька" извлекут их драйвер из "триала" и выложат его, где только можно, а посему сделали чуть менее чем всё для того, чтобы конфигурировать их поделие штатными средствами винды, твикерами директа или "шаманством" с WIN.ini было практически невозможно.
UNIVBE? Прежде чем обсуждать глюки собственно драйвера надо бы обсудить прилагаемый к нему "кривой" INF . Парадокс, но "файло" этого драйвера, "прописанное" в каком-нибудь "правильном" INF-е, хоть для той же самой VMware SVGA 2, работает на порядок стабильней, чем в "родном". Кстати, по поводу ещё одного глюка этого драйвера - "исчезающих" элементов интерфейса программ и некоторых шрифтов. "Лечится" он очень просто, путём принудительной установки фиксированной частоты обновления, "родной" для вашей модели монитора.
Раз мы опять упомянули "родной" гостевой видеодрайвер виртуалки, то стоит обратить внимание на один весьма любопытный и, в некотором роде, интригующий момент. При чтении "инфа" этого драйвера у меня появилось ощущение того, что он намного более "древнее", чем файлы, которые в нём "прописаны". Я наткнулся там на две очень интересных строчки.
Первая - HKR, , NoForcedD3, 1, 01, 00, 00, 00. Я, своим "нубским" умишком, понял это так - драйверу чем-то 3-й директ не угодил. Возможно, эта строчка "инфа" за что-то другое отвечает, и если вы знаете за что именно - не смейтесь, пожалуйста, над моим невежеством, а "просветите". Но эта строчка - не самая интересная. Гораздо интересней строчка...
Вторая - HKR, DEFAULT, carddvdd, , cardsamp.vxd. Дело в том, что этот "драйвер виртуального устройства" в число файлов, входящих в "установщик"...не входит. Ну и что, скажете мне вы. Раз не входит - значит подразумевается, что в винде он уже есть. Но в том-то и цимес, друзья мои, что в винде его...тоже нет. Разумеется, я, как "умный макс", перечитал весь msdispley.inf "от корки до корки" - и НИКАКОГО упоминания об этом драйвере не нашёл. "Дядюшка Гугл" и "Тётушка Педивикия" тоже по этому поводу молчат, как партизаны на допросе, а на тематических форумах, главным образом, обсуждаются проблемы со звуком и сетью, причём все рекомендации там - чисто в "пингвиньем" стиле - попробовать другую версию виртуальной машины или гостевых дополнений.
Меня терзают смутные сомнения... Уж не подгружалась ли в своё время, в процессе загрузки системы некая "референсная" карта, с которой, собственно, и работал потом видеодрайвер? Тем паче, что в "инфе", например, "прописан" и 16-и битный и 24-х битный цвета. С 24-х битным цветом "нынешняя" карта, например, в упор не желает работать а вот "виртуальная" - вполне могла. Интересно было бы всё это проверить. Проблема в том, что для этого нужны самые "древние" гостевые дополнения, которых, естественно, не найти. В принципе их можно было бы попробовать извлечь из самых "древних" версий WMvare(и они даже выложены здесь), но проблема в том, что практически на всех имеющихся у меня платформах уже в процессе их установки я получал BSOD. Ну не "дружат" они с современными системами . Возможно, кто-нибудь из "даунгрейдеров" мог бы установить их на свои старые машины с такими-же старыми "осями", вытащить оттуда эти несчастные "аддишены", да и выложить их здесь на сайте. Ну позязя! Интересно же !
Ну а пока всё это будет делаться, давайте-ка, друзья мои, попытаемся совместно найти хотя-бы временное решение, причём РАБОЧЕЕ. Для этого нам придётся немножечко, совсем чуть-чуть, применить "метод исключения". Давайте рассуждать логически. Виртуальных машин ведь, по сути, не так уж и много, верно?
VirtualPC,Qemu и Bochs отпадают сразу. Все они, худо-бедно, но эмулят РЕАЛЬНЫЕ карты, пусть и "старенькие". VirtualBox отродясь с системами семейства 9х "не дружил". "Мелкота", вроде "Досбокса" и иже с ним тоже "реальные" карты эмулят. Ну и что же мы имеем в чистом остатке?
А в чистом остатке, друзья мои, мы имеем...Parallels Decktop, машину настолько в "народе" нелюбимую, что даже "крякнутые" её версии популярностью не пользовались. В конечном итоге, до разработчиков этой машины дошло, что платить за неё среди "виндузятников" - дураков нет, а посему выпуск версий для Windows они "свернули", равно как и (внимание!) техническую поддержку уже купленных версий, полностью переключившись на "маководов", приученных "Дядей Стивом" выкладывать кучу денег за любую хрень, которую, что "виндузятники", что"пингвоводы", в здравом уме и бесплатно "юзать" не станут. Обидней всего то, что вслед за "Параллелью" пошла "паровозиком" и Svista - виртуальная машина, некогда приобретённая компанией, которой принадлежит "Параллель" - и сразу же после приобретения - "убитая". Видимо перспективная была... А теперь её не найти НИГДЕ. Несколько лет назад вопрос о ней на сайте вставал и "вопрошающему" на неё даже ссылку "скинули", да только ссылка та уже давно "мёртвая". Если у кого-нибудь машинка эта сохранилась - выложите её, пожалуйста, на сайте. А заодно и вышеупомянутую "Параллель", так как она не продаётся, не поддерживается и не совместима с "богомерзкими" 8-й и 10-й - следовательно "абадонварь". Хотя... "Машинка"-то типа "отечественная", а отечественные разработчики либо готовы бесплатно годами "пилить" сложнейшую и полезнейшую софтину, либо готовы "удавиться"(и других "удавить") за несколько килобайт голимого говнокода, либо они какбэ не жадные, но принципиальные - "Мы работали, потели...(...и пока не "залетели" с кусками ворованного кода ) - и что же, всякие халявщики будут нашим трудом бесплатно пользоваться?", либо у них ЧВС выше крыши "зашкаливает". К какой категории относятся разработчики "Параллели" - я не знаю.
А, кстати, КАКУЮ видеокарту "эмулила" эта самая виртуалка, пока её разработчики не "запилили" в неё типа 3D-ускорение на основе кода, "позаимствованного" из Wine, без спроса разумеется, так что... . Ах, нечто VESA-совместимое, как у..."Вари"... А что, если...
Да, друзья мои, я ЭТО сделал - "прописал" в "инфе" их старого "гостевого" видеодрайвера "идентификаторы" видеокарты "Вари". Кстати, их оказалось аж целых три - выходит, что и вариантов этой видеокарты тоже три было ? То-то я смотрю "инф" какой-то такой...нетипичный .
...Первым делом, "искаропки" завёлся 16-и битный режим, при том, что "битность" хоста, естественно, была равна 32-м. Разумеется, "завелся" и 8-и битный режим. А вот 32-х битного почему-то не было. Зато в "инфе" имелись 24-х битные режимы. Долго ли не умеючи? Всего-то делов скопировать строчки с 24-х битными режимами, вставить ниже, да заменить циферки 2 и 4 на 3 и 2 соответственно. После переустановки драйвера выяснилось, что с 24-х битными режимами драйвер работать не желает, а вот с 32-х битными - пожалуйста! Нет проблем - "выпилим" из "инфа" 24-х битные режимы - да и дело с концом. Но всё, оказывается, только начиналось...
Если "выше" 640 на 480 драйвер норовил работать только либо с "родными" разрешениями, коих оказалось весьма немного, либо с "Варькиными", то НИЖЕ . Короче, чуть менее, чем вся VESA - во всей её красе! "Нарисовались" даже разрешения эпохи EGA. Что-то "заводилось" сразу. Что-то - после простенького "шаманства". Но всё это, так или иначе - РАБОТАЛО!!!. По сути, остался только один-единмтвенный вопрос. Что же мешало разработчикам "Вари" "запилить" всю эту благодать в своём собственном драйвере? А может, всё это там... было ? А потом было "выпилено в угоду режиму "Юнити". Другого объяснения, по крайней мере у меня - нет.
Разумеется, друзья мои, вам может быть интересно, как всё это работает на практике. Ну вот, пожалуйста, несколько скриншотов. Всё заработало без малейшего "шаманства", если что .
И да, спасибо за внимание .