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

2 / 1 551

Реплики приставки "Эльф" и новодел

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

Альфа-версия "новодельной" приставки "Эльф" (2015 год)

Автор - Дмитрий Пугачёв (также немного руки приложил и ваш покорный слуга).

"Новодельная" версия приставки представляет собой базовый функционал приставки на основе Т34ВГ1 с возможностью использовать джойстики от 8-битных приставок. В схему добавлены:
- полноценный RGB-выход для подключения к телевизору через SCART;
- PAL-кодер;
- музыкальный сопроцессор AY3-8910 (YM2149F);
- RGB выход с TTL уровнями сигналов.

Эта версия разрабатывалась в 2015 году. Всего было для пробы заказано пять плат, одна из которых досталась мне для изготовления и отладки:

Конструктор для сборки приставки «Эльф»
Конструктор для сборки приставки «Эльф»
Собранная и отлаженная «новодельная» приставка
Собранная и отлаженная «новодельная» приставка
Конструктор для сборки приставки «Эльф»
Собранная и отлаженная «новодельная» приставка

В процессе сборки и отладки были выявлены некоторые "ляпы" и ошибки. В целом по имеющейся плате можно собрать нормально работающую приставку, однако эта версия в производство не годится (для сборки необходимо резать проводники на плате и допаивать МГТФом часть соединений).

"Новодельная" приставка "Эльф" (2016 год)

По результатам сборки альфа-версии приставки была скорректирована схема и разводка платы.

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

Конструктор для сборки приставки Эльф-2016
Конструктор для сборки приставки Эльф-2016
Собранная плата приставки Эльф-2016
Собранная плата приставки Эльф-2016
Конструктор для сборки приставки Эльф-2016
Собранная плата приставки Эльф-2016

Единственная настройка, которая потребуется при сборке приставки - подобрать задержку сигнала /RAS (это делается RC-цепочкой R23C4). Для БМК ВГ1 в пластмассовом корпусе потребуется установить R23=33 Ом, C4=33 Пф. Для ВГ1 в керамическом корпусе R23 надо будет замкнуть, C4=100 Пф. В моём случае было именно так.

В качестве PAL-кодера можно установить как CXA1645, так и CXA2075. В этом случае некоторые элементы (резисторы и конденсаторы) можно будет не устанавливать на плату. На плате рядом с PAL-кодером есть табличка, в которой указано какие элементы не надо паять на плату в зависимости от типа микросхемы кодера.

Резисторами R61-R63 устанавливается уровень сигналов RGB, подаваемых на PAL-кодер. В идеале нужно при помощи осциллографа выставить одинаковые уровни сигналов (порядка 0,7В) на PAL-кодере. Для удобства при этом лучше всего вывести на экран какую-нибудь картинку с периодически повторяющимся изображением, к примеру цветные полосы. Резистором R60 регулируется уровень синхросигнала. Просто можно покрутить этот резистор, пока кодер не начнёт уверенно показывать изображение.

PAL-кодер можно не паять вообще, если предполагается подключать приставку только через RGB-выход.

Критичные элементы:
- IC6 АП6 должна быть серии К555 (SN74LS245);
- IC24 ЛН1 желательно серии 74HCT (SN74HCT04).

Рекомендации по сборке: ввиду того, что БМК ВГ1 может быть и нерабочая (даже среди новых микросхем встречается брак, микросхема часто горит из-за статики или просто так) имеет смысл сначала впаять на плату её (даже не всеми выводами - подпаять выводы питания, вход RST и вход тактовой частоты) и тактовый генератор на 8 МГц (IC1, Q1, C1, R1, R2). После чего подать питание и проверить наличие на видеовыходе БМК сигналов RGB, синхронизации и выхода тактовой частоты CLK для процессора. Если они присутствуют, и сигнал синхронизации в норме, можно окончательно припаять БМК и паять плату дальше.

Разъём JP3 можно не устанавливать вообще - это RGB выход с ТТЛ-уровнями, введен чисто для удобства быстрого подключения платы по RGB при отладке.

Для облегчения процесса настройки (или ремонта) приставки я написал сборку тестов, которые прошиваются в отдельное ПЗУ или флэш-память. ПЗУ вставляется вместо основного ПЗУ приставки. Как это работает можете увидеть на видео (лучше смотреть его в полноэкранном режиме, тогда хорошо видны символы на экране):

Описание работы тестового ПЗУ для новодельной приставки Эльф

Прошивка тестового ПЗУ, схема приставки, разводка платы и файлы для изготовления печатной платы находятся в конце этой страницы.

Анонс - "новодельная" приставка "Эльф" (2017 год)

На данный момент в разработке находится очередная версия "новодела" - Эльф-2017. В конструкцию будет добавлено расширение памяти до 128К и 32КБ энергонезависимое статическое ОЗУ для хранения отгрузок в играх (естественно если кто-нибудь сделает адаптацию игр с отгрузками).

Плата картриджа для приставки "Эльф" (2015 год)

Автор - Дмитрий Пугачёв.

Платы картриджей для приставки «Эльф»
Платы картриджей для приставки «Эльф»
Платы картриджей для приставки «Эльф»

Платы рассчитаны на использование ПЗУ 27c801 емкостью 1 мегабайт:

ПЗУ 27c801

Также возможно использование более "мелких" микросхем ПЗУ или FLASH памяти (512КБ, 256КБ, 128КБ) с некоторой переделкой платы.

Карта портов новой версии приставки и отличия от оригинального "Эльфа"

Помимо стандартных портов в новой версии приставки появились порты музыкального сопроцессора: #BFFD и #FFFD. В дешифрации портов участвуют биты A1, A14 и A15 шины адреса. В порт #FFFD пишется номер регистра AY, в порт #BFFD - данные, записываемые в регистр. Чтение данных из происходит из порта #FFFD. Из порта #BFFD всегда будет читаться значение #FF. В общем всё так, как на "обычных" клонах ZX-Spectrum.

  • Добавлены новые кнопки для джойстиков. Использование в качестве джойстиков пультов от 8-битных приставок позволило задействовать их дополнительные кнопки. Для джойстика 1 добавились три кнопки ("Start", "Select" и "Fire A"). Для джойстика 2 добавилась только одна кнопка - "Fire A". Все эти дополнительные кнопки "заведены" на неиспользуемые биты портов джойстиков.

    Выглядит это следующим образом:

    Биты Джойстик 1
    порт #1F(31dec)
    (активный уровень - лог.1)
    Джойстик 2
    порт #FE(254dec)
    (активный уровень - лог.0)
    D0 Right Fire B
    D1 Left Down
    D2 Down Right
    D3 Up Up
    D4 Fire B Left
    D5 Fire A
    (активный уровень лог.0)
    x
    D6 Start Fire A
    (активный уровень лог.1)
    D7 Select
    (активный уровень лог.0)
    x

    Для джойстика 1 для битов D5 и D7 выбран активный уровень лог.0 для того, чтобы обеспечить совместимость с классическим вариантом "Эльфа" - при ненажатых кнопках джойстика 1 из порта #1F будет читаться %10100000, как и на обычном "Эльфе".

    Для джойстика 2 задействован только один бит для кнопки "Fire A". Это связано с тем, что порт #FE встроен "внутрь" БМК Т34ВГ1, и его дополнительные биты никуда не выведены, кроме бита D6, который по совместительству является магнитофонным входом, поэтому к нему удалось "прицепить" одну кнопку джойстика.

  • Кроме того сигнал Tape Out с БМК заведен на бит 0 порта A музыкального сопроцессора:

    Включение Tape Out

    Это сделано для того, чтобы можно было определить на какой версии приставки запущена программа. Выдавая в течение некоторого времени информацию в бит 3 порта #FE, читая 0-й бит регистра #0E музыкального сопроцессора и затем сравнивая полученные данные можно определить тип приставки: если данные полностью совпадают, то программа запущена на "новой" версии приставки.

    В данном случае обращаю внимание на то, что процедуру сравнения необходимо проводить некоторое время, повторяя запись различных битов в регистр #FE. Это объясняется тем, что в приставке при чтении из несуществующего порта будет читаться не значение #FF, а некоторые псевдослучайные значения. И чтобы избежать ложных срабатываний процедуры определения типа приставки (это актуально для оригинального "Эльфа"), нужно проводить сравнение как можно большее количество раз.

  • Дополнительные контакты на разъёме картриджа.

    В оригинальной версии приставки на разъёме для картриджа есть два незадействованных контакта с номерами 31 и 33. В "новой" версии приставки эти контакты задействованы - на них выведены сигналы SOUND-IN и 1IC8:

    SOUND-IN (контакт 33) - вход звука. Сигнал предполагается использовать в случае установки картриджей с собственными звуковыми схемами. Таким образом звуковой сигнал можно подавать с картриджа прямо в приставку.

    1IC8 (контакт 31) - Сигнал (вход) для включения внутреннего буфера шины данных приставки для приёма байта данных со слота картриджа на шину данных. Активен в низком уровне. Сигнал должен подключаться на выход с открытым коллектором. Сигнал нужен для того, чтобы в случае использования на картридже дополнительной периферии, можно быть передать байт данных в приставку. Схемотехника "Эльфа" такова, что данные с картриджа читаются только при обращении к ПЗУ картриджа. Во всех остальных случаях буфер данных неактивен. И этим сигналом можно включить буфер данных для приёма байта. Подробности - в разделе про подключение AY к приставке.

  • Документация

    Плата картриджа для приставки "Эльф"В архиве содержится вся необходимая информация для запуска в производство плат картриджа
    Схема, исходники, плата приставки "Эльф-2016"В архиве содержится схема приставки "Эльф-2016", разводка платы, файлы для заказа изготовления плат, исходники платы.
    Тестовое ПЗУ для приставки "Эльф"Будет полезно для проверки и ремонта узлов новодельной версии приставки "Эльф-2016" и в перспективе "Эльф-2017". Версия теста от 1.09.2016