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

6 / 4 480

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

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

В процессе сборки приставки вам может быть полезным приспособление для формовки выводов БМК перед пайкой на плату:

Приспособления для формовки выводов БМК
Приспособления для формовки выводов БМК
Приспособления для формовки выводов БМК
Приспособления для формовки выводов БМК
Приспособления для формовки выводов БМК

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

Описание под спойлером

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

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

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

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

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

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

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

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

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

Возможные настройки, требующиеся при сборке приставки:

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

2) Также в случае неуверенного запуска приставки возможно придётся «подтянуть» сигнал CLK (6-й вывод процессора) через резистор сопротивлением около 300 Ом к +5В.

3) В случае неустойчивой работы БМК с памятью я встречал рекомендацию понизить напряжения питания БМК (например, через диод). На практике у меня это сработало с БМК в металлическом корпусе. При работе с памятью на экране наблюдались «черточки» по границам знакомест. При подключении питания через диод проблема исчезла.

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

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

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

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

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

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

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

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

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

В процессе эксплуатации этой версии приставки обнаружены некоторые недоработки схемы.

Описание найденных ошибок под спойлером

Если подключить одновременно два джойстика, начинаются ложные срабатывания кнопок. При этом по отдельности джойстики работают нормально. В итоге выяснилось, что емкости от длинных проводов двух одновременно подключенных джойстиков вносят на сигналы тактирования такие искажения, которые вызывают ложные срабатывания регистров DD17,DD18. Недоработка состоит в том, что сигналы, подаваемые на каждый из джойстиков, нужно было буферировать. Проблема решается при помощи одной микросхемы, имеющей 4 повторителя сигнала (ЛЛ1, ЛИ1, ЛП16, АП4, АП5, АП6 и т.п.)

Схема доработки для корректной работы двух джойстиков одновременно

Доработка опробована на одном экземпляре приставки «Эльф-2016» и показала хорошие результаты в игре Target Renegade (которая позволяет одновременно играть двумя джойстиками).

Корпус для «новодельной» приставки «Эльф» (2016)

Для новодельной платы приставки «Эльф-2016» я разработал корпус. Уж очень хотелось иметь законченное изделие, поэтому пришлось постараться :) Корпус я вписал в габариты (237x147мм), позволяющие напечатать его на 3D принтере Flying Bear 5.

3D-рендер и реальный корпус
3D-рендер и реальный корпус
3D-рендер и реальный корпус
3D-рендер и реальный корпус
3D-рендер и реальный корпус

Для установки в мой вариант корпуса плата приставки требует небольшой «доработки напильником»:

- Края платы потребуется скруглить надфилем. Радиус скругления - 3 мм или больше.

- Посадочное место под разъём питания рассчитано на разъём DC-005 (5,5x2,1мм, сам разъём можно без проблем купить на Aliexpress), но для установки разъёма потребуется рассверливать отверстия под его выводы, т.к. отверстия в плате сделаны круглые, а выводы разъёма - плоские.

- Питание платы приставки рассчитано напрямую на 5В, но я у себя решил делать под питание от 12В с применением китайского DC-DC step down преобразователя. Для этого придётся резать дорожки от разъёма питания. На последующих фотографиях будет фигурировать плата с преобразователем. Эта опция необязательна, и можно её не делать вовсе.

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

Порядок работы такой:

1) Собираем плату, не устанавливая разъём питания;

2) Печатаем нижнюю часть корпуса и запрессовываем в неё 2 резьбовые втулки 2,5x5x3,5мм (я покупал на Aliexpress оптом);

Нижняя часть корпуса
Нижняя часть корпуса
Нижняя часть корпуса

3) Печатаем скобу под разъём картриджа, подсовываем её под разъём картриджа так, как показано на фотографии ниже:

Скоба под разъём картриджа

4) Скругляем надфилем края платы так, чтобы она поместилась внутрь нижней части корпуса. Потом расширяем отверстия под выводы разъёма питания так, чтобы его можно было установить на плату, параллельно контролируя, чтобы разъём попал в вырез на корпусе;

Плата приставки, установленная в нижнюю часть корпуса
Плата приставки, установленная в нижнюю часть корпуса
Плата приставки, установленная в нижнюю часть корпуса

5) Прикручиваем плату к нижней части корпуса в тех двух точках, куда запрессовывали втулки, при помощи двух винтов М2,5x10;

6) Печатаем верхнюю часть корпуса;

7) Запрессовываем 3 резьбовые втулки 2,5x5x3,5мм и нарезаем в оставшейся стойке резьбу М2,5;

8) Печатаем крышку слота картриджа;

9) Вставляем крышку слота картриджа в "ушки", расположенные на верхней части корпуса. Возможно придётся расширить паз, чтобы ось крышки слота картриджа пролезла внутрь "ушка". Чтобы крышка слота картриджа сама закрывалась, я использовал две пружинки от старых мышек с колёсиком. После установки прожинок и проверки, чтобы крышка слота нормально открывалась-закрывалась, паз в «ушке» можно залить пластмассой из клеевого пистолета, чтобы крышка потом сама не выскочила из паза:

Сборка верхней части корпуса
Сборка верхней части корпуса
Сборка верхней части корпуса

10) Печатаем удлинитель для кнопки сброса. Его габариты я рассчитывал для кнопки с длиной толкателя равным 6 мм. У меня установлена именно такая кнопка.

11) Насаживаем удлинитель на кнопку на плате и собираем корпус в единое целое. Половинки корпуса скрепляются между собой при помощи четырёх винтов М2,5x10.

12) Проверяем как устанавливается картридж.

Корпус в сборе
Корпус в сборе
Корпус в сборе

13) Всё готово, можно играть :)

Резюмирую: плата приставки 2016-го года не очень удачно скомпонована, поэтому корпус пришлось делать с немного странным типом крепления половинок между собой + потребуются небольшие доработки платы. Надеюсь, что в следующей версии платы приставки (если эта версия будет вообще) получится более удачная компоновка.

Файлы деталей корпуса для распечатки на 3D принтере можно скачать в конце этой страницы.

«Эльф-128 2023 v1.1»

Очередная версия «новодела». Отличительные особенности этой версии:
- Объём ОЗУ 128K;
- встроенный PAL-кодер;
- RGB выход по распиновке как в оригинальной приставке «Эльф», но с возможностью подключения к SCART без согласования уровней сигнала;
- возможность подключать как оригинальные джойстики, так и джойстики от Dendy;
- энергонезависимое статическое ОЗУ объёмом 32К (потенциально для хранения отгрузок в играх, если таковые кто-нибудь адаптирует для приставки);
- конвертер RGBI - VGA/HDMI от Alex Ekb на базе микроконтроллера Raspberry Pico.

Собранная плата Эльф-128 2023 v1.1
Собранная плата Эльф-128 2023 v1.1
Собранная плата Эльф-128 2023 v1.1

Приставка собрана на 4-слойной печатной плате:

Печатная плата приставки «Эльф-128 2023 v1.1»
Печатная плата приставки «Эльф-128 2023 v1.1»
Печатная плата приставки «Эльф-128 2023 v1.1»
Печатная плата приставки «Эльф-128 2023 v1.1»
Печатная плата приставки «Эльф-128 2023 v1.1»

На плате много разъёмов, благодаря чему приставку можно подключить к монитору/телевизору как заблагорассудится (RGB/Composite PAL/S-Video/VGA/HDMI). Питание приставки - на выбор, хотите через круглый разъём диаметром 5,5мм, хотите - через USB Type-C. Джойстики подойдут как от оригинальной приставки, так и от 8-битных приставок (лишь бы разъём был 15-контактный):

Назначение разъёмов платы Эльф-128 2023 v1.1
Назначение разъёмов платы Эльф-128 2023 v1.1
Назначение разъёмов платы Эльф-128 2023 v1.1

Сборка платы «Эльф-128 2023 v1.1»

В принципе я могу сказать, что «собранная из исправных элементов приставка начинает работает сразу же после включения питания» :), у меня так и случилось. Но я всё же остановлюсь на нескольких моментах при сборке приставки.

Если вы уверены, что ваша микросхема БМК на 100% рабочая, смело переходите к п.2.

1. Первым делом советую убедиться, что микросхема БМК рабочая (иначе потом придётся отпаивать её с платы, что несколько неудобно). Для этого нужно спаять генератор тактовой частоты для БМК (DD7, ZQ2) и припаять саму микросхему БМК на плату всего лишь несколькими выводами - нам нужны выводы питания (32,64), RST (63), CLK-IN (33). Чтобы красиво сформовать выводы БМК можно распечатать на 3D принтере простейшее приспособление для формовки выводов.

Внимание! Вместо VD7 паяем перемычку!

Всего вышеперечисленного достаточно, чтобы при подаче питания БМК заработала. Проверьте, чтобы микросхема выдавала синхросмесь для видео (43 вывод) и формировала сигнал /INT для Z80 (21 вывод БМК):

Сигнал /INT (отрицательные импульсы частотой 50 Гц)
Сигнал /INT (отрицательные импульсы частотой 50 Гц)

Синхросмесь
Синхросмесь

В идеале конечно же было бы неплохо посмотреть что творится на экране. Но для этого придётся спаять как минимум выходные RGB каскады и подключиться через RGB к телевизору или монитору. Но даже если этого не делать, то по наличию правильных сигналов синхро и INT можно с определённой уверенностью судить о том, что микросхема БМК работает.

2. После БМК советую сразу же припаять микросхему PAL-кодера (DA3). Дело в том, что если сначала впаять окружающие её резисторы/конденсаторы, они закроют доступ паяльнику к выводам микросхемы, и её будет очень неудобно припаивать.

3. В схеме обнаружилась небольшая недоработка. Микросхема DA2 может быть нагружена на нагрузку с сопротивлением минимум 32 Ома, в то время как используемые «пищалки» BA1 и BA2 имеют сопротивление 16 Ом. На нагрузке такого сопротивления микросхема выдаёт искажённый звук. Для решения этой проблемы достаточно последовательно с конденсаторами C8 и C9 впаять резисторы сопротивлением от 16 Ом (у меня под рукой были резисторы на 22 Ома, я их и впаял себе в плату):

Так сейчас на схеме
Так надо сделать
Так сейчас на схеме
Так надо сделать

4. Критичные типы микросхем:

DD20 - К555АП6 (74LS245N);

DD34 - Нужна именно КМОП микросхема (74HC04N или К561ЛН2, также можно попробовать 74HC14N);

DD35 - может использоваться как в корпусе SOIC20, так и в корпусе TSSOP20, плата разведена под оба типа корпуса.

Назначение перемычек платы «Эльф-128 2023 v1.1»

JP1 - "27010/27256" - выбирает тип установленного в плату приставки ПЗУ. Возможные варианты - 27c256 (объёмом 32КБ) и 27c010 (объёмом 128КБ с тремя встроенными играми).

ПЗУ 27с256 устанавливается в панельку со смещением:

Правильная установка ПЗУ 27c256 в панельку
Правильная установка ПЗУ 27c256 в панельку

JP2 - "SRAM ON/OFF" - Включает или выключает возможность использования энергонезависимого ОЗУ.

JP3 "5V HDMI" - установленная перемычка разрешает подачу питания 5В от приставки на HDMI разъём для случаев, если к этому разъёму подключено устройство, требующее питание 5В (например, какой-нибудь конвертер). При подключении к монитору или телевизору через HDMI эту перемычку лучше снимать.

JP4 "5V PICO" - установленная перемычка разрешает подачу питания 5В от приставки на Raspberry. В обычном режиме эта перемычка установлена. Снимать её нужно только в случаях, когда к Raspberry для программирования подключается USB-кабель.

JP5 "GP5" - в текущем варианте прошивки снятая перемычка включает вывод заставки (через VGA или HDMI) при включении питания приставки. Установленная перемычка, соответственно, отключает вывод заставки.

Заставка, выводимая через выходы VGA/HDMI при включении приставки

JP6 "GP28" - в текущем варианте прошивки установленная перемычка «инвертирует» выбранный в программе настройки видеовыход. То есть если в программе настройки вы установили вывод изображения через VGA, установленная перемычка меняет вывод изображения на HDMI выход. При снятой перемычке изображение будет выводиться через VGA. Это сделано для того, чтобы можно было быстро переключить вывод изображения на нужный видеовыход, не меняя настроек Raspberry.

Настройка платы «Эльф-128 2023 v1.1»

1. Для начала вместо VD7 паяем перемычку. Поясню: некоторые экземпляры БМК (исходя из моего опыта - обычно это микросхемы в металло-керамических корпусах) неустойчиво работают при напряжении питания 5В. Это может проявляться как помехи в виде черточек на экране. Иногда помогает уменьшение напряжения питания микросхемы БМК. Для этого и предназначен диод VD7. Убираем перемычку и впаиваем диод. Это может быть диод Шоттки (если напряжение питания нужно уменьшить чуть-чуть) или обычный кремниевый диод типа 1N4001, если нужно посильнее уменьшить напряжение питания БМК (на 0,7В).

Для БМК в пластмассовых корпусах, как правило, не требуется уменьшать напряжение питания, поэтому просто паяем перемычку.

2. Конденсатором C16 подбирается такая задержка сигнала /RAS, чтобы ОЗУ не глючило. Ёмкость конденсатора зависит, в основном, от конкретного экземпляра микросхемы БМК. Для БМК в пластмассовом корпусе, как правило, установка конденсатора С16 не требуется вообще. Для БМК в «металлокерамике» ёмкость C16 может варьироваться от 33 до 100 пФ.

Как подбирать: вставляем ПЗУ с тестами для «Эльфа» либо обычное ПЗУ с тестом памяти 48К и запускаем тест памяти. Подбираем ёмкость C16, чтобы тест памяти проходил без ошибок. Проверять надо долго. То есть тест памяти должен непрерывно работать. Если за 5-10 минут работы теста ошибок нет, считаем, что ёмкость C16 подобрана верно.

3. Настройка уровней входных сигналов для PAL-кодера. Делается по этой методике. Вставляем ПЗУ с тестами для «Эльфа», выбираем тест экрана с цветными полосами и устанавливаем одинаковые максимальные уровни сигналов RGB при помощи подстроечных резисторов R74-R76. Резистор R77 можно сразу «выкрутить» максимально вправо.

4. Подстроечными резисторами R22,R23 устанавливаем приемлемый для вас уровень громкости «пищалок» BA1 и BA2. Для этого в ПЗУ с тестами для «Эльфа» есть режим проигрывания музыкального трека на сопроцессоре DD1.

5. Резистор R99 впаивать необязательно. Некоторым процессорам нужно увеличивать напряжения уровня лог.1 на тактовом входе. В простейшем случае это делается «подтягиванием» сигнала CLK к +5В через резистор. В данном случае это будет резистор R99. На моей практике ни разу такого делать не приходилось, но возможность установки резистора я на всякий случай предусмотрел.

6. Настройка VGA/HDMI конвертера. Для обеспечения возможности подключения к мониторам или телевизорам через VGA или HDMI в приставке используется конвертер RGBI - VGA/HDMI от Alex Ekb на базе микроконтроллера Raspberry Pico.

Снимаем перемычки JP4 "5V PICO", JP3 "5V HDMI", JP6, устанавливаем перемычку JP5. По этой методике через USB-кабель «заливаем» прошивку *.uf2 в Raspberry PICO.

Подключаем монитор или телевизор либо к разъёму VGA, либо HDMI (одновременно эти выходы на данный момент работать не могут!) При помощи программы настройки setupGUI.exe делаем необходимые настройки для корректного отображения картинки на экране. Напомню, что описание опций программы setupGUi.exe описано в этой статье. В моём случае при подключении через VGA эти настройки таковы:

Настройки адаптера VGA/HDMI

После того, как вы добились нормальной картинки на экране, отключаем питание приставки и USB-кабель от Raspberry. Устанавливаем перемычку JP4. Остальные перемычки (JP3,JP5,JP6) - по желанию (описание этих перемычек есть выше по тексту статьи).

На широкоформатных мониторах картинка с адаптера (разрешение картинки 640*480 пикселей) может растягиваться по горизонтали, при этом пропорции картинки нарушаются. В этом случае можно попробовать поменять настройки масштабирования изображения в мониторе. К примеру, в моём мониторе помогает включение опции Fill to Aspect Ratio, при этом картинка не растягивается, а отображается по центру экрана:

Настройки масштабирования для монитора

Корпус для приставки «Эльф-128 2023 v1.1»

Для приставки «Эльф-128 2023 v1.1» разработан корпус. Изготавливается при помощи печати на 3D принтере.

Корпус приставки «Эльф-128 2023 v1.1»
Корпус приставки «Эльф-128 2023 v1.1»
Корпус приставки «Эльф-128 2023 v1.1»
Корпус приставки «Эльф-128 2023 v1.1»
Корпус приставки «Эльф-128 2023 v1.1»

Приставка «Эльф-128 2023 v1.1» в сборе
Приставка «Эльф-128 2023 v1.1» в сборе
Приставка «Эльф-128 2023 v1.1» в сборе

Детали корпуса приставки «Эльф-128 2023 v1.1»
Детали корпуса приставки «Эльф-128 2023 v1.1»
Детали корпуса приставки «Эльф-128 2023 v1.1»

Детали корпуса приставки «Эльф-128 2023 v1.1»
Детали корпуса приставки «Эльф-128 2023 v1.1»
Детали корпуса приставки «Эльф-128 2023 v1.1»
Детали корпуса приставки «Эльф-128 2023 v1.1»
Детали корпуса приставки «Эльф-128 2023 v1.1»

Перемычки выбора режима работы VGA/HDMI конвертера расположены таким образом, что к ним есть доступ через крышку для установки картриджа, и для смены режима работы HDMI/VGA не требуется разбирать корпус.

Ссылку на архив с файлами деталей корпуса и описанием его сборки можно найти в конце этой статьи.

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

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

Список всех портов «новодельной» приставки:

Биты Адрес Режим Описание
76543210
0 1 0 1 1 1 1 1 #5F (95dec)WriteПорт управления банками ПЗУ
0 0 0 1 1 1 1 1 #1F (31dec)ReadПорт «Джойстик 1»
1 1 1 1 1 1 1 0 #FE (254dec)ReadПорт «Джойстик 2»
1 1 1 1 1 1 1 0 #FE (254dec)WriteПорт бордюра/звука
0 0 0 1 1 1 0 1 #1D (29dec)ReadПорт включения SRAM
0 0 0 1 1 1 1 1 #1F (31dec)ReadПорт выключения SRAM
1 1 1 1 1 1 0 1 #7FFD (32765dec)WriteПорт управления режимом 128К
(выборка по A1=A14=A15=0)

Серым цветом выделены биты, по которым производится дешифрация адреса порта.

  • Дополнительные кнопки для джойстиков

    Добавлены новые кнопки для джойстиков. Использование в качестве джойстиков пультов от 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, а некоторые псевдослучайные значения. И чтобы избежать ложных срабатываний процедуры определения типа приставки (это актуально для оригинальной приставки «Эльф»), нужно проводить сравнение как можно большее количество раз.

  • Энергонезависимое ОЗУ (SRAM) объёмом 32K

    В версии приставки «Эльф-128 2023» появилось энергонезависимое ОЗУ объёмом 32КБ. Потенциально его можно использовать для хранения отгрузок в играх.

    ОЗУ состоит из двух банков по 16К, каждый из которых может подставляться в адресное пространство CPU0 вместо ПЗУ. Номер банка SRAM задаётся 4-м битом порта #7FFD. Чтобы включить SRAM нужно прочитать порт #1D. При этом ПЗУ выключается, и вместо него включается соответствующий банк SRAM. Для выключения SRAM нужно прочитать порт #1F.

    Работоспособность SRAM можно проверить при помощи тестового ПЗУ.

    На данный момент адаптированы две игры, которые способны сохранять отгрузки в энергонезависимое ОЗУ - Zombie и Nether Earth. Скачать их можно на странице с дополнительными играми.

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

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

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

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

  • Ещё одно применение «новодела»

    Одной из «новодельных» приставок пришлось пожертвовать и сделать вариант «новодела» с ОЗУ 128К, контроллером дисковода C-48 и возможностью подключения обычной спектрумовской клавиатуры.

    Схема доработки этого «новодела» не составлялась за ненадобностью.

    На этом экземпляре приставки производится отладка адаптаций спектрумовских игр для использования в картриджах приставки «Эльф». Некоторые из этих адаптаций вы можете найти в этом разделе сайта.

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

    Схема, исходники, плата приставки «Эльф-2016»В архиве содержится схема приставки «Эльф-2016», разводка платы, файлы для заказа изготовления плат, исходники платы. Внимание! В схеме приставки есть ошибки. Подробнее читаем в тексте статьи.
    Детали корпуса для новодельной приставки «Эльф-2016»Для распечатки на 3D принтере
    Схема, исходники, плата приставки «Эльф-128 2023 v1.1»В архиве содержится схема приставки «Эльф-128 2023 v1.1», разводка платы, файлы для заказа изготовления платы, прошивки ПЗУ
    Детали корпуса для новодельной приставки «Эльф-2023»Для распечатки на 3D принтере
    Тестовое ПЗУ для приставки «Эльф»Будет полезно для проверки и ремонта узлов новодельных версий приставок «Эльф-2016» и «Эльф-128 2023». Версия теста от 1.09.2016