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

Pentagon-4096 — новый клон ZX Spectrum на классической логике с 4 МБ ОЗУ и множеством видеорежимов

MainBoard-v10.7-pcb-comp.jpg


Pentagon-4096 — это новый клон ZX-Spectrum, собранный на классической мелкой логике, но с применением AVR-микроконтроллеров. Компьютер вобрал в себя всё лучшее, что было в оригинальном Pentagon-128, но с рядом исправлений и дополнений, а также реализован ряд функциональных возможностей.

Актуальные ревизии плат:

  • Материнская плата (MainBoard) — 10.7.1
  • Верхняя плата (TopBoard) — 5.3.1

Основные возможности и особенности​

  1. Полная совместимость с оригинальным Pentagon-128, включая положение сигнала INT. Однако есть возможность переключения положения INT в «Фирменный ZX-Spectrum» (на 16 телевизионных строк вниз + на 13.71 мкс вправо) для исключения мерцания спрайтов в ряде фирменных игр.
  2. Формирование видеосигнала с полностью стандартными синхро-импульсами и импульсами гашения, гарантирующими нормальную работу с любым телевизором и корректную работу PAL/NTSC и SECAM кодера.
  3. Наличие PAL/NTSC кодера на микросхеме CXA1645 или CXA2075. Двумя перемычками можно выбирать стандарты: PAL 4.43 МГц, NTSC 3.58 МГц, NTSC 4.43 МГц.
  4. Объём оперативной памяти 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 КБ.
  5. Режим «Plus-3»: используются дополнительные 4 страницы ПЗУ, конфигурация ОЗУ становится такой же, как в фирменном ZX Spectrum +3.
  6. Узел отлова команд короткой адресации IN A,(xx) и OUT (xx),A — при попытке процессора извлечь такую команду из ОЗУ, блокируется верхняя память >128 КБ, а порт 0x7FFD переводится на мягкую дешифрацию. При любой другой команде — разблокировка и жёсткая дешифрация.
  7. Режим «Мультизадачность» (включается через BIOS):
    • При SIMM 4 МБ — до 31 задачи одновременно.
    • При SIMM 1 МБ — до 7 задач.
    • Каждой задаче доступно 128 КБ памяти.
    • Последний блок (32-й или 8-й) объёмом 128 КБ используется для данных переключения задач.
    • Переключение между задачами — по кнопке Magic (меню со списком задач).
  8. Оперативная память турбирована на 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 (зависает), хотя другие программы работают.
  9. Шина Nemo-Bus v1.0 содержит 4 слота.
  10. Возможность установки карт расширения Plus-3 через плату-адаптер NemobusToDivIDE:
    • Разрешает конфликты DivIDE с GeneralSound (порты 0xB3 и 0xBB).
    • Реализован порт 0x33 для блокировки/разблокировки IORQ.
    • При установке любой другой карты +3, не конфликтующей с GeneralSound, можно отключить блокировку перемычкой.
  11. Плюс 1 слот ISA специально для модема (по схеме Кондратьева, с прерыванием IRQ4 по NMI). Можно использовать в iS-DOS для обмена файлами с ПК.
  12. Наличие мышки PS/2 (контроллер на Attiny2313, с буфером, без WAIT).
  13. Возможность подключения как классической механической клавиатуры, так и PS/2 (без WAIT, контроллер на ATMega48PA-PU).
  14. Наличие порта RS-232 с использованием музыкального сопроцессора AY и микросхемы MAX3232.
  15. Турбирование контроллера дисковода КР1818ВГ93 с учётом всех исправлений, описанных в журнале «Спектрофон» № 12 и 14.
  16. NemoIDE контроллер.
  17. Доступ к 0-й странице ПЗУ с прошивкой Gluk Reset Service.
  18. Наличие порта атрибутов с использованием полной дешифрации порта 0xFF.
  19. Теневое ОЗУ ёмкостью 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.
  20. Микросхема CMOS-часиков по схеме MrGluk (Dallas, MC146818 или 512ВИ1). Внешняя батарейка CR2032. Порты: 0xBFF7, 0xDFF7, 0xEFF7.
  21. 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+.
  22. SoundDrive с поддержкой режима Covox на ЦАП TLC7528.
  23. BIOS с тестированием ОЗУ и Setup-ом (дополнительная микросхема ПЗУ 64 КБ). В Setup можно:
    • Выставлять дату и время.
    • Настраивать расширенные видеорежимы (цвет текста для 512×192, включение/отключение цвета, FlashColor, аппаратный GigaScreen).
    • Настраивать теневое ОЗУ (эмуляцию ПЗУ для каждой из 4 страниц).
    • Настроить поведение при сбросе (Gluk, Menu-128, TR-DOS, Basic-48, загрузка с HDD и т.д.).
    • Выбрать порты расширения верхней памяти >128 КБ.
    • Включать/отключать режим Мультизадачности.
  24. Конструктивно — две платы:
    • Материнская плата — размер стандартного 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, 100 = Выкл
01 = Пентагон-1024 (#7FFD)
10 = Профи-1024 (#DFFD)
11 = Scorpion/KAY (#1FFD)
Выбор 1-го порта расширения ОЗУ > 128 КБ (EM0)
2, 300 = Выкл
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 1MSIMM 4MМаксимальный размерРазмер без бита D5 #7FFD
0)0000128 КБ128 КБ128 КБ128 КБ
1)0001Pent-1MPent-1M1 МБ512 КБ
2)0010Profi-1MProfi-1M1 МБ1 МБ
3)0011#1FFD#1FFD512 КБ512 КБ
4)0111KAY-1MKAY-1M+Pent4 МБ2 МБ
5)1010Profi-1MProfi-1M+Pent4 МБ4 МБ
6)1110Profi-1MProfi-1M+1FFD4 МБ4 МБ
Примечание 1: В любой конфигурации ОЗУ, где задействуется бит 5 порта #7FFD для расширения ОЗУ, доступность такого расширения зависит от опции BIOS "Бит 5 #7FFD защёлка или расширение" (бит 4 порта #FC37).
Примечание 2: Конфигурация № 5 является исключением — для задействования двух портов #DFFD и #7FFD, EM0 и EM1 оба должны быть = 10 (значение 2).

#FD37 — выбор страниц эмуляции основного ПЗУ в статическом ОЗУ. При активации какого-либо бита этого порта, выбранная страница основного ПЗУ, которая соответствует биту порта BIOS, подменяется на соответствующую страницу из статического ОЗУ. В этом режиме выбранные страницы статического ОЗУ доступны в режим "только чтение".

#FE37 — дополнительные видеорежимы:
БитЗначение (0)Значение (1)Назначение
0, 1, 2B, 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
Примечание по биту 6 (GigaScreen): При включении через порт #FE37 режима "Аппаратный GigaScreen", фактически он включается с момента однократного программного переключения экранов, осуществляя их аппаратное переключение вначале каждой строки, и отключается в конце кадра.

#FF37 — управление ПЗУ и блокировками:
БитЗначение (0)Значение (1)Назначение
0Отключает ПЗУ BIOS, включает основное ПЗУ "Spectrum"Управление режимом ПЗУ
1Отключает блокировку защёлки сервисной страницы ПЗУ "Gluk Reset Service"Управление доступом к Gluk
2, 300 = Страница 0
01 = Страница 1
10 = Страница 2
11 = Страница 3 (недоступна для BIOS)
Выбор страницы ПЗУ BIOS (в пределах первых 3-х страниц)Выбор страницы BIOS
4Блокировка включения режима "кеш память"Управление кешем
5Разрешает запись в регистры палитрыРазрешение записи палитры
6Включение режима записи в основное ПЗУ "Spectrum"Запись в ПЗУ
7Включение режима стирания основного ПЗУ "Spectrum"Стирание ПЗУ
Примечание: Последняя страница ПЗУ BIOS (11) задействована в качестве ПЗУ Принтера, поэтому недоступна для режима BIOS.

#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).

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

Название файла / ПапкаОписаниеGitHubYandex.Диск
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
Автор
Verter_bot
Просмотры
43
Первый выпуск
Последнее обновление

Оценки

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