Spectrum-совместимые компьютеры «Байт»,«Байт-01» и прочие раритеты

1 / 738

Доработки, апгрейд и дополнительная периферия для приставки "Эльф"

Соединение приставки "Эльф" с ZX-Spectrum и чтение содержимого ПЗУ приставки и её картриджей

Несомненно, что ПЗУ приставки "Эльф" и картриджей к ней представляет интерес. Вопрос в том, как прочитать содержимое микросхем ПЗУ? Вариант с отпайкой микросхем и последующем их чтении на программаторе был отвергнут. Причиной тому является неважное качество платы приставки - от перепайки ПЗУ начнут отслаиваться контактные площадки, да и внешний вид платы после перепайки ПЗУ будет не очень хорошим.

После некоторых размышлений я решил попробовать состыковать приставку и ZX-Spectrum. Толчком к этому послужило наличие на разъёме для картриджа почти всех сигналов для успешного отключения процессора приставки и перехвата её шин другим устройством (Спектрумом). Но для успешного проведения операции по "захвату шин" мешал один нехороший нюанс в схеме приставки. Речь о том, что шина данных процессора и шина данных ПЗУ развязаны между собой через буфер на КР1533АП6:

Буфер шины данных приставки «Эльф»

Видно, что в обычном режиме, когда нет чтения ПЗУ (сигнал /CE=1) или когда нет чтения порта джойстика (сигнал /SSRD=1), сигналы от шины данных процессора (D0-D7) передаются на шину данных ПЗУ (DB0-DB7). При чтении ПЗУ или порта джойстика данные будут передаваться от DB0-DB7 на D0-D7.

Плохим моментом является то, что на разъём для картриджа выведена не шина данных процессора, а шина данных ПЗУ (DB0-DB7). К счастью все порты подключены тоже к шине данных ПЗУ. А так как нам надо только ПЗУ и порты, то можно было бы воспользоваться и этой шиной. Но нам мешает то, что даже если будет осуществлён "захват шин", буфер на КР1533АП6 будет работать на передачу данных от процессора к DB0-DB7, т.е. "забьёт" нужную нам шину данных ПЗУ сигналами лог.1.

Пришлось таки резать одну дорожку на плате приставки - для отключения буфера КР1533АП6 на время считывания содержимого ПЗУ вывод 19 микросхемы отрезается от GND и припаивается к +5В:

Доработанный буфер шины данных приставки «Эльф»

Само собой разумеется, что по окончании всех работ по считыванию ПЗУ 19-й вывод АП6 был возвращён на законное место - подпаян к GND.

Для соединения между собой приставки "Эльф" и компьютера ZX-Spectrum (в качестве него выступил KAY-1024) был разработан убер-девайс, представляющий собой набор портов КР580ВВ55 и платы-переходника, втыкаемого в разъём для картриджей на приставке:

Приставка «Эльф» с платой адаптера для соединения с ZX-Spectrum
Приставка «Эльф» с платой адаптера для соединения с ZX-Spectrum
Приставка «Эльф»″, соединённая с компьютером KAY-1024
Приставка «Эльф»″, соединённая с компьютером KAY-1024
Приставка «Эльф» с платой адаптера для соединения с ZX-Spectrum
Приставка «Эльф»″, соединённая с компьютером KAY-1024

Для перекачки ПЗУ была по-быстрому написана на ассемблере процедура, читающая за раз один банк ПЗУ (16КБ). Впоследствии полученные банки были соединены в один файл.

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

Подключение музыкального сопроцессора

Ввиду перспектив адаптации к загрузке на приставка игр с использованием музыкального сопроцессора я решил попробовать подключить оный к приставке "Эльф". Дело облегчается тем фактом, что "Эльф" - это по сути обычный ZX-Spectrum, со всеми прилагающимися портами, поэтому можно взять готовую схему подключения AY. С другой стороны есть некоторые сложности.

  • Во-первых, на плате приставки нет места для размещения музыкального сопроцессора с обвязкой, поэтому единственное место для установки AY - это плата картриджа. Таким образом плата будет в виде картриджа с ПЗУ или Flash памятью объёмом 256/512/1024К и музыкальным сопроцессором с обвязкой. Несколько неудобно, но это, похоже, единственный путь сохранить внешний вид приставки.
  • Во-вторых, для варианта размещения музыкального сопроцессора на плате картриджа существует проблема с чтением данных с AY. Вся беда в том, что между шиной данных картриджа и процессором находится развязывающий буфер на микросхеме DD8 (КР1533АП6):
  • Буфер шины данных приставки «Эльф»

    Буфер открыт на передачу данных от процессора к картриджу. В обратном направлении буфер открывается только в случае чтения содержимого ПЗУ картриджа (по сигналу /CE=0) или при чтении порта Джойстика-1 (по сигналу /SSRD=0). Для корректной работы музыкального сопроцессора требуется читать содержимое его регистров. Само собой разумеется, что это не получится без доработки приставки. Однако это решаемо.

    Достаточно сформировать сигнал, вырабатываемый по факту чтения регистров музыкального сопроцессора и использовать его для переключения направления работы буфера DD8. Дело облегчается тем, что элемент DD5.1 с открытым коллектором, поэтому мы можем просто подключиться прямо к выводу 1DD8 без каких-либо дополнительных логических элементов.

    На разъёме картриджа XS5 есть два свободных контакта (31 и 33), которые как раз пригодятся для наших целей. Поэтому подключаем вывод 1DD8 к разъёму XS5:

    Оставшийся свободный контакт разъёма XS5 мы используем для вывода звука с картриджа в приставку. Небольшая проблема состоит в том, что выходной усилитель в приставке выполнен сильно упрощённо, и мне не удалосьКривые руки, я понимаю. Но так ничего и не вышло. нормально подключиться к нему. По итогу я поменял усилитель на собственный, к которому удалось без особых проблем подключить как AY, так и звуковой выход с Т34ВГ1:

    Выходной усилитель для приставки «Эльф»

    Так выглядит доработка на плате "Эльфа":

    Замена штатного УНЧ в приставке «Эльф»
    Замена штатного УНЧ в приставке «Эльф»
    Замена штатного УНЧ в приставке «Эльф»

    С платой приставки закончили, теперь перейдём к картриджу:

    Картридж с музыкальним сопроцессором для приставки «Эльф»
    Картридж с музыкальним сопроцессором для приставки «Эльф»
    Картридж с музыкальним сопроцессором для приставки «Эльф»

    Остановлюсь на особенностях схемы картриджа:

  • На микросхеме DD2 выполнен формирователь сигнала чтения портов #BFFD и #FFFD. При чтении из порта #FFFD получаем содержимое регистров музыкального процессора, а при чтении порта #BFFD должно обязательно читаться #FF. Для формирования тактовой частоты музыкального сопроцессора может использоваться кварц на 14 МГц c последующим делением частоты на 8 для получения 1,75 МГц.
  • В остальном ничего особенного и требующего пояснений в схеме картриджа нет.
  • Избавляемся от повышенной яркости черного цвета

    О проблеме наличия двух градаций яркости черного цвета на некоторых моделях клонов ZX-Spectrum уже писалось на страницах сайта. Кратко говоря - яркостной сигнал ошибочно вырабатывается для черного цвета, из-за чего черный цвет может показываться в двух градациях (черный и серый), что неправильно. К большому сожалению приставка "Эльф" тоже страдает этой болезнью при подключении через RGB-выход.

    Для избавления от этого глюка существует множество схемотехнических реализаций. Некоторые из них приведены здесь. Для приставки "Эльф" проще всего сделать вариант на одной микросхеме (ЛЕ4, КП7, КП5, КП15 и т.д.). Задача облегчается тем, что яркостной сигнал подаётся на выходные каскады видео через резистор R20На некоторых экземплярах приставки он может быть заменён на перемычку.:

    Резистор R20

    Отпаиваем R20 и в разрыв включаем следующую схемуУ меня схема собрана на КП15. Вместо неё можно установить КП5, КП7.:

    Доработка для отключения повышенной яркости черного цвета в приставке «Эльф»

    Ввиду отсутствия достаточного места на плате приставки я использовал микросхему в корпусе для поверхностного монтажа. Она как раз уместилась в углу платы:

    Доработка для отключения повышенной яркости черного цвета в приставке «Эльф»
    Доработка для отключения повышенной яркости черного цвета в приставке «Эльф»
    Доработка для отключения повышенной яркости черного цвета в приставке «Эльф»

    Результат налицо. Смотрите сами. Для сравнения скриншот из игры "Вертолёт" до и после доработки:

    До доработки
    После доработки
    До доработки
    После доработки

    Схемы и прочие вкусности

    Дополнительная периферия для приставки "Эльф":
    Адаптер для получения доступа к приставке "Эльф" посредством ZX-SpectrumСхема, информация по функционированию, исходник процедуры чтения ПЗУ с комментариями
    Схема картриджа с музыкальным сопроцессоромДля нормального функционирования музыкального сопроцессора потребуется некоторая доработка платы приставки.