Учитывая, что приставок "Эльф" было выпущено не так уж и много, встал вопрос изготовления их копий (реплик) и усовершенствованных версий. Обсуждение по этой теме вы можете найти здесь.
Альфа-версия "новодельной" приставки "Эльф" (2015 год)
Автор - Дмитрий Пугачёв (также немного руки приложил и ваш покорный слуга).
"Новодельная" версия приставки представляет собой базовый функционал приставки на основе Т34ВГ1 с возможностью использовать джойстики от 8-битных приставок. В схему добавлены:
- полноценный RGB-выход для подключения к телевизору через SCART;
- PAL-кодер;
- музыкальный сопроцессор AY3-8910 (YM2149F);
- RGB выход с TTL уровнями сигналов.
Эта версия разрабатывалась в 2015 году. Всего было для пробы заказано пять плат, одна из которых досталась мне для изготовления и отладки:
Конструктор для сборки приставки «Эльф»
Собранная и отлаженная «новодельная» приставка
Конструктор для сборки приставки «Эльф»
Собранная и отлаженная «новодельная» приставка
В процессе сборки и отладки были выявлены некоторые "ляпы" и ошибки. В целом по имеющейся плате можно собрать нормально работающую приставку, однако эта версия в производство не годится (для сборки необходимо резать проводники на плате и допаивать МГТФом часть соединений).
"Новодельная" приставка "Эльф" (2016 год)
По результатам сборки альфа-версии приставки была скорректирована схема и разводка платы.
Собранная плата приставки Эльф-2016
В результате получилась легко собирающаяся приставка, почти не требующая наладки. Уже собрано порядка десятка экземпляров. Одна плата попала и ко мне:
Конструктор для сборки приставки Эльф-2016
Собранная плата приставки Эльф-2016
Конструктор для сборки приставки Эльф-2016
Собранная плата приставки Эльф-2016
Возможные настройки, требующиеся при сборке приставки:
1) Подобрать задержку сигнала /RAS (это делается RC-цепочкой R23C4). Для БМК ВГ1 в пластмассовом корпусе потребуется установить R23=33 Ом, C4=33 Пф. Для ВГ1 в керамическом корпусе R23 надо будет замкнуть, C4=100 Пф. В моём случае было именно так.
2) Также в случае неуверенного запуска приставки возможно придётся "подтянуть" сигнал CLK (6-й вывод процессора) через резистор сопротивлением около 300 Ом к +5В.
В качестве 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КБ энергонезависимое статическое ОЗУ для хранения отгрузок в играх (естественно если кто-нибудь сделает адаптацию игр с отгрузками).
Платы рассчитаны на использование ПЗУ 27c801 емкостью 1 мегабайт:
Также возможно использование более "мелких" микросхем ПЗУ или 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 музыкального сопроцессора:
Это сделано для того, чтобы можно было определить на какой версии приставки запущена программа. Выдавая в течение некоторого времени информацию в бит 3 порта #FE, читая 0-й бит регистра #0E музыкального сопроцессора и затем сравнивая полученные данные можно определить тип приставки: если данные полностью совпадают, то программа запущена на "новой" версии приставки.
В данном случае обращаю внимание на то, что процедуру сравнения необходимо проводить некоторое время, повторяя запись различных битов в регистр #FE. Это объясняется тем, что в приставке при чтении из несуществующего порта будет читаться не значение #FF, а некоторые псевдослучайные значения. И чтобы избежать ложных срабатываний процедуры определения типа приставки (это актуально для оригинального "Эльфа"), нужно проводить сравнение как можно большее количество раз.
Дополнительные контакты на разъёме картриджа.
В оригинальной версии приставки на разъёме для картриджа есть два незадействованных контакта с номерами 31 и 33. В "новой" версии приставки эти контакты задействованы - на них выведены сигналы SOUND-IN и 1IC8:
SOUND-IN (контакт 33) - вход звука. Сигнал предполагается использовать в случае установки картриджей с собственными звуковыми схемами. Таким образом звуковой сигнал можно подавать с картриджа прямо в приставку.
1IC8 (контакт 31) - Сигнал (вход) для включения внутреннего буфера шины данных приставки для приёма байта данных со слота картриджа на шину данных. Активен в низком уровне. Сигнал должен подключаться на выход с открытым коллектором. Сигнал нужен для того, чтобы в случае использования на картридже дополнительной периферии, можно быть передать байт данных в приставку. Схемотехника "Эльфа" такова, что данные с картриджа читаются только при обращении к ПЗУ картриджа. Во всех остальных случаях буфер данных неактивен. И этим сигналом можно включить буфер данных для приёма байта. Подробности - в разделе про подключение AY к приставке.
Документация
Плата картриджа для приставки "Эльф" (с одним ПЗУ 27c801 на 1МБ) Герберы для изготовления плат картриджа.
Схема, исходники, плата приставки "Эльф-2016"В архиве содержится схема приставки "Эльф-2016", разводка платы, файлы для заказа изготовления плат, исходники платы.
Тестовое ПЗУ для приставки "Эльф"Будет полезно для проверки и ремонта узлов новодельной версии приставки "Эльф-2016" и в перспективе "Эльф-2017". Версия теста от 1.09.2016
Использование текстовых, фото- и видеоматериалов сайта допускается только при условии указания ссылки на http://zxbyte.ru.
Есть вопросы, замечания, предложения по материалам сайта? Жмите сюда.