Древности: трудный выбор звуковой карты для DOS-игр
Звуковая карта — один из самых важных элементов ретрокомпьютера, а для многих это основная причина сборки такового. В отличие от офисного софта компьютерные игры не стареют: запускать их на аутентичном железе — это приятная и почетная задача. Хотя и не обязательная: есть же DosBox, в которой если не все, то многие игры работают без проблем. Выбрать правильную звуковую карту для моего 386-го компьютера было непросто: вариантов много, нюансов совместимости еще больше, а некоторые экземпляры потихоньку превращаются в с трудом добываемые раритеты. Вот какая из них лучше?
Но это сейчас выбор трудный, а в девяностых он был простой: какую звуковую карту удалось добыть, та и лучшая. В реальности мне тогда не удалось добыть никакую, и мой 386-й компьютер тех времен так и прожил всю жизнь, издавая звуки только жестким диском, PC-спикером и модемом. Зато первые пробы Doom с «саундбластером» у знакомых и друзей в 1994 году производили невероятное впечатление. К реалистичной (по тем временам) графике добавились не менее жизненные (тоже по тем временам) звуковые эффекты. Круто же!
Окей, в моем ретрокомпьютере точно будет установлена звуковая карта Sound Blaster компании Creative. Какая именно — тоже непростой вопрос, и итоговый выбор будет зависеть не только от предоставляемых картой возможностей, но и от наличия или отсутствия определенных багов, тоже аутентичных. Какие у меня есть варианты? И какие варианты существуют вообще? Причем тут гуси? В этом теоретическом посте я попробую на данные вопросы ответить, и заодно расскажу о древних технологиях извлечения звука из вашего IBM-совместимого ПК.
Все статьи по теме:
0. 1992 год в компьютерной прессе
1. Рассматриваем материнскую плату 386-го компьютера
2. Бенчмарк 386-го процессора и лихие девяностые
3. Трудный выбор звуковой карты для DOS-игр < — вы находитесь здесь
Дневник коллекционера старых железок я веду в Телеграмме.
Технологии
Изначально первым устройством для воспроизведения звука в компьютерах IBM PC был PC Speaker, подключаемый непосредственно к материнской плате шестисантиметровый динамик, управляемый отдельной микросхемой Programmable Interval Timer. В стандартном режиме он способен издавать только характерный писк. Путем хитрого программирования можно было заставить спикер издавать звуки посложнее, хороший пример есть в видео ниже (это демо 2015 года на оригинальном IBM PC с графикой CGA, особый интерес представляет финальный трек начиная с 6:35).
С 1981 по 1987 год это был более-менее единственный способ заставить IBM PC звучать, и на тот момент платформа серьезно проигрывала даже восьмибитным системам с отдельным звуковым чипом. Сейчас, впрочем, и такое звучание вызывает определенную ностальгию. Да что там, когда нас, школьников, запускали в единственный класс с IBM PS/2 поиграть в гонки, звука не было вообще, так как динамики были во всех компьютерах демонтированы. Отсутствующий звук и очень схематичная графика без проблем дополнялись силой воображения.
Небольшой апгрейд звуковых возможностей предлагал PC-совместимый компьютер Tandy 1000 1983 года — там отдельная микросхема могла воспроизводить одновременно три голоса. Как на нем звучит Принц Персии, можно послушать тут.
В 1987 году выпускаются сразу три звуковые карты, каждая со своим подходом к генерации звука. Creative Music System использовала две микросхемы Philips SAA1099, обеспечивающие 12-голосную полифонию. Звуковая карта Adlib использовала чип Yamaha OPL2. В отличие от микросхем Philips, способных генерировать звуковые сигналы прямоугольной формы, здесь генерировались и модифицировались синусоидальные сигналы. Микросхема могла одновременно воспроизводить 9 голосов. Covox Speech Thing представляла собой простейший цифро-аналоговый преобразователь с разрядностью 8 бит в монорежиме, подключаемый к параллельному порту персонального компьютера.
Из этих трех наиболее перспективной оказалась разработка канадской Adlib, но реализовать эти перспективы было суждено не ей, а компании Creative. В 1989 году выпускается первая звуковая карта под брендом Sound Blaster. На восьмибитном контроллере первой версии для совместимости оставлены микросхемы Philips, но так же есть FM-синтезатор Yamaha OPL2, а главное — появилась возможность воспроизведения заранее записанного цифрового звука.
Вот здесь пожалуй нужно остановиться и разобраться с терминами и реалиями той эпохи. Конечно, на уровне не специлиста, но любителя, которым я и являюсь. Когда вы покупаете компакт-диск с музыкой, вы получаете примерно 650 мегабайт цифровых данных. Эти данные передаются на звуковую карту, где с помощью цифро-аналогового преобразователя превращаются в звук, который кто-то для вас заранее записал. Все современные игры оперируют такими же звуковыми сэмплами: берем музыкальный трек, фоновые шумы, звук шагов, дыхание персонажа, диалоги, микшируем все это в нужных пропорциях и получаем звуковое оформление. Благодаря Sound Blaster, в какой-то степени Covox и подобным решениям такая возможность есть у разработчиков игр с конца восьмидесятых. Проблема в том, что нет (а) места на дискете, чтобы сохранить звук даже в урезанном по сравнению с CD формате и (б) вычислительной мощности для работы с такими объемами данных. Даже с появлением компьютерных оптических приводов звук с аудиодисков еще долго передавался с отдельного ЦАП в CD-ROM на звуковую карту в аналоговом виде.
Обойти ограничения можно было только с помощью синтеза звука: в этом случае мы храним на дискете, грубо говоря, только ноты. Раз уж я начал с Принца Персии, продолжу дальше на примере этой игры 1989 года. Музыка в этой игре хранится в виде инструкций MIDI (на выбор, для чипа в Tandy 1000, звуковых карт Sound Blaster, Adlib и так далее). Звуковые эффекты (звуки дверей, шагов, битвы на мечах и прочего) записаны заранее — это по сути несжатый цифровой звук с частотой дискретизации 11025 герц (четверть от стандарта CD), монофонический, с разрядностью 8 бит на сэмпл. Если у вас есть Sound Blaster или Covox, эти сэмплы будут воспроизводиться. Если нет — будете слушать эффекты через PC Speaker или другое устройство. Подробный разбор форматов хранения данных в Prince of Persia есть тут.
Таким образом в случае звуковой карты Creative Sound Blaster мы получаем два устройства в одном: отдельно синтез музыки, отдельно воспроизведение звуковых сэмплов. Если вы задались целью воспроизводить звук из старых игр на аутентичном железе, то вам важно, как хорошо (или плохо) карта справляется с обеими задачами. И тут мы приходим к главному выводу о ранней эпохе компьютерного звука: это невероятный зоопарк технологий. Только в упомянутых мной звуковых картах используются разные микросхемы для синтеза: Philips в Creative Music System, Yamaha в Adlib и Creative Sound Blaster. Позднее стали использоваться FM-синтезаторы Yamaha нового поколения (OPL3, начиная с 1992 года). Так как они используют разные методы синтеза, то и звучать они должны по-разному, так? Да! Забегая вперед, скажу, что и воспроизведение цифровых звуковых сэмплов тоже отличается!
И по каким критериям тогда выбирать ретрозвук? Тут есть опасность собрать коллекцию из десятка древних звуковых карт, и сидеть сравнивать, как они звучат. Я по такому пути не пойду (окей, пойду, но не так далеко), так как пользоваться в итоге буду только одним устройством. А значит надо себя как-то ограничивать. Критерии простые: «у меня в детстве такая плата была, поэтому хочу ее». Или, в моем случае, «я собираю компьютер 1992 года, и звук тоже хочу оттуда». Или самый сложный: «у меня есть любимая игра, я узнаю, под какой синтезатор для нее писали музыку, и куплю звуковую карту с ним».
Звуковые карты 1992 года
За три года, прошедшие с момента выпуска Sound Blaster 1.0, компания Creative сделала свою продукцию де-факто стандартом игрового звука. В компьютерной прессе тех лет устройства конкурентов рекламируются как «совместимые с Sound Blaster». Creative парирует своей рекламой: «зачем покупать совместимое, когда есть эталон?». С одной стороны, потребителю просто: покупай Sound Blaster или хотя бы «совместимое» устройство, и большинство игр, новых и недавно вышедших, будут его поддерживать. С другой стороны, в такой ситуации сложно выводить на рынок какие-то новые технологии: это нужно уговорить и разработчиков игр, и пользователей, в том, что игра стоит свеч. Одновременно и новые технологии внедрять, и совместимость со старыми обеспечивать дорого: придется убедить потребителя в том, что удвоенный ценник на новинку действительно себя оправдает. А потребитель (за исключениями очень богатых людей) в целом и с PC Speaker живет, и ему нормально.
В октябре 1993 года журнал Computer Gaming World публикует обзор 20 звуковых карт, включая две попытки (неудачные) победить гегемонию Creative. Первая: Gravis Ultrasound, легендарный Гусь. Выпущенная в 1992 году, эта звуковая карта одной из первых реализует принцип табличного синтеза. В отличие от FM-синтеза, где звук получается путем модификации простых звуковых волн определенной формы и частоты, табличный синтез использует заранее записанные сэмплы реальных музыкальных инструментов (пианино, ударные, и прочее). Сэмплы хранятся в оперативной памяти на звуковой карте и могут быть заменены на другие, по желанию пользователя или разработчика игры. Табличный синтез обеспечивает субъективно лучшее качество звука. Computer Gaming World не впечатлен: к концу 1993 года это не единственная видеокарта с wave table, совместимость с Sound Blaster слабая, а для работы требуются специализированные драйверы, которые занимают ценную оперативную память компьютера. В 2019 году Гусь стоит дороже, чем в 1992-м, это приятное дополнение к любой коллекции компьютерного ретрожелеза. Но в моем случае хочется чего-то более стандартного.
Вторая попытка выполнена компанией Adlib, которая в 1987 году правильно угадала с технологией, но проиграла в конкурентной борьбе. Звуковая карта Adlib Gold оснащена FM-синтезатором Yamaha OPL3 и способна воспроизводить 12-битный цифровой звук. Само по себе это немного уступает возможностям звуковых карт конкурентов, но есть «киллер-фича». Отдельный модуль добавлял возможность пространственных звуковых спецэффектов. Позже такая функциональность была реализована в виде технологий A3D компании Aureal Vortex и Creative EAX. Фича не взлетела: поддержки в играх почти не было, победить Creative не удалось. Вскоре после этого и компания Adlib, и Gravis прекратили свое существование. В отличие от Ultrasound, которая просто стоит дорого, оригинальный Adlib Gold найти почти невозможно — это уже не редкость, это унобтаниум.
Страдания по Саунд Бластеру
Вот после такого экскурса в историю я перешел к практическому вопросу: окей, если в большинстве моих любимых игр требуется Sound Blaster, то какой выбрать? Хотя совместимость между «бластерами» разных лет достаточно высокая, отдельные модели очень сильно отличаются друг от друга. Как раз на 1992 год пришелся переход на 16-разрядные звуковые карты. Выпущенная в этом году карта Sound Blaster 16 может воспроизводить звук CD-качества. Проблема с ней в том, что в ней же присутствует максимальная концентрация аппаратных багов на квадратный сантиметр площади. Прежде всего это широко известный в узких кругах DMA Clicking Bug: в ряде игр воспроизведение цифровых сэмплов сопровождается неприятными щелчками. Имеются проблемы при работе с внешним MIDI-устройством через порт на звуковой карте. Можно взять ревизию карты «попозже», но там Creative решила отказаться от фирменных чипов Yamaha OPL3, предложив собственную аппаратную реализацию синтезатора. И вот она поначалу звучала… не совсем так, как надо.
Можно решить все проблемы с помощью самого последнего и лучшего Sound Blaster для шины ISA. Это карта Sound Blaster AWE64 Gold, поддерживающая табличный синтез (под него выделено 4МБ памяти), с качественной малошумящей аналоговой частью. Такая карта у меня есть, но тут возникает вопрос аутентичности. AWE64 Gold поддерживает технологию Plug and Play, в то время как на соответствующих эпохе платах адресация и номер прерывания задаются перемычками. Отсутствует «правильный» чип синтезатора Yamaha. В среде коллекционеров ретрожелеза высоко ценится предыдущая версия Sound Blaster AWE32, но я решил пойти другим путем.
Sound Blaster Pro — вполне актуальная для 1992 года звуковая карта. Хотя длина карты соответствует 16-разрядному слоту ISA, по факту она еще восьмибитная. Серьезным нововведением для оригинальной версии 1991 года стало использование двух чипов Yamaha OPL2 для стереофонического синтезированного звука. В ревизии Pro 2 эти две микросхемы были заменены на одну Yamaha OPL3.
Это далеко не самая оптимальная звуковая карта с точки зрения меломана: она снабжена неотключаемым четырехваттным усилителем звука для распространенных в те времена пассивных компьютерных колонок. С легкостью ловит наводки от соседних плат в компьютере. Звук CD-качества воспроизводит только в моно. Но при этом она часто признается ретроколлекционерами лучшей звуковой картой для DOS-игр. Карта Sound Blaster Pro закрывает историю 8-разрядных звуковых карт для IBM PC, она максимально совместима с играми конца восьмидесятых и начала девяностых. И не имеет столько багов, как более прогрессивная SB16.
В эпоху PCI звуковая карта стала стандартным оборудованием персонального компьютера, но такого разнообразия технологий уже не было. В конце девяностых все чаще мы ограничивались интегрированным звуком на материнской плате, хотя и критиковали его качество. Первые пять лет компьютерного звука для x86-систем были гораздо интереснее, чем следующие двадцать семь. В следующем материале я постараюсь обосновать, почему SB Pro2 считается лучшей, сравню ее с Sound Blaster 16, AWE64 Gold и современным звуком по версии DosBox. Наглядно покажу, почему старые звуковые карты — нет, не лучше — интереснее.