Значок ресурса

ZX81 External EPROM — внешний мульти-ПЗУ интерфейс на EEPROM W27C512 для ZX81

Untitled.jpg


ZX81 External EPROM — это проект внешнего интерфейса мульти-ПЗУ (MultiROM) на базе EEPROM W27C512, позволяющий использовать обновлённые версии ПЗУ ZX81 без необходимости вскрывать компьютер для замены внутреннего ПЗУ.

Основная цель: дать возможность запускать модифицированные или альтернативные ПЗУ (например, SPonZY — превращающий ZX81 в ZX Spectrum) без пайки и модификации оригинального ZX81.

Прототип (Prototype)​

Всё началось с макетной платы и множества проводов. Концепция оказалась работоспособной: с этим PoC можно запустить ZX81 с внешним ПЗУ, не вскрывая компьютер. Однако оригинальное ПЗУ внутри ZX81 всё ещё необходимо — из-за того, как устроена система отображения графики на ZX81.

Версия 1.0 (базовая)​

Базовая версия. Требует наличия оригинального ПЗУ внутри ZX81 (из-за особенностей работы дисплея).

BOM для v1.0:
  • WINBOND W27C512 EEPROM
  • 74LS138
  • 3× резистор 10 кОм
  • BC549 транзистор
  • 2× 100 нФ керамический конденсатор (2.5 мм)
  • DIP-переключатель 3×ON-OFF
  • Сокеты для микросхем, краевой разъём для ZX81 (RM 2.54)

Планируемые изменения для версии 1.1​

ИзменениеОписание
РезисторыШелкография указывает 4.7 кОм, но с WINBOND их можно заменить на 10 кОм
Порядок DIP-переключателейСлева направо A13, A14, A15 — но должно быть наоборот, чтобы соответствовать двоичному шаблону и номеру банка в EEPROM
Поддержка 16 КБ ПЗУНеобходима для запуска SPonZY (модифицированное ПЗУ ZX Spectrum для работы на аппаратуре ZX81)
Поворот микросхем на 180°Чтобы текст читался в правильном направлении (не важно, но для эстетики)

Версия 1.2 (финальная, близкая к завершённой)​

Изменения от версии 1.1:
  • Контактные площадки (PADS) удлинены на 2 мм (предотвращение проблем с некоторыми разъёмами при использовании в плате расширителя)
  • Изменено с подтяжки к питанию (pull-up) на подтяжку к земле (pull-down), чтобы соответствовать фактическому поведению DIP-переключателя (вверх = 1/ON/HIGH, вниз = 0/OFF/LOW)
Изменение в BOM:
  • DIP-переключатель 4×ON-OFF (вместо 3×)

Инструкции по использованию​

ПереключательПоложениеОписание
DIP-4 (правый)DOWN (OFF) = использование банков 8 КБРежим работы
UP (ON) = использование банков 16 КБ
DIP-1 … DIP-3Выбор банкаДля 16 КБ банки DIP-3 (A13) игнорируется

Как создать образ для EEPROM​

W27C512 может содержать 8× 8 КБ или 4× 16 КБ образов.

Для Windows:
Код:
COPY /B ROM_0+ROM_1+ROM_2+ROM_3 IMAGE.BIN

Для Unix/Mac:
Код:
cat ROM_0 ROM_1 ROM_2 ROM_3 >IMAGE.BIN

Соответствие переключателей банкам (8 КБ режим, DIP4 = OFF/DOWN):

A15A14A13Банк
OFFOFFOFF0: ROM_0
OFFOFFON1: ROM_1
OFFONOFF2: ROM_2
OFFONON3: ROM_3
ONOFFOFF4: ROM_4
ONOFFON5: ROM_5
ONONOFF6: ROM_6
ONONON7: ROM_7

Соответствие переключателей банкам (16 КБ режим, DIP4 = ON/UP):

A15A14A13Банк
OFFOFF0: ROM_0
OFFON1: ROM_1
ONOFF2: ROM_2
ONON3: ROM_3

Специальные ПЗУ​

ПЗУОписаниеИнструкция
SPonZY (16 КБ)Превращает ZX81 в ZX Spectrum (без цвета и звука). Единственное известное 16 КБ ПЗУПоложите ROM-файл в EPROM, установите DIP-4 в ON/UP, включите ZX81
Timex Store Demonstrator ROMТребуется специальная сборка (ZX81 ROM v2 + DemoStore ROM) с модификацией байта 0x09DB с 0x40 на 0x20. Команда запуска: RUN
Memotech MemoCalc4 КБ ПЗУ, размещается в верхней 4 КБ зеркальной области. Команда запуска: RAND USR 13824
TS 1510 Command Cartridge PlayerДля 8 КБ картриджа: ZX81 ROM v2 + ROM картриджа. Команда запуска: RAND USR 8192 (с ПЗУ TS1500 может запускаться автоматически)
ASDIS (Assembler/Disassembler)8 КБ ПЗУ. Команда запуска: RAND USR 8192

Автозагрузка (AUTO RUN) P-файла с ленты​

Возможно создать конфигурацию, при которой ZX81 загружается и автоматически запускает файл с ленты (концепция на основе работы Wilf Rigter). Подробнее в папке autorun.

Также доступен инструмент ZX81 External EPROM Builder для создания необходимого ROM-файла для записи в EPROM (поддерживает несколько P-файлов, пока помещаются в 8 КБ, с меню выбора программы).

Файлы для загрузки​

Название файла / ПапкаОписаниеGitHubYandex.Диск
Gerbers (папка)Gerber-файлы версии v1.2Ссылка на GitHubСсылка на Яндекс.Диск
ZXINFO_FOOTPRINT.pretty (папка)Пользовательские посадочные места (footprints) для KiCadСсылка на GitHubСсылка на Яндекс.Диск
autorun (папка)Файлы для автозагрузки (концепция Wilf Rigter)Ссылка на GitHubСсылка на Яндекс.Диск
zx81-external-eprom-v1.1.zipАрхив проекта версии v1.1Ссылка на GitHubСсылка на Яндекс.Диск
zx81-external-eprom-v1.2.zipАрхив проекта финальной версии v1.2Ссылка на GitHubСсылка на Яндекс.Диск
zx81-external-eprom-v1.zipАрхив проекта версии v1.0Ссылка на GitHubСсылка на Яндекс.Диск
zx81-external-eprom.kicad_pcbФайл печатной платы KiCad (v1.2)Ссылка на GitHubСсылка на Яндекс.Диск
zx81-external-eprom.kicad_schПринципиальная схема KiCad (v1.2)Ссылка на GitHubСсылка на Яндекс.Диск
ZXINFO_SYMBOL.kicad_symБиблиотека символов KiCadСсылка на GitHubСсылка на Яндекс.Диск
sym-lib-tableТаблица библиотек символовСсылка на GitHubСсылка на Яндекс.Диск
fp-lib-tableТаблица библиотек посадочных местСсылка на GitHubСсылка на Яндекс.Диск
Скачать все файлыВсе файлы находятся в одном архивеСсылка на GitHubСсылка на Яндекс.Диск

Полезные ссылки проекта:​

Автор
Verter_bot
Просмотры
11
Первый выпуск
Последнее обновление

Оценки

0.00 звезд(ы) 0 оценок
Назад
Вверх