Важная информация
RSS лента

3aRulem Печатное слово

Ричард Альтвассер: Потерянное наследие. Часть 2 (BlackCat)

Рейтинг: 5.00. Голосов: 2.
_



Часть 1 читайте в 3aRulem #15

За тысячелетия существования египетских пирамид, утеряна информация о том, кто и зачем их построил, и сейчас человечеству пытаются вешать лапшу на уши, что это были египтяне За более чем 34 года существования компьютера ZX Spectrum, никто так и не узнал в полной мере всех его возможностей. И сейчас какого только бреда не услышишь об этом компьютере, начиная от того, что его изобрёл Синклер, и, заканчивая тем, что ATM Turbo является развитием ZX Spectrum .

Я предлагаю вам вместе со мною отправиться в увлекательное путешествие в поисках потерянного наследия Ричарда Альтвассера скрытого в ZX Spectrum, и до сих пор практически не востребованного, ожидающего своего часа, что бы оживить платформу новыми возможностями.

Глава 1: Бипер и выход на магнитофон.

ZX Spectrum имеет крайне простой встроенный источник звуковых сигналов – бипер, то есть маломощный, относительно высокоомный динамик (40 Ом) с относительно высокой индуктивностью. Воспроизведение звуковых сигналов посредством бипера не было приспособлено для генерации сигналов сложной формы, а только для прямоугольных импульсов неизменной амплитуды.

Поэтому, когда требовалось получить изменение громкости звука, это достигалось за счёт широтно-импульсной модуляции (ШИМ), при которой мощность, отдаваемая в бипер была бы пропорциональна длительности прямоугольного импульса сигнала. Недостатком такой формы модуляции сигнала с музыкальной точки зрения является то, что при изменении скважности импульса так же меняется и его спектр, то есть тембр сигнала.

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

Результаты этих исследований, представленные в Таблице 1, свидетельствуют, что амплитуда сигнала на выводе ULA, к которому подключен бипер, зависит от состояния разрядов D3, D4 порта #FE, и имеет нелинейную зависимость от состояния этих разрядов. По сути, в ULA ZX Spectrum встроен двухбитный нелинейный ЦАП, на выходе которого возможно четыре значения амплитуды сигнала (включая нулевое значение). Но на практике, согласно схеме ZX Spectrum, представленной на Рис. 1, через бипер возможно воспроизведение сигналов только превышающих по амплитуде падение напряжения на двух p-n переходах (на схеме отмечены как диоды 17). Согласно Таблице 1, такими сигналами являются сигналы с амплитудой U2 и U3, амплитуда которых отличается на значение около 4%. Это отличие, конечно, возможно использовать, но такой небольшой динамический диапазон изменения амплитуды оставляет желать лучшего. Поэтому эта находка энтузиастов так и не оказала особого влияния на качество биперной музыки.


Казалось бы, исследования возможности получения сигналов более сложной формы на базе ZX Spectrum зашли в тупик.., но взглянув на схему Рис. 1 можно найти одно обстоятельство, которому уделялось мало внимания – все три функции: запись на магнитофон, чтение с магнитофона и вывод на бипер, осуществляются через один и тот же контакт ULA (обозначен как 10).

Это значит, что звук можно воспроизводить не только через бипер, но и через выход записи на магнитофон посредством внешнего усилителя и акустической системы. Но у такого способа есть одно существенное отличие от вывода непосредственно через бипер. Бипер рассчитан на абсолютное значение однополярного сигнала, в то время как разделительный конденсатор на выходе записи на магнитофон (обозначен как 18) пропускает только изменения сигнала, отсекая при этом его постоянную составляющую.

Таким образом, чтобы использовать способ воспроизведения звука через выход записи на магнитофон, необходимо забыть об абсолютной амплитуде сигнала, и использовать исключительно разности амплитуд сигналов на выходе ULA.

Как видно из Таблицы 1, на выходе ULA возможны четыре амплитуды сигнала: U0, U1, U2, U3. Используя разности амплитуд этих сигналов в различных комбинациях, получим шесть возможных значений: U1-U0, U2-U0, U3-U0, U2-U1, U3-U1, U3-U2.

Если со стороны ULA на разделительном конденсаторе 18, сигнал будет по очереди принимать одно из двух значений каждой из возможных комбинаторных пар сигналов, то на выходе конденсатора 18 сигнал будет иметь вид, представленный на Рис. 2. Для наглядности, на Рис. 2 разность амплитуд представлена в порядке их возрастания. Кроме того, для упрощения не отображены переходные процессы при переходе от одной разности к другой, так как длительность звучания каждой ноты многократно превышает длительность переходных процессов.


В принципе, совместное использование ШИМ и такой амплитудной модуляции уже в шесть раз расширяет динамический диапазон громкости воспроизводимого сигнала по сравнению с прямоугольными импульсами, что кардинально может изменить качество биперной музыки, сделав её сопоставимой, например одному каналу ЦАП AY. Учитывая, что эта возможность заложена изначально в каждый ZX Spectrum задолго до появления AY в его клоне ZX Spectrum 128, то неиспользование её является действительно огромной потерей для музыкального сопровождения ZX Spectrum. Но, увы, о таких возможностях использования обычного бипера, с добавлением всего лишь внешнего усилителя подключенного к выходу записи на магнитофон мало кто из музыкантов знает. Так же об этом не знают и разработчики эмуляторов ZX Spectrum.

Но зачем Альтвассеру потребовалась такая значительная нелинейность ЦАП'а ULA? Этому можно найти объяснение, если вспомнить, что в то время для хранения информации применялись магнитофоны двух типов - бытовые, использовавшие входные сигналы низкой амплитуды, и специализированные магнитофоны, предназначенные специально для работы с компьютерами, использовавшие входные сигналы высокой амплитуды, совместимые по уровню с TTL сигналами.


Если взглянуть на Рис.2, то видно, что нарастающий сигнал как бы состоит из двух групп сигналов - группы из двух ступенек с малой амплитудой и группы из четырёх ступенек с большой амплитудой. Группа малой амплитуды соответствует амплитуде напряжения линейного входа бытовых кассетных магнитофонов, и позволяет кодировать для таких магнитофонов уровни нуля и единицы. Группа сигналов высокой амплитуды соответствует уровню единицы, а группа сигналов низкой амплитуды соответствует нулю для специализированного магнитофона.

Таким образом, можно предположить, что изначально Альтвассером в схему ULA была заложена возможность программной настройки уровня выходного сигнала для работы с разными типами магнитофонов, которую так же возможно было использовать в качестве ЦАПа для внешней активной акустической системы. Более того, в усилителе такой активной акустической системы нетрудно реализовать преобразование нелинейного сигнала в линейный. А учитывая то, что Синклер требовал максимально удешевить ZX Spectrum, использование такого внешнего усилителя встроенного в акустические колонки и продаваемого как дополнительное периферийное оборудование вполне вписывается в общую концепцию разработки ZX Spectrum, особенно если вспомнить большой опыт Синклера в производстве усилителей и акустических систем.

Но.. увы, большинство перспективных заделов Альтвассера, воплощённых им в ZX Spectrum, остались никем не понятыми и невостребованными задумками в его голове после того как ему вместе с Виккерсом пришлось покинуть Sincair Research Ltd.

Кроме ZX Spectrum, нелинейный ЦАП встроен в ULA таких клонов как ZX Spectrum 128/+2. В клонах ZX Spectrum +2a,b/+3 от AMSTRAD эта функция не поддержана, так как их ULA выполнены по более современной технологии, не позволяющей встраивать в них аналоговые цепи. В большинстве других клонов функция нелинейного ЦАПа не поддержана.

Глава 2: Магнитофонный вход.


Магнитофон как устройство для хранения информации являлся типовым решением для компьютеров 70-х -80-х годов. Именно поэтому появившиеся домашние компьютеры ориентировались именно на магнитофон в качестве недорогого устройства хранения информации. Как уже было сказано выше, для хранения информации в те времена использовались два типа магнитофонов. Обычно они отличались упрощённым усилительным трактом, преобразующим слабый аналоговый сигнал в бинарный сигнал высокой амплитуды. Тогда как специализированные магнитофоны выдавали сигналы большой амплитуды, совместимые с TTL уровнями, для работы с сигналами линейного выхода бытовых магнитофонов, имевшими малую амплитуду, требовался дополнительный интерфейс с предусилителем-ограничителем, или компаратором.

В связи с этим при проектировании ZX Spectrum Альтвассеру требовалось приспособить компьютер для работы как с бытовыми, так и со специализированными магнитофонами, не забывая при этом о требовании Синклера максимально удешевить конструкцию. Следуя распоряжению, для упрощения конструкции, предусилитель-ограничитель был вынесен Альтвассером в ULA. Но кроме этого Альтвассер так же встроил в ULAсистему программной настройки уровня входного сигнала, позволявшую программно выбирать уровень входного сигнала соответствующего типу используемого магнитофона. Программное управление чувствительностью предусилителя-ограничителя должно было осуществляться в зависимости от состояния D3 #FE.

При D3=0 усилитель-ограничитель имел низкую чувствительность, но высокую помехозащищённость, что соответствовало работе со специализированным магнитофоном, а при D3=1 чувствительность усилителя повышалась для работы с бытовым магнитофоном, но помехозащищённость значительно снижалась. Но поскольку Альтвассер покинул Sinclair Research до окончания работ над ULA, его работа оказалась так до конца и не законченной, и первая ULA, использовавшаяся в компьютерах моделей Issue 1 и 2, содержала ошибку, не позволявшую программно менять чувствительность усилителя-ограничителя в ULA, устанавливая вход порта D6 #FE в единицу при попытке включения режима повышенной чувствительности записью D3=1 #FE. Эту ошибку нашли программисты, и использовали в некоторых играх, таких как, например Abu-Simbel Profanation и Rasputin.

В ULA компьютеров начиная с модели Issue 3, ошибка была исправлена, и программы, использовавшие её, перестали работать, что вызвало некоторый фурор среди пользователей. К сожалению, кроме этого курьёза, ни о каком другом использовании этой функции я не знаю – эта возможность компьютера ZX Spectrum фактически оказалась неизвестной с уходом Альтвассера. Даже после исправления ошибки в ULA, от Sinclair Research так и не поступило разъяснений для пользователей о назначении этой встроенной функции. А так как в режиме повышенной чувствительности усилитель работает в граничном состоянии, что без должного экранирования может приводить к срабатыванию от помех, то для пользователей так и осталось загадкой истинное назначение этой функции, что получило отражение в названиях, данных ими этому режиму - "нестабильное состояние", "периодическое переключение" или "мерцание".


Молчание Sinclair Research об этой функции на фоне того, что в ULA всё же были внесены исправления, наводит на мысль, что исправления были удачными не до конца. Понятно, что внесение изменений в ULA это процесс не дешёвый, то вполне вероятно Sinclair Research решил, что проще похоронить так и не доделанную функцию, нежели тратиться из-за неё на ещё одну ревизию ULA. Косвенным подтверждением такого предположения является тот факт, что исправленная ULA начала вести себя при чтении D6 #FE точно так же как и ранее, то есть, устанавливая этот разряд в единицу, но уже при записи D4=1 #FE. Это может косвенно свидетельствовать о том, что Альтвассером было задумано вовсе не два уровня чувствительности для входного сигнала магнитофона, а четыре уровня, управляемых разрядами D3, D4 #FE.

Данное свойство превращало магнитофонный интерфейс помимо его основной функции во вполне приличный как для домашнего компьютера интерфейс программного пятиуровневого АЦП последовательного приближения, что вполне согласуется с предполагаемым применением компьютера для школьного обучения, где такой интерфейс был бы как раз к месту. Но, увы, после вынужденного ухода Альтвассера, в Sinclair Research не осталось никого, кто смог бы в сжатые сроки успешно завершить разработку ULA.

Кроме ZX Spectrum Issue 3-6 функция регулировки чувствительности магнитофонного сигнала поддержана в ULA таких клонов как ZX Spectrum 128/+2. В клонах ZX Spectrum +2a,b/+3 от AMSTRAD эта функция не поддержана за ненужностью, так как они имели уже интегрированный магнитофон или дисковод, а ULA выполнена технологии, не позволяющей встраивать в них аналоговые цепи. В большинстве остальных клонов эта функция также не поддерживается.

Сейчас магнитофон для хранения информации практически уже не используется, но даже существующей, недоделанной системе регулировки чувствительности магнитофонного сигнала встроенной в ZX Spectrum можно придумать альтернативное применение, например использование в качестве программного троичного АЦП последовательного приближения, детектирующего либо отсутствие сигнала, либо наличие сигнала с одной из двух градаций амплитуды. Главное – знать, что такая функция в ZX Spectrum существует!

Продолжение следует….
Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	altw_01.jpg 
Просмотров:	1809 
Размер:	3.4 Кб 
ID:	57759   Нажмите на изображение для увеличения. 

Название:	altw_02.jpg 
Просмотров:	762 
Размер:	19.6 Кб 
ID:	57760   Нажмите на изображение для увеличения. 

Название:	altw_03.jpg 
Просмотров:	793 
Размер:	24.5 Кб 
ID:	57761   Нажмите на изображение для увеличения. 

Название:	altw_04.PNG 
Просмотров:	763 
Размер:	3.3 Кб 
ID:	57762   Нажмите на изображение для увеличения. 

Название:	altw_05.jpg 
Просмотров:	756 
Размер:	9.9 Кб 
ID:	57764  

Метки: #17, altwasser, zx spectrum Добавить / редактировать метки
Категории
3aRulem #17

Комментарии

  1. Аватар для Бука
    Проду, проду!

    И если можно - ссылки на аглицкие источники, очень интересует эта история.
  2. Аватар для BlastOff
    Попробуем добавить ссылок

Трекбэков