Pentagon-4096 — это новый клон ZX-Spectrum, собранный на классической мелкой логике, но с применением AVR-микроконтроллеров. Компьютер вобрал в себя всё лучшее, что было в оригинальном Pentagon-128, но с рядом исправлений и дополнений, а также реализован ряд функциональных возможностей.
Актуальные ревизии плат:
- Материнская плата (MainBoard) — 10.7.1
- Верхняя плата (TopBoard) — 5.3.1
Основные возможности и особенности
- Полная совместимость с оригинальным Pentagon-128, включая положение сигнала INT. Однако есть возможность переключения положения INT в «Фирменный ZX-Spectrum» (на 16 телевизионных строк вниз + на 13.71 мкс вправо) для исключения мерцания спрайтов в ряде фирменных игр.
- Формирование видеосигнала с полностью стандартными синхро-импульсами и импульсами гашения, гарантирующими нормальную работу с любым телевизором и корректную работу PAL/NTSC и SECAM кодера.
- Наличие PAL/NTSC кодера на микросхеме CXA1645 или CXA2075. Двумя перемычками можно выбирать стандарты: PAL 4.43 МГц, NTSC 3.58 МГц, NTSC 4.43 МГц.
- Объём оперативной памяти 4 МБ с помощью 1 модуля SIMM 30 pin. Имеется возможность установки 1 модуля SIMM на 1 МБ (джампер на плате для переключения объёма).
Варианты расширения памяти для модуля SIMM 30 pin 1 МБ:
4.0.0) Расширенную верхнюю память можно отключить, оставив стандартные 128 КБ.
4.0.1) По стандарту «Пентагон-1024»: биты D6 и D7 порта 0x7FFD + бит D5 (вместо блокировки) — доступно 1024 КБ. Бит D5 можно переназначить на блокировку верхней памяти (48 КБ) — тогда доступно 512 КБ.
4.0.2) По стандарту «Профи-1024»: порт 0xDFFD, биты D0, D1 и D2 — доступно 1024 КБ.
4.0.3) По чистому порту #1FFD, биты D4 и D7 — доступно 512 КБ.
4.0.4) По стандарту «Kay-1024»: порт 0x1FFD (биты D4, D7) + порт #7FFD (бит D7) — доступно 1024 КБ.
Варианты расширения памяти для модуля SIMM 30 pin 4 МБ:
4.1.0) Расширенную верхнюю память можно отключить, оставив стандартные 128 КБ.
4.1.1) По стандарту «Пентагон-1024» — доступно 1024 КБ (с возможностью переназначения бита D5 на блокировку, тогда 512 КБ).
4.1.2) По стандарту «Профи-1024» — доступно 1024 КБ.
4.1.3) По порту #1FFD (биты D4, D7) — доступно 512 КБ.
4.1.4) По смешанному стандарту «Kay-1024» + «Pentagon-1024»: порт 0x1FFD (D4, D7) + порт #7FFD (D6, D7, D5) — доступно 4096 КБ.
4.1.5) По смешанному стандарту «Profi-1024» + «Pentagon-512»: порт 0xDFFD (D0, D1, D2) + порт #7FFD (D6, D7) — доступно 4096 КБ.
4.1.6) По смешанному стандарту «Profi-1024» + порт #1FFD: порт 0xDFFD (D0, D1, D2) + порт #1FFD (D4, D7) — доступно 4096 КБ. - Режим «Plus-3»: используются дополнительные 4 страницы ПЗУ, конфигурация ОЗУ становится такой же, как в фирменном ZX Spectrum +3.
- Узел отлова команд короткой адресации IN A,(xx) и OUT (xx),A — при попытке процессора извлечь такую команду из ОЗУ, блокируется верхняя память >128 КБ, а порт 0x7FFD переводится на мягкую дешифрацию. При любой другой команде — разблокировка и жёсткая дешифрация.
- Режим «Мультизадачность» (включается через BIOS):
- При SIMM 4 МБ — до 31 задачи одновременно.
- При SIMM 1 МБ — до 7 задач.
- Каждой задаче доступно 128 КБ памяти.
- Последний блок (32-й или 8-й) объёмом 128 КБ используется для данных переключения задач.
- Переключение между задачами — по кнопке Magic (меню со списком задач).
- Оперативная память турбирована на 7 МГц:
- Z80 на 7 МГц без WAIT — 200% производительности.
- Z80 на 14 МГц с WAIT — 290% производительности.
- Реализованы дополнительные видеорежимы, требующие в 2 раза больше циклов доступа к ОЗУ (без остановки процессора): 16 colors и 512×192 в цвете.
- Известные ограничения:
- Компьютер работает не со всеми процессорами Z80. Рекомендуется Z84C0020PEC (легко достать).
- Может потребоваться подбор модулей SIMM (лучше работают 3-чиповые, например, Motorolla, Samsung; 9-чиповые могут глючить).
- Сложность в поиске быстрых микросхем КР1531 (можно заменить на 74Fxxx).
- В режиме 14 МГц не работает iS-DOS (зависает), хотя другие программы работают.
- Шина Nemo-Bus v1.0 содержит 4 слота.
- Возможность установки карт расширения Plus-3 через плату-адаптер NemobusToDivIDE:
- Разрешает конфликты DivIDE с GeneralSound (порты 0xB3 и 0xBB).
- Реализован порт 0x33 для блокировки/разблокировки IORQ.
- При установке любой другой карты +3, не конфликтующей с GeneralSound, можно отключить блокировку перемычкой.
- Плюс 1 слот ISA специально для модема (по схеме Кондратьева, с прерыванием IRQ4 по NMI). Можно использовать в iS-DOS для обмена файлами с ПК.
- Наличие мышки PS/2 (контроллер на Attiny2313, с буфером, без WAIT).
- Возможность подключения как классической механической клавиатуры, так и PS/2 (без WAIT, контроллер на ATMega48PA-PU).
- Наличие порта RS-232 с использованием музыкального сопроцессора AY и микросхемы MAX3232.
- Турбирование контроллера дисковода КР1818ВГ93 с учётом всех исправлений, описанных в журнале «Спектрофон» № 12 и 14.
- NemoIDE контроллер.
- Доступ к 0-й странице ПЗУ с прошивкой Gluk Reset Service.
- Наличие порта атрибутов с использованием полной дешифрации порта 0xFF.
- Теневое ОЗУ ёмкостью 128 КБ (две функции):
- Стандартное теневое ОЗУ (включение/выключение через IN A,(#FB)/IN A,(#7B)) ёмкостью 16 или 32 КБ.
- Подмена всех 8 страниц ПЗУ Spectrum:
- Страница 0 — стандартное теневое ОЗУ или эмуляция Gluk Reset Service.
- Страница 1 — только эмуляция TR-DOS.
- Страница 2 — расширение теневого ОЗУ до 32 КБ или эмуляция Menu-128.
- Страница 3 — только эмуляция Basic-48.
- Страница 4 — эмуляция Редактора Basic-128 +3.
- Страница 5 — эмуляция Обработчика ошибок Basic-128 +3.
- Страница 6 — эмуляция Basic-48 +3.
- Страница 7 — эмуляция +3 DOS.
- Микросхема CMOS-часиков по схеме MrGluk (Dallas, MC146818 или 512ВИ1). Внешняя батарейка CR2032. Порты: 0xBFF7, 0xDFF7, 0xEFF7.
- 9 расширенных видеорежимов (в скобках — кол-во циклов доступа к ОЗУ за 1 адрес):
- 20.0) Стандартный — 256×192, атрибут 8×8 (2 цикла).
- 20.1) Аппаратный мультиколор — 256×192, атрибут на байт 8×1 (2 цикла).
- 20.2) 512×192 монохромный — цвет текста выбирается через BIOS (4 цикла).
- 20.3) 512×192 цветной — атрибут на знакоместо 8×8 (4 цикла).
- 20.4) 512×192 мультиколорный — атрибут на байт 8×1 (4 цикла).
- 20.5) 16 colors — каждый пиксель своим цветом (4 цикла).
- 20.6) 384×288 полноэкранный (без бордюра) (2 цикла).
- 20.7) FlashColor — вместо мигания — перемешивание цветов пикселей и фона (комбинируется с режимами 20.0, 20.1, 20.3, 20.4, 20.6).
- 20.8) Аппаратный GigaScreen — черезстрочное чередование экранов (комбинируется с любым режимом).
- 20.9) Регистр палитры (4096 цветов) — совместим с АТМ Турбо 2+.
- SoundDrive с поддержкой режима Covox на ЦАП TLC7528.
- BIOS с тестированием ОЗУ и Setup-ом (дополнительная микросхема ПЗУ 64 КБ). В Setup можно:
- Выставлять дату и время.
- Настраивать расширенные видеорежимы (цвет текста для 512×192, включение/отключение цвета, FlashColor, аппаратный GigaScreen).
- Настраивать теневое ОЗУ (эмуляцию ПЗУ для каждой из 4 страниц).
- Настроить поведение при сбросе (Gluk, Menu-128, TR-DOS, Basic-48, загрузка с HDD и т.д.).
- Выбрать порты расширения верхней памяти >128 КБ.
- Включать/отключать режим Мультизадачности.
- Конструктивно — две платы:
- Материнская плата — размер стандартного ATX (4-слойная разводка).
- Верхняя плата — 170×170 мм (крепление сверху) с внешними коннекторами: PS/2, DB15 (механическая клавиатура), DB9 (Kempston), DA-15 (VGA), S-Video, RCA (3 шт.), мини-джек (3 шт.), DB9 (RS-232), DB25 (принтер).
Описание портов BIOS
#FC37 «Конфигурация памяти»:| Бит | Значение (0) | Значение (1) | Назначение |
|---|---|---|---|
| 0, 1 | 00 = Выкл 01 = Пентагон-1024 (#7FFD) 10 = Профи-1024 (#DFFD) 11 = Scorpion/KAY (#1FFD) | — | Выбор 1-го порта расширения ОЗУ > 128 КБ (EM0) |
| 2, 3 | 00 = Выкл 01 = Пентагон-1024 (#7FFD) 10 = Профи-1024 (#DFFD) 11 = Scorpion/KAY (#1FFD) | — | Выбор 2-го порта расширения ОЗУ > 128 КБ (EM1) |
| 4 | Бит 5 #7FFD расширяет ОЗУ | Бит 5 #7FFD — защёлка 48 КБ | Опция "Бит 5 #7FFD защёлка или расширение" |
| 5 | Выключен | Включен | Включение режима загрузки данных в статическое ОЗУ (адреса #C000–#FFFF) |
| 6 | Выключен | Включен | Включение режима "Мультизадачность" |
| 7 | Выключен | Включен | Включение режима "3+" |
Таблица совместного использования EM0 и EM1 (биты 0–3 порта #FC37):
| Конфигурация | EM1 (биты 3,2) | EM0 (биты 1,0) | SIMM 1M | SIMM 4M | Максимальный размер | Размер без бита D5 #7FFD |
|---|---|---|---|---|---|---|
| 0) | 00 | 00 | 128 КБ | 128 КБ | 128 КБ | 128 КБ |
| 1) | 00 | 01 | Pent-1M | Pent-1M | 1 МБ | 512 КБ |
| 2) | 00 | 10 | Profi-1M | Profi-1M | 1 МБ | 1 МБ |
| 3) | 00 | 11 | #1FFD | #1FFD | 512 КБ | 512 КБ |
| 4) | 01 | 11 | KAY-1M | KAY-1M+Pent | 4 МБ | 2 МБ |
| 5) | 10 | 10 | Profi-1M | Profi-1M+Pent | 4 МБ | 4 МБ |
| 6) | 11 | 10 | Profi-1M | Profi-1M+1FFD | 4 МБ | 4 МБ |
#FD37 — выбор страниц эмуляции основного ПЗУ в статическом ОЗУ. При активации какого-либо бита этого порта, выбранная страница основного ПЗУ, которая соответствует биту порта BIOS, подменяется на соответствующую страницу из статического ОЗУ. В этом режиме выбранные страницы статического ОЗУ доступны в режим "только чтение".
#FE37 — дополнительные видеорежимы:
| Бит | Значение (0) | Значение (1) | Назначение |
|---|---|---|---|
| 0, 1, 2 | — | B, R, G компоненты | Цвет текста в монохромном режиме 512×192 (B — бит 0, R — бит 1, G — бит 2) |
| 3 | — | Включена | Яркость текста в монохромном режиме 512×192 |
| 4 | Выключен | Включен | Включение цвета в режиме 512×192 |
| 5 | Выключен | Включен | Видеорежим "FlashColor" |
| 6 | Выключен | Включен | Видеорежим "Аппаратный GigaScreen с автовключением" |
| 7 | Пентагон | Фирменный | Выбор положения INT: 0 = Пентагон, 1 = Фирменный ZX-Spectrum |
#FF37 — управление ПЗУ и блокировками:
| Бит | Значение (0) | Значение (1) | Назначение |
|---|---|---|---|
| 0 | — | Отключает ПЗУ BIOS, включает основное ПЗУ "Spectrum" | Управление режимом ПЗУ |
| 1 | — | Отключает блокировку защёлки сервисной страницы ПЗУ "Gluk Reset Service" | Управление доступом к Gluk |
| 2, 3 | 00 = Страница 0 01 = Страница 1 10 = Страница 2 11 = Страница 3 (недоступна для BIOS) | Выбор страницы ПЗУ BIOS (в пределах первых 3-х страниц) | Выбор страницы BIOS |
| 4 | — | Блокировка включения режима "кеш память" | Управление кешем |
| 5 | — | Разрешает запись в регистры палитры | Разрешение записи палитры |
| 6 | — | Включение режима записи в основное ПЗУ "Spectrum" | Запись в ПЗУ |
| 7 | — | Включение режима стирания основного ПЗУ "Spectrum" | Стирание ПЗУ |
#EFF7 — порт конфигурации видеорежимов:
| Бит | Значение (1) | Назначение |
|---|---|---|
| 0 | Включен | Видеорежим "16 Colors" (каждый пиксель своим цветом) |
| 1 | Включен | Видеорежим "512×192" (удвоенное разрешение по горизонтали) |
| 2 | Не используется | — |
| 3 | Включена | Проецирование 0-й страницы ОЗУ в адресное пространство ПЗУ (#0000 – #3FFF) |
| 4 | Не используется | — |
| 5 | Включен | Видеорежим "Мультиколор" (атрибут цвета на байт) |
| 6 | Включен | Видеорежим "384×304" (экран без бордюра) |
| 7 | Включены | Открытие скрытых портов RTC и FDC |
- Видеорежим "16 Colors" (бит 0) не совместим с "Мультиколор" (бит 5), "512×192" (бит 1), "384×304" (бит 6) и "FlashColor".
- Видеорежим "384×304" (бит 6) не совместим с "Мультиколор" (бит 5), "512×192" (бит 1) и "16 Colors" (бит 0).
Файлы для загрузки
| Название файла / Папка | Описание | GitHub | Yandex.Диск |
|---|---|---|---|
| Firmwares (папка) | Прошивки (включая прошивку для индикатора частоты) | Ссылка на GitHub | Ссылка на Яндекс.Диск |
| Hardware (папка) | Аппаратная часть (схемы, платы, компоненты) | Ссылка на GitHub | Ссылка на Яндекс.Диск |
| Table Of Components - MainBoard.txt | Список компонентов для материнской платы | Ссылка на GitHub | Ссылка на Яндекс.Диск |
| Table Of Components - TopBoard.txt | Список компонентов для верхней платы | Ссылка на GitHub | Ссылка на Яндекс.Диск |
| Table Of Components - NemoBusToIdvIDE.txt | Список компонентов для адаптера NemoBusToDivIDE | Ссылка на GitHub | Ссылка на Яндекс.Диск |
| Table Of Components - Freq Indicator.txt | Список компонентов для индикатора частоты | Ссылка на GitHub | Ссылка на Яндекс.Диск |
| Jumpers.txt | Описание перемычек | Ссылка на GitHub | Ссылка на Яндекс.Диск |
| video_modes.txt | Описание видеорежимов | Ссылка на GitHub | Ссылка на Яндекс.Диск |
| H_Sign_Multisim.png | Изображение (вертикальный знак) | Ссылка на GitHub | Ссылка на Яндекс.Диск |
| V_Sign-1_Multisim.png, V_Sign-2_Multisim.png | Изображения (горизонтальные знаки) | Ссылка на GitHub | Ссылка на Яндекс.Диск |
| Скачать все файлы | Все файлы находятся в одном архиве | Ссылка на GitHub | Ссылка на Яндекс.Диск |
Полезные ссылки проекта:
- Репозиторий проекта — GitHub