Утром, едва проснувшись, возобновляю свои эксперименты.
Вытягиваю уже в который раз плату звука и вновь внимательно ее
разглядываю. Не зря же на ней установлены эти проклятые
перемычки! Похоже, надо разбираться с их установкой. Просмотрев
еще раз инструкцию к плате, начинаю соображать, что надо
произвести установку минимум четырех параметров платы:
- начального адреса ввода-вывода платы звука DSP I/O,
- начального адреса ввода-вывода CD-ROM I/O,
- начального адреса прямого обращения к памяти DMA,
- номера прерывания IRQ, обслуживающего плату.
Смутно вспоминаю, что каждое устройство обслуживается
своим прерыванием. Прерывание означает приостановку работы
компьютера при возникновении определенной ситуации (скажем,
обращении к накопителю CD-ROM) и выполнение
соответствующей ситуации подпрограммы (например запуска CD-
ROM). Так что тут все ясно - надо установить номер свободного
прерывания. Увы, не обнаруживаю номера прерывания платы
контроллера CD-ROM. Бог с ним - оставляю то прерывание с
номером 7, которое установлено по умолчанию. Это первая серьезная
ошибка.
А как быть с адресами ввода-вывода ADDR I/O? И в плате
звука и в CD-ROM они установлены по умолчанию одинаковыми -
340H. Пока оставляю все как есть - и это вторая серьезная ошибка.
В описании контроллера обнаруживаю, что в установке DMA по
умолчанию задана какая-то Poling Mode, но упомянута возможность
установки и трех DMA - 1,2 и 3. Следуя своей порочной концепции о
равенстве адресов (вроде бы и CD-ROM и плата звука должны
работать с одними и теми же данными), переставляю перемычки на
контактах платы контроллера на то же DMA CH1, которое
установлено на плату звука. Это уже третья оплошность!
Разумеется, все это ничего не дает! По-прежнему драйвер CD-
ROM нормально не загружается, а появившееся было имя накопителя
F отсутствует. Вспоминая архиважную роль прерываний решаю
просмотреть их назначение с помощью программы dosinfo.
Обнаруживаю, что прерывание IRQ7 в моем ПК явно задействовано
под порт принтера LPT1. Это первый успех! Вытягиваю вновь плату
звука и перемычками устанавливаю работу со свободным
прерыванием IRQ5.
Вставляю плату звука в ПК и с ужасом обнаруживаю, что забыл
перед этим вынуть вилку из розетки сети. Вряд ли это так уж важно,
но расплата наступает! При включении ПК жалобно пищит два раза
(вместо одного) и наотрез отказывается загружаться с жесткого диска
C. Ну ладно, такое случалось. Достаю загрузочную дискетку с MS-
DOS 6.2, вставляю в накопитель A и пытаюсь произвести загрузку с
нее. Вот уж подлинный ужас - мой любимец не желает выполнять
загрузку!
Чувствую, что в моем возрасте так недалеко и до инфаркта.
Не столь уж я богат, чтобы приобрести еще и материнскую плату,
коль она, не дай Бог, "чикнулась". Пытаюсь успокоить себя и
спокойно выхожу в режим Setup своего ПК. Что за черт, оказалось,
что пропали все начальные установки - от даты до указания типов
накопителей. Смутно догадываюсь, что произошло - вероятно я
случайно замкнул встроенный в ПК аккумулятор и вся информация в
перепрограммируемой MOS-схеме ПЗУ стерлась. Возможно,
перекосило плату или я не заметил КЗ (короткого замыкания) при ее
установке. А может, где проскочила искра из-за накопления
статического электричества в моем нервном организме?
К счастью, сами установки в Setup явно работают. Ввожу дату
и указываю типы накопителей. Вот только загвоздка - забыл, сколько
головок и цилиндров на моем жестком диске. Пришлось снимать
верхние накопители и прочитать информацию об этом на жестком
диске. Слава Всевышнему - после всего этого ПК пищит один раз и
начинает нормально загружать MS-DOS! Пока отделался легко. Но с
платой звука все по-прежнему - она портит работу CD-ROM.
К черту эту плату! Надо срочно ее продать - может, найдется
дурак вроде меня, пожелающий взять кота в мешке? С такими
мыслями вынимаю плату и остаюсь лишь с CD-ROM в своем ПК. На
пальцах обнаруживаю многочисленные порезы от острых выступов на
плате от паек. Успокаивая себя мыслями о том, что и установка CD-
ROM уже дает моему ПК новое качество - получаю доступ к
необозримому программному обеспению и данным.
Звоню своим молодым коллегам, имеющим больший
практический опыт по аппаратной части ПК и далеко не в первый
раз ставящим в ПК всякие контроллеры (в том числе и своей
разработки). Двое тут же норовят примчаться и посмотреть, что за
диво приобрел их шеф - CD-ROM и плату звука.
После выслушивания их бурных восторгов по поводу
увиденного, советуюсь по поводу установок на плате звука. Коллега
Юра К. убедительно доказывет, что DMA и адреса I/O должны
быть разными у контроллера CD-ROM и платы звука. Меняем их
перемычками и - о, чудо! - при загрузке появляется подтверждение о
подключении драйвера CD-ROM при вставленной плате звука!
Появляется и исчезнувшее имя диска F - оптического CD-ROM.
Ребята исчезают, пожелав мне успеха в дальнейшем освоении новых
чудес вычислительной техники.