DOS
DOS — это операционная система, а также древнейшая и заслуженная игровая платформа на PC. Под DOS написано множество классических игр, и для этой системы были созданы первые части многих популярнейших и поныне игровых серий, как, например, Doom, Fallout, The Elder Scrolls.
Немного истории
Операционная система DOS (Disk Operating System) возникла как клон более древней операционной системы CP/M, предназначавшейся для восьмибитных компьютеров (с процессорами Intel 8080 или Zilog Z80). Новый компьютер 1981 года от компании IBM, который получил название IBM PC, был 16-битным, и для него старая CP/M уже не годилась. На тот момент уже была разработана 16-битная CP/M-86, но компания IBM провалила переговоры с создателем CP/M Гэри Килдаллом о правах на нее, и срочно потребовался аналог.
Аналог предоставила малоизвестная на тот момент компания Microsoft, которая купила права на клон CP/M-86 под названием QDOS, доработала его под нужды нового компьютера IBM, и назвала полученный продукт MS-DOS 1.0. Впоследствии IBM заключила с Microsoft соглашение о том, что новую ОС будут издавать совместно обе компании; вариант от IBM получил название PC-DOS и практически не отличался от MS-DOS. Права же на CP-M/86 оставила за собой компания Digital Research, созданная самим Килдаллом, которая доработала систему, поменяла систему команд по образу и подобию MS-DOS и назвала DR-DOS. Кстати, Microsoft выпустила и версию MS-DOS для восьмибитных компьютеров, под названием MSX-DOS.
Компьютер IBM PC, для которого была создана DOS — прадедушка всех ныне существующих PC — имел процессор Intel 8086 с тактовой частотой 4,77 МГц и оперативную память от 16 до 640 килобайт. Жесткого диска не имел, видеокартой служила суровая MDA, поддерживавшая только текстовый режим, или не менее кондовая 4-цветная CGA с разрешением 320х200. Программы хранились на 5-дюймовых дискетах емкостью от 180 до 360 Кбайт[1]. В целом, аппарат был превосходен для различных рабочих программ — текстовых редакторов и табличных процессоров того времени, но значительно уступал конкурентам в графическом и мультимедийном плане. Вышедший в следующем, 1982 году простенький, недорогой восьмибитный ZX Spectrum уже умел в 16 цветов, столько же умел выдавать и Commodore 64, также 1982 года. Однако у PC был один плюс, который перевешивал все его недостатки: модульность и открытость. Взаимозаменяемые детали для PC могла выпускать любая компания, эти детали могли использоваться для апгрейда[2]. Впоследствии IBM выпустила еще несколько моделей PC: улучшенный IBM PC XT (с процессором Intel 8088), еще более совершенный IBM PC AT (с 80286-м процессором) и удешевленную домашнюю модель PCjr. Дальнейшее совершенствование PC взяли на себя сторонние фирмы, которых становилось все больше и больше по мере того, как он стал стандартом.
Но как бы ни развивался и ни становился разнообразным зоопарк PC, в качестве операционки безраздельно царила DOS. По философии DOS была минималистичной системой, которая брала на себя только самые необходимые задачи: ввод-вывод, работу с монитором и клавиатурой и обработку команд. Все остальное программы должны были решать своими силами, напрямую обращаясь к оборудованию[3]. По этой причине в SETUP-ах DOS-овских игр всегда присутствует конфигуратор графики, звука, джойстика, мыши и т. д., в котором надо вручную проставлять номера портов ввода-вывода, прерываний и каналов прямого доступа к памяти, идентичные ранее указанным в BIOS SETUP (вариант автоматического чтения этих значений из долговременной памяти BIOS отсутствовал): всё это игра должна была обеспечивать себе сама, не надеясь на операционку. В лучшем случае DOS обеспечивал загрузку драйвера, который позволял игре видеть мышь, и инициализировал звуковуху.
Возможности работы DOS с самими дисками тоже были весьма скромными. Файловая система FAT16 (File allocation table 16 bit) поддерживала разделы не более 2 гигабайт, и то на больших разделах размер кластеров (последовательность из одного или нескольких секторов диска), номера которых содержала указанная таблица размещения файлов, составлял по 32 килобайта, так что для множества мелких файлов фактически занятый размер оказывался намного больше полезного. Таблица размещения файлов для надёжности хранилась в двух экземплярах, но оба они располагались в самом начале диска, так что обычно повреждались или затирались одновременно, превращая информацию на диске в мешанину. Максимальная длина имени файла составляла всего 8 символов + 3 символа расширения (для расшифровки таких коротких имён в дальнейшем были придуманы текстовые файлы DESCRIPT.ION и даже разработаны средства автоматизации работы с ними). Средства разграничения доступа к файлам разных пользователей вообще отсутствовали, как и возможность многопользовательской работы.
В MS DOS 7 (1995-й год) наконец-то придумали способы создания длинных имён файлов, совместимый с ранними версиями системы. Из-за одного бага предыдущие версии DOS просто не замечали в каталогах строки с редко используемой совокупностью атрибутов файлов, поэтому новая версия DOS стала записывать в каталог за строкой обрезанного «короткого» имени несколько таких вот «незаметных» строк длинного имени, на которое старые версии DOS просто не обращали внимание. Также в MS DOS 7 появилась поддержка файловой системы FAT32, где номер кластера файловой системы кодируется 32-битным значением — эта система поддерживает диски современных размеров и файлы длиной до 4 гигабайт, но всё равно не содержит средств разграничения доступа. Сейчас эту систему продолжают использовать на флэшках.
Файловые менеджеры и оболочки
Работа с файлами в чистом DOS была неудобной. Во-первых, она управлялась из командной строки. Чтобы сделать что-то с файлом средствами чистого DOS, нужно было сначала зайти в нужный каталог с помощью команды CD, затем командой DIR просмотреть список имеющихся файлов, затем написать команду COPY, DEL, REN и т.д. Во-вторых, список возможных действий с файлами был ограничен. Да, можно было копировать, удалять, переименовывать. Но даже редактирование текстов требовало внешней программы (благо таковая поставлялась в комплекте с DOS в виде редактора EDIT). Чтобы исправить все эти недочеты, для DOS стали создавать оболочки (файловые менеджеры).
Наиболее популярными среди них стали «коммандеры» — семейство оболочек, пошедшее от Norton Commander (в русскоязычном IT вскоре вышел такой же синий клон Volkov Commander, а позже добавился серый DOS Navigator, обеспечивающий куда больше возможностей). Интерфейс этих программ представлял собой два прямоугольных текстовых окна — «панели», в которых отображались списки файлов в двух разных каталогах. Панели и прочие окна были «нарисованы» в обычном текстовом режиме работы экрана с помощью псевдографических символов, входящих в состав кодировки DOS. С помощью этих панелей было удобно совершать с файлами и каталогами любые действия, включая копирование/перемещение из одной панели в другую. Также имелись встроенные просмотрщики и текстовые редакторы.
В дальнейшем появились другие оболочки с ещё большим функционалом. Была, к примеру, официальная оболочка MS DOS Shell от Microsoft, которая привносила в DOS Windows-подобный функционал. Главной ее частью был диспетчер файлов, как в ранних версиях винды, но присутствовал также аналог диспетчера программ или меню «Пуск» и диспетчера задач (многозадачность была фейковая, неактивные задачи замораживались). В DOS Shell можно было настроить текстовый или графический режим, диспетчеры открывались в окнах, но окна были Windows 1-подобные, их нельзя было двигать и менять размер, а только располагать плиткой по экрану, а все DOS-программы открывались только в полный экран. В общем, это была такая Windows, Very Lite. А оболочка DesqView представляла собой полноценный диспетчер задач, добавлявший в DOS истинную многозадачность (а вот файлового менеджера в DesqView не было, вместо него предлагалось использовать любой «коммандер»), и вот там уже текстовые окна можно было произвольно двигать, накладывать, менять их размеры и запускать в них DOS-программы. Общей проблемой всех многозадачных оболочек для DOS было то, что они крайне хреново дружили с DOS-экстендерами вроде DOS4GW, и попытка переключить задачу из экстендерной программы чаще всего заканчивалась крахом менеджера памяти и зависанием (а совсем старые диспетчеры задач для DOS вроде Triple DOS не дружат даже с EMM386).
Была также такая интересная оболочка, как Borland Sidekick (в русской локализации — «Шестёрка»), которая представляла собой резидентный набор приложений, который мог вызываться из памяти в любой момент и в любой момент же возвращаться к выполнению той программы, из которой вызван. Это не была подлинная многозадачность, то есть Sidekick не позволял запускать одновременно две произвольные программы, но он позволял любой программе запускаться одновременно с самим собой и всеми входящими в него приложениями (кроме файлового менеджера, присутствовавшего не во всех версиях, там были текстовый редактор, калькулятор, терминальный менеджер и простенькая база данных, предназначенная для использования в качестве адресного или телефонного справочника).
«Коммандеры» стали де-факто стандартным неофициальным интерфейсом для DOS, очень редко кто-то пользовался чистым DOS без них, и несведующие люди стали считать, что «Нортон»/«Волков» и есть DOS. Однако и на современных операционных системах двухпаннельные коммандеры сохраняют своё место: из псевдографических продолжают работу FAR под Windows и Midnight Commander под Linux, а количество самых разных графических не поддается исчислению.
DOS и Windows
Первые версии Windows (до версии 3.11 включительно) представляли собой просто продвинутую графическую оболочку для DOS. Её отношение с DOS можно было сравнить с отношением графической подсистемы X Window с ядром Linux в настоящее время. Чтобы попасть в Windows, компьютер сначала должен был загрузиться в DOS, а потом запустить исполняемый файл Win.com. Не все охотно принимали Windows, отдельные консервативные авторы писали, что она бесполезна, и были недалеки от истины: эти ранние версии Windows были очень ограничены статусом надстройки над DOS и представляли собой не столько Windows в современном понимании (то есть, Windows NT), сколько DOS Shell на стероидах.
У Windows вскоре появились и конкуренты. Компания Quarterdeck выпустила DesqView/X, графическую версию многозадачной оболочки Desqview, в которую была интегрирована та самая графическая подсистема X Window (в тогдашней версии) из юникса. Вскоре Quarterdeck разорилась и была куплена Symantec, разработчиками Norton Commander. Казалось бы, вот тут-то самое время сделать убийцу винды — графическую многозадачную оболочку с коммандером в качестве официального файлового менеджера? Но у Symantec уже не было желания конкурировать с Microsoft, потому что время многозадачных графических оболочек уже уходило.
Куда уходило, и что развивалось взамен? Параллельно с Windows фирма Microsoft разрабатывала с нуля новую систему Windows NT, которая при внешнем сходстве интерфейса имела совершенно иное ядро: была сразу 32-битной, поддерживала файловую систему NTFS, многопользовательский режим работы, разделение прав доступа к файлам для разных пользователей и многое другое.
Соответственно в 1995-м году Microsoft выпустила новые версии Windows обеих линеек, которые должны были поднять её до статуса полноценной операционной системы: 95, которая при новом интерфейсе и графическом ядре оставалась надстройкой над DOS новой версии 7 (вплоть до того, что в ярлыках особо капризных программ под MS-DOS можно было указать режим перезагрузки компьютера для запуска чистого MS DOS), и NT 4, которая при таком же пользовательском интерфейсе и наборе команд для прикладных программ обладала собственным ядром ОС. Популярной у домашних пользователей и малых предприятий стала линейка 95/98, а NT 4 заняла столь же широкое распространение в корпоративном секторе, где решающее значение имели надёжность и безопасность.
В 2000 году снова вышли две Windows разных линеек. Вот только в Millennium DOS был совсем урезан до статуса только загрузчика, а графическая часть оказалась очень неудачной, так что пользователи предпочли или вернуться назад на 98-ю, или попробовать NT 5 (она же Windows 2000). На этом история MS DOS заканчивается, потому что разработчики решили развивать далее только линейку Windows NT. В 2002-м году вышла Windows XP, у которой «домашняя» версия отличалась от «профессиональной» только блокировкой части функций. DOS ни в каком виде в Windows XP уже не входил[4].
Игры для DOS
Итак, какие технические возможности могли быть реализованы в играх для DOS?
- Звук. Первые PC имели примитивный одноканальный спикер-пищалку, с помощью которой можно было выпикивать ушераздирающие пронзительные мелодии и звуковые эффекты, которые все до одного, безотносительно, что это было — рычание монстра, выстрел или пение эльфийской девы — звучали как скрип несмазанных петель. Но благодаря модульной структуре PC вскоре появились и звуковые карты, дающие вменяемое качество звучания: как дешёвый, зачастую самодельный Covox, так и золотой стандарт качества тех лет — Sound Blaster.
- Музыка. Разумеется, никакого MP3 на компьютерах тех лет не было и быть не могло, а несжатый WAV при большой длине получался слишком большим. Первым вариантом было воспроизведение музыкальных компакт-дисков и передача звука с привода на микшер звуковой карты по отдельному кабелю внутри корпуса. В том числе диски с играми выпускались в смешанном формате: файловая система с установщиком шла первой дорожкой, а музыка — последующими. Другим вариантом было использование MIDI-файлов, представляющих нотные записи, по которым звуковые карты должны были воспроизвести музыку. Проблема была в том, что записи реалистичного звучания инструментов требовали много места, поэтому их во встроенном ПЗУ хранили только очень дорогие звуковые карты, а простые хранили только коды частот приблизительно похожих на звучание этих инструментов, так что в таком воспроизведении получалось бледное подобие исходной мелодии. Третий вариант — трекерная музыка, файлы которой одновременно хранили и «ноты», и фрагменты звуков для их воспроизведения. Однако микширование этих звуков уже должен был выполнять центральный процессор в оперативной памяти. Впрочем, 386-й уже мог воспроизводить такие файлы в качестве основной задачи, а следующие — и в качестве фоновой задачи игры.
- Графика. Видеокарты эпохи DOS не умели в трёхмерность, и их прогресс сводился в основном к наращиванию максимального разрешения и цветности. После кондовой четырёхцветной CGA появилась 16-цветная EGA, 256-цветная VGA (только в разрешении 320×200[5], для 640×480 поддерживала только 16 цветов). Все видеокарты, которые поддерживали режим работы 640×480×256 цветов и более, назывались общей категорией SVGA (Super VGA). Самые последние игры для DOS, например Quake 1, поддерживали и первые 3D-видеокарты, такие как S3 Trio3D или 3DFX Voodoo.
- Мышь. В первых досовских играх её не было, и жанры игр развивались без учёта существования такого устройства. В платформерах (которые пышным цветом цвели как на 8-битных машинах вроде ZX Spectrum, так и на PC под DOS) мышь в принципе не была нужна. Первые 3D-шутеры управлялись по принципу «аццкого думера-тракториста», только с клавиатуры. Авиасимуляторы же были рассчитаны на джойстик, и в его отсутствие управление было столь же «тракторным». Мышь стала появляться в играх с распространением стратегий (Dune 2, Warcraft 1) и шутеров на Build (Duke Nukem 3D, Shadow Warrior, Blood).
- Джойстик. Порта USB тогда ещё не изобрели, поэтому для подключения джойстика использовали игровой порт, сделанный IBM так, чтобы вместо дорогого АЦП использовать дешёвый таймер (измерение времени при считывании проводилось программно). С лёгкой руки Creative Labs, подумавшей, что где игры, там звук и джойстик, он располагается на звуковой плате, а часть дублирующихся проводов используются для интерфейса MIDI. Два джойстика, в каждом две аналоговых оси и две кнопки; только поздние игры могли отдать оба джойстика одному игроку. Поскольку джойстики, порты и библиотеки программного считывания разнятся параметрами, джойстику нужна калибровка — определение, какие цифры он выдаёт в начале, в центре и в конце.
- Трёхмерность. Поскольку видеокарты в неё не умели, просчёт трёхмерных объектов целиком лежал на хиленьких тогдашних процессорах, которые не очень с ним справлялись. Поэтому трёхмерность старались реализовывать только там, где без неё совсем уж никак — например, в авиасимуляторах. Первые 3D-шутеры обходились технологией 2,5D — развёрткой двухмерной карты в трёхмерную картинку, и лишь изредка встречались корявые DOS’овские модельки из трёх полигонов, обтянутых монотонным цветом без текстуры.
- 32 бита. Практически все возможности поздних DOS’овских игр требовали 32-битных процессоров (386, 486 или Pentium 1). Но сам-то DOS оставался 16-разрядным! Положение спасали расширители типа DOS4GW, которые поставлялись в комплекте с играми и переводили «камень» в 32-битный режим.
Какие жанры игр были представлены?
- Аркады и платформеры. Как только на PC появились видеокарты хоть чуть поадекватнее CGA, жанр аркадных платформеров расцвёл пышным цветом. До того более простые аркадные игры наподобие «Тетриса», «Ксоникса», «Арканоида» правили бал безраздельно. С появлением VGA (1987) начали делать красивенные игры с поэкранной графикой: Prince of Persia, Another World, Metal Mutant. Одновременно тот самый Джон Кармак написал технодемку — клон «Марио»: стало ясно, что уже на 286+EGA можно сделать такую же, как на «Денди», прокрутку («Поиску-2», близкому к 8086/VGA, чуть не хватало производительности). Не менее известный Майкл Абраш учетверил производительность VGA и добавил многостраничные режимы, и главное — подробно описал свои изобретения. И тогда в DOS хлынули волной аркадные платформеры на самые разные тематики: Commander Keen, Dangerous Dave, Hocus Pocus, Prehistorik, Jazz Jackrabbit, Duke Nukum (да-да, тогда Дюк писался именно так).
- Квесты. Первые DOS-овские квесты управлялись командами с клавиатуры, и подбор правильной команды был нетривиальной затеей. С появлением мыши эта забава уступила место пиксельхантингу. Квестов под DOS было много, наверное, больше, чем под любую другую платформу. Такие хиты, как Space Quest, Leisure Suit Larry, Kyrandia, King’s Quest, Monkey Island, Full Throttle, Gobliiins можно перечислять бесконечно.
- Стратегии. С появлением мыши жанр получил мощный толчок к развитию. Появились как пошаговые стратегии (Civilization, King's Bounty), так и стратегии в реальном времени (Dune 2, Warcraft).
- FPS. Здесь этот жанр возник. Первым популярным шутером от первого лица был Wolfenstein 3D, разухабистая разлюли-малинная пострелушка по фрицам в кубичных лабиринтах с серыми плоскими полами и потолками, от id Software. Далее появился совершивший революцию в жанре Doom и целая плеяда шутеров на движке Build.
- Симуляторы. Несмотря на примитивность тогдашних программ и «железа», симулировалось помаленьку всё — от самолётов до танков. Причём в играх этого жанра можно было как единолично управлять техникой, так и, в особо продвинутых случаях, переключаться между экранами членов экипажа — как, например, в Abrams Battle Tank, одном из первых танковых симуляторов, где для выполнения миссии требовалось как глядеть на карту глазами командира, так и оценивать повреждения от вражеского огня с точки зрения механника (для зрелищности экрана для заряжающего не было, а мехвода разделили на механика, контролирующего состояние танка, и водителя, который просто рулит, высунув голову в люк на лобовой броне и даже не имеет прибора ночного видения — зато может понаблюдать, как над головой крутится башня).
- RPG. Жанр находился в стадии поиска формы: от древних RPG типа «рогалик» уже отошли, к чему-то стабильно новому не пришли. Поэтому RPG были очень разнообразны. Были ходилки по клеточным лабиринтам с отрисовкой типа Eye of Beholder, были бродилки с видом сверху наподобие Ultima, были полноценные трехмерные action-RPG, такие как Ultima Underworld и The Elder Scrolls: Arena. Общее было одно: большинство RPG были фэнтезийными, и когда стала популярной постапокалиптическая RPG Fallout, это подавалось как некое очень новое слово.
Первые моды к играм появились именно в эпоху DOS, как побочный продукт кряка. Во многих играх тогда ставили защиту от копирования, и пиратам, чтобы «вылечить игру от жадности», нужно было дизассемблировать ее и вырезать оттуда код зловредных копирастов. Ну и конечно, если они уже дизассемблировали игру, почему бы не поменять код еще как-нибудь? В игры добавлялись чит-режимы, если их изначально не было, некоторые умельцы заменяли графику. Само собой, модифицированная таким образом игра представляла собой замененный exe-файл, которым предполагалось перезаписывать оригинальный, другого удобного способа подключать моды не было. Поэтому тогдашний моддинг, как и крякинг игр, назывался попросту «взломом». Более совершенная моддинг-сцена появилась во времена Doom, который «из коробки» предполагал подключение wad-файлов с новым контентом без манипуляций с исполняемыми файлами. А в Duke Nukem 3D впервые появились написанные некомпилированным текстом игровые скрипты, которые можно было редактировать в обычном текстовом редакторе, что еще больше облегчало создание модов, так как теперь можно было изменять игровой процесс (так, относительно легко было создать новую цветную разновидность врага, например, красного хряка-капитана, поменяв палитру обычному хряку и прописав в скрипте выстрела проверку на палитру — если хряк красный, стрелять не из ружья, а из миномета баттллорда).
Конец эпохи
В конечном счете DOS дошел до той точки, когда проще все сломать через колено и переделать с нуля, чем продолжать надстраивать костыли. Главная проблема заключалась в том, что система была рассчитана на так называемый «реальный режим» процессора. В данном режиме пользовательский код имеет неограниченный доступ ко всему оборудованию. В частности, может по приколу стереть из памяти DOS. Кроме того, код работает с сегментами памяти, размером всего лишь в 64 килобайта. Это уже костыль от разработчиков процессора — нужно было сохранить поддержку старого кода, больше 64 килобайт не понимавшего, и одновременно дать новому коду памяти побольше. Вот и придумали что «старая» модель памяти будет «все в одном сегменте» (com-файлы — это оно и есть), а новые программы будут жонглировать этими сегментами. Если все эти сегменты сложить, получится ажно мегабайт, но если вам нужен непрерывный шмат памяти крупнее 64 килобайт, придётся скакать с бубном. Если же вам нужно больше мегабайта, ну, есть варианты с созданием небольшого «окна» в первом мегабайте, в которое по мере надобности отображаются фрагменты дополнительной памяти («расширенная память»). Но это уже совсем порнография. Все эти проблемы решил так называемый «защищённый режим», отличающийся от реального на фундаментальном уровне. Наиболее наглядный пример — в реальном режиме если уж вам выделили 64 килобайта, вы точно можете в них читать-писать. А вот в защищённом режиме есть виртуальная память, в которой ваши 64 килобайт это просто шмат виртуальных адресов, которые могут вести в никуда. При первом обращении по этому «никуда», вам выделят реальную память… Или программа упадёт, потому что ОС злоупотребляла технологией overcommit и память немножко кончилась. В общем, под новую архитектуру, необходимо было писать новую ОС и переделывать программы. Кроме того, игроделов задолбало отсутствие в DOS HAL как класса и необходимость вручную обращаться к оборудованию из каждой игры — пресловутые «конфигураторы с прерываниями и каналами» в каждой игре. Поэтому игроделы очень быстро стали переориентироваться на Windows, и уже к 1997-98 годам игры для DOS выпускали только ярые приверженцы испытанных досовских движков. Однако выпущенные ранее игры для DOS оставались очень популярны.
Windows 95 и 98 включали в себя MS-DOS версии 7 в качестве загрузочной и командной консоли (по отдельности эта версия DOS не продавалась). Последняя версия MS-DOS, 8, была включена в состав Windows ME в крайне урезанном виде, выполняя только функцию загрузчика. В Windows XP DOS уже не входила ни в каком виде, поэтому у любителей игр стали появляться проблемы при запуске досовских игр.
PC-DOS еще какое-то время выпускалась и дожила до 2001 года, когда была выпущена последняя версия. Дольше других продержалась DR-DOS, которая перешла на открытые исходники. Другая свободно распространяемая DOS, FreeDOS, получила развитие как раз в 2000-е. Но самым популярным способом играть в DOS-игры под Windows XP и позднее стали эмуляторы, самый распространенный из которых — DOSBox.
В настоящее время FreeDOS остается единственной актуальной, поддерживаемой версией DOS, которую можно установить на большинство более-менее современных машин. «Большинство» потому, что наиболее новые компьютеры уже не совместимы ни с какой DOS. Для того, чтобы DOS и программы для нее могли работать, необходимы следующие фичи оборудования:
- Обязательное условие — UEFI Legacy BIOS Mode. В этом режиме современные BIOS-ы (UEFI) обратно совместимы со старыми стандартами BIOS из 80-90-х. Если этого нет — DOS не загрузится.
- Legacy Video Option ROM — эта фича должна быть в видеоадаптере. Это тоже режим обратной совместимости, который позволяет использовать старые режимы экрана — текстовый и графические низкого разрешения. Многие встроенные видеоадаптеры на современных машинах не имеют этой фичи. Большинство дискретных видеокарт её имеют, но некоторые — в ограниченном объёме, например, они поддерживают текстовый режим, CGA, EGA и VGA, но не VESA SVGA. Соответственно, сама DOS в этих режимах будет работать нормально, а программы и игры, которые требуют неподдерживаемых режимов, работать не будут.
- Sound Blaster-совместимый звук. Ещё не так давно это была главная проблема всех досеров — невозможность заставить DOS-овские игры и старый софт взаимодействовать с современным HDA звуком. На данный момент задача решена, так как разработан специальный драйвер HDA для DOS, эмулирующий Sound Blaster. Стабильность пока не на высоте, но для большинства игр хватает.
DOSBox же и прочие эмуляторы избавляют от этих танцев с бубном, но и вносят свои проблемы. Во-первых, у них не на высоте совместимость, и некоторые программы (особенно прикладные) просто отказываются работать. Во-вторых, производительность эмулируемой DOS всегда ниже, чем DOS на живом железе — и даже учитывая, что DOSовские программы писались для машин намного медленнее, чем современные, это все равно остается проблемой.
Полезные ссылки
Примечания
- ↑ Примечательно, что компьютеры, не имеющие полной обратной совместимости с этой древней тарахтелкой, появились совсем недавно, с исчезновением из UEFI Legacy BIOS mode, и значительная часть современных компов всё ещё полностью обратно совместима с оригинальным IBM PC и может загрузить DOS и практически весь древний софт из 1980-х!
- ↑ Восьмибитные компьютеры стандартизированы не были: детали от Спектрума не подходили ни к Коммодору, ни к Apple 2, более того, даже компы, работавшие на одной операционке CP/M, были программно несовместимы, и записав дискету на Robotron 1715, вы бы ни за что не прочитали ее на Zorba, а к каждой программе для CP/M прилагались так называемые оверлеи — мини-драйверы, которые позволяли программе видеть железо именно на этом компьютере (единых на всю ОС драйверов в CP/M не было, они появились в DOS).
- ↑ И эффект такого обращения с развитием оборудования иногда становился… незаурядным. Достаточно вспомнить ироническое проклятие второй половины 90-х годов: «Чтоб тебе в Digger на Pentium играть!» Действительно: скорость игры 1983 года была завязана на частоту процессора, и при минимум десятикратно большей даже просто уследить за игровым процессом было невозможно (а учитывая, что современный FreeDOS позволяет запустить «Диггера» на живом железе даже на современных компьютерах, можно себе представить, что будет, если попробовать поиграть в Digger на каком-нибудь Core i9 Rocket Lake). Впрочем, с использованием программных «костылей», игру можно было запустить и тогда.
- ↑ Вернее, присутствовал такой рудимент, как галочка «Создать загрузочный диск MS-DOS» при форматировании дискеты, которая при форматировании более современных носителей (флэшки, SD-карты, и т. д.) перманентно серая и заблокированная. Этот рудимент винда тащила ещё долго, как минимум до семёрки. При использовании этой опции на дискету записывается MS-DOS 8.0 — тот самый загрузчик от Миллениума, к которому Microsoft даже не выпустили полноценного пакета досовских системных утилит, ибо зачем?
- ↑ Были также нештатные разрешения 320×240×256 цветов, 320×200×256 цветов×4 страницы
[ + ] Игровые платформы
|
|||
---|---|---|---|
|