Сравнительно честные способы ностальгии

Встречаются два программиста.

— У меня проблемы с досом.

— Что, виснет?

— Нет, дасморк.

(Анекдот)


В современные игры я практически не играю. Все-таки слишком много времени требует иногда прохождение. Когда-то играл достаточно много, поэтому «Судьба хита» — рубрика горячо любимая, ностальгическая. Еще, правда, Palm поностальгировать позволяет — об инкарнациях King's Bounty я уже писал. А иногда — не позволяет. Тогда приходится сгонять с компьютера жену и на пару часов покидать текущую реальность. Ради игр, которым лет по 10. А то и поболе... Сами понимаете, рассчитаны они под DOS. Приходится выкручиваться.

Способ 1. Несовместимая совместимость

Во-первых, совместимость с DOS-овскими приложениями обещали нам разработчики Windows. Недавно в веблоге одного из них прочел воспоминание об одном из эпизодов при разработке Windows 95: после того как выяснилось, что одна из игр под новой операционной системой работать не будет из-за ошибки в игре, в Windows 95 внесли код, который специальным образом обрабатывал ситуацию, когда эта игра запущена.

Это интересно: откуда вообще берутся проблемы с совместимостью? Под DOS программе доступны все ресурсы — система однозадачная. Под Windows приходится учитывать существование других программ. А еще под DOS был прямой доступ к возможностям железа — и разработчики этим активно пользовались, чтобы добиться лучшего изображения или меньших требований к ресурсам.

Но Windows 95 сама уже скоро отметит 10-летний юбилей, а совместимость со старыми играми становилась за эти 10 лет все хуже и хуже. Очень быстро была утрачена возможность DualBoot, когда можно было грузить на выбор DOS или Windows, потом многие крупные компании сделали версии, «заточенные» под Windows, — в общем, в ряде аспектов программировать игры под Windows проще, особенно после появления DirectX.

Есть еще одна проблема: на современных мониторах в 17 и более дюймов чудеса графики 320 на 200 выглядят угрожающе — уж больно пиксели велики. А в окно, как правило, старую игрушку не засунешь.

Способ 2. Вставьте дискету в дисковод A:...

Совершенно очевидно, что лучший DOS — это честный DOS. Для большинства игр вполне хватит (а то и многовато будет) 486-го процессора, видеокарты мегабайта так на 2, винчестера мегабайт на 500... Прикупаем еще переключатель, чтобы пользоваться одним комплектом мыши-клавиатуры-монитора, собираем «ностальгический компьютер» и радуемся жизни.

Обычно так просто не получается — ведь он требует места в квартире не меньше, чем актуальный. Поэтому хочется ставить не настоящий, а виртуальный ностальгический компьютер. Для этого используются разнообразные эмуляторы.

Самый известный эмулятор — VMWare (www.vmware.com). Его и многие другие упомянутые в статье программы можно найти на нашем компакт-диске.

DosBox

Устанавливается он легко. Дальше для практических целей можно считать, что появился у вас еще один компьютер. Ставим на него любимую операционную систему — и вперед. Звук есть, графика поддерживается, про дисковод и CD-ROM вообще молчу. Работает VMWare под очень многими операционными системами, хотя факта работы под Windows большинству читателей хватит.

Однако не все так просто. Во-первых, VMWare — продукт коммерческий. Скачать его можно на пробу и пробовать в течение месяца. А во-вторых — где вы сейчас возьмете дистрибутив DOS?

На заметку: FreeDos позиционируется как совместимая с MS-DOS на 100%. Во всяком случае, разработчики к этому стремятся. Помимо прочего, она умеет понимать длинные имена, что может оказаться очень удобным, и файловую систему FAT32. Доступна в сети по адресу www.freedos.org.

Надо сказать, что VMWare — не единственный полнофункциональный эмулятор компьютера. Есть, например, Microsoft Virtual PC (www.microsoft.com/windows/virtualpc/default.mspx), есть некоммерческие qemu (www.qemu.org) и bochs (bochs.sf.net). В комплекте последнего есть и стартовый диск с уже установленной FreeDos.

Способ 3. Глупый пингвин робко прячет

Я думаю, мало кого удивит тот факт, что Псмит не любит Линукс. В общем-то — и не должен. Впрочем, однажды я видел, как он признал пользу от Линукса в бытовых (а не серверных) условиях.

DosEmu

Произошло это, когда для одной из статей ему потребовался скриншот из игры Fantasy General. Запустить игру под Windows ему вполне удалось. Со скриншотом, однако, ничего не получилось. Скриншот делался на линуксовой машине у другого моего приятеля, тоже любителя досовских игр. И запускалась эта игра при помощи DOSEmu.

DOSEmu — традиционный выбор тех, кто использует Linux, но к DOS-овским программам неравнодушен. Отличается он традиционной для Линукса настройкой. Более древние версии странно работали с экзотической по нынешним временам графикой типа VGA 16 цветов. Да, и нигде, кроме Линукса, работать не будет. Правда, в этом случае дистрибутива DOS вам не потребуется — в поставку входит диск с FreeDos.

Собственно DOS при этом поставить тоже можно.

Впрочем, в необходимости ставить Линукс тем, кто этого до сих пор не сделал, это не убеждает. На всякий случай — берется он на www.dosemu.org и входит во все популярные дистрибутивы.

Способ 4. Финальная точка

Не могу выдать традиционную ЛКИ-шную оценку остальным продуктам, но описанному в этой части статьи я с удовольствием дал бы корону.

Я просто скачал из Сети инсталлятор, поставил и прочитал короткую и внятную инструкцию. После этого рассказал, какие действия предпринимать при начале очередного сеанса — свелось это к указанию, где лежат игры и как будут называться диски.

А потом запустил Battle Bugs — замечательную игру 1993 года выпуска — и никаких проблем не ощутил. И с другими играми проблем не встретил. Правда, терпения дочитать список всех поддерживаемых игр у меня не хватило — их несколько тысяч.

Это интересно: многие проекты эмуляторов DOS делались для того, чтобы поиграть в любимые игры на современных компьютерах. Например, DodGE — DOS Game Emulator — прекративший развиваться несколько лет назад.

Живет это маленькое (1 мегабайт!) чудо по адресу dosbox.sourceforge.net (и на нашем диске, конечно). Последняя версия — 0.6.3.

Есть версии, рассчитанные под Windows, и под Linux/FreeBSD, и даже под MacOS. Есть русская локализация, чем остальные продукты не балуют.

Дистрибутива DOS ему опять-таки не требуется.

Недостатков пока не обнаружено — правда, коллекцию старых игр я еще протестировал далеко не в полном объеме.


Ох, как давно я не играл в Arkanoid...