1) Полная совместимость, в том числе и по положению INT, с оригинальным Pentagon-128. Но с возможностью переключения положения сигнала INT на 16 строк вниз, с целью исключения мерцания спрайтов на некоторых фирменных играх.
2) Формирование в видео полностью стандартных синхро-импульсов и импульсов гашения, которые гарантируют нормальную работу с любым телевизором, а так же нормальную работу PAL/NTSC кодера.
3) Наличие PAL/NTSC кодера на микросхеме CXA1645.
4) Память будет 4 Мб с помощью 1 модуля SIMM 30 pin. Будет возможность установки 1 модуля SIMM на 1 Мб, на плате будет соответствующий джампер.
Вначале я хотел сделать ещё вариант установки двух модулей SIMM 30 pin по 1 Мб, но в своё время был вынужден отказаться от идеи, т.к. она не подружилась с турбированием ОЗУ на 7 МГц. Переключение модулей я делал стандартным способом - коммутацией сигнала CAS, но минимальной задержки этого сигнала оказалось достаточно, чтобы компьютер не заработал вообще. Хотя ещё оставалось конечно пару вариантов - коммутацию CAS я тогда сделал на 1531КП11, а нужно было попробовать на 1531ЛА3.
Расширении памяти будет за счёт дополнительных двух битов порта #7FFD - бит 6 и бит 5 (вместо блокировки). В результате получаем следующую раскладку верхней памяти:
#1FFD бит 4 - 256 Кб
#1FFD бит 7 - 512 Кб
#7FFD бит 7 - 1024 Кб
#7FFD бит 6 - 2048 Кб
#7FFD бит 5 - 4096 Кб.
Таким образом, для существующего ПО получается одновременная поддержка сразу 3-х стандартов расширения до 1 Мб:
Pentagon-1024:
#7FFD бит 7 - 256 Кб
#7FFD бит 6 - 512 Кб
#7FFD бит 5 - 1024 Кб
KAY-1024:
#1FFD бит 4 - 256 Кб
#1FFD бит 7 - 512 Кб
#7FFD бит 7 - 1024 Кб
Scorpion ZS-1024:
#1FFD бит 4 - 256 Кб
#7FFD бит 7 - 512 Кб
#7FFD бит 6 - 1024 Кб
И даже стандарт расширения памяти Phoenix до 2 Мб:
#1FFD бит 4 - 256 Кб
#1FFD бит 7 - 512 Кб
#7FFD бит 7 - 1024 Кб
#7FFD бит 6 - 2048 Кб
Из недостатков:
Использование бита блокировки расширенной памяти D5 порта #7FFD в качестве расширения ОЗУ приводит к неработоспособности некоторых отдельно взятых фирменных 48к игр. Связано это с тем, что в тех играх авторы щёлкают бит блокировки. Возможно, нужно как-то переключать этот бит D5 на режим блокировки и обратно на расширение ОЗУ. - решено, в BIOS-Setup можно будет задавать опцию, как использовать бит блокировки D5: стандартно блокировать всю верхнюю память или использовать для максимального расширения памяти по стандарту "Пентагон-1024". В последнем варианте работает демка Nedodeno от Alone Coder.
5) Наличие режима "Plus-3". Используются дополнительные 4 страницы ПЗУ, конфигурация ОЗУ становится такой же, как в фирменном "ZX-Spectrum+3" с поддержкой "стандартного" и "специального" режимов.
6) В схеме будет узел, который отлавливает команды короткой адресации к портам IN A,(xx), OUT (xx),A, как только процессор прочитает код такой команды, моментально будет заблокирован порт #1FFD, а порт #7FFD будет переведён на мягкую дешифрацию. Как только процессор прочитает из ОЗУ код следующей команды, всё возвращается обратно с доступом всей имеющейся памяти. Это уже давно собрано у меня, и я уже давно забыл, что такое несовместимость таких программ, как INSULT, STS 3.3 и т.д. Для работы этих программ не нужно будет вручную отключать верхнюю память, STS 3.3 можно грузить с RAM-диска.
7) Память будет обязательно турбирована на 7 МГц. Это позволит:
а) турбировать Z80 на 7 МГц без WAIT-а, получив 200% производительности;
б) реализовать дополнительные видеорежимы, требующие в 2 раза больше циклов доступа к ОЗУ видеоконтроллером, не останавливая процессор, например, 16 colors;
в) турбировать Z80 на 14 МГц с WAIT-ом, получив около 280-295% процентов производительности.
Из недостатков:
Компьютер будет работать не со всеми типами процессоров Z80. Но отлично работает с Z84C0020PEC, и их не сложно достать, китайцы до сих пор их продают пачками;
Возможно, придётся подбирать модули памяти SIMM. Обычно проблем не возникает с 3-чиповыми. В частности, отлично работают Motorolla, Samsung и др. Из всех не захотели работать только Panasonic. А вот 9-чиповые глючат, одни больше, другие меньше. из 7 или 8 разных модулей мне удалось подобрать только 2, которые более-менее нормально работали, но всё равно хуже чем 3-чиповые.
Сложность в поиске быстрых микросхем логики серии КР1531. К счастью, не весь компьютер нужно собирать на этой серии, а только критичные к задержкам сигналов узлы. Если какие-то микросхемы не удалось найти в серии КР1531, можно поставить импортный аналог серии
74F.
Из дополнительных недостатков Турбо-14 МГц:
Плохая совместимость с расширенным видеорежимом "512х192" - мерцание пикселей при большой загрузке процессора - решено, картинка уже без артефактов, больше ничего не мерцает;
[s]Появляется нестабильность шины данных. Если вытащить всю периферию, то шина данных становится стабильной[s] - частично решено, тесты уже не выявляют нестабильную шину данных, и теперь нестабильность работы в Турбо-14 МГц проявляется только при установленной классической версией карты General Sound и только в iS-DOS.
8) Шина Nemo-Bus v1.2m будет содержать 3 слота.
9) Будет 1 слот ZX-Bus Plus-3. Конструктивно его можно реализовать с помощью
двух линеек по 28 шт штырьков, к которым нужно будет припаять гребёнку контактов. Спасибо
Djoni за подсказку с примером.
10) Плюс 1 слот ISA специально для модема, включенного по схеме Кондратьева, полный вариант с прерыванием от модема IRQ4. Использовать можно, к примеру, в iS-DOSе, можно будет с ПЦ и обратно перекачивать файлы размером больше дискеты, не придётся дёргать винчестер и подключать его к ПЦ. Испытал на себе, это удобно. Сигнал IORQG для модема будет последним в приоритете после 4-го слота ZX-Bus.
11) Наличие мышки PS/2, контроллер на Attiny2313, с буфером, без WAITа.
12) Наличие контроллера PS/2 клавиатуры, на ATmega 48PA-PU, без WAITа, возможность подключения классической механической клавиатуры присутствует.
[B]13) Наличие порта RS-232 с использованием музыкального сопроцессора AY и микросхемы MAX3232.
14) Турбирование контроллера дисковода КР1818ВГ93 по правильной схеме, с учётом всех исправлений описанных журнале "Спектрофон" № 12 и 14.
15) NemoIDE контроллер.
16) Доступ к 0-й странице ПЗУ с прошивкой Gluk Reset Service.
17) Наличие порта атрибутов #FF. Не такой вариант, как я предлагал несколько лет назад. Схема, опубликованная N лет назад оказалась абсолютно бесполезной, кроме обнаружения в тестах, она ничего не давала - фирменные игры, например, фирменный ARKANOID-1, не шли, и связано это было с отсутствием стробирования порта сигналом бордюра.
У меня есть 2 проверенных варианта схемы порта #FF.
а) более простая схема на 1 микросхеме и 8 резисторах, и она наиболее точно отражает фирменный порт #FF, т.е. без дешифрации порта, когда порт доступен по любому незадействованному номеру порта.
б) на 3-х микросхемах и без резисторов, с точной дешифрацией порта, проверяются все 8 младших бит. Я себе собрал именно этот вариант, и не заметил разницы в поведении фирменной игры ARKANOID-1.
18) Теневое ОЗУ ёмкостью 64 Кб. Будет выполнять 2 функции - в качестве стандартного теневого ОЗУ, доступное через чтение из портов #7B, #FB, ёмкостью 16 или 32 Кб, и для эмуляции всех 4х страниц ПЗУ:
Страница 0 - стандартное теневое ОЗУ через IN A,(#FB)/IN A,(#7B), либо эмуляция 0-й страницы ПЗУ Gluk Reset Service;
Страница 1 - только эмуляция 1-й страницы ПЗУ TR-DOS;
Страница 2 - расширение стандартного теневого ОЗУ до 32Кб, либо эмуляция 2-й страницы ПЗУ Menu-128;
Страница 3 - только эмуляция 3-й страницы ПЗУ Basic-48.
Порт управления теневым ОЗУ - #FD37.
19) Микросхема CMOS-часиков по схеме MrGluk. Можно будет установить как Dallas, так и МС146818 или её аналог 512ВИ1. Тактирование последних двух будет от экономичной микросхемы MC14069. Внешняя батарейка - CR2032, которая будет использоваться для любого варианта CMOS, в том числе и для Dallas (вряд ли сейчас уже возможно найти Dallas с живой батарейкой внутри, её в любом случае придётся выковыривать). Порты для управления CMOS - #BFF7, #DFF7 и #EFF7.
20) 9 расширенных видеорежимов (в скобках кол-во циклов доступа к ОЗУ видеоконтроллером за 1 адрес):
0) Стандартный видеорежим. 256х192, атрибут на знакоместо 8х8. Область пикселей - #4000 - #57FF, область атрибутов - #5800 - #5AFF (2 цикла);
1) Аппаратный мультиколор. Атрибут цвета на байт 8х1. Область пикселей - #4000 - #57FF, область атрибутов - #6000 - #77FF (2 цикла);
2) 512х192 пикселей монохромный, можно включить любой цвет текста. Область пикселей нечётного знакоместа - #4000 - #57FF, область пикселей чётного знакоместа - #6000 - #77FF (4 цикла, т.к. поддерживается цветной вариант);
3) 512х192 пикселей, цветной. Атрибут на узкое знакоместо 8х8. Область пикселей нечётного знакоместа - #4000 - #57FF, область пикселей чётного знакоместа - #6000 - #77FF, область атрибутов нечётного знакоместа - #5800 - #5AFF, область атрибутов чётного знакоместа - #7800 - #7AFF (4 цикла);
4) 512х192 пикселей, мультиколорный. Атрибут на байт 8х1. Область пикселей нечётного знакоместа - #4000 - #57FF, область пикселей чётного знакоместа - #6000 - #77FF, область атрибутов нечётного знакоместа - #C000 - #D7FF 4-й страницы, область атрибутов чётного знакоместа - #E000 - #F7FF 4-й страницы (4 цикла);
5) 16 colors - каждый пиксель своим цветом. Экран состоит из 4-х экранных областей: #4000 - #57FF, #6000 - #77FF, #C000 - #D7FF 4-й страницы, #E000 - #F7FF 4-й страницы. Каждый байт данных отображает только 2 пикселя, каждая экранная область отображает только свои 2 пикселя из знакоместа, 4 области составляют целое знакоместо (4 цикла);
6) 384х288 пикселей, полноэкранный режим без бордюра. (2 цикла);
7) FlashColor. Внутри каждого цветного атрибута, в котором активирован 7-й бит флеш, перемешиваются цвета точек и фона и выводятся в качестве цвета точек, цвет фона при этом чёрный. Данный видеорежим можно совмещать с видережимами № 0, 1, 3, 4, 6 и 8.
8) Аппаратный GigaScreen, автоматический. Когда программа просмотра гигаскрин-картинок начинает переключать по прерываниям основной / дополнительный экран, автоматически включается данный видеорежим и экраны переключаются от строки к строке, а от кадра к кадру меняется фаза переключения на противоположную. Как только программное переключение экранов прекратилось, аппаратный гигаскрин автоматически отключается. Мерцание на гигаскрин картинках становится менее заметно, ничего вручную переключать не нужно.
Видеорежимы "Аппаратный мультиколор", "512х192", "16 colors" и "384х288" включаются стандартным портом #EFF7.
Видеорежим "512х192" из монохромного в цветной или обратно переключается дополнительным портом #FE37, управляемый из BIOS.
Видеорежим "512х192" мультиколорный включается, если через #EFF7 включить одновременно режимы "Мультиколор" и "512х192", а так же включить цвет через порт #FE37.
21) BIOS с тестированием ОЗУ и Setup-ом. Будет установлена дополнительная микросхема ПЗУ ёмкостью 16 или 32 Кбайта. На данный момент задействовано только 16 Кбайт. Но в будущем, если этого не хватит, можно задействовать все 32 Кбайт. Порт для включения ПЗУ BIOS и для выбора страницы ПЗУ BIOS - #FC32.
В BIOS-Setup можно:
1. Выставлять текущую дату и время;
2. Настроить расширенные видеорежимы:
а) выбрать цвет текста для монохромного видеорежима 512х192;
б) включить или отключить цвет для видеорежима 512х192;
в) включить или отключить флешколор;
г) включить или отключить автоматический аппаратный гигаскрин.
3. Выбрать желаемые порты расширения памяти - #7FFD, #DFFD, #1FFD с возможность их комбинирования или вообще отключить, оставив только 128 КБ.
4. Выбрать, какой мегабайт из 4-х доступных отдавать карте расширения, при запросе шины.
5. Настроить теневое ОЗУ - включать и отключать эмуляцию ПЗУ для каждой из 4-х страниц;
6. Настроить поведение Спектрума при сбросе:
а) Выход в Gluk Reset Service;
б) Выход в Menu-128;
в) Выход в TR-DOS;
г) Выход в TR-DOS без очистки ОЗУ;
д) Выход в Basic-48;
е) Загрузка с HDD Master;
ж) Загрузка с HDD Slave;
з) При выборе варианта загрузки с HDD, можно выбирать варианты, что именно загружать:
DNA-OS;
iS-DOS;
пользовательский вариант номера блока LBA.
22) Конструктивно всё это будет собрано на двух платах: Материнская плата будет иметь размер стандартного ATX, что позволит её установить в стандартный корпус ATX. Вторая плата будет иметь размеры 170x127 мм и будет крепиться к материнской плате вверху и на ней будут располагаться 5 внешних коннекторов: PS/2 - мышка, DB15 (female) - клавиатура, DB9 (female) - кэмпстон джойстик, SCART и S-Video. Остальные коннекторы - 3 шт. RCA (видео и стереозвук), 3 шт. мини-джек (аудио-выход, магнитофонные вход и выход), DB9 (male - порт RS-232) и DB25 (принтер) придётся разместить на планках.
[свернуть]