PDA

Просмотр полной версии : Pentagon-1024/4096 от Northwood



Страницы : [1] 2 3 4

Northwood
29.11.2017, 21:46
Всем привет.

В этой теме я хочу собрать вместе все свои доработки компьютера Pentagon 1024 1.4. Тема будет в следующем формате: Каждый пост будет описывать какую-нибудь одну очередную доработку, в 1-м посте при этом будет постепенно вырисовываться новая полная готовая схема Pentagon. Буду рад выслушать все предложения и замечания. В итоге получится новый Pentagon со следующими возможностями:


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 шт штырьков, к которым нужно будет припаять гребёнку контактов (http://gifok.net/image/RGrc). Спасибо Djoni за подсказку с примером.

10) Плюс 1 слот ISA специально для модема, включенного по схеме Кондратьева, полный вариант с прерыванием от модема IRQ4. Использовать можно, к примеру, в iS-DOSе, можно будет с ПЦ и обратно перекачивать файлы размером больше дискеты, не придётся дёргать винчестер и подключать его к ПЦ. Испытал на себе, это удобно. Сигнал IORQG для модема будет последним в приоритете после 4-го слота ZX-Bus.

11) Наличие мышки PS/2, контроллер на Attiny2313, с буфером, без WAITа.

12) Наличие контроллера PS/2 клавиатуры, на ATmega 48PA-PU, без WAITа, возможность подключения классической механической клавиатуры присутствует.

13) Наличие порта RS-232 с использованием музыкального сопроцессора AY и микросхемы MAX3232.

[B]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 (принтер) придётся разместить на планках.



Итак, начинаю постепенно составлять принципиальную схему в PCAD-2006, наконец все барьеры, которые ранее препятствовали мне освоить эту программу, преодолены.

Я бы мог и в DipTrace всё сделать, но:
а) лицензия меня ограничивает на 1000 выводов на всю схему, чего будет недостаточно для данного проекта;
б) DipTrace не умеет во время разводки платы менять местами альтернативные элементы цифровых микросхем и менять местами альтернативные выводы, всё это делать приходилось самому;
в) большинство заводов, изготавливающие платы, принимают файлы проекта именно в PCAD.

Начало положено, и уже готов тактовый генератор, формирующий 3 тактовые частоты процессора - 14, 7 и 3.5 МГц, а так же сигналы RAS и CAS для работы ОЗУ.
По мере готовности следующих узлов, файл с готовой схемой буду менять на новый.


Разработка окончена, принципиальная схема и изображения печатных плат (на данный момент материнская плата имеет ревизию 7.4, верхняя плата - 4.2:

Материнская плата:

https://i.ibb.co/1K106Gm/Main-Board-v7-4-sch-ps.png (https://i.ibb.co/Cvgw2KH/Main-Board-v7-4-sch-ps.png) https://i.ibb.co/N7QrvmR/Main-Board-v7-4-pcb-components-ps.png (https://i.ibb.co/jHBzNWt/Main-Board-v7-4-pcb-components-ps.png) https://i.ibb.co/PcPPTzy/Main-Board-v7-4-pcb-gnd-ps.png (https://i.ibb.co/qNcc0F8/Main-Board-v7-4-pcb-gnd-ps.png) https://i.ibb.co/7NX25s3/Main-Board-v7-4-pcb-power-ps.png (https://i.ibb.co/QjfrRyW/Main-Board-v7-4-pcb-power-ps.png) https://i.ibb.co/dQQ30L2/Main-Board-v7-4-pcb-bottom-ps.png (https://i.ibb.co/644pR1P/Main-Board-v7-4-pcb-bottom-ps.png) https://i.ibb.co/B2Vx3yd/Main-Board-v7-4-pcb-top-ps.png (https://i.ibb.co/d40qMP1/Main-Board-v7-4-pcb-top-ps.png)

Верхняя плата:

https://i.ibb.co/gPf6Zwx/Top-Board-v4-2-sch-ps.png (https://i.ibb.co/k9wM20t/Top-Board-v4-2-sch-ps.png) https://i.ibb.co/k3n20h7/Top-Board-v4-2-pcb-components-ps.png (https://i.ibb.co/z8cVbSM/Top-Board-v4-2-pcb-components-ps.png) https://i.ibb.co/z6FY7Xn/Top-Board-v4-2-pcb-bottom-ps.png (https://i.ibb.co/vXhGQ3w/Top-Board-v4-2-pcb-bottom-ps.png) https://i.ibb.co/N9mhw9s/Top-Board-v4-2-pcb-top-ps.png (https://i.ibb.co/5rnDqr6/Top-Board-v4-2-pcb-top-ps.png)

Краевой разъём для шины ZX-Bus+3:
https://i.ibb.co/MSS8jj1/ZX-Bus-3-Adapter-ps.png

К нижней части нужно припаять 2 ряда штырьков:
https://static.chipdip.ru/lib/918/DOC001918426.jpg

Райзер платы для шины NemoBus:
https://i.ibb.co/nb4JzhH/Nemo-Bus-Rizer-ps.png


Список компонентов для сборки компьютера Пентагон-4096 (список обновлён под материнскую плату ревизии 7.3 и верхнюю плату ревизии 4.2):

Серию КР1531 (74F) менять на 1533 (74ALS) от нежелательно до категорически нельзя. Наоборот можно.
Серию К555 (74LS) можно заменить на КР1531 (74F), в контроллере NemoIDE это даже будет лучше.
Серию КР1533 (74ALS) можно заменить на КР1531 (74F), но выигрыша не будет никакого, т.к. в тех узлах схемы, где я применил КР1533, её скорости хватает с головой.
Серию КР1531 (74F) можно менять на К531 (74S) только в крайних случаях, если не удалось найти КР1531 (74F). Работает К531 так же, по скорости примерно тоже самое, но ток потребления и нагрев в разы больше.



Резисторы:

МЛТ-0.125:

1 Ом 1шт.
10 Ом 1шт.
20 Ом 1шт.
68 Ом 4шт.
75 Ом 4шт.
110 Ом 3шт.
120 Ом 1шт.
150 Ом 1шт.
200 Ом 1шт.
220 Ом 3шт.
330 Ом 7шт.
430 Ом 1шт.
470 Ом 6шт.
510 Ом 1шт.
560 Ом 1шт.
620 Ом 1шт.
680 Ом 23шт.
820 Ом 2шт.
1 кОм 17шт.
1.1 кОм 3шт.
1.3 кОм 1шт.
1.5 кОм 1шт.
1.6 кОм 3шт.
1.8 кОм 1шт.
2.2 кОм 4шт.
2.4 кОм 1шт.
3 кОм 2шт.
3.6 кОм 1шт.
4.3 кОм 1шт.
4.7 кОм 4шт.
6.8 кОм 17шт.
7.5 кОм 1шт.
10 кОм 37шт.
16 кОм 1шт.
20 кОм 1шт.
22 кОм 9шт.
24 кОм 10шт.
27 кОм 3шт.
30 кОм 1шт.
47 кОм 8шт.
100 кОм 5шт.
2 МОм 1шт.
4.7 МОм 2шт.

Подстроечные:

1 кОм 3шт.
2.2 кОм 1шт.

Конденсаторы:

Керамические:

10 пф 1шт.
20 пф 2шт.
27 пф 1шт.
33 пф 5шт.
47 пф 1шт.
100 пф 4шт.
200 пф 1шт.
300 пф 3шт.
470 пф 1шт.
1 нф 1шт.
6.8 нф 1шт.
10 нф 4шт.
22 нф 1шт.
0.1 мкф 119шт.
0.22 мкф 2шт.

Электролитические:

1 мкф 10в 1шт.
4.7 мкф 10в 1шт.
10 мкф 6.3в 2шт.
10 мкф 10в 14шт.
10 мкф 16в 6шт.
47 мкф 10в 2шт.
100 мкф 6.3в 1шт.
100 мкф 16в 2шт.
220 мкф 6.3в 4шт.
470 мкф 6.3в 1шт.
1000 мкф 6.3в 2шт.
2200 мкф 6.3в 1шт.

Дроссели:

100 мкГн 1шт.
150 мкГн 1шт.

Кварцевые резонаторы:

32.768 кГц 1шт.
3.58 МГц 1шт.
4.43 МГц 1шт.
8 МГц 1шт.
14 МГц 1шт.
20 МГц 2шт.

Диоды:

КС156А 1шт.
1N4148 35шт.
1N5818 7шт.

Транзисторы:

КТ3102 4шт.
КТ315Б 2шт.
BS170 2шт.
BS250 1шт.

Микросхемы:

Аналоговые:

К554СА3 1шт.
CXA1645 (CXA2075) 1шт.
LM324 1шт.
LM358 3шт.
LM7905 1шт. (TO220)
MAX3232 1шт.
MAX660 1шт.
TLC7528 2шт.

Цифровые:

Серия К555 (74LS):

К555АП5 (74LS244) 1шт.
К555АП6 (74LS245) 1шт.
К555ИР23 (74LS374) 3шт.
К555ЛН2 (74LS05) 1шт.
К555ТМ2 (74LS74) 1шт.
К555ТМ9 (74LS174) 1шт.

Серия КР1531 (74F):

КР1531ИД14 (74F139) 1шт.
КР1531ИЕ17 (74F169) 2шт.
КР1531КП2 (74F153) 2шт.
КР1531КП7 (74F151) 1шт.
КР1531КП11 (74F257) 6шт.
КР1531КП12 (74F253) 11шт.
КР1531КП19 (74F352) 1шт.
КР1531ЛА3 (74F00) 1шт.
КР1531ЛА4 (74F10) 1шт.
КР1531ЛЕ1 (74F02) 1шт.
КР1531ЛИ1 (74F08) 2шт.
КР1531ЛИ3 (74F11) 2шт.
КР1531ЛЛ1 (74F32) 8шт.
КР1531ЛН1 (74F04) 1шт.
КР1531ЛП5 (74F86) 2шт.
КР1531ТМ2 (74F74) 3шт.
КР1531ТМ8 (74F175) 1шт.

Серия КР1533 (74ALS):

КР1533АГ3 (74ALS123) 1шт.
КР1533АП5 (74ALS244) 2шт.
КР1533ИД7 (74ALS138) 6шт.
КР1533ИЕ5 (74ALS93) 2шт.
КР1533ИЕ10 (74ALS161) 1шт.
КР1533ИР16 (74ALS295) 3шт.
КР1533ИР22 (74ALS373) 6шт.
КР1533ИР23 (74ALS374) 4шт.
КР1533ИР35 (74ALS273) 4шт.
КР1533КП2 (74ALS153) 2шт.
КР1533КП11 (74ALS257) 2шт.
КР1533ЛА1 (74ALS20) 3шт.
КР1533ЛА2 (74ALS30) 5шт.
КР1533ЛА3 (74ALS00) 3шт.
КР1533ЛА4 (74ALS10) 1шт.
КР1533ЛЕ1 (74ALS02) 7шт.
КР1533ЛЕ4 (74ALS27) 1шт.
КР1533ЛИ1 (74ALS08) 7шт.
КР1533ЛИ3 (74ALS11) 3шт.
КР1533ЛЛ1 (74ALS32) 11шт.
КР1533ЛН1 (74ALS04) 7шт.
КР1533ЛП5 (74ALS86) 1шт.
КР1533ЛП8 (74ALS125) 2шт.
КР1533ТМ2 (74ALS74) 9шт.
КР1533ТМ8 (74ALS175) 4шт.
КР1533ТМ9 (74ALS174) 3шт.

Прочая логика:

К561ИЕ10 1шт.
74HCT00 1шт.
MC14069 1шт.

Большие микросхемы:

SIMM 30pin 4MB 1шт.
GLT751208 1шт.
27C512 1шт.
W27C010 1шт.
КР1818ВГ93 1шт.
ATtiny13A 1шт.
ATtiny2313-20PU 1шт.
ATmega48PA-PU 1шт.
AY-3-8910 (AY-3-8912) 1шт.
HM6818A 1шт.
Z84C0020PEC 1шт.

Разъёмы:

CR2032 1шт.
Штырьки 1 ряд 1x55 pin
Штырьки 2 ряда 2x33 pin
BH-26 1шт.
BH-34 1шт. (FDD)
BH-40 1шт. (IDE)
BH-50 2шт.
IDC-50 2шт.
DA15 Female 1шт.
DE9 Female 1шт.
DE15 Female 1шт. (высокой плотности - под монитор)
NemoBus 2x31pin 3шт.
Ext ISA 1шт.
ATX-20Pin 1шт.
Molex 4pin Male 1шт.
Mini-DIN-4pin 1шт. (S-Video)
Mini-DIN-6pin x2 1шт. (PS/2 клавиатура + мышь)
RCA-313 1шт. (3xRSA вертикальный)

Панельки под микросхемы:

DIP-8 1шт.
DIP-20 узкий 1шт.
DIP-24 широкий 1шт.
DIP-28 узкий 1шт.
DIP-28 широкий 2шт.
DIP-32 узкий 1шт.
DIP-32 широкий 1шт.
DIP-40 широкий 3шт.
SIMM 30pin 1шт.

Крепёжные элементы:

Латунные стойки L=6мм 10шт.
Латунные стойки L=40мм 4шт.



Список желающих получить комплект плат: (оплатил / отправлено / получил)


shurik-ua https://zx-pk.ru/threads/28489-pentagon-1024-4096-ot-northwood.html?p=1060957&viewfull=1#post1060957 (-/-/-)
shurik-ua https://zx-pk.ru/threads/28489-pentagon-1024-4096-ot-northwood.html?p=1067354&viewfull=1#post1067354 (-/-/-)
Ldaborc https://zx-pk.ru/threads/28489-pentagon-1024-4096-ot-northwood.html?p=1060974&viewfull=1#post1060974 (-/-/-)
solegstar https://zx-pk.ru/threads/28489-pentagon-1024-4096-ot-northwood.html?p=1060978&viewfull=1#post1060978 (-/-/-)
Rusazar https://zx-pk.ru/threads/28489-pentagon-1024-4096-ot-northwood.html?p=1060985&viewfull=1#post1060985 (-/-/-)
Dimaz https://zx-pk.ru/threads/28489-pentagon-1024-4096-ot-northwood.html?p=1064509&viewfull=1#post1064509 (-/-/-)
Max Wood (ЛС) (-/-/-)
Prusak (ЛС) (-/-/-)
s_kosorev (ЛС) (-/-/-)
Andyth_ (ЛС на Барахолке) (-/-/-)
?
?
?
Northwood (+/-/-)
Northwood (+/-/-)


Состояние заказа в JLCPCB: Не заказано.

Страница проекта:
https://github.com/AleksandrDneprCity/Pentagon-4096

CodeMaster
29.11.2017, 22:04
Если эта тема вызовет интерес, то буду её развивать.

Интересно только осталось ли ещё что-то что теоретически можно добавить в Pentagon или машина-мечта?

Northwood
29.11.2017, 22:23
Интересно только осталось ли ещё что-то что теоретически можно добавить в Pentagon или машина-мечта?

Вообще ещё не хватает организации блокировки части верхней памяти под RAM диск. Можно было бы 1 Мб или 2 Мб выделить под RAM-диск, остальную часть памяти отдать пользователям на усмотрение. Но тогда не совсем ясно, как совместить возможности многостандартности расширения с RAM-диском.

Northwood
30.11.2017, 00:03
Для практического удобства неплохо было-бы добавить возможность прерывания выполняемой программы - отладка кода, сохранение дампа игры для дальнейшего продолжения с места останова, корпоративного переключения программ, или выполнения фоновых задач... К примеру играешь во что-то, нажал копку и из меню загрузил музон на SounDrive для проигрывания фоном, или временно переключился на работу с другой программой-упаковщиком, дал задание упаковки файлов на диске... у тебя же около 280-295% процентов производительности проца.


На одном живом Z80 и рассыпной логике сделать то что на видео не реально. И проценты производительности здесь не помогут, одного прерывания и одного блока памяти будет мало. То что на видео, реализовано на ПЛИСине, на которой можно без участия паяльника сделать всё что угодно. Там же конкретно реализованы 4 самостоятельных ZX-Spectrum, каждый со своим процессором и памятью. Т.е. на рассыпной логике нужно сделать тоже самое - поставить 4 шт Z80 и по сути собрать 4 ZX-Spectrum-а, работающих независимо друг от друга, но с выводом одной общей картинки. Это далеко выходит за пределы данного проекта.

Если в рамках Pentagon-а просто прерывать программу, то для этого служит кнопка NMI. Если на Pentagon-е нужна многозадачность на одном процессоре, тогда нужна операционная система. Есть интересная ОС Myphos, в которой есть и многозадачность, и оконный интерфейс, но это будет далеко не то что на видео. Но команда, которая её делала, давно забросила проект.

JV-Soft
30.11.2017, 03:32
Northwood, очень интересно ! , на сколько готова схематика ? Что из описанного оттестили в железе ? Мы тут немного топчемся , выпустили грабер модов под 1024 - тыц (http://zx-pk.ru/threads/28413-proigryvatel-semplov-iz-mod-fajlov.html?highlight=) , сейчас JC и PFC под 1024 перепиливаем , на GS и DNA под 1024 есть планы, а какие у вас заготовки под ваш проект ?

Northwood
30.11.2017, 05:45
Northwood, очень интересно ! , на сколько готова схематика ? Что из описанного оттестили в железе ? Мы тут немного топчемся , выпустили грабер модов под 1024 - тыц (http://zx-pk.ru/threads/28413-proigryvatel-semplov-iz-mod-fajlov.html?highlight=) , сейчас JC и PFC под 1024 перепиливаем , на GS и DNA под 1024 есть планы, а какие у вас заготовки под ваш проект ?

Всё что я описал в этой теме, кроме расширения ZX-Bus до 4 слотов, всё собрано и работает у меня. Все выявленные в ходе испытания в реале недостатки, описаны. Но с расширением ZX-Bus проблем возникнуть не должно, т.к. его я сделаю по тому же принципу, по которому уже сделано 2 слота в оригинальной схеме.

У меня установлен GS, память я расширил до 2Мб, реально всего доступно 2016 Кб, т.е. на 1 страницу 32Кб меньше, под МОДы, соответственно, ровно 2000 Кб. Где-то должна быть моя тема по моей схеме расширения, в котором я выкинул всё старое ОЗУ 128 Кб, и всё ОЗУ 2Мб реализовано на плате, воткнутой в слот GS. А затем разогнал GS до 18 МГц.

Есть видео, правда, качество не очень, т.к. снимал веб-камерой с экрана тв. Правда, я ещё не снимал видео с демонстрацией всех видеорежимов.


https://youtu.be/Ld34O8cYQXo

То что можно протестировать уже сейчас существующим ПО, я проверил. Есть несколько игр, использующих видеорежим "16Colors", есть 1 игра, использующая аппаратный мультиколор, есть картинки во флеш-колоре и в гигаскрине. Монохромный видеорежим 512х192 использован в терминалке Мелон и в моём BIOS-е на этапе тестирования ОЗУ и оборудования. Цветной режим 512х192 использован в моём BIOS-Setup. Работоспособность мультиколорного режима 512х192 я протестировал заполняя вручную байты в соответствующих экранных областях, увы, ПО, использующего его нет, но потенциал этого режима очень хорош.
Наконец, режим 384х288 использован в одной единственной программе, рисующей испытательную телевизионную таблицу на весь экран.

Сейчас всё это сделано в виде многочисленных бутербродов из микросхем и кучи МГТФ провода, плюс 1 макетная плата. Есть желание сделать нормальную плату, т.к. мой опытный образец практически не ремонтопригоден - в случае простого обрыва провода, крайне тяжело выяснить, откуда он шёл и где позиция по схеме каждой напаянной сверху микросхемы.

У меня в планах собрать кодер PAL/NTSC. За основу взял кодер от NedoPC, но хочу реализовать оба стандарта цвета сразу с переключением джампером. Все детали у меня есть, плата разведена, только сейчас пока не до её изготовления, но в ближайшее время всё-таки сделаю. Тогда я смогу записать уже качественное видео с демонстрацией видеорежимов.

JV-Soft
30.11.2017, 12:52
установлен GS, память я расширил до 2Мб
Читал когда делал GS , но еще упростил - http://zx-pk.ru/threads/17696-general-sound-sborka-i-nastrojka-varianta-2011-rasshirenie-ram-2mb.html?p=911281&viewfull=1#post911281
На счет доработок, захочет ли народ те доработки которые не поддерживаются ни каким софтом или поддерживаются одной прогой. А размер платы они думаю сущществено увеличивают и стоимость.

Компьютер будет работать не со всеми типами процессоров Z80. Но отлично работает с Z84C0020PEC, и их не сложно достать, китайцы до сих пор их продают пачками;
Покупал у китайцев как раз для GS , оказался перепиленный Z80A , а купить реальный Z84C0020PEC проблема. На прямой вопрос китайцам - оригинал ? Они отвечают - реплика :)
По поводу 7 и 14 мгц тут может вылезти куча касяков , на таких частотах одна микросхема не той серии например 555 вместо 1531 и уже турба работать не будет, тут вот размышления по поводу 7 без вайта - http://zx-pk.ru/threads/26977-pentagon-obshchaya-plata-dorabotok.html?p=888482&viewfull=1#post888482

На счет 5 бита 7ffd , там надо делать переключение - клацнул , блокировки нет и 1024кб , клацнул назад - 128 кб и защелка.

Mick
30.11.2017, 12:59
окупал у китайцев как раз для GS , оказался перепиленный Z80A , а купить реальный Z84C0020PEC проблема. На прямой вопрос китайцам - оригинал ? Они отвечают - реплика

Покупай в серьезных магазинах типа digikey тогда не будет вам реплик. Ну да там цены сразу "приятно" удивят.

zx_
30.11.2017, 13:16
Есть несколько игр, использующих видеорежим "16Colors", есть 1 игра, использующая аппаратный мультиколор, есть картинки во флеш-колоре и в гигаскрине. Монохромный видеорежим 512х192 использован в терминалке Мелон и в моём BIOS-е на этапе тестирования ОЗУ и оборудования.


оченно интересно! ждем схем описаний

- - - Добавлено - - -


есть 1 игра, использующая аппаратный мультиколор

? очень любопытно на нее посмотреть

Northwood
30.11.2017, 14:05
? очень любопытно на нее посмотреть

Не помню, откуда я её взял, но вот она:
63123

В меню игры по умолчанию включен программный мультиколор, можно выбирать количество тактов в строке или включить аппаратный мультиколор.

- - - Добавлено - - -


Читал когда делал GS , но еще упростил - http://zx-pk.ru/threads/17696-general-sound-sborka-i-nastrojka-varianta-2011-rasshirenie-ram-2mb.html?p=911281&viewfull=1#post911281
Ты использовал диодную логику, я же от неё наоборот намерено ухожу всегда, т.к. она сильно ограничивает потенциал по разгону. Я же свой GS разогнал до 18 МГц чтобы увеличить количество тактов в прерывании и убрать торможение GS при одновременном проигрывании всех 4х каналов на некоторых МОДах.



По поводу 7 и 14 мгц тут может вылезти куча касяков , на таких частотах одна микросхема не той серии например 555 вместо 1531 и уже турба работать не будет,
При сборке любого устройства всегда нужно быть внимательным, что ставишь. 1531 в случае крайней необходимости можно заменить на 531, но 531 жрёт много и сильно греется. Но вот к примеру, ТМ8 я нигде не нашёл серии 1531, пришлось ставить 531.



тут вот размышления по поводу 7 без вайта - http://zx-pk.ru/threads/26977-pentagon-obshchaya-plata-dorabotok.html?p=888482&viewfull=1#post888482
Ну я давно все проблемы с 7 МГц порешал. Кстати, TR-DOS у меня работает работает в Турбо-7 МГц. Поначалу я тоже по команде "Motor" от контроллера дисковода переводил весь комп на 3.5 МГц. И хотя все дискеты читались и писались нормально, но это не решало проблему с коммандерами, которые в цикле опрашивают датчик наличия дискеты - как только включал Турбо-7 МГц, тут же выскакивало "No Disc". Хорошую идею мне подсказал Solegstar, у него в Профи Турбо 7 МГц в TR-DOSе не отключается, а просто удлиняется WAIT-ом сигнал IORQ. Я нашёл в одном из электронных журналов схему, которая применялась в KAY-1024, и собрал в своём Пентагоне, немного переработав. Сразу проверил в TR-DOSе, проблема с "No Disc" ушла. Отключил переключение из Турбо-7 МГц в Нормал-3.5 МГц при работе с TR-DOS - всё отлично работает. Протестировал и форматирование дискет, и запись их, и совместимость записанных в Турбо-7МГц дискет с записью в режиме Нормал - всё отлично.
Этой же схемой я решил проблемы со всей остальной периферией, которая отказывалась работать в Турбо. Особенность схемы удлинения IORQ, которую я применил, в том, что она это делает не для всех портов, а только для тех, которые реально в Турбо не работают. Я туда поставил микросхему 1533ЛА2, у неё 8 входов, можно задавать до 8 устройств, которым это требуется. Не обязательно по одному порту, например, весь TR-DOS у меня занял всего 1 вход микросхемы ЛА2.
Если нужно будет добавить ещё какой-то порт на удлинение IORQ, то можно задействовать один из оставшихся свободных входов микросхемы ЛА2.



На счет 5 бита 7ffd , там надо делать переключение - клацнул , блокировки нет и 1024кб , клацнул назад - 128 кб и защелка.
У меня будет 2048 Кб при включенной блокировке #7FFD-D5.

ZX_NOVOSIB
30.11.2017, 14:22
Northwood, самый главный вопрос, а кэш рэмэмбер (http://zx-pk.ru/threads/27892-cash-remember-servisnyj-monitor-(512k-cache).html)-то будет работать с этой "машиной мечты"?

JV-Soft
30.11.2017, 14:35
Ты использовал диодную логику, я же от неё наоборот намерено ухожу всегда, т.к. она сильно ограничивает потенциал по разгону.
Ты смотрел невнимательно , там ,где и как они стоят , гнать можно сколько угодно.


Я же свой GS разогнал до 18 МГц чтобы увеличить количество тактов в прерывании и убрать торможение GS при одновременном проигрывании всех 4х каналов на некоторых МОДах.
Глючные моды что описывали в теме я проверял на 14.4мгц , все ок , к тому же ИЕ2 (которую так и не смог найти) меняется на ИЕ5. Поэтому гнать до опупения как бы нет смысла.


У меня будет 2048 Кб при включенной блокировке #7FFD-D5.
Мое субъективное мнение расширение должно отключаться полностью до стандартных 128к.

Northwood
30.11.2017, 15:03
Northwood, самый главный вопрос, а кэш рэмэмбер (http://zx-pk.ru/threads/27892-cash-remember-servisnyj-monitor-(512k-cache).html)-то будет работать с этой "машиной мечты"?

С одной минимальной доработкой теневого ОЗУ, которое у меня уже сделано. Мне остаётся только добавить включение "кеш" при нажатии на "Magic" и добавить кнопку "кеш/дос". Ну и в BIOSе должна быть выключена эмуляция 0-й страницы ПЗУ.

- - - Добавлено - - -



Мое субъективное мнение расширение должно отключаться полностью до стандартных 128к.

Такая необходимость была ранее из-за срабатывания расширения памяти при короткой адресации к порту #7FFD командами OUT (#FD),A. Эта проблема полностью решена схемой отлова таких команд. Расширение отключается автоматически до полностью стандартных 128 Кб как только процессор читает код такой команды. Как только процессор читает код другой команды, расширение памяти включается обратно. Попросту говоря, такие программы видят только 128 Кб, но при этом загружать их можно из RAM-диска, использующего верхнюю память. Поэтому необходимость ручного отключения расширения отпала.

Mick
30.11.2017, 15:22
Такая необходимость была ранее из-за срабатывания расширения памяти при короткой адресации к порту #7FFD командами OUT (#FD),A. Эта проблема полностью решена схемой отлова таких команд. Расширение отключается автоматически до полностью стандартных 128 Кб как только процессор читает код такой команды. Как только процессор читает код другой команды, расширение памяти включается обратно. Попросту говоря, такие программы видят только 128 Кб, но при этом загружать их можно из RAM-диска, использующего верхнюю память. Поэтому необходимость ручного отключения расширения отпала.

Запусти демку 7th Reality и будешь приятно удивлен, а затем придешь к выводу что можно подвесить не только короткой адресацией ;)

Northwood
30.11.2017, 15:26
Запусти демку 7th Reality и будешь приятно удивлен, а затем придешь к выводу что можно подвесить не только короткой адресацией ;)

Скачал TAP-версию с WorldOfSpectrum, вечером проверю и отпишусь о результатах. Если будет вешаться, то внесу доработку.

Northwood
30.11.2017, 22:24
Скачал "7th Reality" TR-DOS-версию, действительно падает перед самой частью с многогранником. Проверил и на реале, и на эмуле. На эмуле если выключить расширенную память, то демка работает до конца. Сейчас покопаю демку, чтобы выяснить, что именно происходит что приводит к падению.
А вообще, можно будет сделать и отключение всей верхней памяти через BIOS.

- - - Добавлено - - -

Покопал, всё просто - в этой демке напрямую через #7FFD щёлкают верхнюю память, 7-й бит порта. Только спрашивается, зачем ?

Mick
30.11.2017, 22:27
Скачал "7th Reality" TR-DOS-версию, действительно падает перед самой частью с многогранником. Проверил и на реале, и на эмуле. На эмуле если выключить расширенную память, то демка работает до конца. Сейчас покопаю демку, чтобы выяснить, что именно происходит что приводит к падению.

Подскажу, они срут в старшие биты порта 7FFDh. На Фениксе используется 7 бит порта 7FFD и он тоже благополучно вешается.

Northwood
30.11.2017, 22:31
Подскажу, они срут в старшие биты порта 7FFDh. На Фениксе используется 7 бит порта 7FFD и он тоже благополучно вешается.

Уже увидел, только спрашивается, зачем целенаправленно слать 7-й бит порта #7FFD, используя полную адресацию, если демка рассчитана на 128 Кб памяти ?

Mick
30.11.2017, 22:32
Уже увидел, только спрашивается, зачем целенаправленно слать 7-й бит порта #7FFD, используя полную адресацию, если демка рассчитана на 128 Кб памяти ?

Возможно просто ошибка, а возможно умышленное действие чтобы было онли 128 :)
Или специально это было сделано ввиду просчетов по тактам эффекта - скажем значение аккумулятора(регистра) используется скажем для нескольких операций.
Это надо целиком код исследовать.

Northwood
30.11.2017, 22:41
Возможно просто ошибка, а возможно умышленное действие чтобы было онли 128 :)
Или специально это было сделано ввиду просчетов по тактам эффекта - скажем значение аккумулятора(регистра) используется скажем для нескольких операций.
Это надо целиком код исследовать.

Конкретно в "7th Reality" есть таблица со сценарием, содержащая номера страниц, которые нужно включить, а точнее не номера страниц, а конкретное число, которое нужно отправить в порт 0x7FFD. Значение 0x96 для данного порта прямо прописано в таблице, и оно больше нигде не используется - после включения страницы, в аккумулятор записывается новое значение из (HL).

А вообще много подобных демок и иных программ, которые точно так же щёлкают без надобности старшие биты 0x7FFD ?

goodboy
30.11.2017, 23:08
вариант типа ld a,#50 ; out (#fd),a часто использовался для скорпа

Northwood
30.11.2017, 23:24
вариант типа ld a,#50 ; out (#fd),a часто использовался для скорпа

Об этом я уже писал:



3) В схеме будет узел, который отлавливает команды короткой адресации к портам IN A,(xx), OUT (xx),A, как только процессор прочитает код такой команды, моментально будет заблокирован порт #1FFD, а порт #7FFD будет переведён на мягкую дешифрацию. Как только процессор прочитает из ОЗУ код следующей команды, всё возвращается обратно с доступом всей имеющейся памяти. Это уже давно собрано у меня, и я уже давно забыл, что такое несовместимость таких программ, как INSULT, STS 3.3 и т.д. Для работы этих программ не нужно будет вручную отключать верхнюю память, STS 3.3 можно грузить с RAM-диска.


Программа просто будет видеть в 2 раза меньше памяти, скорей всего будет думать, что это Scorpion ZS-256 вместо Scorpion ZS-1024.

goodboy
30.11.2017, 23:56
http://vtrd.in/gamez/n/NAVY-A_B.ZIP
тут одновременно переключается бордюр/экран out (#fc),a

Northwood
01.12.2017, 00:29
http://vtrd.in/gamez/n/NAVY-A_B.ZIP
тут одновременно переключается бордюр/экран out (#fc),a

Проверил на своём Пентагоне - отлично работает. В интро красиво сделан бордюрный эффект, разворачивающийся вместе с текстом на экране. Игрушка загружается и работает. В самой игре время не привязано к прерываниям - в Турбо-7 МГц время на часах тикает в 2 раза быстрее, при этом чувак с автоматом и бегает в 2 раза быстрее. В Турбо-14 МГц с WAIT-ом в данной игре разницы от 7 МГц почти никакой.

shurik-ua
01.12.2017, 02:52
3) В схеме будет узел, который отлавливает команды короткой адресации к портам IN A,(xx), OUT (xx),A,

эта схема сделана как здесь ? - тыц (http://zx.clan.su/forum/7-128-1) или какая то собственная разработка ?

Northwood
01.12.2017, 03:53
эта схема сделана как здесь ? - тыц (http://zx.clan.su/forum/7-128-1) или какая то собственная разработка ?
Не то. В моём варианте отлавливаются коды команд IN A,(xx) и OUT (xx),A, их значения 0xD3 и 0xDB. Изначально схему нашёл в одном из электронных журналов, уже не помню в каком, схему переработал под Пентагон 1.4.

Вот конкретная схема, которая собрана у меня сейчас. Сама доработка, отлавливающая команды короткой адресации к портам, собрана на эемелнтах:
New_DD3.1, New_DD3.2, New_DD4.1 (распознавание чисел на шине данных #D3 и #DB, соответствующие кодам этих двух команд),
New_DD5.1 - триггер, выключающийся когда происходит выборка из памяти кода команды #D3 или #DB, и включающийся при выборке кода любой другой команды,
New_DD1.1, New_DD2.2, на котором формируетcя мягкая дешифрация #FD при выключенном триггере New_DD5.1,
New_DD1.2, на котором активируется блокировка портов #1FFD и трёх триггеров 1533ТМ2, реализующих биты выборки верхней памяти, D5,D6,D7 порта #7FFD.

63132

То что не проверяется состояние линии MREQ для переключения триггера, не страшно. M1 активируется исключительно в двух случаях - при выборке кода команд из ОЗУ и при срабатывании маскируемого прерывания INT. В первом случае нам и нужно чтобы триггер сработал, если это код нужной команды, а при срабатывания прерывания на шине данных всегда FF, если конечно она стабильна.

При составлении новой платы, компоновка снова претерпит изменения.

- - - Добавлено - - -

P.s. Перед тем как начну составлять полную схему компьютера Pentagon-4096, вынужден осваивать PCAD-2006. До этого я долгое время работал в Dip-Trace, но у меня ограниченная лицензия до 1000 выводов компонентов, чего не хватит для данного проекта.

Переход от PCAD 4.5, в котором я работал с самого начала, в PCAD-2006 вызвал у меня большие трудности в понимании программы. Переход на Dip-Trace был гораздо легче. Но после Dip-Trace перейти на PCAD-2006 оказалось намного легче, чем после PCAD-4.5. Уже разобрался с принципом построения библиотек компонентов, завтра уже начну составлять схему и выкладывать результат в первом посте темы.

CodeMaster
01.12.2017, 09:10
А вообще много подобных демок и иных программ, которые точно так же щёлкают без надобности старшие биты 0x7FFD ?

Ради одной демы смысла менять схему нет, можно просто дему пропатчить. Не пробовали убирать переключение 7-го бита из этой таблицы?

solegstar
01.12.2017, 11:41
Northwood, жаль, что не выбрал порт DFFD для расширенной памяти, тогда проблем бы небыло с 7 битом 7FFD. я, если честно, и не сразу понял в чем проблема, потому-что на Профи всё работает, а тут оказалось вот что...

Northwood
01.12.2017, 15:05
Northwood, жаль, что не выбрал порт DFFD для расширенной памяти, тогда проблем бы небыло с 7 битом 7FFD. я, если честно, и не сразу понял в чем проблема, потому-что на Профи всё работает, а тут оказалось вот что...

Стандарт расширения памяти KAY-1024 был выбран в Пентагоне-1024 1.4 с самого начала ещё самым первым его разработчиком KOE, а KAY-1024 использует 7-й бит #7FFD, а это было придумано ещё в 90-х годах Вячеславом Скутиным (NEMO). Хотя сложно сказать, кто самым первым придумал вообще использовать старшие биты порта #7FFD для расширения > 128 Кб, т.к. кроме KAY-1024, это используется и в Scorpion ZS-1024, и при расширении Пентагона-128 до Пентагон-512. Мне же оставалось только расширить использование порта #7FFD до конца под стандарт Пентагон-1024, чтобы данный комп всё-таки стал больше похож на Пентагон.

Возможность реализации порта #DFFD меня всегда интересовала на самом-то деле. Ещё в начале 2000-х, когда у меня был Пентагон-128, расширенный до 1Мб, я сделал ему варианты расширения памяти:
128 Кб,
512 Кб Pentagon (#7FFD биты 6,7),
1024 Кб Profi / ATM-Turbo (#DFFD/#FDFD биты 0,1,2),
256 Кб Scorpion (#1FFD бит 4),
256 Кб Орель БК-08 от Barmaley (останется секретом).

Т.к. выбрать можно было только один конкретный порт расширения памяти, то схема была не сложной. Если какая-то демка не шла с включенным стандартом Пентагон-512, то я переключал на Профи и демка работала.

Но в случае же с Пентагоном-1024, расширенным до 4Мб, используется сразу 2 порта расширения одновременно. Я попытался составить схему, чтобы можно было через BIOS выбирать разные комбинации моделей Спектрума и задавать доступный объём ОЗУ - 128 / 256 / 512 / 1024 / 2048 / 4096 Кб, но схема потянула на 15 микросхем, включая дешифраторы всех портов памяти, что я забросил эту идею как не оправдывающую себя.

Но т.к. пришлось опять вернуться к вопросу выбора стандарта расширения памяти, то пробую составить более простой вариант:
1 - вкл/выкл порта #1FFD;
2 - #7FFD / #DFFD (думаю, что нет смысла делать порт старой версии ATM-Turbo #FDFD);
3 - 5-й бит #7FFD - расширение памяти / блокировка
4 - память максимум / 128 Кб.

Если количество микросхем будет вменяемое, то буду её делать. Позже доработаю под это дело и BIOS-Setup.

CodeMaster
01.12.2017, 16:24
но схема потянула на 15 микросхем, включая дешифраторы всех портов памяти, что я забросил эту идею как не оправдывающую себя.

А если на GALках или ПЗУ?

Northwood
01.12.2017, 16:39
А если на GALках или ПЗУ?
Ради избыточных опций ставить ПЗУ не хочу, тем более я не готов сходу ответить, во что выльется задержка самой быстрой флеш-пзу Winbond в 45 нс в режиме Турбо-14 МГц. Мне кажется, что достаточно будет более простого решения с включением и отключением отдельно взятых портов и отключения всей верхней памяти. Посмотрим, сколько выйдет микросхем.

Mick
01.12.2017, 18:20
А если на GALках или ПЗУ?

С GALками надо осторожнее, особенно если будет турбо режим, не слишком они шустры при большой впихиваемой схемы. Собственно и ПЗУ туда же.
Если уж выбирать, то лучше смотреть в сторону CPLD

CodeMaster
01.12.2017, 19:17
не слишком они шустры

Так конфигурация памяти не меняется динамически софтом, она задаётся в BIOS или где нужно быстродействие "мапера"?

Mick
01.12.2017, 19:27
Так конфигурация памяти не меняется динамически софтом, она задаётся в BIOS или где нужно быстродействие "мапера"?

Если планируется их применять в рулении адресов для памяти, то однозначно не стоит. Я это уже проходил когда делал ZXM-777.
Вроде и думал что 15нс задержка, но парадокс в том что схема на КП13 быстрее выдавала адреса, чем на ATF. И там где на КП13 память 70нс спокойно работала на 7МГц, то с ATF даже 55нс было недостаточно, только узкие кэшины 20нс работали хорошо. Поэтому на них он и вышел.
Впрочем тут должны остатья все мои потуги в этом направлении.
Плюс ATF с TTL логикой тоже не сильно дружат, запросто может сигнал ушатать, что кондер приходится вешать.
Их имеет смысл ставить на менее ответственные сигналы.

Опять же я имею ввиду, если комп планирует работать в турбо режиме.

JV-Soft
01.12.2017, 21:04
Northwood, а какой софт использует 2048/4096 по твоему стандарту ? Я просто какие то годы выпадал и застал в основном 512/1024

Northwood
01.12.2017, 21:45
Northwood, а какой софт использует 2048/4096 по твоему стандарту ? Я просто какие то годы выпадал и застал в основном 512/1024

Софта, который использует больше 1 Мб, на данный момент нет. Я только тест памяти UMT доработал, добавив пункт "Pentagon-4096, чтобы сканировал все 4Мб памяти. Так же "STS 5.1 AL" я доработал, чтобы его можно было загружать в банки 0xF0...0xF7 порта #7FFD, и туда же прятать его дополнительный модуль sts5.1b, что упрощает взлом программ, использующих порт #7FFD по полной программе.

Вся фишка в том, что получается поддержка сразу 3-х стандартов расширения до 1Мб без никаких переключений - Pentagon-1024, KAY-1024 и Scorpion-1024.
Была идея под RAM-диск отдать целиком 1 или 2Мб, заблокировав их вне TR-DOS, а остальным пользоваться по своему усмотрению, для этого нужно продумать концепцию, как сделать так чтобы и все эти 3 стандарта остались, и RAM-диск не тронутым. Но пока съесть рыбку и не намочить руки не получается. Пока что идея осталась не реализованная, а после подключения винчестера с возможностью прямого монтирования TRD-образов без участия RAM-диска, большая необходимость в RAM-диске вообще отпала.

- - - Добавлено - - -

Есть готовый набросок схемы менеджера портов памяти. Количество микросхем уменьшил с 15 до 10, но возможности получаются несколько шире, чем я планировал, плюс схема уже имеют 2 готовых порта для AY - #BFFD и #FFFD.

1) Поддержка 3-х портов расширения памяти:
а) #7FFD, биты 6, 7, 5;
б) #DFFD, биты 0, 1, 2;
в) #1FFD, биты 4, 7.

Через BIOS можно будет комбинировать порты между собой.

Если установлена память 1Мб, доступны следующие варианты:
а) Pentagon-512 - #7FFD биты 6,7 (512Кб);
б) Profi-512 - #DFFD биты 0,1 (512Кб);
в) KAY-1024 - #7FFD бит 7, #1FFD биты 4, 7 (1024Кб);
г) Scorpion-1024 - #7FFD биты 6,7, #1FFD бит 4 (1024Кб);
д) гибрид Profi-256 + KAY-512 - #DFFD бит 0, #1FFD биты 4,7 (1024Кб);
е) гибрид Pentagon-512 + Profi-256 - #7FFD биты 6,7, #DFFD бит 0 (1024Кб);
ж) гибрид Pentagon-256 + Profi-512 - #7FFD бит 7, #DFFD биты 0,1 (1024Кб);

Если установлена память 4Мб, доступны следующие варианты:
а) Pentagon-1024 - #7FFD биты 6,7,5 (1024Кб);
б) Profi-1024 - #DFFD биты 0,1,2 (1024Кб);
в) Kay-1024 + Scorpion-1024 + Pentagon-1024 - #1FFD биты 4,7, #7FFD биты 6,7,5 (4096Кб);
г) Kay-512 + Profi-1024 - #1FFD биты 4,7, #DFFD биты 0,1,2 (4096Кб);
д) Pentagon-1024 + Profi-512 - #7FFD биты 6,7,5, #DFFD биты 0,1 (4096Кб);
е) Pentagon-512 + Profi-1024 - #7FFD биты 6,7, #DFFD биты 0,1,2 (4096Кб).

Ну и всё расширение можно вообще отключить, оставив только 128 Кб.

Djoni
02.12.2017, 04:34
Софта, который использует больше 1 Мб, на данный момент нет. Я только тест памяти UMT доработал, добавив пункт "Pentagon-4096, чтобы сканировал все 4Мб памяти. Так же "STS 5.1 AL" я доработал, чтобы его можно было загружать в банки 0xF0...0xF7 порта #7FFD, и туда же прятать его дополнительный модуль sts5.1b, что упрощает взлом программ, использующих порт #7FFD по полной программе.

Вся фишка в том, что получается поддержка сразу 3-х стандартов расширения до 1Мб без никаких переключений - Pentagon-1024, KAY-1024 и Scorpion-1024.
Была идея под RAM-диск отдать целиком 1 или 2Мб, заблокировав их вне TR-DOS, а остальным пользоваться по своему усмотрению, для этого нужно продумать концепцию, как сделать так чтобы и все эти 3 стандарта остались, и RAM-диск не тронутым. Но пока съесть рыбку и не намочить руки не получается. Пока что идея осталась не реализованная, а после подключения винчестера с возможностью прямого монтирования TRD-образов без участия RAM-диска, большая необходимость в RAM-диске вообще отпала.

- - - Добавлено - - -

Есть готовый набросок схемы менеджера портов памяти. Количество микросхем уменьшил с 15 до 10, но возможности получаются несколько шире, чем я планировал, плюс схема уже имеют 2 готовых порта для AY - #BFFD и #FFFD.

1) Поддержка 3-х портов расширения памяти:
а) #7FFD, биты 6, 7, 5;
б) #DFFD, биты 0, 1, 2;
в) #1FFD, биты 4, 7.

Через BIOS можно будет комбинировать порты между собой.

Если установлена память 1Мб, доступны следующие варианты:
а) Pentagon-512 - #7FFD биты 6,7 (512Кб);
б) Profi-512 - #DFFD биты 0,1 (512Кб);
в) KAY-1024 - #7FFD бит 7, #1FFD биты 4, 7 (1024Кб);
г) Scorpion-1024 - #7FFD биты 6,7, #1FFD бит 4 (1024Кб);
д) гибрид Profi-256 + KAY-512 - #DFFD бит 0, #1FFD биты 4,7 (1024Кб);
е) гибрид Pentagon-512 + Profi-256 - #7FFD биты 6,7, #DFFD бит 0 (1024Кб);
ж) гибрид Pentagon-256 + Profi-512 - #7FFD бит 7, #DFFD биты 0,1 (1024Кб);

Если установлена память 4Мб, доступны следующие варианты:
а) Pentagon-1024 - #7FFD биты 6,7,5 (1024Кб);
б) Profi-1024 - #DFFD биты 0,1,2 (1024Кб);
в) Kay-1024 + Scorpion-1024 + Pentagon-1024 - #1FFD биты 4,7, #7FFD биты 6,7,5 (4096Кб);
г) Kay-512 + Profi-1024 - #1FFD биты 4,7, #DFFD биты 0,1,2 (4096Кб);
д) Pentagon-1024 + Profi-512 - #7FFD биты 6,7,5, #DFFD биты 0,1 (4096Кб);
е) Pentagon-512 + Profi-1024 - #7FFD биты 6,7, #DFFD биты 0,1,2 (4096Кб).

Ну и всё расширение можно вообще отключить, оставив только 128 Кб.

Где то Zet9 выкладывал версию tr-dos под 4Мб памяти , нужно поискать :v2_dizzy_botan:

А вот http://zx-pk.ru/threads/13875-reverse-konfiguratsii.html?p=340978&viewfull=1#post340978

Northwood
02.12.2017, 14:24
Где то Zet9 выкладывал версию tr-dos под 4Мб памяти , нужно поискать :v2_dizzy_botan:

А вот http://zx-pk.ru/threads/13875-reverse-konfiguratsii.html?p=340978&viewfull=1#post340978

Там ссылка на прошивку мёртвая, а её автор последний раз появлялся здесь в 2011 году. Но здесь более актуальная версия с возможностью монтирования TRD-образов с винчестера, т.е. TR-DOS 5.30 или доработанная мной под BIOS 5.31. Хотя было бы приятно совместить 2 RAM диска по 1Мб + монтирование TRD-образов.

Djoni
02.12.2017, 15:04
Там ссылка на прошивку мёртвая, а её автор последний раз появлялся здесь в 2011 году. Но здесь более актуальная версия с возможностью монтирования TRD-образов с винчестера, т.е. TR-DOS 5.30 или доработанная мной под BIOS 5.31. Хотя было бы приятно совместить 2 RAM диска по 1Мб + монтирование TRD-образов.


Вот архив нашёл https://yadi.sk/d/dM6VPFoo3QFN5J https://yadi.sk/d/mOzEv2Ka3QFN5M

Djoni
02.12.2017, 19:40
Интересно только осталось ли ещё что-то что теоретически можно добавить в Pentagon или машина-мечта?



Неплохо было бы добавить режим маппер памяти фирменной машинки +3.

На данный момент под +3 большой архив программ портированных , есть удобная утилита для работы с образами дискет +3DOS и hdd.
Ну само собой напрашивается добавить фирменный системный разъём , периферии буржуи много интересной выпускаю можно будет подключать :)

Northwood
02.12.2017, 20:31
Неплохо было бы добавить режим маппер памяти фирменной машинки +3.

На данный момент под +3 большой архив программ портированных , есть удобная утилита для работы с образами дискет +3DOS и hdd.
Ну само собой напрашивается добавить фирменный системный разъём , периферии буржуи много интересной выпускаю можно будет подключать :)

Уже почти готово, осталось составить схему коммутации страниц ПЗУ. Само ПЗУ придётся ставить ёмкостью 128 Кб, например W29C010, но чтобы время выборки было не более 70 нс из-за Турбо-14 МГц.

Страница 0 - Gluk Reset Service;
Страница 1 - TR-DOS;
Страница 2 - Menu-128;
Страница 3 - Basic-48;

Страница 4 - Редактор Basic-128 3+;
Страница 5 - Обработчик ошибок Basic-128 3+;
Страница 6 - Basic-48;
Страница 7 - +3DOS.

Теневое ОЗУ ёмкостью 64 Кб будет эмулировать только первые 4 страницы ПЗУ, т.е. только для обычного режима.

Включить режим "Spectrum 3+" можно будет в BIOS-е, для этого будет использоваться BIOS-порт конфигурации памяти #FC37:

Порт #FC37:

биты 0,1 - выбор порта-1 расширения памяти > 128 Кб, влияет на разряды ОЗУ "MEM-1M", "MEM-2M" и "MEM-4M";
биты 2,3 - выбор порта-2 расширения памяти > 128 Кб, влияет на разряды ОЗУ "MEM-256K" и "MEM-512K":
00 - выключено,
01 - порт #7FFD,
02 - порт #DFFD,
03 - порт #1FFD;

бит 4 - режим #7FFD-D5: 0 = D5 управляет расширением памяти, 1 = D5 блокирует порты расширения памяти;
бит 5 - включение режима "Spectrum 3+":
0 = обычный режим, порт "#1FFD 3+" не используется, работает ПЗУ страницы с 0 по 3,
1 = "Spectrum 3+", биты D0,D1,D2 порта "#1FFD 3+" конфигурируют память, работает ПЗУ страницы с 4 по 7.

Порт #1FFD 3+:
D0 = 0 - "Spectrum 3+ Normal", бит D1 не используется, D2 = A15 ПЗУ;
D0 = 1 - "Spectrum 3+ Special", биты D1 и D2 конфигурируют память:

Режим "3+ Special":

D1, D2 = 00:
Адреса #0000 - #3FFF - банк 0
Адреса #4000 - #7FFF - банк 1
Адреса #8000 - #BFFF - банк 2
Адреса #C000 - #FFFF - банк 3

D1, D2 = 01:
Адреса #0000 - #3FFF - банк 4
Адреса #4000 - #7FFF - банк 5
Адреса #8000 - #BFFF - банк 6
Адреса #C000 - #FFFF - банк 7

D1, D2 = 10:
Адреса #0000 - #3FFF - банк 4
Адреса #4000 - #7FFF - банк 5
Адреса #8000 - #BFFF - банк 6
Адреса #C000 - #FFFF - банк 3

D1, D2 = 11:
Адреса #0000 - #3FFF - банк 4
Адреса #4000 - #7FFF - банк 7
Адреса #8000 - #BFFF - банк 6
Адреса #C000 - #FFFF - банк 3

Northwood
03.12.2017, 14:59
Готова схема менеджера памяти компьютера "Pentagon-4096". Схема во вложении, она конечно получилась не маленькая, но в неё вошли не только порты расширения, а всё необходимое для управления ОЗУ и ПЗУ, а так же подключение музыкального сопроцессора (сигналы BDIR и BC1), и само ПЗУ W29C010 ёмкостью 128 Кбайт.

Я всё-таки решил сделать возможность, чтобы теневым ОЗУ можно было эмулировать не только основное ПЗУ "ZX-Spectrum", но и ПЗУ "Spectrum 3+". Но нельзя будет эмулировать только либо то, либо другое, т.к. ёмкость теневое ОЗУ останется 64 Кбайт.

Некоторые входные сигналы на схеме:

~BLK_RAM - блокировка ОЗУ теневым ОЗУ. Используется для того чтобы проецировать теневое ОЗУ в адресное пространство #C000-#FFFF специально для загрузки прошивки ПЗУ.

~BIOS_RESGLK - сброс триггера "Gluk Reset Service" - при активации этого сигнала происходит программный сброс триггера и его удержание в сброшенном состоянии, для возможности последующего перехода из ОЗУ в ПЗУ "Gluk Reset Service".
Работает это следующим образом:

Для того чтобы из BIOS можно было перейти в ПЗУ "Gluk Reset Service", нельзя просто так из ПЗУ BIOS взять и переключить соответствующий порт, т.к. сразу после переключения порта мы окажемся где-то посередине ПЗУ Gluk-а с заранее неизвестной командой по текущему адресу. И даже если подобрать позицию в адресе ПЗУ, чтобы после переключения оказаться в нужном месте с нужной командой и произошёл старт Gluk-а, окажется так, что после обновления прошивки Gluk-а все адреса будут уже не совпадать и новая прошивка не заработает.

Поэтому, из ПЗУ BIOS можно перейти в ПЗУ Gluk-а только через ОЗУ. Но если мы переходим в ОЗУ, то происходит отключение триггером ПЗУ Gluk-а, и мы видим уже ПЗУ Basic. Поэтому я ввёл специальный бит D1 порта #FF37, который производит принудительный сброс триггера Gluk, что даёт возможность увидеть ПЗУ Gluk даже находясь в ОЗУ. Далее, необходимо выключить этот бит порта - триггер Gluk-а будет продолжать удерживаться в сброшенном состоянии до перехода в область ПЗУ. И перейти на -0-й адрес, и мы попадём в ПЗУ Gluk. После этого перехода триггер Gluk-а перестанет удерживаться в сброшенном состоянии, но переключится он только при переходе из ПЗУ в ОЗУ. Т.е. произойдёт нормальный старт Gluk Reset Service, из которого можно будет без проблем перейти в любое другое ПЗУ.

~ZXB_ROM - входной сигнал с шины ZX-Bus, который принудительно включает ПЗУ. Не знаю, для чего это используется, но придумано не мной, поэтому оставил для совместимости.

~CS_MROM - входной сигнал от порта BIOS #FF37, который отключает основное ПЗУ для включения ПЗУ BIOS.

Вообще, BIOS управляет конфигурацией компьютера 4-я портами:

#FC37 - управление памятью и режимом "Spectrum 3+":

биты 0,1 - выбор порта-1 расширения памяти > 128 Кб, влияет на разряды ОЗУ "MEM-1M", "MEM-2M" и "MEM-4M";
биты 2,3 - выбор порта-2 расширения памяти > 128 Кб, влияет на разряды ОЗУ "MEM-256K" и "MEM-512K":
00 - выключено,
01 - порт #7FFD,
02 - порт #DFFD,
03 - порт #1FFD;

бит 4 - режим #7FFD-D5: 0 = D5 управляет расширением памяти, 1 = D5 блокирует порты расширения памяти;
бит 7 - включение режима "Spectrum 3+":
0 = обычный режим, порт "#1FFD 3+" не используется, работает ПЗУ страницы с 0 по 3,
1 = "Spectrum 3+", биты D0,D1,D2 порта "#1FFD 3+" конфигурируют память, работает ПЗУ страницы с 4 по 7.

#FD37 - управление теневым ОЗУ:
бит 0 - включение эмуляции ПЗУ Gluk / Редактор Basic-128 3+, стандартное теневое ОЗУ по IN #FB/#7B станет недоступно;
бит 1 - включение эмуляции ПЗУ TR-DOS / Обработчик ошибок Basic-128 3+;
бит 2 - включение эмуляции ПЗУ Basic-128 / Basic 48 3+, расширение до 32Кб теневого ОЗУ по IN #FB/#7B станет недоступно;
бит 3 - включение эмуляции ПЗУ Basic-48 / +3 DOS;
бит 4 - проецирование теневого ОЗУ в адресное пространство #C000-#FFFF для загрузки прошивок ПЗУ, выбор страницы теневого ОЗУ через порт #7FFD;
бит 7 - 0 = эмуляция стандартного ПЗУ, 1 = эмуляция ПЗУ "Spectrum 3+".

#FE37 - управление расширенным видеорежимом:
бит 0 - компонента "B" для цвета текста в монохромном режиме 512х192;
бит 1 - компонента "R" для цвета текста в монохромном режиме 512х192;
бит 2 - компонента "G" для цвета текста в монохромном режиме 512х192;
бит 3 - яркость текста в монохромном режиме 512х192;
бит 4 - 0 = 512х192 будет монохромным, 1 = 512х192 будет цветным или мультиколорным;
бит 5 - включение режима FlashColor;
бит 6 - включение автоматического режима "аппаратный GigaScreen";
бит 7 - положение INT - 0="Pentagon", 1="Фирменный".

#FF37 - переключение ПЗУ BIOS/Основное ПЗУ, сброс триггера "Gluk Reset Service", выбор страницы ПЗУ BIOS.
бит 0 - 0 = включено ПЗУ BIOS, 1 = основное ПЗУ;
бит 1 - 0 = сброс триггера Gluk Reset Service;
бит 2 - выбор страницы ПЗУ BIOS;
бит 3 - блокировка записи в CMOS;
бит 4 - блокировка записи в порты BIOS;
бит 7 - включение режима программирования ПЗУ W27C010.

Полноценная читабельная схема в ZIP-архиве:
63199

Схема управление ПЗУ BIOS и теневым ОЗУ будет дальше.

Исправил ошибку в схеме!

Northwood
03.12.2017, 18:54
Northwood, можно ещё добавить чтение портов расширения и менеджер NMI?

Чтение порта #7FFD сделать нужно, забыл про него. Но читаться он должен только из под TRD-DOS.

Northwood
04.12.2017, 00:29
Дополнил описание порта BIOS #FF37:

бит 3 - положение INT по вертикали - 0=Pentagon, 1=типа "Фирменный" (Pentagon+32 строки);
бит 4 - блокировка записи в CMOS;
бит 7 - блокировка записи в порты BIOS.

Переключение положения INT по вертикали у меня давно реализовано, правда, сначала было выведено на DIP-переключатель, затем повесил на порт BIOS, но запрограммировать забыл. Когда займусь новой версией прошивки BIOS, то сделаю. Этой возможностью я пользовался для того чтобы в фирменных играх не мерцали спрайты, например, ракетка в Arkanoid-2, или чтобы кораблик в Zynaps летел плавно.

Блокировка записи в CMOS у меня тоже давно реализована и опробована, осталось вывести на соответствующий бит порта #FF37 и запрограммировать в BIOS-Setup.

Идея блокировки всех 4-х портов BIOS от изменений внешними программами ко мне пришла только что. Раз уж я опубликовал описание портов BIOS, то стоит позаботиться о том, чтобы ни у кого не возникло желание поклацать эти порты в какой-нибудь демке или интро к игре. Но пока ещё не решил, будет ли такая блокировка безусловной или вывести дополнительный пунктик в меню BIOS-Setup. Включаться блокировка портов BIOS будет при выходе из всех процедур BIOS, когда управление передаётся кому-либо для старта компьютера.

P.s. блокировку одного из портов BIOS - #FE37 (расширенные видеорежимы), возможно, выведу на джампер, возможно этот порт будет полезно переключать внешними программами.

Northwood
04.12.2017, 08:03
Немного переделал схему.

Была ещё одна ошибка в режиме "Spectrum 3+" в формировании сигнала ~OE для ПЗУ - не было проверки адресного пространства #0000-#3FFF.
В том же месте удалось провести оптимизацию схемы, благодаря чему на 1 корпус микросхемы стало меньше.
Так же не хватало в режиме блокировки "48К" отключения портов расширения > 128K, теперь такая блокировка есть.

- - - Добавлено - - -


Northwood, можно ещё добавить чтение портов расширения

В данном варианте схемы не получится сделать чтение портов, максимум первые 6 бит #7FFD, т.е. в пределах 128К.
Для того чтобы можно было реализовать полноценное чтение из портов расширения, нужно изменить концепцию схемы:

Сейчас при выборе порта расширения, коммутируются стробы портов и шина данных, самих портов расширения 2 шт, на которые подаются уже скоммутированные сигналы.

Нужно будет сделать 3 фиксированных порта #7FFD, #DFFD и #1FFD, и коммутировать их выходы. Это даст:
а) на 1 микросхему 1533ТМ8, реализующую порт, больше;
б) на 1 микросхему 1533КП12 меньше, т.к. на 1 сигнал с каждого порта коммутировать нужно будет меньше;
в) для чтения трёх портов, нужно будет добавить 3 микросхемы 1533ИР22.

Я в любом случае хочу попробовать составить схему по этой концепции и посмотреть, что реально получится по микросхемам.
А насколько важна возможность чтения из портов расширения памяти ? И нужно ли читать все 3 порта, или достаточно только #7FFD ?

ZX_NOVOSIB
04.12.2017, 10:57
"Порт" FF ещё не помешал бы:) Есть непофикшеные игрушки под него + новые ожидаются.

Northwood
04.12.2017, 11:03
"Порт" FF ещё не помешал бы:) Есть непофикшеные игрушки под него + новые ожидаются.

Порт атрибутов ? Про то что он будет обязательно, я сообщил в 1-м посте 9-м пунктом.
У меня 2 варианта схемы порта, с дешифрацией порта и без неё. В работе между ними разницы никакой, фирменные игрушки, требующие данный порт и без которого они зависают, работают абсолютно одинаково. Я предпочитаю с дешифрацией порта, потому что не люблю, когда атрибуты засоряют шину данных, если она никем не занята.

ZX_NOVOSIB
04.12.2017, 15:07
Порт атрибутов ? Про то что он будет обязательно, я сообщил в 1-м посте 9-м пунктом.
У меня 2 варианта схемы порта, с дешифрацией порта и без неё. В работе разницы никакой, фирменные игрушки, требующие данный порт и без которого они зависают, работают абсолютно одинаково.
Затести тогда на своем пентагоне TAP'ку из этой темы (http://zx-pk.ru/threads/28508-popikselnyj-tsvetnoj-skrolling-na-klassicheskom-speccy!.html). Там техническая демка нового мультиколорного движка. Требует "порт FF". Проверил на unreal , в режиме пентагона, без галочки FF порта в настройках - сбрасывается после загрузки, с галочкой - работает (хоть и криво, т.к. заточена под фирменные спектрумы)

Northwood
04.12.2017, 17:56
Затести тогда на своем пентагоне TAP'ку из этой темы (http://zx-pk.ru/threads/28508-popikselnyj-tsvetnoj-skrolling-na-klassicheskom-speccy!.html). Там техническая демка нового мультиколорного движка. Требует "порт FF". Проверил на unreal , в режиме пентагона, без галочки FF порта в настройках - сбрасывается после загрузки, с галочкой - работает (хоть и криво, т.к. заточена под фирменные спектрумы)

Протестировал:

На моём реальном Пентагоне из Menu-128 загрузил демку, после окончания загрузки появляется неподвижный игровой экран, на нём виден мультиколор, видно что идёт не полностью как надо.
Решил посмотреть, как будет на эмуле Unreal - после загрузки идёт сброс в Basic-48. Включил в опциях порт #FF, демка повела себя точно так же, как и на реале - статическая картинка.
В Unreale видно, какая часть клавиатуры опрашивается, потыкал в 1,2,3,4,5... - при нажатии на 5 игровое поле начало смещаться вправо, но через секунду-две всё зависло.
Загрузил опять на реале, после окончания загрузки, когда появилась неподвижная картинка игрового поля, нажал клавишу 5 - тоже самое, картинка начала перемещаться и через секунду-две всё зависло, мультиколор остановился.
Попробовал на реале переключить положение INT на 32 строки вниз, типа "фирменный", разницу на мультиколорной картинке не увидел, как и в поведении демки.

ZX_NOVOSIB
04.12.2017, 18:31
демка повела себя точно так же, как и на реале - статическая картинка.
Ну значит всё норм. Наверно )
А статичная картинка и должна быть, она должна двигаться только по нажатию кнопок курсора лево-право.


У меня есть 2 проверенных варианта схемы порта #FF.
а) более простая схема на 1 микросхеме и 8 резисторах, и она наиболее точно отражает фирменный порт #FF, т.е. без дешифрации порта, когда порт доступен по любому незадействованному номеру порта.

б) на 3-х микросхемах и без резисторов, с точной дешифрацией порта, проверяются все 8 младших бит. Я себе собрал именно этот вариант, и не заметил разницы в поведении фирменной игры ARKANOID-1.
А можно схемы обоих доработок? :rolleyes:
Или хотя бы второй.
Я правильно понял, что схема на 3-ёх микросхемах более стабильная? Просто многие пишут, что порт FF в пентагоне нафиг не нужен, что если его присобачить к пентагону, то он начинает работать нестабильно...

Northwood
04.12.2017, 20:10
Ну значит всё норм. Наверно )
А статичная картинка и должна быть, она должна двигаться только по нажатию кнопок курсора лево-право.
Проверил на реале курсорные клавиши - с ними игровое поле поехало нормально. После того как "отъехал" на приличное расстояние, нормально работают и просто цифровые клавиши 5 и 8.

- - - Добавлено - - -



А можно схемы обоих доработок? :rolleyes:
Или хотя бы второй.
Я правильно понял, что схема на 3-ёх микросхемах более стабильная? Просто многие пишут, что порт FF в пентагоне нафиг не нужен, что если его присобачить к пентагону, то он начинает работать нестабильно...

Вариант порта атрибутов #FF без дешифрации порта, в котором на шине данных, когда она свободна, "гуляют" байты атрибутов экрана:

63202

Вариант порта атрибутов #FF с дешифрацией порта, который сделал себе я. Из схемы видно, что это стандартный порт, который выдаёт атрибуты только при чтении из порта #FF:

63203

Самое главное в обоих схемах, для того чтобы шли фирменные программы, это наличие сигнала бордюра, в Пентагоне-1024 1.4, это "DSP1", который разрешает работу порта только во время активной экранной области.

- - - Добавлено - - -

Я кажется понял, что нужно для того чтобы эта демка с фирменным мультиколором шла, после загрузки нужно просто сразу двигаться вправо, т.е. двигать "игровое" поле влево, тогда всё ОК. Если двигаться в обратную сторону от места начала, то всё зависает. Если вперёд, то можно "пройтись" достаточно далеко, но всё-равно рано или поздно доходишь до глюков демы - сбиваются бочки внизу экрана, начинают мигать разные объекты. Но что интересно, если начинаешь возвращаться назад, то и глюки "откатываются" назад до точки на поле, где всё нормально. Вообщем, сырая демка, видно что это ещё не завершённая работа. Но самое главное, что идёт на моём Пентагоне.

- - - Добавлено - - -

Снял видео с этой технической демкой на моём Пентагоне-4096:


https://youtu.be/PxMUgHBFOQU

Northwood
05.12.2017, 03:01
Возвращаясь к теме менеджера памяти, составил 2-ю версию схемы.

Изменил концепцию, теперь при выборе порта расширения памяти коммутируются не сигналы на входе порта расширения памяти, а коммутируются выходы 3-х портов расширения памяти. При этом на 1 микросхему ТМ8 стало больше, а КП12 на 1 стало меньше, в итоге количество микросхем не изменилось.

Но новый вариант позволил сделать возможность чтения из всех 3-х портов расширения памяти, но это добавило 4 микросхемы - 1533ИР22 - 3 шт и 1533ЛЛ1 - 1 шт. Чтение только из под TR-DOS.

Остаётся открытым вопрос: Насколько чтение из портов расширения памяти нужно ? Нужна ли возможность чтения всех 3-х портов - #7FFD, #DFFD и #1FFD или достаточно чтобы читался только один порт #7FFD ?

Полноразмерное изображение схемы в RAR-архиве:
63239

Djoni
05.12.2017, 12:50
Возвращаясь к теме менеджера памяти, составил 2-ю версию схемы.

Изменил концепцию, теперь при выборе порта расширения памяти коммутируются не сигналы на входе порта расширения памяти, а коммутируются выходы 3-х портов расширения памяти. При этом на 1 микросхему ТМ8 стало больше, а КП12 на 1 стало меньше, в итоге количество микросхем не изменилось.

Но новый вариант позволил сделать возможность чтения из всех 3-х портов расширения памяти, но это добавило 4 микросхемы - 1533ИР22 - 3 шт и 1533ЛЛ1 - 1 шт. Чтение только из под TR-DOS.

Остаётся открытым вопрос: Насколько чтение из портов расширения памяти нужно ? Нужна ли возможность чтения всех 3-х портов - #7FFD, #DFFD и #1FFD или достаточно чтобы читался только один порт #7FFD ?

Полноразмерное изображение схемы в RAR-архиве:
63239


Нужно , но не теневое чтение а из всех режимов я думаю конфликтов не будет.

Rusazar
05.12.2017, 14:12
Нужный проект, жду с нетерпением окончательной версии схемы.

Northwood
05.12.2017, 16:49
Последний вариант менеджера памяти. Пришлось добавить ещё одну микросхему 1533ЛП5, но теперь для тех, у кого установлена память SIMM 1Mb, становятся доступными полноценные варианты памяти Profi-1024 и Pentagon-1024, т.е. по 1 Мб, в предыдущих версиях схемы в этих двух режимах было доступно только 512 Кб.

Кроме этого, открыл доступ на чтение из портов #7FFD, #DFFD и #1FFD во всех режимах - как из под TR-DOS, так и НЕ из под TR-DOS.

Итак, доступные варианты конфигурации памяти (в скобках доступный объём ОЗУ / число в порт #FC37 BIOS);

Если установлена память SIMM 1Мб:
1) KAY-1024, Pentagon-256 - #1FFD биты 4,7, #7FFD бит 7 (1024 Кб / #0D);
2) Scorpion-1024, Pentagon-512 - #1FFD бит 4, #7FFD биты 6,7 (1024 Кб / #07);
3) Pentagon-1024 - #7FFD биты 6,7,5 (1024 Кб / #05);
4) Profi-1024 - #DFFD биты 0,1,2 (1024 Кб / #0A);
5) Pentagon-512 - #7FFD биты 6,7 (512 Кб / #04);
6) Profi-512 - #DFFD биты 0,1 (512 Кб / #08);
7) Pentagon-512, Profi-256 - #7FFD биты 6,7 #DFFD бит 0 (1024 Кб / #06);
8) Profi-512, Pentagon-256 - #DFFD биты 0,1, #7FFD бит 7 (1024 Кб / #09);
9) Profi-512, KAY-256, Scorpion-256 - #DFFD биты 0,1 #1FFD бит 4 (1024 Кб / #0B);
10) KAY-512, Scorpion-256, Profi-256 - #1FFD биты 4,7, #DFFD бит 0 (1024 Кб / #0E);
11) KAY-512, Scorpion-256 - #1FFD биты 4,7 (512 Кб / #0C);
12) KAY-512, Scorpion-256 - #1FFD биты 4,7 (512 Кб / #0F);
13) Pentagon-256 - #7FFD бит 7 (256 Кб / #01);
14) Profi-256 - #DFFD бит 0 (256 Кб / #02);
15) KAY-256, Scorpion-256 - #1FFD бит 4 (256 Кб / #03);
16) Spectrum-128 (128 Кб / #00);

Если установлена память SIMM 4Мб:
1) KAY-1024, Scorpion-1024, Pentagon-1024 - #1FFD биты 4,7, #7FFD биты 6,7,5 (4096 Кб / #0D);
2) Profi-1024, Pentagon-512 - #DFFD биты 0,1,2, #7FFD биты 6,7 (4096 Кб / #06);
3) Pentagon-1024, Profi-512 - #DFFD биты 0,1, #7FFD биты 6,7,5 (4096 Кб / #09);
4) Pentagon-1024 - #7FFD биты 6,7,5 (1024 Кб / #01);
5) Pentagon-1024 - #7FFD биты 6,7,5 (1024 Кб / #05);
6) Profi-1024 - #DFFD биты 0,1,2 (1024 Кб / #02);
7) Profi-1024 - #DFFD биты 0,1,2 (1024 Кб / #0A);
8) Pentagon-512 - #7FFD биты 6,7 (512 Кб / #04);
9) Profi-512 - #DFFD биты 0,1 (512 Кб / #08);
10) Profi-1024, KAY-512, Scorpion-256 - #DFFD биты 0,1,2, #1FFD биты 4,7 (4096 Кб / #0E);
11) Pentagon-512, KAY-512, Scoprion-256 - #7FFD биты 6,7, #1FFD биты 4,7 (2048 Кб / #07);
12) Profi-512, KAY-512, Scorpion-256 - #DFFD биты 0,1, #1FFD биты 4,7 (2048 Кб / #0B);
13) KAY-512, Scorpion-256 - #1FFD биты 4,7 (512 Кб / #03);
14) KAY-512, Scoprion-256 - #1FFD биты 4,7 (512 Кб / #0C);
15) KAY-512, Scoprion-256 - #1FFD биты 4,7 (512 Кб / #0F);
16) Spectrum-128 (128 Кб / #00);

И если бит D5 порта #7FFD переключить на блокировку расширения памяти, тогда получатся такие варианты:

Если установлена память SIMM 1Мб:
1) KAY-1024, Pentagon-256 - #1FFD биты 4,7, #7FFD бит 7 (1024 Кб / #1D);
2) Scorpion-1024, Pentagon-512 - #1FFD бит 4, #7FFD биты 6,7 (1024 Кб / #17);
3) Pentagon-512 - #7FFD биты 6,7 (512 Кб / #15);
4) Pentagon-512 - #7FFD биты 6,7 (512 Кб / #14);
5) Profi-1024 - #DFFD биты 0,1,2 (1024 Кб / #1A);
6) Profi-512 - #DFFD биты 0,1 (512 Кб / #18);
7) Pentagon-512, Profi-256 - #7FFD биты 6,7 #DFFD бит 0 (1024 Кб / #16);
8) Profi-512, Pentagon-256 - #DFFD биты 0,1, #7FFD бит 7 (1024 Кб / #19);
9) Profi-512, KAY-256, Scorpion-256 - #DFFD биты 0,1 #1FFD бит 4 (1024 Кб / #1B);
10) KAY-512, Scorpion-256, Profi-256 - #1FFD биты 4,7, #DFFD бит 0 (1024 Кб / #1E);
11) KAY-512, Scorpion-256 - #1FFD биты 4,7 (512 Кб / #1C);
12) KAY-512, Scorpion-256 - #1FFD биты 4,7 (512 Кб / #1F);
13) Pentagon-256 - #7FFD бит 7 (256 Кб / #11);
14) Profi-256 - #DFFD бит 0 (256 Кб / #12);
15) KAY-256, Scorpion-256 - #1FFD бит 4 (256 Кб / #13);
16) Spectrum-128 (128 Кб / #10);

Если установлена память SIMM 4Мб:
1) KAY-1024, Scorpion-1024, Pentagon-512 - #1FFD биты 4,7, #7FFD биты 6,7 (2048 Кб / #1D);
2) Profi-1024, Pentagon-512 - #DFFD биты 0,1,2, #7FFD биты 6,7 (4096 Кб / #16);
3) Pentagon-512, Profi-512 - #DFFD биты 0,1, #7FFD биты 6,7 (2048 Кб / #19);
4) Pentagon-512 - #7FFD биты 6,7 (512 Кб / #11);
5) Pentagon-512 - #7FFD биты 6,7 (512 Кб / #15);
6) Pentagon-512 - #7FFD биты 6,7 (512 Кб / #14);
7) Profi-1024 - #DFFD биты 0,1,2 (1024 Кб / #12);
8) Profi-1024 - #DFFD биты 0,1,2 (1024 Кб / #1A);
9) Profi-512 - #DFFD биты 0,1 (512 Кб / #18);
10) Profi-1024, KAY-512, Scorpion-256 - #DFFD биты 0,1,2, #1FFD биты 4,7 (4096 Кб / #1E);
11) Pentagon-512, KAY-512, Scoprion-256 - #7FFD биты 6,7, #1FFD биты 4,7 (2048 Кб / #17);
12) Profi-512, KAY-512, Scorpion-256 - #DFFD биты 0,1, #1FFD биты 4,7 (2048 Кб / #1B);
13) KAY-512, Scorpion-256 - #1FFD биты 4,7 (512 Кб / #13);
14) KAY-512, Scoprion-256 - #1FFD биты 4,7 (512 Кб / #1C);
15) KAY-512, Scoprion-256 - #1FFD биты 4,7 (512 Кб / #1F);
16) Spectrum-128 (128 Кб / #10);

http://s010.radikal.ru/i312/1712/aa/8e49c1fc486at.jpg (http://s010.radikal.ru/i312/1712/aa/8e49c1fc486a.jpg)

Djoni
05.12.2017, 17:44
Последний вариант менеджера памяти. Пришлось добавить ещё одну микросхему 1533ЛП5, но теперь для тех, у кого установлена память SIMM 1Mb, становятся доступными полноценные варианты памяти Profi-1024 и Pentagon-1024, т.е. по 1 Мб, в предыдущих версиях схемы в этих двух режимах было доступно только 512 Кб.

Кроме этого, открыл доступ на чтение из портов #7FFD, #DFFD и #1FFD во всех режимах - как из под TR-DOS, так и НЕ из под TR-DOS.

Итак, доступные варианты конфигурации памяти (в скобках доступный объём ОЗУ / число в порт #FC37 BIOS);

Если установлена память SIMM 1Мб:


http://s010.radikal.ru/i312/1712/aa/8e49c1fc486at.jpg (http://s010.radikal.ru/i312/1712/aa/8e49c1fc486a.jpg)

Ой а можно добавить возможность прошивки флешки на плате средствами ZX ?

Northwood
08.12.2017, 22:44
Итак, начинаю постепенно составлять принципиальную схему в PCAD-2006, наконец все барьеры, которые ранее препятствовали мне освоить эту программу, преодолены.

Я бы мог и в DipTrace всё сделать, но:
а) лицензия меня ограничивает на 1000 выводов на всю схему, чего будет недостаточно для данного проекта;
б) DipTrace не умеет во время разводки платы менять местами альтернативные элементы цифровых микросхем и менять местами альтернативные выводы, всё это делать приходилось самому;
в) большинство заводов, изготавливающие платы, принимают файлы проекта именно в PCAD.

Начало положено, и уже готов тактовый генератор, формирующий 3 тактовые частоты процессора - 14, 7 и 3.5 МГц, а так же сигналы RAS и CAS для работы ОЗУ.

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

Часть схемы я взял из Pentagon-1024 1.4, но добавил удвоение тактовой частоты за счёт инвертирования тактовых сигналов на входе 1531ТМ8 при каждом переключении её первого делителя частоты. Можно было бы конечно не делать удвоение частоты, а просто не делать делитель частоты на ТМ8, но во-первых, приведённый вариант схемы опробован длительное время в работе, и неизвестно, не вылезут ли глюки в работе памяти, если данный критичный узел упростить, а во-вторых, ТМ8 ставить всё-равно придётся, просто на 1 незадействованный её элемент станет больше, так что экономия окажется не такой уж экономной. Поэтому решил эту часть схемы оставить в том виде, в котором она у меня показала отличные результаты.

http://s018.radikal.ru/i521/1712/49/d68d4847a496t.jpg (http://s018.radikal.ru/i521/1712/49/d68d4847a496.png)

В данном узле все микросхемы должны быть только серии КР1531, а при отсутствии этой серии, в крайнем случае К531. Серия 1533 не прокатит, нормально работать вряд ли будет. Про 555-ю я вообще молчу. ТМ8 в серии КР1531 я не нашёл, у себя её я поставил К531. Первая попавшаяся К531ТМ8 грелась как утюг и через годик героически сдохла. Купил ещё несколько таких же и заменил умершую, новая греется намного меньше предыдущей, вполне умерено, так что эта должна проработать долго.

Кстати, по отечественным сериям микросхем:

В данном компьютере 555-ю серию, кроме как в контроллере дисковода, лучше вообще не ставить, про 155 вообще забудьте. В не сильно критичных узлах лучше ставить 1533, потреблять будет значительно меньше. 1533 нельзя ставить только в контроллере дисковода на интерфейс с дисководами. Хотя у меня дисководы хорошо работают именно с 1533-й, однако, в 5-дюймовых пришлось повынимать резисторные сборки возле разъёма, иначе дисководы не работали. Если подключать только 3-дюймовые дисководы, тогда отлично работает и 1533 серия. Когда я буду собирать новую плату, на интерфейс с дисководом я буду ставить 555 либо 1531 серию.
Ещё 555-й серии придётся ставить ИР16, т.к. её в других сериях я нигде не видел.

CodeMaster
09.12.2017, 11:38
Ой а можно добавить возможность прошивки флешки на плате средствами ZX ?

Зачем? Если нет программатора пару раз можно прошить хот-свопом в старой материнке.


в) большинство заводов, изготавливающие платы, принимают файлы проекта именно в PCAD.

Не буду спорить, но я сталкивался только с герберами, может сейчас и что изменилось.

Northwood
09.12.2017, 15:45
Зачем? Если нет программатора пару раз можно прошить хот-свопом в старой материнке.
Сама по себе такая возможность интересна, но прежде чем дать ответ, будет или нет, я хочу оценить сложность аппаратной части такой поддержки. По идее, сложного ничего не должно быть - нужно лишь через порт включать режим программирования, при котором отключается КП11, управляющая сигналами ПЗУ A14, A15 и OE, и коммутировать свои сигналы. A14 можно как и прежде, брать с порта #7FFD, A15 тоже можно придумать откуда брать, A16 подан непосредственно с бита порта, включающего режим "Spectrun 3+", его можно вообще не трогать, OE должен быть всегда неактивный, остаётся управлять сигналами CS и WE. Но вот здесь у меня и появились вопросы:

Из даташита на Winbond W29C010 я не понял, какой должен быть алгоритм заполнения буфера записи размером 128 байт ? Нужно ли дёргать сигнал WE при заполнении каждого очередного байта в буфер ? Или достаточно дёргать только сигнал CS, а после того как буфер заполнится, достаточно только 1 раз дёрнуть сигнал WE, чтобы этот буфер записался в энергонезависимую память ? Отличается ли алгоритм прошивки флеш-ПЗУ у других производителей ? Когда я найду ответы на эти вопросы, можно будет составить схему поддержки или можно будет отказаться от идеи окончательно. Но в любом случае, я не хочу для этого использовать напряжение 12в, хочу остаться полностью в рамках 5в.


Не буду спорить, но я сталкивался только с герберами, может сейчас и что изменилось.
Гербер, это редактор такой или просто формат ? Не сталкивался с этим вообще. Можно ли в случае необходимости, сконвертировать плату из PCAD-2006 в гербер ?

Djoni
09.12.2017, 16:30
Сама по себе такая возможность интересна, но прежде чем дать ответ, будет или нет, я хочу оценить сложность аппаратной части такой поддержки. По идее, сложного ничего не должно быть - нужно лишь через порт включать режим программирования, при котором отключается КП11, управляющая сигналами ПЗУ A14, A15 и OE, и коммутировать свои сигналы. A14 можно как и прежде, брать с порта #7FFD, A15 тоже можно придумать откуда брать, A16 подан непосредственно с бита порта, включающего режим "Spectrun 3+", его можно вообще не трогать, OE должен быть всегда неактивный, остаётся управлять сигналами CS и WE. Но вот здесь у меня и появились вопросы:

Из даташита на Winbond W29C010 я не понял, какой должен быть алгоритм заполнения буфера записи размером 128 байт ? Нужно ли дёргать сигнал WE при заполнении каждого очередного байта в буфер ? Или достаточно дёргать только сигнал CS, а после того как буфер заполнится, достаточно только 1 раз дёрнуть сигнал WE, чтобы этот буфер записался в энергонезависимую память ? Отличается ли алгоритм прошивки флеш-ПЗУ у других производителей ? Когда я найду ответы на эти вопросы, можно будет составить схему поддержки или можно будет отказаться от идеи окончательно. Но в любом случае, я не хочу для этого использовать напряжение 12в, хочу остаться полностью в рамках 5в.





Тут нельзя посмотреть http://svn.zxevo.ru/listing.php?repname=pentevo&path=%2Fz80_soft%2Fflash_pe%2Fsource%2F&#a4e355f31486e6f5e230d8a4a805d336c прошивка 29F040 ?

Northwood
09.12.2017, 18:49
Кинулся искать в продаже на китайских сайтах ПЗУ 128 Кбайт, оказалась вот такая ситуация:

W29C010, бывают с временем доступа 45 / 70 / 90 нс, в продаже нет вообще нигде, напряжение программирования +5в.
W29EE011, бывают с временем доступа 90 / 150 нс, в продаже есть и много, напряжение программирования +5в.
W27C010, бывают с временем доступа 70 / 150 нс, в продаже есть и много, но напряжение программирования +12в.

В турбо режиме 14 МГц, я проверил ПЗУ с временами доступа 45, 70 и 150 нс. 45 и 70 нс работают отлично, а 150 нс уже сильно глючат.
90 нс не проверял, поэтому потянут ли они 14 МГц, под вопросом, скорей всего нет. Или работать будут, но не стабильно.

W29C010 придётся вычеркнуть из-за их недоступности, W29EE011 - из-за тормознутости, хотя в Турбо-7 МГц проблем с ними не будет. Остаются только W27C010, но у них другой алгоритм программирования, требующий +12в, поэтому я уже сомневаюсь, стоит ли поддерживать возможность прошивки ПЗУ средствами компьютера ZX-Spectrum. Имхо, лучше для этой цели всё-таки пользоваться универсальными программаторами, такими как Willem Prog или иными, которые умеют шить любые подобные ПЗУ.

CodeMaster
09.12.2017, 19:07
Гербер, это редактор такой или просто формат?

Формат (https://ru.wikipedia.org/wiki/Gerber)


Можно ли в случае необходимости, сконвертировать плату из PCAD-2006 в гербер ?

Можно, там есть экспорт в гербер, полученные файлы надо протестировать в CAM350 (http://cxem.net/software/cam350.php)

- - - Добавлено - - -


45 и 70 нс работают отлично

А такие варианты?

AMD AM29F010-45PC (http://www.buyicnow.com/it.php?i=439)
AMD AM29F010B-70PD (http://www.buyicnow.com/it.php?i=440)

Northwood
09.12.2017, 20:02
А такие варианты?

AMD AM29F010-45PC (http://www.buyicnow.com/it.php?i=439)
AMD AM29F010B-70PD (http://www.buyicnow.com/it.php?i=440)

Хорошие ПЗУ, время доступа 45нс или 70 нс, есть в продаже и напряжение программирования +5в. Внятный даташит с таймингами записи, думаю что проблем с их записью на Спектруме не будет. Размер сектора для стирания = размеру страницы ПЗУ на Спектруме = 16 Кб, что позволит перезаписывать только 1 выбранную страницу, а не всё ПЗУ.

Northwood
15.12.2017, 03:29
Есть хорошая новость - мне удалось решить проблему видеорежима 512х192 при частоте процессора 14 МГц с WAIT-ом - пиксели больше не мигают, дополнительным бонусом вышло устранение маааленького расхождения между пикселями и атрибутами, могу продолжать составлять окончательную схему.

Хочется ещё довести до ума схему подключения микросхемы CMOS HM6818A, меня волнует ток потребления этой микросхемы и стабильность её хода. Сейчас у меня стоит Dallas, проблем с ней вообще никаких, потребляет единицы микро ампер и идут достаточно точно. Когда пробовал HM6818A, то она жрала у меня 1 мА, что полностью высаживало батарейку CR2032 за 9 суток, при этом она самопроизвольно ускоряла ход до 2-х крат. Тактирование микросхемы внешним генератором не решила проблему с потреблением тока. То ли мне микросхема CMOS попалась неисправная, то ли что-то не так в схеме её подключения.

Выложил схему, которая реализует 8 дополнительных видеорежимов, плюс подключение микросхемы CMOS, порты #EFF7, #BFF7 и #DFF7:

http://s008.radikal.ru/i304/1712/2a/d2db06170fa0t.jpg (http://s008.radikal.ru/i304/1712/2a/d2db06170fa0.jpg)

Данная схема требует обязательного турбирования памяти на 7 МГц, некоторые сигналы взяты из схемы турбирования, и реализует следующие видеорежимы (в скобках число в порты #EFF7 и BIOS #FE37):

0) 256x192 пикселей, атрибут цвета на знакоместо 8х8 (#00, #xx);
1) 256х192 пикселей, мультиколорный, атрибут цвета на байт 8х1 (#20, #xx);
2) 512x192 пикселей, монохромный, цвет текста задаётся портом BIOS (#02, #01-#0F);
3) 512х192 пикселей, атрибут цвета на узкое знакоместо 8х8 (#02, #1x);
4) 512x192 пикселей, мультиколорный, атрибут цвета на байт 8x1 (#22, #1x);
5) 384x288 пикселей, полноэкранный, атрибут цвета на знакоместо 8х8 (#40, #xx);
6) 256x192 пикселей, каждый пиксель своим цветом (16 colors) (#01, #xx);
7) "Флешколор", там где атрибут цвета содержит 7-й бит "флеш", цвета пикселей и фона перемешиваются и выдаются как цвет пикселей, фон чёрный (#xx, #2x);
8) "Автоматический аппаратный гигаскрин" - переключение экранов через строку (#xx, #8x).

Названия сигналов соответствуют схеме "Pentagon-1024 1.4", а так же схеме турбирования ОЗУ, приведённой мной ранее.

Некоторые входные сигналы на схеме:

Взятые из порта BIOS #FE37:
512_B - включение синей компонеты цвета текста в монохромном режиме 512х192;
512_R - включение красной компонеты цвета текста в монохромном режиме 512х192;
512_G - включение зелёной компонеты цвета текста в монохромном режиме 512х192;
512_Bright - включение яркости текста в монохромном режиме 512х192;
512_Color_On - включение цветного режима 512х192;
FlashColor_On - включение флешколор;
GIGA_On - включение автоматического режима "аппаратный гигаскрин".

Взятый из порта BIOS #FF37:
~RTCWR_On - разрешение записи в микросхему CMOS.

Видеорежим "16 colors" (каждый пиксель своим цветом), в отличии от схемы, предложенной ранее Alone Coder, лишён двух недостатков:

а) у меня никогда не останавливает процессор, у Alone Coder процессор полностью останавливался сигналом BUSRQ на всё время отрисовки экрана, у него процессор работал только во время вывода бордюрной области;
б) у меня доступен полностью весь экран, все 256х192 пикселей, у Alone Coder были скрыты первые несколько и последние несколько пикселей в строке из-за несовпадения бордюрной и экранной областей, а так же из-за того что в последнем байте строки данные у него читались не из того места ОЗУ.

Единственный маленький побочный эффект при включении некоторых видеорежимов - небольшое смещение экранной области вместе с бордюром влево:

512х192 пикселей - на 4 узких пикселя;
16 colors - на 5 пикселей.

Связано это с тем, что вывод пикселей на экран в данных видеорежимах начинается несколько раньше чем в стандартном режиме, поэтому мне пришлось при включении данных видеорежимов в след за этим немного сдвинуть и бордюр. Конечно можно было бы сделать так, чтобы экран не сдвигался, но это потребовало бы установки двух дополнительных регистров КР1533ИР23, что я посчитал не целесообразным.

Автоматический аппаратный гигаскрин - включается и отключается автоматически. Как только какая-либо программа переключила экраны, аппаратный гигаскрин тут же включается сам и до конца кадра переключает экраны от строки к строке. При наступлении кадрового синхроимпульса аппаратный гигаскрин отключается. Если во время прерывания программа опять переключила экраны, то аппаратный гигаскрин снова включается автоматически и снова работает до следующего кадрового синхроимпульса, но фаза переключения меняется на противоположную.

Таким образом, во время просмотра гигаскрин картинок, когда программа-просмотрщик по прерываниям переключает экраны, аппаратный гигаскрин работает фактически без перерыва. Когда просмотр гигаскрин картинки завершено, данный видеорежим отключается сам. Поэтому не нужно его включать и отключать вручную.

Однако, на большинстве демок используется переключение экранов, и вот здесь аппаратный гигаскрин всё портит, поэтому его можно полностью отключить через порт BIOS #FE37.

Позже сниму видео с демонстрацией видеорежимов.

JV-Soft
17.12.2017, 23:10
Northwood, а какую память думаете применять у себя ?
И по поводу конфигурирования всех ваших расширений , я например люблю переключатели , так как пишешь что то , надо на лету проверить , клац и конфиг поменял , с вашим bios так не выйдет , понимаю у вас свое четкое виденье того что делаете но как идея , вход в bios по кнопке которая дергает nmi , это на лету останавливает то что мы делаем ,сохраняет регистры , точку останова , вываливается в биос , делаем нужный конфиг и по выходу возвращаемся в точку останова и продолжаем то ,что делали.
Это так мысли вслух , вот тут подобие только с кешем , может понравится идея - https://www.youtube.com/watch?time_continue=7&v=EV-jFmpnwCk

- - - Добавлено - - -

PS по поводу программирования ПЗУ (флеш) сразу в пентагоне , там довольно легко это делается ,у меня было подобие еще в 90-х и какие то исходники должны быть.
Ставим перемычку c любого удобного порта (например бит Border) на ногу WE (которая иначе просто через резистор на +5в , и аппаратная часть готова , далее все софтом.

Northwood
18.12.2017, 00:32
Northwood, а какую память думаете применять у себя ?

Ту же, которая у меня работает сейчас. У меня остался 2-й точно такой же модуль SIMM 30 pin 4Mb Motorola, его и поставлю. А так, будут поддерживаться модули 1 Мб и 4 Мб, и будет на плате джампер, который нужно будет переключать в соответствии с типом модуля.



И по поводу конфигурирования всех ваших расширений , я например люблю переключатели , так как пишешь что то , надо на лету проверить , клац и конфиг поменял , с вашим bios так не выйдет ,

А что конкретно может понадобиться переключать на лету переключателем ? Если частоту процессора, то как раз его я не планирую заводить в BIOS, у себя я вывел 2 переключателя частоты на дип-переключатели, и так и оставлю в новом Пентагоне. Могу ещё согласиться с переключателем положения INT. Всё остальное вряд ли нужно будет переключать переключателем:
Конфигурация верхней памяти ? При его переключении загруженная программа скорей всего вывалится.
Управление теневым ОЗУ ? Тоже смысла нет.
Расширенные видеорежимы ? Здесь под вопросом. Переключать на лету цвет текста и включение/отключение цветного режима 512х192 точно не понадобится. Флешколор и гигаскрин, может быть и нужно.



понимаю у вас свое четкое виденье того что делаете но как идея , вход в bios по кнопке которая дергает nmi , это на лету останавливает то что мы делаем ,сохраняет регистры , точку останова , вываливается в биос , делаем нужный конфиг и по выходу возвращаемся в точку останова и продолжаем то ,что делали.

BIOS для своей работы использует несколько байт из 5-й страницы под переменные, плюс две экранные области цветного видеорежима 512х192 - #4000-#5AFF и #6000-#7AFF, и вот вторая экранная область на 99% гарантии убьёт сохранённую программу.



Это так мысли вслух , вот тут подобие только с кешем , может понравится идея - https://www.youtube.com/watch?time_continue=7&v=EV-jFmpnwCk
Позже посмотрю...



PS по поводу программирования ПЗУ (флеш) сразу в пентагоне , там довольно легко это делается ,у меня было подобие еще в 90-х и какие то исходники должны быть.
Ставим перемычку c любого удобного порта (например бит Border) на ногу WE (которая иначе просто через резистор на +5в , и аппаратная часть готова , далее все софтом.
Под прошивку ПЗУ я думаю выделить свободный бит порта BIOS #FF37. Но кроме WE, нужно ещё обеспечить доступ к любой закрытой странице ПЗУ - TR-DOS, Gluk, но это всё решаемо. Не хочется раньше времени забегать наперёд, сейчас я хочу решить ключевую задачу - развёртка растра.

По большей части, проблем нет никаких. Но у меня пока остаётся одна загадка, которую пока что не удаётся решить:

Если взять схему Пентагона-128 1991 года, по схеме вывести все тайминги работы счётчиков, синхроимпульсов и ИНТа, и потом всё это сравнить с Пентагоном-1024 1.4 от КОЕ, то после известной доработки с положением INT-а по горизонтали, вырисовываются абсолютно одинаковые тайминги с Пентагоном-128. Однако, в Пентагоне-1024 1.4 при этом в демках, написанных под Пентагон-128 и использующих бордюрные эффекты, почему-то INT опаздывает ровно на 4 пикселя ??? Вопрос, почему ??? Поэтому с Пентагоном-1024 в своё время пришлось поизвращаться триггерами ТМ2 чтобы на входы вертикальных счётчиков подать тактовый сигнал на эти 4 пикселя раньше, чтобы INT стал на своё место. Но в Пентагоне-128 INT получается полностью на своём месте и без этого изврата. Завтра попробую ещё раз начертить более подробно все тайминги Пентагона-128 чтобы сравнивать с таймингами Пентагона-1024 1.4, которыми я исписал уже кучу двойных тетрадных листков в клеточку.

По поводу развёртки в новом Пентагоне-4096, я хочу взять всё лучшее из Пентагона-128 и Пентагона-1024, плюс исправить общие недостатки обоих компьютеров:

Прежде всего, я хочу сформировать синхросмесь наиболее похожую на стандартную, принятую ГОСТом, но, разумеется, без всяких врезок для компенсаций полукадров. Но длительности кадровых и строчных гасящих и синхроимпульсов сделаю стандартными:

а) В Пентагоне-1024 1.4 длительность строчного гасящего импульса (СГИ) = 16 мкс, когда по стандарту должно быть 12 мкс. В принципе, ничего страшного, до тех пор, пока не будет реализован полноэкранный видеорежим 384х288, в котором этот СГИ закроет часть картинки. В новом Пентагоне-4096 я сделаю СГИ = 11.43 мкс, это не существенно меньше стандартных 12 мкс.

б) В Пентагоне-1024 1.4 длительность строчного синхроимпульса (ССИ) = 9.14 мкс, когда по стандарту должно быть 4.7 мкс, т.е. в 2 раза меньше. В результате Пентагон-1024 1.4 работает исключительно с ЭЛТ телевизорами, и ни на одном LCD телевизоре не работает строчная синхронизация, и не работает она и через видеозахват на ПК. В новом Пентагоне-4096 я сделаю 4.57 мкс. Сейчас у меня в имеющимся Пентагоне сделана доработка, обрезающая строчные синхроимпульсы до 4.57 мкс, и все LCD телевизоры теперь отлично ловят синхронизацию строк, видеозахват на ПК теперь тоже отлично справляется с этой задачей.

В новом Пентагоне-4096 передняя площадка СГИ перед ССИ будет = 1.71 мкс, далее ССИ = 4.57 мкс, далее задняя площадка СГИ = оставшиеся 5.14 мкс. Этих 5.14 мкс хватит для нормальной синхронизации цвета при использовании кодеров PAL/NTSC.

в) В Пентагоне-1024 1.4 кадровых гасящих импульсов (КГИ) нет вообще, а длительность кадрового синхроимпульса (КСИ) = КГИ = 16 строк = 1024 мкс. По стандарту положено, чтобы были КСИ и их длительность была = 2.5 строки = 160 мкс. КСИ должен быть окружён КГИ, и его длительность я оставлю = 1024 мкс.

В новом Пентагоне-4096 будут КГИ = 1024 мкс и КСИ = 160 мкс, это отцентрует экранную область по вертикали, сделает её выше где-то на 8 строк.

JV-Soft
18.12.2017, 08:29
А что конкретно может понадобиться переключать на лету переключателем ?
1. 128к или 1024к ,загрузил что то свое в расширенную память , решил потестить какую то дему которая не дружит с 512/1024к , включаешь 128к запускаешь демо , переключаешь на лету на 512/1024к ,жмешь магик который переключен в режим кеша , далее как в видео выше я приводил.
2. режим работы кнопки magic / cash
3. turbo
4. ПЗУ - стандарт/тест/глюк сервис

- - - Добавлено - - -


Но кроме WE, нужно ещё обеспечить доступ к любой закрытой странице ПЗУ - TR-DOS, Gluk, но это всё решаемо
Два ,три диода (которые не любите) в зависимости от типа флешь или мультиплексор :)

Northwood
23.12.2017, 19:14
Готов предварительный вариант схемы счётчиков и формирователя растра.

Скажу сразу, это не окончательная схема и её следует доработать, т.к. содержит недостаток - перегруженные выходы счётчиков КР1533ИЕ10. Например, к выходам с сигналами H3 и H5 подключено по 5 входов логических элементов, а ещё добавятся мультиплексоры адресной шины ОЗУ и мультиплексоры схемы видеорежимов. В итоге, с микросхемами КР1533ИЕ10 скорей всего получится глюкодром.

Ставить серию К555 здесь нельзя, т.к. время распространения сигнала у неё в 2 раза больше, что пагубно при тактовой частоте динамического ОЗУ = 7 МГц.

Если ИЕ10 поставить серии КР1531, то проблем не будет, но их достать будет трудно. Я склоняюсь к тому, чтобы КР1531ИЕ10 заменить на КР1531ИЕ17, во многом они полностью аналогичны ИЕ10, но функционально несколько шире чем ИЕ10, так что я смогу их заменить без существенного изменения схемы, их я смог без проблем купить, правда, импортный аналог 74F169N.

А теперь об изменениях и преимуществах данной схемы перед схемами Пентагона-1024 1.4 и Пентагона-128:

Во-первых, ещё давно я выполнил доработку схемы, которая устраняет "дребезг счёта" во второй КР1533ИЕ10 в конце строки экранной области из-за неудачной схемы тактирования в Пентагоне-1024 1.4 при реализации коэффициента деления = 14. Этот же "дребезг счёта" КР1533ИЕ7 присутствует и в схеме Пентагона-128. Данный "дребезг счёта" создаёт проблемы при турбировании ОЗУ до 7 МГц, и делает невозможным полноценную реализацию видеорежимов 512х192 и 16Colors на турбированном ОЗУ (мерцание пикселей и атрибутов в последнем знакоместе строки из-за считывания данных из неверных адресов). Данная доработка учтена в данной схеме.

Счётчики строчной развёртки я выполнил на КР1533 (КР1531) ИЕ10, но в отличии от схемы Пентагона-1024 1.4, изменил схему их включения, использовал полностью синхронную схему тактирования обоих микросхем, что ликвидировало задержки переключения 2-й микросхемы относительно 1-й.
Данную схему тактирования я испытал на своём Пентагоне, и она успешно заработала, дребезг счёта 2-й ИЕ10 отсутствует.

От использования КР1533ИЕ7, которые применялись в Пентагоне-128, я окончательно отказался, т.к. при расширении разрядности они не поддерживают синхронную схему тактирования, а во-вторых, запись по входам D0-D3 у ИЕ7 асинхронная, что усложнит схему включения 2-й ИЕ7 при попытке устранить дребезг счёта в конце строки экрана.

Счётчики кадровой развёртки я решил сделать полностью как в Пентагоне-128, т.е. на 2-х КР1533ИЕ5, а не на К561ИЕ10, т.к. КМОП-серия 561 довольно медленная, а их сигналы участвуют в регенерации ОЗУ, так что задержки сигналов здесь так же должны быть минимальными.

В данной схеме реализовано 2 варианта положения сигнала "INT" Z80 - пентагоновский и фирменный, переключение входным сигналом "INT_POS":
INT_POS = 0 - Пентагоновский INT;
INT_POS = 1 - Фирменный INT.

Положение INT-а переключается как по вертикали, так и по горизонтали.

Джампер XJ1 нужен для определения точной позиции Пентагоновского INT по горизонтали:
В левом по схеме положении (замкнуты контакты 1 и 2) тайминги соответствуют схеме Пентагона-128, но возможно, INT будет отставать на 4 пикселя в данной схеме.
В правом по схеме положении (замкнуты контакты 2 и 3) тайминги соответствуют схеме доработки положения INT в Пентагоне-1024 1.4, т.е. INT станет на 4 пикселя раньше.

Какое положение XJ1 окажется правильным, покажет проверка на демке "INSULT". Сделал эту возможность, чтобы не пришлось резать дорожки в случае, если я не угадал правильный вариант. К сожалению, детальный анализ и сравнение таймингов Пентагона-1024 1.4 и Пентагона-128 ничего не дал - всё сходится пиксель в пиксель, а на деле разница INT-а на 4 пикселя, почему, я так и не понял.

Длительность сигнала "INT" определяется самим процессором Z80 - "INT" прекращается как только Z80 выставил подтверждение приёма INT сигналами "IORQ" и "M1". В случае, если маскированные прерывания запрещены, "INT" прекращается сам через 8 строк.

В данной схеме реализованы практически стандартная синхросмесь и стандартный сигнал "бланк":

Длина строчных гасящих импульсов (СГИ) = 11.43 мкс;
Длина строчных синхро импульсов (ССИ) = 4.57 мкс;
ССИ окружён СГИ на 1.71 мкс спереди (для надёжной синхронизации строк) и на 5.14 мкс сзади (для надёжной синхронизации цвета);
Задний фронт ССИ соответствует середине времени между бордюрными областями + смещение на 4 пикселя вправо, что даёт точную центровку экранной области по горизонтали.

Длина кадровых гасящих импульсов (КГИ) = 16 строк = 1024 мкс (оставил как есть);
Длина кадровых синхро импульсов (КСИ) в режиме "Пентагоновский INT" = 2.72 строки = 174.29 мкс (почти стандарт);
Длина кадровых синхро импульсов (КСИ) в режиме "Фирменный INT" = 2.5 строки = 160 мкс (стандарт);

КСИ окружён КГИ на 6 строк спереди и 7.5 строк сзади, положение КСИ даст улучшенную центровку экранной области по вертикали.

Принципиальная схема:

http://a.radikal.ru/a04/1712/cb/c75765ed2344t.jpg (https://a.radikal.ru/a04/1712/cb/c75765ed2344.jpg)

Тайминги развёртки:

https://a.radikal.ru/a30/1712/92/587f4b6927a4t.jpg (https://a.radikal.ru/a30/1712/92/587f4b6927a4.png)

HardWareMan
23.12.2017, 20:08
Northwood, в чем сакральный смысл узла {DD2.1,DD3.1,DD3.2}?

Northwood
23.12.2017, 20:14
Northwood, в чем сакральный смысл узла {DD2.1,DD3.1,DD3.2}?

Это замена элемента КР1531ЛП5. Данную микросхему я не смог найти ни в серии 1531, ни в серии 531, а никакую другую серию туда ставить нельзя. Поэтому пришлось городить ЛЛ1 и ЛА3.

А смысл его - удвоение частоты синхро сигналов для турбирования ОЗУ.

HardWareMan
23.12.2017, 20:39
Это замена элемента КР1531ЛП5. Данную микросхему я не смог найти ни в серии 1531, ни в серии 531, а никакую другую серию туда ставить нельзя. Поэтому пришлось городить ЛЛ1 и ЛА3.

А смысл его - удвоение частоты синхро сигналов для турбирования ОЗУ.
Я уже смоделировал и увидел, что это удвоение 14МГц, после которого опять же деление на 2. И оно не управляемое (или я не увидел как именно ты собрался управлять). Поэтому и спросил. И почему бы тогда не поставить кварц на 28МГц? В моем Ленине именно такой и стоял (с напаяшкой в виде дополнительной ТМ2 для получения 14МГц).

Northwood
23.12.2017, 20:48
Я уже смоделировал и увидел, что это удвоение 14МГц, после которого опять же деление на 2. И оно не управляемое (или я не увидел как именно ты собрался управлять).
Отличие данного узла от Пентагона-1024 1.4, начиная от кварцевого генератора до RAS и CAS на ТМ8, только в этом удвоении частоты, всё остальное без изменений. Теоретически схему можно упростить, если убрать удвоение частоты и последующее её деление на 2. Но не получим ли при этом глючащее ОЗУ из-за расхождении задержек сигналов, сказать не могу, а данный вариант схемы уже много лет хорошо работает в моём Пентагоне, хотя и не со всеми модулями SIMM 30 pin (нормально работают только 3-чиповые, а 9-и чиповые нужно подбирать).



Поэтому и спросил. И почему бы тогда не поставить кварц на 28МГц? В моем Ленине именно такой и стоял (с напаяшкой в виде дополнительной ТМ2 для получения 14МГц).

Я не нашёл нигде в продаже такого кварца, хотя с самого начала тоже хотел ставить его. Нашёл только 27 с копейками МГц, а когда ещё до всех доработок, попробовал заменить кварц 14 МГц на кварц 27.xxx МГц, он запустился на частоте в трое ниже, т.е. нужно переделывать саму схему генератора, и я решил пойти путём удвоения частоты.

SoftFelix
23.12.2017, 20:49
Данную микросхему я не смог найти ни в серии 1531, ни в серии 531
Есть импорт 74S86 и 74F86.

Поэтому пришлось городить ЛЛ1 и ЛА3.
Так из-за суммирования времени задержки вся кайфушка пропала. Имхо. Насколько я помню, в NENO-FDC такой же "фазер" стоИт и там вполне нормально работает КР1533ЛП5.

Northwood
23.12.2017, 21:16
Есть импорт 74S86 и 74F86.

Так из-за суммирования времени задержки вся кайфушка пропала. Имхо. Насколько я помню, в NENO-FDC такой же "фазер" стоИт и там вполне нормально работает КР1533ЛП5.

FDC - Floppy Disc Controller ? А причём тут он ?
Ну я всё-таки попробую 1533ЛП5, к счастью, этот "бутерброд" стоит с краю в углу платы, так что возможность поэкспериментировать без риска повредить "МГТФ монтаж" имеется.

P.s. Вчера таки мне удалось купить MC74F86N, так что эту часть схемы я всё-таки перерисую.

SoftFelix
23.12.2017, 21:26
FDC - Floppy Disc Controller ? А причём тут он ?
Я ж написал - там (http://zx-pk.ru/attachment.php?attachmentid=23122&d=1292684530) такой же умножитель (делитель) стоИт. Вернее, там он делает из 14МГц 8МГц, но тоже всё на обратной связи и задержка очень критична. А вот в самОм КАЕ такая же схема (ЛП5+ТМ8) (http://zx-pk.ru/attachment.php?attachmentid=24984&d=1297705054) для ТУРБО-режима. Там вполне нормально работает КР1533ЛП5.

Northwood
23.12.2017, 23:05
Сделал 2-й вариант схемы:

1) В удвоителе тактовой частоты 3 элемента 1531ЛЛ1 и 1531ЛА3 заменил на 1 элемент 1531ЛП5. Возможно, что можно туда поставить 1533ЛП5, проверю позже.

2) Счётчики КР1533ИЕ10 заменил на КР1531ИЕ17. У них только 2 отличия - вместо входа RESET вход выбора направления счёта, и входы разрешения счёта и переноса CET, CEP и выход переноса CT инверсные, в связи с чем один элемент ЛА3 пришлось заменить на ЛЛ1.

3) В 1-й версии схемы забыл в КР1533ИЕ5 неиспользуемые входы R0 и R1 соединить с землёй.

http://a.radikal.ru/a41/1712/5e/7327c34281a8t.jpg (https://a.radikal.ru/a41/1712/5e/7327c34281a8.png)

Микросхемы счётчиков КР1531ИЕ17 вполне допускают такое количество подключенных входов других микросхем серий КР1533 и КР1531, так что глюков быть не должно. Их и оставлю. Т.е. серию 1533 ставить будет нельзя, можно либо КР1531ИЕ17, либо зарубежный аналог 74F169.

Northwood
24.12.2017, 04:36
3-я версия схемы формирователя растра, надеюсь, последняя:

Полностью переделал переключение положение INT "Пентагон/Фирменный" по горизонтали. В новой версии счётчики не затрагиваются вообще, а перемещается непосредственно только сигнал INT, как по вертикали, так и по горизонтали. За счёт убранной коммутации уменьшена задержка переключения вертикальных счётчиков, а так же на 1 корпус микросхемы стало меньше (ушла КР1533ЛП8).

Максимальную длительность INT-а при запрещённых прерываниях уменьшил в 8 раз до 1-й строки. При разрешённых прерываниях как и прежде, длительность INT-а определяет сам процессор.

Схема:

http://b.radikal.ru/b35/1712/3b/87d265403476t.jpg (https://b.radikal.ru/b35/1712/3b/87d265403476.png)

Тайминги в соответствии с изменениями:

http://d.radikal.ru/d03/1712/07/792b3307fdc7t.jpg (https://d.radikal.ru/d03/1712/07/792b3307fdc7.png)

HardWareMan
24.12.2017, 07:40
Я не нашёл нигде в продаже такого кварца, хотя с самого начала тоже хотел ставить его. Нашёл только 27 с копейками МГц, а когда ещё до всех доработок, попробовал заменить кварц 14 МГц на кварц 27.xxx МГц, он запустился на частоте в трое ниже, т.е. нужно переделывать саму схему генератора, и я решил пойти путём удвоения частоты.
Ну как же. Вот у китайцев (https://www.aliexpress.com/wholesale?catId=0&initiative_id=SB_20171223203807&SearchText=28MHz) есть не только резонаторы, но и генераторы. Но у меня стоял какой-то русский.

Northwood
31.12.2017, 00:24
По мере свободного времени продолжаю составлять схему.
Уже есть память 4 Мб, мультиплексоры ОЗУ, и коммутация адресов видеоконтроллера пока что реализована под стандартный видеорежим.
Джампер XJ2 позволяет выбрать тип устанавливаемого модуля SIMM 30 pin. При установке модуля на 1Мб, перемычка должна быть установлена, а при установке модуля на 4Мб, перемычка должна быть снята.

http://d.radikal.ru/d27/1712/72/aa2baec92728t.jpg (https://d.radikal.ru/d27/1712/72/aa2baec92728.png)

Northwood
02.01.2018, 07:10
Готов формирователь видеосигнала и порт атрибутов, из дополнительных видеорежимов готов флешколор.

Если вы заметили на микросхемах КР1533ИР16 не совпадение названий 1 и 6 ножек со схемой Пентагона-1024 1.4 от КОЕ, то ошибка не в моей схеме, а в схеме от КОЕ, в которой они перепутаны между собой. Информацию об ИР16 я сравнивал с несколькими справочниками, и остановился на наиболее авторитетном на мой взгляд справочнике - В.Л. Шило "Популярные цифровые микросхемы".

Подключение мультиплексора - пикселей / атрибутов / бордюра в схеме Пентагона-1024 1.4 на КР1533КП11 и трёх резисторах "Border" на мой взгляд не очень удачное, здесь я воспользовался схемой от Пентагона-128 - 2 шт 1533КП2. Так же добавил видеорежим "Флешколор", видоизменив её под этот вариант мультиплексора. Кстати, данное решение позволило немножко упростить схему флешколора, т.к. сигнал "Blank" на КП2 заводится на ноги разрешения выхода. Сделал нормальнй сигнал "Флеш" частотой 1.5 Гц - путём деления частоты кадров на 32 счётчиком К561ИЕ10.

Сам же выход R/G/B/Y сделал по схеме из журнала Инферно-9, на 4-х транзисторах КТ3102, т.е. размахи видеосигнала на выходе должны соответствовать стандарту.

https://d.radikal.ru/d14/1801/a4/b7544792f800t.jpg (https://d.radikal.ru/d14/1801/a4/b7544792f800.png)

Сервис "радикал" уже начинает масштабировать схему при просмотре. Поэтому для просмотра в 100% масштабе, после того как кликните по изображению и оно откроется в отдельной вкладке, правая кнопка мышки и "сохранить изображение как...". Сохранённое изображение можно посмотреть имеющимся просмотрщиком в нужном масштабе.

Northwood
02.01.2018, 21:35
Добавлена коммутация тактовой частоты Z80 и 3 формирователя сигнала WAIT:
1) WAIT для обращения процессора к ОЗУ только в режиме "Турбо-14 МГц";
2) WAIT для сильно тормозных портов, используется в режимах "Турбо-7 МГц" и "Турбо-14 МГц";
3) WAIT для некоторых легко тормозных музыкальных сопроцессоров, используется только в режиме "Турбо-14 МГц", длительность WAIT-а меньше чем в пункте 2.

Использование WAIT:

1) В режиме "Нормал 3.5 МГц" - WAIT не используется никогда;
2) В режиме "Турбо 7 МГц" - WAIT используется для списка устройств (список ниже), а так же для самых тормозных AY "GI";
3) В режиме "Турбо 14 МГц" - WAIT используется для обращения процессором к памяти, а так же для списка устройств (список ниже) и для не сильно тормозных AY MicroChip или TurboSound-FM.

В схеме появляются 2 джампера, которыми можно выбирать степень WAIT-а при обращении к AY:

1) При установке YM 2149F джамперы можно вообще не устанавливать - они не нуждаются в торможении портов, т.к. отлично тянут Турбо-14 МГц;
2) При установке AY 3-8910/12 фирмы "MicroChip" или TurboSound-FM, нужно установить джампер XJ4 - при обращении к нему WAIT будет только в "Турбо-14 МГц" на меньшее время;
3) При установке AY 3-8910/12 фирмы "GI" следует установить джампер XJ3 - при обращении к нему WAIT будет в обоих турбо режимах - 7 МГц и 14 МГц на большее время.

Список устройств, для которых WAIT используется в обоих турбо-режимах:

1) Джойстик;
2) Клавиатура;
3) PS/2 мышь;
4) CMOS-часы;
5) TR-DOS.

https://thumb.ibb.co/ge2a1b/Pentagon_4096.png (https://image.ibb.co/dgYR7G/Pentagon_4096.png)

Остаётся ещё схема видеорежимов, подключение CMOS-часов, мультипорт расширенной памяти, остальных портов, управление теневым ОЗУ, управление ПЗУ, порты BIOS, контроллер FDD, шина ZX-Net (4 слота), слот ISA для модема.

Ошибку в схеме формирования WAIT исправил - не хватало одного соединения.

Northwood
06.01.2018, 03:22
Готовы все 8 дополнительных видеорежимов:

0) Стандартный;
1) Аппаратный мультиколор;
2) 512х192 монохромный с возможностью выбора цвета текста;
3) 512х192 цветной;
4) 512х192 мультиколорный;
5) 16 Colors;
6) 384x308 полноэкранный;
7) Флешколор;
8) Аппаратный автоматический гигаскрин.

По сравнению с предыдущей схемой, где из дополнительных видеорежимов был реализован только флешколор, в нескольких местах схемы некоторые сигналы были отрезаны и заведены другие сигналы.

Так же готово подключение CMOS-часов и реализация порта #EFF7.
Реализована возможность проецирования 0-й страницы ОЗУ в 0-е адреса #0000-#3FFF через бит D3 порта #EFF7. От такого же проецирования 0-й страницы ОЗУ, но через порт #1FFD, я решил пока отказаться, т.к. никогда не пользуюсь, а там видно будет.
Поддержка D3 #EFF7 требуется, к примеру, в демке "Nedodemo" от Alone Coder-а.

Кстати, минимальные требования 1-й Nedodemo:

1) Видеорежим 16Colors;
2) 1Мб ОЗУ по стандарту "Pentagon", т.е. с использованием бита блокировки D5 #7FFD в качестве расширения ОЗУ;
3) Наличие статической КЕШ-памяти минимум 16Кб, доступной через чтение порта #FB/#7B;
4) Возможность проецирования 0-й страницы ОЗУ в 0-е адреса через бит D3 порта #EFF7;
5) Наличие звуковой карты TurboSound-FM.

Требуется уточнение схемы подключения микросхемы CMOS-часов HM6818A. По инету их летает куча. Я в своё время экспериментировал с этой микросхемой, но нормальных результатов не добился - микросхема жрала ток 1мА, даже при НЕактивном сигнале выбора микросхемы ~CS, и постоянно изменялась скорость хода часов (на встроенном генераторе), они могли ускориться в 1.5 раза, в 2 раза и даже больше.

Проблема с чрезвычаной прожорливостью микросхемы заставила меня отказаться от неё в пользу микросхемы Dallas DS12887, которая показала превосходные результаты - часы идут с достаточной точностью, потребляет единицы мкА, и при этом ещё содержит в 2 раза больший объём ОЗУ - 128 байт, из которых для произвольного использования доступно 114 байт.

Тем не менее, хочу сделать нормальную поддержку обоих видов микросхем CMOS-часов, поэтому нужна ваша помощь.

Приведённую здесь схему включения HM6818A, а именно вариант подключения 20 и 22й ножек я ещё на практике не пробовал. Тактировать однозначно буду только от внешнего генератора на экономичной микросхеме MC14069, которую нельзя менять ни на какую другую.
Ещё возникает вопрос, какой именно тип батарейки будет всем удобней использовать. Для Dallas DS12887, после выковыривания встроенной батарейки, с головой хватает 3в, но для HM6818A, учитывая падение напряжения на диоде шоттки, лучше поставить 3.6в.

Входной сигнал "RTCWR_ON" позволяет запретить запись во встроенную память микросхемы CMOS. Если сигнал = 0, микросхема доступна и на чтение, и на запись. Если сигнал = 1, содержимое памяти CMOS можно только прочитать (в саму микросхему запись при этом возможна только через порт выбора регистра, а сами регистры при этом Read Only).

Надеюсь, что ничего в схеме не забыл.

https://thumb.ibb.co/d6qBCG/Pentagon_4096.png (https://image.ibb.co/fXRUzw/Pentagon_4096.png)

P.s. Из схемы аппаратного гигаскрина можно смело удалить один из триггеров DD80.1 ТМ2, а вместо его выхода подать сигнал с выхода Q0 счётчика DD51.1 К561ИЕ10, освободившийся элемент ТМ2 можно будет использовать в другом узле. Сделаю это изменение в следующей схеме.

Northwood
07.01.2018, 02:56
Добавил опрос в теме:

"Нужно ли чтение портов расширения памяти ? И каких ?"

Заканчиваю схему мультипортов расширения памяти, напомню, что поддерживаются порты #7FFD, #DFFD и #1FFD и их комбинации, а так же поддерживается режим "Spectrum 3+". Раньше я её приводил отдельно, теперь с незначительной оптимизацией она почти готова в полной версии схемы. Но вопрос о необходимости чтения из этих портов продолжает меня беспокоить.

Northwood
07.01.2018, 23:52
В схему добавлен менеджер портов расширения памяти до 4Мб, а так же коммутатор страниц ПЗУ ёмкостью 128 Кбайт.

Реализованы стандартный режим и "Spectrum 3+".

В стандартном режиме реализованы порты расширения ОЗУ - #7FFD, #DFFD и #1FFD, можно выбирать любые комбинации из этих 3-х портов или полностью их отключить. Получаемый доступный объём ОЗУ, в зависимости от выбранной через порт BIOS конфигурации, от 128 Кб до 4 Мб. Бит блокировки верхней памяти #7FFD-D5 по-умолчанию выполняет функции расширения памяти по стандарту "Пентагон-1024", но при активации из BIOS входного сигнала "7FD5_BLK" данный бит выполняет функции блокировки памяти с переводом Спектрума в режим "48 Кбайт".

В данном режиме доступны нижние 4 страницы ПЗУ со стандартным их расположением:

0 - Gluk Reset Service;
1 - TR-DOS;
2 - Menu-128;
3 - Basic-48.

0-я страница ПЗУ доступна двумя способами:

а) Пентагоновским способом - после сброса активируется 0-я страница ПЗУ, и если в коде был переход выполнения программы в область ОЗУ, то 0-я страница ПЗУ отключается и становятся доступны остальные 3 страницы.

Единственным отличием от стандарта является возможность в любой момент снова достучаться к 0-й страницы ПЗУ путём сброса в 0 бита D1 порта BIOS #FF37. Однако, чтобы после этого вернуть доступ к остальным страницам ПЗУ, простой установки в 1 #FF37-D1 не достаточно - нужно ещё выполнить переход на выполнение кода в область ПЗУ, после чего вернуться обратно в ОЗУ. Сделал эту заморочку для того, чтобы из BIOS-а можно было бы стартовать в Gluk Reset Service через резидента в ОЗУ.

б) Через бит D3 порта #1FFD - при установке его в 1 становится доступна 0-я страница ПЗУ, после сброса D3 в 0 становятся доступны остальные 3 страницы.

В режиме "Spectrum 3+" реализован специальный порт #1FFD 3+, поддерживаются оба режима "3+" - "стандартный 3+" и "специальный 3+", доступно 128 Кб ОЗУ, хотя в реальности верхнюю память я не блокировал и её так же можно конфигурировать через порт BIOS. В данном режиме доступны верхние 4 страницы ПЗУ со стандартным их расположением для данного режима:

4 - Редактор Basic-128;
5 - Обработчик ошибок Basic-128;
6 - Basic-48;
7 - +3DOS.


Коммутатор страниц ПЗУ поддерживает режим программирования основного ПЗУ 128 кБайт. Для этого входной сигнал "RFLASHING" должен стать = 1. Управление страницами ПЗУ в режиме программирования упрощается:

На А14 ПЗУ подаётся сигнал с порта #7FFD-D4 напрямую, минуя коммутатор TR-DOS;
На А15 ПЗУ подаётся сигнал с порта #1FFD-D3 тоже напрямую, минуя коммутатор TR-DOS;
На А16 ПЗУ во всех режимах сигнал соответствует выбранному стандарту - в "стандартном" = 0, в "Spectrum 3+" = 1, и выбирается через порт BIOS. Таким образом, в режиме программирования свободно доступны все 8 страниц ПЗУ.

Коммутация сигнала ~WE ПЗУ экспериментальная. Я никогда не делал программаторы ПЗУ на Спектруме, здесь знаний у меня нет, поэтому я пока сделал просто - при чтении байта из ПЗУ активируется сигнал ~OE, при этом сигнал ~WE блокируется, при записи байта в ПЗУ активируется сигнал ~WE, при этом сигнал ~OE блокируется. Если надо, переделаю.

Коммутация сигналов ~CS основного ПЗУ и ПЗУ BIOS будет в схеме портов BIOS, управления теневым ОЗУ и переключения микросхем ПЗУ.

Ну и нарисовал в схеме музыкальный сопроцессор AY-3-8910 с резисторным микшером выходов A,B и C. Позже подсмотрю схему в TurboSound-FM чтобы сделать что-то аналогичное.

https://thumb.ibb.co/jLzvrb/Pentagon_4096.png (https://image.ibb.co/fMn4jw/Pentagon_4096.png)

P.s. Т.к. пока что никто не отозвался и не проголосовал по поводу нужности чтения из портов расширения памяти, данная возможность пока что не вошла в данную схему.

P.p.s. Данная схема содержит проверенную годами схему автоматической блокировки верхней памяти при выполнении команд короткой адресации к портам OUT (xx), A, IN A, (xx). Напомню, что как только в коде встречается код одной из этих двух команд, вся верхняя память отключается, остаются только 128 Кб, а порт #7FFD при этом переводится на мягкую дешифрацию, при которой работают все программы, в которой используются данные команды. Как только в коде встречается код любой другой команды, вся верхняя память разблокируется, и порт #7FFD снова переводится на жёсткую дешифрацию.

P.p.p.s. команды OUT (5x),A не поддерживаются, т.е. если вы захотите щёлкнуть 6-й бит порта #7FFD через OUT (5x),A, то переключение не произойдёт, т.к. отзовутся только 128 Кб ОЗУ.

SoftFelix
08.01.2018, 02:33
Требуется уточнение схемы подключения микросхемы CMOS-часов HM6818A.
Я наигрался с этой микросхемой в SMUC'е (http://zx-pk.ru/threads/13769-smuc-v2-0-rev-b.html?p=357172&viewfull=1#post357172). Нормальной работы так и не добился. Гадит на шину. Была идея поставить транзистор в цепь 13-ой ноги, но тут пришла DS12887 от CHRV, которая сразу и без проблем заработала, а HM6818 выкинута в долгий ящик. DALLAS'ов на Али полнО (https://ru.aliexpress.com/af/ds12c887.html?d=y&origin=n&blanktest=0&jump=afs&initiative_id=SB_20180107153225&isViewCP=y&catId=0) по вполне вменяемым ценам...

Northwood
08.01.2018, 03:48
Нормальной работы так и не добился. Гадит на шину. Была идея поставить транзистор в цепь 13-ой ноги,

Со стабильностью шины данных при подключении HM6818A у меня проблем как раз не возникло, но я сразу подключил к её 13-й ноге транзисторный ключ как на схеме, чтобы управлять доступом микросхемы через порт #EFF7-D7. А ещё про сигнал M1 при обращении к портам забывать не надо, особенно если идёт речь о CMOS и AY.



но тут пришла DS12887 от CHRV, которая сразу и без проблем заработала, а HM6818 выкинута в долгий ящик.

А сколько у тебя потребляла HM6818 от батарейки, ты не измерял случайно ?

SoftFelix
08.01.2018, 19:46
А сколько у тебя потребляла HM6818 от батарейки, ты не измерял случайно ?
Сейчас замерил на этом же макете. RM102 (http://cxem.net/review/review47.php) показал 10...20 мкА. Т.е. это 1 или 2 в самом младшем разряде на пределе мА. Ещё измерил на DT832 на пределе 2000 мкА. Показал, в среднем, 20...30 мкА. Щупы в разрыв плюсового вывода батарейки (+3.1В).

Northwood
08.01.2018, 20:08
Сейчас замерил на этом же макете. RM102 (http://cxem.net/review/review47.php) показал 10...20 мкА. Т.е. это 1 или 2 в самом младшем разряде на пределе мА. Ещё измерил на DT832 на пределе 2000 мкА. Показал, в среднем, 20...30 мкА. Щупы в разрыв плюсового вывода батарейки (+3.1В).

Может у меня попалась неисправная HM6818A ? Надо будет другую купить.

Northwood
11.01.2018, 02:40
Двигаемся дальше:

1) Добавлено чтение из трёх портов расширения памяти -#7FFD (все 8 бит), #DFFD (D0, D1, D2) и #1FFD (D3, D4, D7). Неиспользуемые в данной схеме биты портов будут читаться как 0.

2) Оптимизировал узел, формирующий сигналы ~MWE и ~MOE, отвечающие за запись в ОЗУ и чтение из буфера ОЗУ, с целью уменьшения количества каскадов логики и, соответственно, уменьшения задержки сигналов.

3) Сделал 4 порта BIOS:
#FC37 - конфигурация расширения памяти, выбор режима "обычный" и "Spectrum 3+";
#FD37 - управление теневым ОЗУ - включение эмуляции 4-х страниц ПЗУ, выбор, в каком режиме эмулировать ПЗУ - в "обычном" или в "Spectrum 3+", включение режима загрузки данных в теневое ОЗУ через адреса #C000-#FFFF;
#FE37 - управление расширенной графикой (цвет текста для монохромного режима 512х192, вкл цвета в 512х192, флешколор, гигаскрин, а так же выбор положения сигнала INT - "Пентагон" или "Фирменный";
#FF37 - переключение ПЗУ - "BIOS/Spectrum", выбор страницы ПЗУ BIOS, сброс триггера 0-й страницы ПЗУ "Gluk Reset Service", блокировка записи в регистры CMOS, блокировка портов BIOS.

4) Сделал порт кеш-памяти #FB/#7B и всю необходимую коммутацию теневого ОЗУ и всего что с ним связано. Включение кеш-памяти по кнопке "Magic" сделаю после того как сделаю формирователь сигнала прерывания NMI.

Блокировка портов BIOS, это будет опция в BIOS-Setup, при включении которой при старте компьютера будут блокироваться порты #FC37, #FD37 и #FF37. Порт расширенной графики #FE37 блокироваться не будет, чтобы можно было в любой программе включить нужный видеорежим, отличающийся от выставленного в BIOS-Setup. Т.е. управлять видеорежимами можно двумя портами - #EFF7 и #FE37.

Загрузка прошивок в теневое ОЗУ:
Включаем бит D4 порта #FD37 (активируем сигнал HLD), при этом теневое ОЗУ появится в адресном пространстве #C000-#FFFF с доступом на чтение и запись. Выбор страницы теневого ОЗУ в этом режиме осуществляется через порт #7FFD, страницы с 0 по 3. Если включить страницы 4 по 7, то в #C000-#FFFF будет обычное ОЗУ. Это даёт возможность загрузки данных прямо из STS-монитора, выключаем D4 порта #FD37.

При желании можно вручную включить эмуляцию нужных страниц ПЗУ, включив соответствующие биты D0...D3 порта #FD37, если эмуляция должна быть для режима "Specrtum 3+", тогда ещё бит D7 #FD37. после чего эмуляция будет работать до следующего сброса. Если нужна постоянная эмуляция, то заходим в BIOS-Setup и включаем её там.

Осталось только сделать:

Контроллер дисковода - схема на 90% будет скопирована из схемы Пентагона-1024 1.4, но с исправлением турбирования ВГ93 в соответствии со статьями в журнале "Спектрофон" № 10, 12 и 14, а так же без досадных ошибок, допущенных в Пентагоне-1024 1.4 в виде отсутствия сброса триггера TR-DOS, отсутствия сброса порта TR-DOS.

Порты клавиатуры, кемпстон джойстика, PS/2 мыши (вариант с буфером шины данных), принтера, бордюра, магнитофона.

Формирователи сигналов ~Reset и "~NMI".

Шина ZX-BUS (4 слота).

Шина ISA для модема по схеме Михаила Кондратьева с использованием прерывания NMI.

Ну и в конце будет большая оптимизация, после которой количество корпусов микросхем станет меньше.

https://thumb.ibb.co/k2nZNR/Pentagon_4096v2.png (https://image.ibb.co/g3biGm/Pentagon_4096v2.png)

P.s. Раньше я зарезервировал один бит порта расширенных видеорежимов #FE37 для включения режима "Brifht+Flash", который я не реализовывал в схеме, и не знал, куда приткнуть переключение положения INT "Пентагон/Фирменный". Ещё раз почитал про "Bright+Flash", и понял, что ничего особенного в нём нет, чтобы его делать - просто разделение яркости для INK и PAPER и всё. Поэтому я решил вместо него повесить на этот бит порта #FE37 переключение положения INT.

И попутно у меня вопрос ко всем:

Есть порт #FB/#7B на чтение для включения / выключения кеш-памяти, и есть режим "Spectrum 3+". Сейчас, в данной версии схемы, я заблокировал этот порт при включении режима "Spectrum 3+". Вопрос: так и оставить или сделать этот порт доступным из режима "Spectrum 3+" ? Разумеется, речь идёт о "Стандартном Spectrum 3+" режиме. Для режима "Специальный Spectrum 3+", когда основное ОЗУ доступно из 0-х адресов, порт включения кеш-памяти в любом случае оставлю заблокированным.

Djoni
11.01.2018, 12:35
Двигаемся дальше:



И попутно у меня вопрос ко всем:

Есть порт #FB/#7B на чтение для включения / выключения кеш-памяти, и есть режим "Spectrum 3+". Сейчас, в данной версии схемы, я заблокировал этот порт при включении режима "Spectrum 3+". Вопрос: так и оставить или сделать этот порт доступным из режима "Spectrum 3+" ? Разумеется, речь идёт о "Стандартном Spectrum 3+" режиме. Для режима "Специальный Spectrum 3+", когда основное ОЗУ доступно из 0-х адресов, порт включения кеш-памяти в любом случае оставлю заблокированным.


Я думаю лучше сделать доступным из режима "Spectrum 3+,возможно пригодится в системе +3DOS для освобождения 7-й страницы.

Northwood
11.01.2018, 13:02
Я думаю лучше сделать доступным из режима "Spectrum 3+,возможно пригодится в системе +3DOS для освобождения 7-й страницы.

Сделал. Теперь порт #FB/#7B доступен из режима "Spectrum 3+ Standart". Из режима "Spectrum 3+ Special" остаётся по-прежнему заблокированным. Заодно исправил 2 досадные ошибки - подключил к BIOS порту #FF37 забытый сигнал RFLASHING для включения режима прошивки ПЗУ, повесил его на бит D7, и в схеме порта атрибутов заменил сигнал ~DOS на ~TRDOS. В схеме это один и тот же сигнал, просто в одном месте ошибочно назвал ~DOS, в другом ~TRDOS.

https://thumb.ibb.co/gFGqxR/Pentagon_4096v2.png (https://image.ibb.co/mt2VxR/Pentagon_4096v2.png)

Northwood
13.01.2018, 03:22
Готов контроллер дисковода (FDC):

Один момент я взял из схемы Пентагона-128 1991 года - получение тактовой частоты КР1818ВГ93 не отдельными делителями частоты на ТМ2, а счётчиком ИЕ10, который и так имеется в схеме FDC, что позволило уменьшить схему на 1 микросхему. Позже детально проанализирую работу ИЕ10 в FDC чтобы понять, для чего в Пентагоне-1024 1.4 использовался отдельный делитель частоты.

Турбирование КР1818ВГ93 сделано по правильной схеме, в соответствии со статьёй в журнале Спектрофон № 14 (http://zxpress.ru/article.php?id=4564). Коммутирование тактовых частот 1 МГц и 2 МГц пока что на КР1533КП11, во время оптимизации схемы, может быть, заменю на 3 простых логических элемента, если останутся свободны.

На схеме Пентагона-1024 1.4 от KOE есть две взаимоисключающие ошибки - в микросхеме К531ИД14 перепутаны между собой нумера выводов для входов A0 и A1 (на схеме от КОЕ это входы V1 и V2), и точно таким же образом перепутаны между собой сами входы V1 и V2 на принципиальной схеме. В результате на плате оба входа A0 и A1 К531ИД14 оказались подключены правильно и FDC работает правильно. Однако, данная ошибка во время изучения схемы ввела меня в ступор, пока всё не прояснилось. В моей схеме путаница с A0 и A1 КР1531ИД14 устранена.

Ну и устранены две ошибки, присутствовавшие в схеме Пентагона-1024 1.4:

а) отсутствие сброса триггера TR-DOS на ТМ2 при нажатии на кнопку [Reset];
б) отсутствие сброса порта TR-DOS на ТМ9, а через него и отсутствие сброса КР1818ВГ93, при нажатии на кнопку [Reset].

Однако, нужно ещё раз повнимательней проверить схему FDC, ничего ли не забыто и не перепутано.

https://thumb.ibb.co/i4yubm/Pentagon_4096v2.png (https://image.ibb.co/mm07wm/Pentagon_4096v2.png)

До конца принципиальной схемы остаётся совсем не много:

1) Порты клавиатуры, джойстика, мышки, бордюра, магнитофона и принтера;
2) Формирователь прерывания NMI, формирователь сброса.
3) Шина ZX-Bus 4 слота и 1 слот ISA для модема по схеме М.Кондратьева.

Northwood
13.01.2018, 17:37
Тут возникла проблема конфликта кеш-памяти с портом принтера. Во время печати используется чтение состояния принтера из порта #FB (сигналы QUSY и BUSY). Однако, это вызовет нежелательное включение кеш-памяти. Вопрос, что делать ? Как разрешить конфликт ?

SoftFelix
13.01.2018, 19:21
Вопрос, что делать ? Как разрешить конфликт ?
Только выводить внешний переключатель, который бы руками коммутировал /CS микросхемы памяти (+5В/GND) при желании пользователя поработать на принтере.

Northwood
13.01.2018, 19:38
Только выводить внешний переключатель, который бы руками коммутировал /CS микросхемы памяти (+5В/GND) при желании пользователя поработать на принтере.

Если ставить переключатель, то коммутировать нужно не ~CS микросхемы памяти, а управление триггером порта кеш-памяти. Иначе после завершения печати, когда пользователь вернёт переключатель в исходное положение, компьютер тут же зависнет, т.к. ТМ2 порта уже будет включенным.

Но не хочется обвешивать корпус компьютера переключателями, иначе он начнёт напоминать кабину пилотов пассажирского самолёта. Кроме того, пользователь может забыть щёлкнуть переключатель, и при старте печати компьютер зависнет или сбросится, а если он ещё и не сохранил на диск только что набранный документ, то выругается по полной программе.

Решение использовать порт #FB/#7B для включения / выключения кеш-памяти существует с 90-х годов. Неужели с тех пор всё решается только внешним переключателем ?

SoftFelix
13.01.2018, 19:48
Если ставить переключатель, то коммутировать нужно не ~CS микросхемы памяти, а управление триггером порта кеш-памяти. Иначе после завершения печати, когда пользователь вернёт переключатель в исходное положение, компьютер тут же зависнет, т.к. ТМ2 порта уже будет включенным.
Я в схемотехнику пока не лез. Просто предложил вариант. Ведь на одних портах весИт, фактически, два девайса, но они не должны влиять друг на друга. Значит выбор за пользователем.


Неужели с тех пор всё решается только внешним переключателем ?
Для клонов с развесистыми доработками это нормально. Иначе с таким же количеством софта и железа эта конструкция будет нещадно глючить.

У меня вот так: :)
https://a.radikal.ru/a01/1903/08/4487c4e7550et.jpg (http://radikal.ru/fp/4m93a7p6yhgih)

Northwood
13.01.2018, 20:17
Я в схемотехнику пока не лез. Просто предложил вариант. Ведь на одних портах весИт, фактически, два девайса, но они не должны влиять друг на друга. Значит выбор за пользователем.

Значит придётся и мне повесить переключатель. В моём случае пока получается только 3 переключателя - "Турбо-7", "Турбо-14" и "Блок. кеш".
Всё остальное будет переключаться через BIOS. Сейчас пока что, для того чтобы поменять конфигурацию, нужно заходить в BIOS-Setup (клавиша [8] при сбросе, затем клавиша [2] в меню и [Enter]). Позже я сделаю возможность быстрого доступа к настройке конфигурации, чтобы достаточно было только одной клавиши [8] или какой-то другой при сбросе.



Для клонов с развесистыми доработками это нормально. Иначе с таким же количеством софта и железа эта конструкция будет нещадно глючить.

У меня вот так: :)

http://photo.qip.ru/photo/softfelix/3868246/xlarge/109001367.jpg (http://photo.qip.ru/users/softfelix/3868246/109001367/)

Не хватает рычага положения предкрылок и закрылок, выпуска шасси, включение антиобледенителя, и слева штурвала :)))

- - - Добавлено - - -

Назревает ещё вопрос по поводу выбора микросхемы статического ОЗУ 64 Кб:

Сейчас у меня стоит "GLT751208" в узком корпусе DIP-32. Она конечно быстрая и работает хорошо, но ток потребления у неё около 1...2 мА. Т.к. статическое ОЗУ можно использовать для эмуляции ПЗУ, и включить эту эмуляцию можно через BIOS-Setup, настройка сохраняется в CMOS, то становится очевидным необходимость сохранения в статическом ОЗУ загруженной прошивки ПЗУ после выключения питания, а для этого нужно подобрать статическое ОЗУ с микропотреблением тока в режиме хранения данных.

Вообще существуют ли микросхемы статического ОЗУ 64 Кбайта с потреблением тока в режиме хранения данных порядка единиц мкА ?

Northwood
15.01.2018, 06:30
Закончил схему всех портов, а так же формирователи сигналов ~NMI и ~Reset. Осталась только шина ZX-Bus и подключение модема ISA.

Теперь самое время заняться вопросом:


Northwood, самый главный вопрос, а кэш рэмэмбер (http://zx-pk.ru/threads/27892-cash-remember-servisnyj-monitor-(512k-cache).html)-то будет работать с этой "машиной мечты"?

Ближайшие пару дней хочу на своем живом Пентагоне припаять кнопку Magic и завести на формирователь NMI включение кеша, посмотрю, что из этого получится, будет ли работать кеш ремембер, затем нарисую это в своей схеме.

Хотел бы сейчас выложить схему, того что готово уже сейчас, но не могу - основной инет 2-й день не работает, какие-то вандалы разворовали оборудование интернет провайдера, а со смартфона через мобильный инет залить схему, учитывая ее размеры, может и не получиться. Вообщем жду, когда заработает основной инет.

- - - Добавлено - - -

P.s. Чуть не забыл один важный вопрос на счет порта принтера:

Для чего нужно для него отдельное ПЗУ ? В Пентагоне-128 1991 года оно есть, а в Пентагоне-1024 1.4 от КОЕ его нет, хотя порт принтера есть. Стоит ли это ПЗУ поставить в новый Пентагон-4096 ?

JV-Soft
15.01.2018, 15:18
Для чего нужно для него отдельное ПЗУ ?
Если подключать принтер и пользоваться им из бейсика или очень старых прог, то нужно , я же в свое время писал свои драйвера для печати не использовавшие ПЗУ.
Можно не ставить , а написать загрузчик принтерной пзу в кеш. иначе придется ставить порт или джампер для переключения между кешем и пзу принтера.

Northwood
15.01.2018, 15:38
Если подключать принтер и пользоваться им из бейсика или очень старых прог, то нужно , я же в свое время писал свои драйвера для печати не использовавшие ПЗУ.
Можно не ставить , а написать загрузчик принтерной пзу в кеш. иначе придется ставить порт или джампер для переключения между кешем и пзу принтера.

Спасибо. Я изучу подробней, как в Пентагоне-128 сделано переключение между ПЗУ Спектрум и Принтера. Ставить еще одну микросхему ПЗУ в Пентагоне-4096 не хочется, занимать теневое ОЗУ под это дело тоже не хочется, поэтому попробую вместо этого использовать ПЗУ BIOS, если поставить микросхему 27C512, то у нас будут свободны целые 2 страницы.

JV-Soft
15.01.2018, 15:53
Northwood, пзу включается как и кеш по IN #FB , отключается по IN #7B , все равно потребуется переключалка.
Сделать загрузку кода пзу принтера в кеш самый верный вариант для тех кто захочет принтером побаловаться ,но дело ваше :)

Northwood
15.01.2018, 16:16
Northwood, пзу включается как и кеш по IN #FB , отключается по IN #7B , все равно потребуется переключалка.
Сделать загрузку кода пзу принтера в кеш самый верный вариант для тех кто захочет принтером побаловаться ,но дело ваше :)

Переключалка при использовании принтера в любом случае понадобится, хоть с дополнительным ПЗУ, хоть без него, т.к. при печати из любого места будет включаться кеш. Сам же кеш может быть при необходимости использоваться для других задач, при которых процедуры печати будут уничтожены. Плюс 0-я страница теневого ОЗУ в новом Пентагоне может эмулировать 0-ю страницу ПЗУ Gluk Reset Service, при которой кеш вообще будет недоступен. Именно поэтому я и не хочу использовать кеш для прошивки ПЗУ принтера.

Northwood
16.01.2018, 08:42
Готов очередной этап:

1) Переработал управление теневым ОЗУ, теперь порт #FB/#7B несёт несколько иной смысл, теперь он отвечает не только за включение кеш-памяти, а и за включение ПЗУ принтера.

2) Прошивка LPRINT теперь находится в ПЗУ BIOS в 3-й странице, т.е. ёмкость ПЗУ BIOS теперь должна быть 64 Кб. 0 и 1 страницы, как и раньше, занимает прошивка BIOS, 2 страница пустая, и в 3-й LPRINT, которую надо размножить на все 16 Кб.

3) Появился новый джампер "XJ6", к которому нужно подключить внешний переключатель "кеш on/off". Чтобы кеш-память была доступна, контакты должны быть замкнуты, в этом случае включение порта #FB/#7B включает кеш-память.
Если контакты XJ6 разомкнуть, то включение порта #FB/#7B будет включать ПЗУ LPRINT.

4) Сделал формирователь NMI на КР1533АГ3, схему взял полностью из Пентагона-1024 1.4, только с исправлением очередной ошибки - на вход NMI Z80 сигнал брался с прямого выхода АГ3, а должен быть с инверсного, т.е. неактивный уровень NMI должен быть единицей. Саму кнопку "Magic" подключил по-другому, в отличии от схемы КОЕ, у меня кнопка коммутирует на вход микросхемы логики постоянный уровень 0 или 1, а не динамический сигнал выборки процессором кода операции из ОЗУ, на коммутацию этого сигнала я не пожалел 1 лишний логический элемент ЛА3.

При нажатии на [Magic] включается триггер TR-DOS (открываются порты КР1818ВГ93), а так же порт #FB/#7B, с которым включается кеш-память. Если кеш-память отключена переключателем, тогда порт #FB/#7B не меняет своего состояния.

5) Сделал формирователь сигнала Reset. Т.к. количество периферии получается большое, то линией Reset управляет оставшийся свободный после контроллера дисковода логический элемент К555ЛН2 с открытым коллектором, с подтягивающим резистором 1 кОм. Длительность Reset формируется на входе логического элемента, а не на самой линии Reset.

6) Сделал порты #FE - бордюр, спикер, магнитофон вход/выход, клавиатура и порт кэмпстон джойстика #1F. Дешифрация портов выполнена по такому же принципу, как в схеме Пентагона-1024 1.4, но с исправлением ряда ошибок.

7) Сделал порт принтера.

8) Магнитофонный порт сделал полностью по схеме из компьютера "Орель БК-08", т.к. по моему субъективному мнению, она обладает наилучшей надёжностью чтения аудио-кассет.

9) Сделал PS/2 порт для подключения мышки на микроконтроллере ATtiny2313 с буфером шины данных, что позволяет использовать без-WAITовый вариант прошивки.


Осталось сделать:

1) Аудиомикшер на операционном усилителе как в TurboSound-FM;
2) Шину ZX-Bus на 4 слота;
3) Слот ISA для модема.

https://thumb.ibb.co/jgXfMm/Pentagon_4096v2.png (https://image.ibb.co/gzUS1m/Pentagon_4096v2.png)

- - - Добавлено - - -

Однако, ещё есть над чем подумать. При отключенной переключателем кеш-памятью, нажатие кнопки [Magic] не должно включать ПЗУ LPRINT, в то время как чтение из порта #FB наоборот должно. Вообщем, доработаю этот момент.

- - - Добавлено - - -

Доработка оказалась не сложной, теперь работает так:

Если переключатель стоит в положении "Кеш включен", тогда чтение из порта #FB включает кеш-память. Нажатие на кнопку "Magic" активирует сигнал NMI, включает порт #FB/#7B, а с ним и кеш-память, и триггер TR-DOS, открывая порты КР1818ВГ93.

Если переключатель стоит в положении "Кеш отключен" или если включена эмуляция 0-й страницы ПЗУ, при которой кеш-память не может быть доступной, тогда чтение из порта #FB включает ПЗУ LPRINT. Нажатие на кнопку "Magic" активирует сигнал NMI и включает триггер TR-DOS, открывая порты КР1818ВГ93, состояние порта #FB/#7B остаётся неизменным.

Максимальный доступный размер кеш-памяти = 32 КБ, т.е. 2 страницы, выбор страницы через порт #7FFD бит 4. Если включена эмуляция ПЗУ "Menu-128", тогда доступный размер кеш-памяти становится 16 КБ.

Схему обновил.

Northwood
17.01.2018, 08:13
Принципиальная схема компьютера "Пентагон-4096" уже близка к завершению. Готова шина ZX-Bus 4 слота и подключение ISA-модема по схеме М.Кондратьева с поддержкой прерываний NMI.

Пришлось значительно переделать формирование сигналов ~OE ПЗУ и теневого ОЗУ, чтобы всё это можно было корректно подключить к ZX-Bus со всеми блокировками. Сделал небольшую косметическую модернизацию и менеджера портов расширения памяти.

У меня возникли некоторые вопросы по шине ZX-Bus:

1) Для чего предназначен контакт B5 "Турбо" ? Для того чтобы периферийное устройство могло отключить турбо-режим ? Какой уровень сигнала соответствует запрещённому состоянию турбо ? Я пока что эту линию шины не подключал, а сделал как в схеме Пентагона-1024 1.4, просто подтянул резистором 470 Ом к +5в до выяснения этого вопроса.

2) Для чего в Nemo BUS задействован контакт B4 "BLK" ? По схеме Пентагона-1024 1.4 по этой линии периферийное устройство может самостоятельно задействовать или наоборот заблокировать часть верхней памяти, в пределах бита D4 порта #1FFD. Однако, почему-то тоже самое не сделано для D7 #1FFD и D7 #7FFD, поэтому смысл этого для меня остаётся загадкой. Но я в своей схеме пока что просто точно так же задействовал эту линию "BLK".

До завершения схемы, кроме решения этих вопросов, осталось только:

а) Проверить в работе КЕШ ремембер, у меня пока что не добрались руки до подключения NMI;
б) Сделать аудио-микшер аналогичный как в TurboSound-FM;
в) Выполнить оптимизацию по корпусам микросхем, которая освободит минимум 3-4 корпуса.

https://thumb.ibb.co/dP1yRm/Pentagon_4096v3.png (https://image.ibb.co/dGJ1e6/Pentagon_4096v3.png)

SoftFelix
17.01.2018, 08:40
Какой уровень сигнала соответствует запрещённому состоянию турбо ?
Лог.0. Т.е. 1 - ТУРБО. Линия под "монтажное И".


2) Для чего в Nemo BUS задействован контакт B4 "BLK" ? По схеме Пентагона-1024 1.4 по этой линии периферийное устройство может самостоятельно задействовать или наоборот заблокировать часть верхней памяти, в пределах бита D4 порта #1FFD. Однако, почему-то тоже самое не сделано для D7 #1FFD и D7 #7FFD, поэтому смысл этого для меня остаётся загадкой. Но я в своей схеме пока что просто точно так же задействовал эту линию "BLK".

"сигнал установки в окно CPU0 страницы ОЗУ, wr D0=1 #1FFD". Т.е. отключает ПЗУ с #0000...#3fff и подключает туда траницу ОЗУ. Как пример - используется для iS-DOS Chic. Линия под "монтажное И".

Рекомендую за основу построения шины взять схему КАЯ-1024_2010 (http://zx-pk.ru/attachment.php?attachmentid=24984&d=1297705054) и документ описания шин от блек-кота (http://zx.clan.su/forum/7-82-1).

- - - Добавлено - - -

Схему диспетчера IORQCE лучше собрать по схеме zst. Она более быстрая, хоть и содержит на МС больше. Не использовать D56.1! Не более 4-х слотов. В диспетчере только 74F32 или 1531ЛЛ1!
https://b.radikal.ru/b26/2002/b8/67832e3b6550t.jpg (https://b.radikal.ru/b26/2002/b8/67832e3b6550.jpg.html)

Northwood
17.01.2018, 14:01
"сигнал установки в окно CPU0 страницы ОЗУ, wr D0=1 #1FFD". Т.е. отключает ПЗУ с #0000...#3fff и подключает туда траницу ОЗУ. Как пример - используется для iS-DOS Chic. Линия под "монтажное И".


Это бит D0 #1FFD, который отключает ПЗУ и подставляет в адреса #0000-#3FFF ОЗУ 0-ю страницу.

Я про бит D4 #1FFD, который управляет расширением памяти. Вопрос в том, зачем он нужен на NemoBus на контакте B4 ?

- - - Добавлено - - -



Схему диспетчера IORQCE лучше собрать по схеме zst. Она более быстрая, хоть и содержит на МС больше. Не использовать D56.1! Не более 4-х слотов. В диспетчере только 74F32 или 1531ЛЛ1!


Этот вариант схемы действительно лучше, т.к. задерживается цепочкой из 4-х элементов ЛЛ1 только сигналы IORQGE, а сам IORQ везде проходит только через 1 элемент ЛЛ1. Кроме D56.1, судя по всему, нужно так же выкинуть и D56.2 и D56.4, т.к. не понятно, зачем нужен не подписанный входной сигнал, у меня его точно не будет. Итого, на 3 слота схема уменьшается до 5 элементов ЛЛ1, на 4 слота уйдёт 7 элементов ЛЛ1.

SoftFelix
17.01.2018, 14:24
Я про бит D4 #1FFD, который управляет расширением памяти. Вопрос в том, зачем он нужен на NemoBus на контакте B4 ?
Может я что-то не понимаю, но вот только что посмотрел - В4 - сигнал BLK - 0-ой бит #1ffd.

- - - Добавлено - - -


Кроме D56.1, судя по всему, нужно так же выкинуть
Я это и написал - он не ставится.


судя по всему, нужно так же выкинуть и D56.2 и D56.4, т.к. не понятно, зачем нужен не подписанный входной сигнал, у меня его точно не будет.
Без графического пояснения не могу понять о чём речь. В КАЕ-1024_2010 тоже 4 слота. Глянь его схему по ссылке и всё станет ясно.

Northwood
17.01.2018, 15:59
Может я что-то не понимаю, но вот только что посмотрел - В4 - сигнал BLK - 0-ой бит #1ffd.

В схеме Пентагона-1024 1.4 от КОЕ, B4 - сигнал BLK - 4-й бит #1FFD. 0-й бит #1FFD используется, но на шину ZX-Bus не заведён. То ли это ошибка в схеме, то ли это отличие от Nemo-Bus. Вообщем, придётся изучать описание. Спасибо за ссылку, т.к. через гугл найти его не удалось.

- - - Добавлено - - -



Без графического пояснения не могу понять о чём речь. В КАЕ-1024_2010 тоже 4 слота. Глянь его схему по ссылке и всё станет ясно.

Набросал полную схему арбитра на основе приведённой тобой схемы от zst, изобразил все 4 слота:

https://preview.ibb.co/c7XT96/ZX_Bus.png

Сейчас посмотрю, как это сделано в KAY-1024.

SoftFelix
17.01.2018, 19:16
Набросал полную схему арбитра на основе приведённой тобой схемы от zst, изобразил все 4 слота:
Да, всё правильно. Просто в схеме КАЯ первый слот расположен отдельно от данной конструкции (диспетчера). И обрати внимание, что /IORQ в данной схеме - это сигнал прямо от 20-ой ноги Z80, а /IORQG - это /IORQ для дешифрации всех устройств на метеринской плате.

- - - Добавлено - - -


В схеме Пентагона-1024 1.4 от КОЕ, B4 - сигнал BLK - 4-й бит #1FFD.
А в схеме КАЯ (Скориона) - это доп память (#C000...#FFFF) 256КБ. Это к вопросу совместимости и дальнейшего использования на твоём компе ПРОФ-РОМа и СМУКа.

- - - Добавлено - - -

И на контакт А5 слотов необходимо подавать буферизированный сигнал 14МГц с вентиля (микросхемы) повышенной нагрузочной способности. У тебя он идёт сразу с ЛН1 основного тактового генератора. Туда очень желателен вентиль ЛП8 или нечто подобное.

Northwood
17.01.2018, 20:26
И обрати внимание, что /IORQ в данной схеме - это сигнал прямо от 20-ой ноги Z80, а /IORQG - это /IORQ для дешифрации всех устройств на метеринской плате.

Это само собой.



А в схеме КАЯ (Скориона) - это доп память (#C000...#FFFF) 256КБ. Это к вопросу совместимости и дальнейшего использования на твоём компе ПРОФ-РОМа и СМУКа.

По тех.описанию, сигнал BLK на B4 всё-таки проецирует 0-ю страницу ОЗУ в CPU0, т.е. в схеме Пентагона-1024 1.4 туда должна подключаться линия ROMRAM, в моей схеме я оставил это же имя сигнала. Поэтому делаю вывод, что в схеме КОЕ ошибка.



И на контакт А5 слотов необходимо подавать буферизированный сигнал 14МГц с вентиля (микросхемы) повышенной нагрузочной способности. У тебя он идёт сразу с ЛН1 основного тактового генератора. Туда очень желателен вентиль ЛП8 или нечто подобное.

У меня остались 2 свободных элемента КР1531ЛП8, так что один из них задействую для этой цели.
Хочу сделать поддержку шины NemoBus v1.0.

И т.к. поддерживается режим ZX-Spectrum +3, то хочу сделать 1 слот ZX-Bus+3.

Northwood
18.01.2018, 04:00
Поработал над реализацией NemoBus v1.0:

1) Переименовал названия контактов в соответствии с документацией на NemoBus v1.0;
2) На контакт 4B "BLK" завёл сигнал, устанавливающий 0-ю страницу ОЗУ в окно CPU0 (в адресное пространство #0000-#3FFF);
3) Всё-таки решил реализовать установку 0-й страницы ОЗУ в окно CPU0 через порт #1FFD бит D0. Теперь это можно делать и через #1FFD-D0, и через #EFF7-D3.
4) Реализовал сигнал "TURBO" на шине NemoBus согласно документации на шину, но с учётом того что сделано 2 турбо-режима - 14 МГц и 7 МГц:

а) если турбо режим выключен кнопкой, то на контакт 5B "TURBO" NemoBus подаётся уровень 0 через открытый NPN транзистор, включенный по схеме с общим коллектором;
б) если включить любой из турбо режимов 7 МГц или 14 МГц, то на контакт 5B будет подаваться уровень 1 через резистор 680 Ом, т.к. транзистор будет закрыт;
в) если уровень 0 на контакт 5B подаст внешнее устройство, воткнутое в слот NemoBus, то турбо режимы будут заблокированы, компьютер будет работать в режиме Normal.

5) Внедрил более эффективную схему арбитра шины NemoBus от zst.
6) Буферизировал сигналы "F" (14 МГц) и "CLK" (тактовая частота процессора) для шины NemoBus с помощью двух оставшихся свободных элементов КР1531ЛП8.

https://thumb.ibb.co/dcdWe6/Pentagon_4096v3.png (https://image.ibb.co/mikBe6/Pentagon_4096v3.png)

Northwood
19.01.2018, 06:19
Northwood, самый главный вопрос, а кэш рэмэмбер (http://zx-pk.ru/threads/27892-cash-remember-servisnyj-monitor-(512k-cache).html)-то будет работать с этой "машиной мечты"?

Спешу сообщить хорошую новость - припаял кнопку Magic, припаял недостающее соединение, которого не было в моём реальном Пентагоне, но которое давно вошло в новую схему Пентагона-4096, "кеш-ремембер" проверил, работает на ура! Инсталлировал её в теневое ОЗУ, потом запускаю какую-нибудь игру, жму "Magic" - игра останавливается, бордюр зелёный. Жму "пробел" - появляется меню программы, делаю что хочу, по окончании в меню программы жму клавишу "3" и "Y" - прерванная игра продолжает работать с места остановки.

Единственный выявленный недостаток нынешней версии "кеш ремембера" - в ней не предусмотрено переключение видеорежимов. Запустил игру "Сакура 16 Colors", которая использует видеорежим "16 colors" (каждый пиксель своим цветом), жму Magic - бордюр зелёный, но видеорежим остаётся "16 colors", в результате вижу цветные пиксели вместо текста меню, работать не получится. Нужно чтобы при входе в меню "кеш ремембера" отключался расширенный видеорежим - в пентагоновский порт #EFF7 нужно посылать число 0, а при возврате в прерванную программу, чтобы спрашивало, какой видеорежим включить.

Вечером сниму видео с демонстрацией работы этой программы.

ZX_NOVOSIB
19.01.2018, 12:53
"кеш-ремембер" проверил, работает на ура!
Ну и слава богу. А работает при какой ёмкости теневого озу? 16? 32?
На Unreal если выставить в настройках 32, то уже не работает..


Единственный выявленный недостаток нынешней версии "кеш ремембера" - в ней не предусмотрено переключение видеорежимов. Запустил игру "Сакура 16 Colors", которая использует видеорежим "16 colors" (каждый пиксель своим цветом), жму Magic - бордюр зелёный, но видеорежим остаётся "16 colors", в результате вижу цветные пиксели вместо текста меню, работать не получится. Нужно чтобы при входе в меню "кеш ремембера" отключался расширенный видеорежим - в пентагоновский порт #EFF7 нужно посылать число 0, а при возврате в прерванную программу, чтобы спрашивало, какой видеорежим включить.
Ну альтернативные видеорежимы на спектруме ведь так и не стали популярны. Так, 1-2 простеньких игрушки на режим... ) На некоторые режимы вообще ничего нет.. ) АТМ и ТСконфа разве что имеют чуть больше чем по 2 игрушки, но и это капля в море. Так что альтернативные видеорежимы обычно мало кто учитывает.

А вообще, в "кэш ремембере" много чего не мешало бы поправить (благо исходники есть). Меня например раздражает обилие запросов, на каждый чих - запрос. И надо жать не ентер или пробел , а строго Y/N. Ещё круто было бы сделать лайт-версию, которая жила и работала бы сугубо в теневом озу. И если поставить энергонезависимую память в качестве такого озу, то не пришлось бы каждый раз загружать ремембер и его настройки бы не сбивались.

Northwood
19.01.2018, 14:19
Ну и слава богу. А работает при какой ёмкости теневого озу? 16? 32?
На Unreal если выставить в настройках 32, то уже не работает..

Вообще-то у меня ёмкость в режиме "кеш-память" 32Кб, выбор страницы через порт #7FFD-D4, Тест 4.30 определяет 32Кб, тем не менее, кеш-ремембер работает. Общий объём теневого ОЗУ 64 Кб, используются для эмуляции ПЗУ.

Northwood
24.01.2018, 06:35
Сделал аудио-выход по аналогичному принципу, как в TurboSound-FM, на тех же микросхемах операционных усилителей (ОУ) LM358. Сделал раздельные выходы для ТВ (для вывода на разъём SCART) и для аудио-колонок, для того чтобы исключить влияние подключенного телевизора на аудиоколонки, в особенности, если подключать ТВ без стереозвука с замкнутыми между собой правым и левым стерео-каналами. Сделал 3 входа для подключения аудиовыходов звуковых устройств, воткнутых в NemoBUS (General Sound, TurboSound, SoundDrive), чтобы смикшировать их со звуком, получаемым самой платой компьютера.

На дешифратор портов модема завёл сигнал DOS, который у меня на реальном Пентагоне заведён, но забыл завести на схему. Линию запроса прерывания DRQ4 модема подтянул резистором 680 на землю, для того чтобы при обращении к отсутствующему модему не генерировались прерывания NMI.

Сделал кое-какую оптимизацию:

Коммутация тактовых частот 2МГц / 1МГц КР1818ВГ93 раньше была на отдельной микросхеме КР1533КП11, теперь вместо неё задействовал 4 оставшихся свободных логических элементов (1 корпус минус), ещё минус один корпус КР1531ЛА4.

Вверху схемы оставшиеся незадействованные логические элементы используемых микросхем.

https://thumb.ibb.co/czRz9G/Pentagon_4096v3.png (https://image.ibb.co/f5c6pG/Pentagon_4096v3.png)

Настало время решить некоторые небольшие проблемы, которые я поднимал раньше, но отложил на потом:

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

2) Нужно всё-таки уточнить в схеме контроллера дисковода на счёт получения тактовых частот КР1818ВГ93:
Сравнивая между собой две схемы, одна "Пентагон-128 1991г" и "Пентагон-1024 1.4", я обнаружил два принципиальных отличия:

а) В Пентагоне-128 тактовая частота ВГ93 формируется на том же счётчике 555ИЕ10, на котором образуется и синхросигнал RCLK, в Пентагоне-1024 1.4 оба сигнала формируются раздельными делителями частоты (2хТМ2 для тактовой ВГ93 и 555ИЕ10 для RCLK);
б) В Пентагоне-128 входы ~Reset и ~Set триггеров ТМ2 формирователя сигнала чтения не задействованы, а в Пентагоне-1024 1.4 на них подаётся инвертированный сигнал WF/DE ВГ93.

У меня пока не добрались руки до детального изучения, как работает 555ИЕ10 в обоих вариантах контроллеров дисковода, но не уверен, что этой информации мне хватит для закрытия вопроса по контроллеру дисковода.

3) Нужно что-то решить с шиной ZX-Bus+3. Раз уж будет поддерживаться режим "Spectrum+3", то его поддержка бесполезна без возможности подключить периферию для компьютеров ZX-Spectrum+3. Я в PCAD-е нарисовал разъём этой шины, но многие сигналы пока что не смогу реализовать:

а) ROM1_OE и ROM2_OE, т.е. как я понял, в ZX-Spectrum+3 2 микросхемы ПЗУ ? Тогда нужно описание, что прошито в 1-й и что во 2-й, и как они переключаются;
б) MotorOn, Disk_RD, Disk_WR - это к контроллеру дисковода аналогичному отечественному на ВГ93, или к другому устройству хранения информации ? Насколько они важны для работы в среде +3DOS ?
в) Key, это сигнал вообще или механический ключ чтобы нельзя было неправильно воткнуть периферийное устройство ?

Если эта шина будет в данном компьютере, то будет только 1 разъём с самым низким приоритетом на уровне портов на материнской платы. Впрочем, по-другому и не получится - арбитр IORQ на ZX-BUS+3 вообще не предусмотрен.

https://thumb.ibb.co/hqzK9G/zx_bus_3.png (https://image.ibb.co/mCL4bw/zx_bus_3.png)

И у меня ещё вопрос:

Стоит ли на материнской плате нового Пентагона-4096 разместить ещё одно дополнительное устройство ? Если да, то какое из следующего списка ?

а) NemoIDE с IDE разъёмом на материнской плате или пусть остаётся отдельным устройством втыкаемым в разъём NemoBUS ?
б) SoundDrive ?

Ldaborc
24.01.2018, 08:17
Я думаю, что актуально оставить на плате NemoIde и не плохо бы воткнуть контроллер PC клавиатуры и контроллер SD-карт как ZX-Evo.

- - - Добавлено - - -

И такой ещё вопрос, а почему Вы не сделали бы Всё Это например на Альтере?

CodeMaster
24.01.2018, 08:46
ROM1_OE и ROM2_OE, т.е. как я понял, в ZX-Spectrum+3 2 микросхемы ПЗУ ?

ROM2 это помойму внешнее ПЗУ на картридже.


это к контроллеру дисковода

Опять же ИМХО это к микродрайву.


Key, это сигнал вообще или механический ключ

Механический ключ.


Стоит ли на материнской плате нового Пентагона-4096 разместить ещё одно дополнительное устройство ?

Ну, не знаю. Что-то нужно для загрузки, но сейчас все полюбили SD, оно может и удобно, но как по мне IDE DOM просто и сердито.


И такой ещё вопрос, а почему Вы не сделали бы Всё Это например на Альтере?

Из спортивного интереса же. На ПЛИС полно клонов с любым (теоретически возможным) функционалом, а на рассыпухе нет. Да и ничто не мешает, кому-то, при желании, потом оформить это в ПЛИС.

Northwood
24.01.2018, 10:01
Ну, не знаю. Что-то нужно для загрузки, но сейчас все полюбили SD, оно может и удобно, но как по мне IDE DOM просто и сердито.

Под IDE DOM всё-равно нужен IDE интерфейс + CF-адаптер. И если не ошибаюсь, CF-карты имеют ограниченный объём порядка 2...4 Гб, а для меня это мало. Я одних только MOD-ов для прослушивания на GeneralSound-е накачал на 20 гиг, на жёстком диске специально раздел создал под них.



Из спортивного интереса же. На ПЛИС полно клонов с любым (теоретически возможным) функционалом, а на рассыпухе нет. Да и ничто не мешает, кому-то, при желании, потом оформить это в ПЛИС.

ПЛИС хорошая штука... всё-таки 160 микросхем логики, не шутка. Плата получится большая, дорожки будут длинными. В варианте на рассыпухе, возможно, какие-то отдельные узлы оформлю на отдельных платах, которые будут вставляться в материнскую плату через разъёмы. Пока ещё не знаю, в каком виде всё это получится, время покажет.

- - - Добавлено - - -

Самое главное, что на рассыпухе удалось получить хорошую стабильность работы во всех 3-х режимах работы процессора - 3.5 МГц, 7 МГц и 14 МГц. Только на 14 МГц нестабильная шина данных при подключении NemoIDE и/или TurboSound-FM. Но более быстрый арбитр шины NemoBUS на двух КР1531ЛЛ1 + сборка NemoIDE на быстрых микросхемах серии 1531 вместо 555 + WAIT для TurboSound-FM должны помочь.

В остальном, запустил INSULT Megademo Hidden Part на 3.5 МГц с вечера, и до утра ни единого глюка. До этого сколько гонял на частоте 7 МГц, тоже самое. Надо будет досконально на 14 МГц погонять, но пока и там всё отлично.

Когда решал проблему конфликта видеорежима 512х192 с Турбо-14 МГц (раньше было мерцание пикселей при активной нагрузке процессора), то в очередной раз мне было облом опять выключать питание компьютера, и я решил перепаять один проводок от К531ТМ8 в синхрогенераторе на КР1531КП11 в схеме видеорежимов при включенном питании. В результате выход Q0 К531ТМ8 сдох почти сразу, пришлось заменить микросхему на такую же. Однако, новая К531ТМ8 из этой же партии стала давать массу глюков, которые появлялись только с прогревом. К тому времени купил импортный аналог 74F175 (F - аналог серии кр1531), и получил идеальную стабильность на 7 МГц. Однако, на 3.5 и на 14 МГц подглючивал. Распаял бутерброд из микросхем в тактовом генераторе с умножителем частоты, до недавнего времени умножитель частоты у меня был собран ещё по старой схеме на КР1531ЛЛ1 и КР1531ЛА3, заменил их одним элементом 74F86 (аналог КР1531ЛП5) как на схеме, которую я привёл, плюс воткнул другой шнурок питания +5в/+12в, и все глюки ушли, стало снова работать стабильно как раньше.

Заодно снова поэкспериментировал, откуда лучше брать тактовую частоту процессора 14 МГц. Перепробовал кучу вариантов - непосредственно с тактового генератора, сначала Z80, затем ТМ8, потом наоборот, сначала ТМ8, затем Z80, пробовал добавлять дополнительные задержки на ЛП5, пробовал просто брать с выходов Q0 и ~Q0 ТМ8... Единственный верный работоспособный вариант оказался как с самого начала на схеме. Во всех остальных вариантах, либо не проходил переход из BIOS в Gluk/Menu-128 и на экране BIOS во время тестирования оборудования всё зависало на тестировании теневого ОЗУ, либо сильно падала измеренная производительность процессора при работе с ОЗУ с 292 до 247%.

creator
24.01.2018, 10:29
И если не ошибаюсь, CF-карты имеют ограниченный объём порядка 2...4 Гб
Ошибаешься:
http://amiga.nsk.ru/a1200/cfide1s.jpg (http://amiga.nsk.ru/a1200/cfide1.jpg)
И даже так:
http://i100.fastpic.ru/thumb/2018/0124/63/78e3048d7f21375ca2be52217dfc9763.jpeg (http://fastpic.ru/view/100/2018/0124/78e3048d7f21375ca2be52217dfc9763.jpg.html)

CodeMaster
24.01.2018, 19:32
1) Нужно подобрать микросхему статического ОЗУ ёмкостью 64 Кб и с микропотреблением тока в режиме хранения информации и которую не сложно достать, для того чтобы при отключенном питании компьютера сохранялось содержимое этого ОЗУ (загруженные прошивки ПЗУ) при питании её от 3-вольтовой батарейки.

"64 Кб" - это "килобайта" же? MM пытается экспериментировать с FRAM, в МСК она стоит 80+ руб (правда объём не помню), вот тут (http://www.buyicnow.com/it.php?i=120) есть на 32КБ, но дорого правда.

Northwood
24.01.2018, 21:19
"64 Кб" - это "килобайта" же? MM пытается экспериментировать с FRAM, в МСК она стоит 80+ руб (правда объём не помню), вот тут (http://www.buyicnow.com/it.php?i=120) есть на 32КБ, но дорого правда.

Да, 64 кБайта, т.е. 512 кБит. FRAM больше 32 кБайт на том сайте, к сожалению, не нашёл. И по даташиту вроде как напряжение питания 3в не поддерживается.
Ток потребления 20 мкА... если бы это было при напряжении питания 3в и питать от батарейки CR2032, тогда батарейки хватит на 12500 часов или на 520 суток.

CodeMaster
24.01.2018, 21:37
если бы это было при напряжении питания 3в и питать от батарейки CR2032

А зачем её "питать"? Она энергонезависимая как флеш, но с большим количеством циклов и быстрая как DRAM.

JV-Soft
24.01.2018, 21:45
Она энергонезависимая как флеш, но с большим количеством циклов и быстрая как DRAM.
Совершенно верно.

https://www.promelec.ru/pdf/FM1608ds_r2.2.pdf

Northwood
24.01.2018, 23:10
https://www.promelec.ru/pdf/FM1608ds_r2.2.pdf

120 нс, не потянет 14 МГц. Ставить нужно не более 70 нс, возможно, можно и 90 нс ставить, не проверял.

JV-Soft
25.01.2018, 01:06
Northwood, это пример ,что оно из себя представляет ,возьмите fm1808

Northwood
25.01.2018, 02:19
Northwood, это пример ,что оно из себя представляет ,возьмите fm1808

Не нахожу FRAM с параллельным интерфейсом ёмкостью 512 кБит. Такие вообще бывают ? 256 кБит не подойдёт.

CodeMaster
25.01.2018, 08:24
Не нахожу FRAM с параллельным интерфейсом ёмкостью 512 кБит. Такие вообще бывают ?

Х.з. пока не видел.


256 кБит не подойдёт.

А 2 последовательно поставить, слишком много корпусов? Напаять бутербродом?

Northwood
25.01.2018, 12:24
А 2 последовательно поставить, слишком много корпусов? Напаять бутербродом?

Не хочется ещё один корпус ставить. Шина адреса и так прилично нагружена. Более того, у этих FRAM скорость доступа может быть и большая (70 нс), а вот скорость цикла записи ниже. Я всё-таки за то чтобы поставить статическое ОЗУ SRAM, а как вариант решения проблемы, при выключенном компьютере питать его не от литиевой батарейки, а от литиевого аккумулятора 3.6в с подзарядкой, только искать нужно будет аккумулятор со своим встроенным контроллером. Можно взять такой как в некоторых видеорегистраторах, к примеру, по площади не больше батарейки CR2032.

- - - Добавлено - - -

На повестке ещё 2 вопроса:

1) Хочу вернуться к теме выбора микросхем счётчиков в формирователе растра (DD130 и DD131).

Есть 2 варианта - КР1531ИЕ10 и КР1531ИЕ17. Вопрос в том, какие легче купить ? Знаю, что с серией 1533 проблем нет, можно и те, и другие купить. А вот с 1531 уже сложнее. Именно потому что я смог купить импортный аналог КР1531ИЕ17 (74F169), я и использовал его в схеме. Однако, с минимальной переделкой схемы можно поставить КР1531ИЕ10 (74F161).

Между ИЕ10 и ИЕ17 разница в инверсии входов управления CEP, CET и выхода TC, что влечёт замену в схеме всего одного логического элемента DD97.4 КР1533ЛЛ1 на КР1533ЛИ1, и подачу +5в вместо земли на выв. 7 и 10 DD131. Разница в назначении 1-й ноги ИЕ10/ИЕ17 никаких изменений в схеме не влечёт.

Но в то же время, у меня в реально работающем Пентагоне сейчас стоят КР1533ИЕ10, и не смотря на слабую серию 1533 и навешанными доработками, нагружающими их, глюков в работе не наблюдаю. Однако, будет хорошо обеспечить так называемый "запас прочности". Сейчас у меня КР1533ИЕ10 "не переносят" даже подключение щупа осциллографа.

2) Всплывает тема конфликтов между отечественной периферией под шину NemoBUS и импортной под ZX-BUS+3. Конкретно, конфликт между General Sound и DivIDE, у которых совпадают адреса портов #B3 и #BB. Предлагаю одно решение:
При включении режима "Spectrum+3" отключать шину NemoBUS и включать шину ZX-BUS+3, а в обычном режиме наоборот - пусть работает шина NemoBUS и отключена шина ZX-BUS+3. Только количество слотов NemoBUS придётся уменьшить до 3-х, но в замен я могу развести NemoIDE прямо на плате, чтобы не приходилось им занимать слот. Как такой вариант ?

Ldaborc
26.01.2018, 03:25
2) Всплывает тема конфликтов между отечественной периферией под шину NemoBUS и импортной под ZX-BUS+3. Конкретно, конфликт между General Sound и DivIDE, у которых совпадают адреса портов #B3 и #BB. Предлагаю одно решение:
При включении режима "Spectrum+3" отключать шину NemoBUS и включать шину ZX-BUS+3, а в обычном режиме наоборот - пусть работает шина NemoBUS и отключена шина ZX-BUS+3. Только количество слотов NemoBUS придётся уменьшить до 3-х, но в замен я могу развести NemoIDE прямо на плате, чтобы не приходилось им занимать слот. Как такой вариант ?
NemoIDE разводить однозначно. А с чем связано уменьшение слотов ZX-BUS?

Northwood
27.01.2018, 16:36
Ещё вопрос по ZX-Spectrum+3: На SpeccyWiki я обнаружил одну неточность с расположением страниц ПЗУ, то ли на сайте ошибка, то ли просто непоследовательно расположили строчки с прошивками:



00 - редактор BASIC128, меню и тест
01 - обработчик ошибок BASIC128
11 - BASIC48
10 - +3DOS


Хочу чтобы уточнили те кто знают, как на самом деле должны правильно располагаться страницы ПЗУ в ZX-Spectrum+3 ?

00 - редактор BASIC128, меню и тест
01 - обработчик ошибок BASIC128
10 - BASIC48
11 - +3DOS

или

00 - редактор BASIC128, меню и тест
01 - обработчик ошибок BASIC128
10 - +3DOS
11 - BASIC48

?

- - - Добавлено - - -

И ещё пытаюсь выяснить, существуют ли в серии 1531 микросхемы ЛП8 и ЛЕ4 или их зарубежные аналоги 74F125 и 74F27 ? Если нет, то придётся немного переделать схему.

SoftFelix
27.01.2018, 17:16
74F125
Вот эта есть на 146%. Сам её видел и использовал. В планаре очень часто встречается на PC-материнках 1999...2005 годов.

Northwood
27.01.2018, 17:51
В планаре очень часто встречается на PC-материнках 1999...2005 годов.

А в DIP-е её можно найти ?

- - - Добавлено - - -

Нагуглил фото в DIP-е 74F125 и даташит на неё, в котором приведён чертёж корпуса в DIP-14, т.е. существует, оставляю её в схеме. Микросхему КР1531ЛЕ4 пришлось исключить из схемы, немного переделав её, пришлось на 1 корпус поставить больше. Так же очень жаль, что не бывают логические элементы 3ИЛИ и 4ИЛИ.

P.s. 74F27 тоже нагуглил, существует, так что КР1531ЛЕ4 всё-таки оставлю в схеме.

Northwood
28.01.2018, 02:15
Два вопроса остались без ответа, поэтому решил их продублировать на новой странице:

1) Хочу вернуться к теме выбора микросхем счётчиков в формирователе растра (DD130 и DD131). Есть 2 варианта - КР1531ИЕ10 и КР1531ИЕ17. Вопрос в том, какие легче купить ? Мне все-равно, какие поставить, работать и те и другие будут одинаково, но в зависимости от того, какие поставлю, в схему придется внести небольшие изменения. Именно потому что я смог купить импортный аналог КР1531ИЕ17 (74F169), я и использовал его в схеме. Если я разведу плату под ИЕ17, и если окажется, что 1531ИЕ10 раздобыть проще, то потом под них придется резать дорожки и паять провода МГТФ. Между ИЕ10 и ИЕ17 разница в инверсии входов управления CEP, CET и выхода TC, что влечёт замену в схеме всего одного логического элемента DD97.4 КР1533ЛЛ1 на КР1533ЛИ1, и подачу +5в вместо земли на выв. 7 и 10 DD131. Разница в назначении 1-й ноги ИЕ10/ИЕ17 никаких изменений в схеме влечет.

2) Ещё вопрос по ZX-Spectrum+3: На SpeccyWiki я обнаружил одну неточность с расположением страниц ПЗУ, то ли на сайте ошибка, то ли просто непоследовательно расположили строчки с прошивками:



00 - редактор BASIC128, меню и тест
01 - обработчик ошибок BASIC128
11 - BASIC48
10 - +3DOS


Хочу чтобы уточнили те кто знают, как на самом деле должны правильно располагаться страницы ПЗУ в ZX-Spectrum+3 ?

00 - редактор BASIC128, меню и тест
01 - обработчик ошибок BASIC128
10 - BASIC48
11 - +3DOS

или

00 - редактор BASIC128, меню и тест
01 - обработчик ошибок BASIC128
10 - +3DOS
11 - BASIC48

?

SoftFelix
28.01.2018, 09:22
Есть 2 варианта - КР1531ИЕ10 и КР1531ИЕ17
ИЕ10-ые больше на слухУ. Они есть в КАЕ (FDC), Пентагоне (FDC), АТМ, Скорпе... Это то, что по-памяти. ИЕ17-ые не припомню. Вот сейчас набрал в Питерской Микронике (http://micronika.ru/order.phtml?keyword=%E8%E510) - есть несколько вариантов ИЕ10, ИЕ17 нет вообще. Всё ИМХО и по географическому положению. ИЕ10-ые действительно встречаются в наших разработках, ИЕ17-ые - нет.

Northwood
28.01.2018, 22:50
Исправил 2 ошибки в схеме, одну в формирователе сигнала ~MWE (разрешение записи в ОЗУ), которая возникла из-за случайного замыкания двух цепей, когда двигал часть схемы, вторую - в подключении сигнала обращения к порту #DFF7 на формирователь WAIT, случайно вместо него подал сигнал порта #EFF7 (WAIT при обращении к CMOS часам в турбо-режимах).

В схеме кэмпстон джойстика задействовал все 8 бит порта - 5 стандартных и 3 расширенных.

Предусмотрел возможность установки двух вариантов микросхем счётчиков в формирователе растра DD135 и DD136 - КР1531ИЕ10 или КР1531ИЕ17, для чего имеются 3 джампера J1, J2, J3, которые будут в виде перемычек на плате. При установке микросхем ИЕ10, следует замкнуть контакты 1 и 2 перемычек, а при установке микросхем ИЕ17, следует замкнуть контакты 2 и 3 перемычек.

Провёл ряд оптимизаций - в схеме подключения музыкального сопроцессора AY, что освободило 1 логический элемент, и ряд других оптимизаций, значительно уменьшившие нагрузку на линии ~RD и ~WR процессора, например, количество подключенных микросхем к линии ~WR уменьшил с 13 до 8.

Общее количество микросхем получилось 156, из них:

Процессор - 1шт,
ПЗУ - 2шт,
Статическое ОЗУ (SRAM) - 1шт,
Динамическое ОЗУ (SIMM) - 1шт,
Музыкальный сопроцессор (AY) - 1 шт,
Микроконтроллер ATTiny2313 - 1шт,
Микросхемы логики - 149шт.

NemoIDE в схеме пока отсутствует, включение / отключение шин NemoBUS и ZX-Bus+3 пока решил не делать, следовательно, на ZX-Bus+3 пока что подал ~IORQG, который имеет самый низкий приоритет, такой же как и все порты на материнской плате.

Остаётся выяснить, что делать с сигналами "ROM1 OE" и "ROM2 OE" в шине "ZX-Bus+3". Полного технического описания на эту шину найти пока не удалось, пока известна только цоколёвка разъёма с наименованиями сигналов.

И возник новый вопрос по отрицательным напряжениям питания -12в и -5в. Нужны они для модема (оба) и для шины ZX-Bus+3 (только -12в):
Делать ли формирователь этих двух напряжений на материнской плате или рассчитывать на их подключение от блока питания ?

Все компьютерные блоки питания имеют напряжение -12в, а напряжение -5в имеется только в старых блоках питания.

https://thumb.ibb.co/dixHmw/Pentagon_4096v3.png (https://image.ibb.co/nroezG/Pentagon_4096v3.png)

SoftFelix
28.01.2018, 23:15
И возник новый вопрос по отрицательным напряжениям питания -12в и -5в. Нужны они для модема (оба) и для шины ZX-Bus+3 (только -12в):
Делать ли формирователь этих двух напряжений на материнской плате или рассчитывать на их подключение от блока питания ?

Все компьютерные блоки питания имеют напряжение -12в, а напряжение -5в имеется только в старых блоках питания.

Для модема нужно предусмотреть оба напряжения. Я подключал много ISA-модемов. Старым нужны оба напряжения, а более современным - одно из отрицательных. Если предполагается запитка компа от АТХ, то с -12В (которое есть всегда на разъёме АТХ) подать на 7905 для -5В (корпусировку подобрать по желанию. в идеале, чтоб не парится, в ТО-220), размещённую на плате, и оба напряжения на слот модема. Не забыть про керамику и электролитики в обвязку 7905. Имхо.

Gutten
29.01.2018, 21:21
Чисто ИМХО - а насколько нынче актуальны модемы для медной телефонной линии? Имеет ли смысл делать для них эти напряжения?

SoftFelix
29.01.2018, 21:38
Чисто ИМХО - а насколько нынче актуальны модемы для медной телефонной линии?
Не, это вопрос пессимизма. Мы ж на форуме ретро-компов. Для ISA-модема по схеме Кондратьева есть полноценно работающий ФИДОшный софт. И для iS-DOS'a, и для TR-DOS'а. Я сам только на Спекке тянул ФИДО 3 года (1998-2001). Было прикольно.

Имеет ли смысл делать для них эти напряжения?
Ну уж если совсем ставить вопрос, то "зачем вообще в данной разработке отдельный слот для модема?".

Northwood
29.01.2018, 22:01
Чисто ИМХО - а насколько нынче актуальны модемы для медной телефонной линии? Имеет ли смысл делать для них эти напряжения?

Лично я использую на Спектруме модем, если нужно с / на ПЦ перебросить пару файлов. В некоторых случаях удобней перебрасывать файлы через дискеты, используя ретро-системник Пентиум-1, а в некоторых удобней модем. Причём, достаточно просто шнурком соединить 2 Dial-Up модема, без никакой подачи 60 вольт в линию, и в его конфиге прописать команду, чтобы он не ждал гудка перед набором номера. К тому же, это сильная ностальгия по временам FIDENet и ZXNet, когда я на Спектруме общался в этих сетях и тянул программы для Спектрума. У босса ZXNet была BBS с цветным меню и разделами. Увидеть всё это на экране спектрумовского монитора было, масса восторга. Да и просто початиться через модем на Спектруме между двумя терминалками, было масса впечатлений.

Gutten
29.01.2018, 23:50
Не, насчёт ностальгии я согласен. Но вот подключил я внешний модем к ZXMC2, даже позапускал какую-то терминальную программку. И всё. Фидо нынче нет, модемных пулов тоже. Так и продал его за ненадобностью.
Может лучше развести COM-порт как в той же ZXMC2, а уж кому надо, те внешний модем подключат или по нуль-модему свяжутся.
Хотя вам в больших городах виднее, я-то не застал и даже в глаза не видел всех этих фидо-шмидо или ZXнеты, только в журналах про них читал, потому и ностальгии нету. Может и стоит напряжения вывести, мало ли кто к ним что подключит.

SoftFelix
30.01.2018, 00:20
Может лучше развести COM-порт как в той же ZXMC2, а уж кому надо, те внешний модем подключат
В ZXMC2 СОМ-порт неполноценный, именно для модема не подходит. Нет сигналов DCD и RI. Dickie Mailer (iS-DOS, Михаил Кондратьев) не заработал в связке ZXMC2 и внешний модем Zyxel - Serial port not found. Писал об этом в теме про ZXMC.


Может и стоит напряжения вывести, мало ли кто к ним что подключит.
Там дело-то. Дешифратор и слот ужЕ предусмотрены, осталась 7905 и несколько кондёров.

Northwood
30.01.2018, 01:21
Хотя вам в больших городах виднее, я-то не застал и даже в глаза не видел всех этих фидо-шмидо или ZXнеты, только в журналах про них читал, потому и ностальгии нету. Может и стоит напряжения вывести, мало ли кто к ним что подключит.

За все крупные города не скажу, но у нас в Днепре с проводным телефоном последнее время полная ...опа. Телефонные кабели тотально вырезают, оставляя без телефона целые районы, компания Укртелеком давно забила на своих клиентов и несколько лет вообще не занималась восстановлением связи. Лично у меня городской телефон перестал работать лет 5 назад. Укртелеком только сейчас кинулся восстанавливать вырезанные кабели, и они не обещают восстановить связь всем. Оно и понятно,- у всех повально мобильная связь, кабельный инет 100 мбит/сек и резервный 3G. Поэтому если группа энтузиастов и возродят сети FIDONet и ZXNet, классическим способом через dial-up модем они доступны не будут. Не смотря на это, я не готов отказываться от подключения ISA модема в новом Пентагоне.

- - - Добавлено - - -



Там дело-то. Дешифратор и слот ужЕ предусмотрены, осталась 7905 и несколько кондёров.

Я хочу измерить ток потребления модемом по линии -5в во время сеанса связи и во время работы динамика, чтобы убедиться в том, что параметрический стабилизатор напряжения в корпусе ТО220 и без дополнительного радиатора, на котором падение напряжения составит 7в, не будет сильно нагреваться. Если будет все ОК, то поставлю 7905, если нет, то поставлю импульсный обратноходовой преобразователь, разумеется не забыв про LC фильтры на входе и выходе.

SoftFelix
30.01.2018, 01:39
Я хочу измерить ток потребления модемом по линии -5в во время сеанса связи и во время работы динамика, чтобы убедиться в том, что параметрический стабилизатор напряжения в корпусе ТО220 и без дополнительного радиатора, на котором падение напряжения составит 7в, не будет сильно нагреваться. Если будет все ОК, то поставлю 7905
Она холодная будет. Там мизерные токи, особенно для ТО-220. Вот мой слот для модема с 7905 (левый нижний угол в синей изоленте). На всех использованных модемах она холодная. Гасит прямиком с -12В.

http://photo.qip.ru/photo/softfelix/3810704/xlarge/88678772.jpg (http://photo.qip.ru/users/softfelix/3810704/88678772/)

CodeMaster
30.01.2018, 08:20
Фидо нынче нет, модемных пулов тоже.

http://www.phantom.sannata.ru/forum/index.php?t=18151

Gutten
30.01.2018, 12:17
А толку мне с Москвы? У нас вот нет уже давно этих пулов ни у одной конторы. Да и кому они нужны при массовой замене на оптику?

JV-Soft
30.01.2018, 13:59
А толку мне с Москвы? У нас вот нет уже давно этих пулов ни у одной конторы. Да и кому они нужны при массовой замене на оптику?
Повод разработать к спеку ethernet железку.

Gutten
30.01.2018, 15:24
Да уже zx-wifi сделали, и ethernet, но толку с них? Программно поддержать даже полбеды, куда и зачем подключаться? Форумы не почитаешь, они памяти и процессор жрут немеряно скриптами и разметкой; фтп - смысла не много, на них в основном лежат zip, которые не факт, что zxzip откроет. Перспектива не очевидна. Даже в качестве фана всё сомнительно.

Northwood
30.01.2018, 15:26
Форумы не почитаешь, они памяти и процессор жрут немеряно скриптами и разметкой; фтп - смысла не много, на них в основном лежат zip, которые не факт, что zxzip откроет. Перспектива не очевидна. Даже в качестве фана всё сомнительно.

Разве что сделать веб-ресурсы, специально разработанные для ZX-Spectrum, но нужно чтобы был хоть какой-то маломальский спрос.

solegstar
30.01.2018, 15:27
Да уже zx-wifi сделали, и ethernet, но толку с них?
Толк был бы, если бы работало не только на TS-Conf, а и под любым 6912. Ком-порт есть уже практически на любом спеке, это или интегрированный, как в Профи или Фениксе, так и выносной на zxmc2.

zx_
30.01.2018, 15:46
так это, usenet то работает, у буржуев точно, да еще и популярен
там новые замуты

транспорт не важен на самом деле

usb to rs232 40 руб на али
это вместо модема

дальше куча вопросов, но главный -с кем и о чем переписываться:v2_dizzy_facepalm:

OrionExt
30.01.2018, 15:55
Northwood, ошибаетесь. Это просто находка для фото любителей (oй. Для профи. Которые видео даже не по 4К оценинивают.) - СF (https://ru.wikipedia.org/wiki/CompactFlash). Там ценник просто зашкаливает в наше время. Другое дело для нас - технология остановилась.


(Опять попался. Дату сообщения не смотрел. Но движок форума, аккурат давит свой алгоритм.)

JV-Soft
31.01.2018, 01:29
Northwood, а у меня мысли крутятся такое поставить вместо КЕШ с моей платой расширений - http://www.st.com/content/ccc/resource/technical/document/datasheet/group1/b6/56/b6/36/4d/38/4d/18/CD00000551/files/CD00000551.pdf/jcr:content/translations/en.CD00000551.pdf

Это к разговору о мизерных потреблениях.

Northwood
31.01.2018, 17:20
Northwood, а у меня мысли крутятся такое поставить вместо КЕШ с моей платой расширений - http://www.st.com/content/ccc/resource/technical/document/datasheet/group1/b6/56/b6/36/4d/38/4d/18/CD00000551/files/CD00000551.pdf/jcr:content/translations/en.CD00000551.pdf

Это к разговору о мизерных потреблениях.

Микросхема памяти должна быть на 64 Кбайт, а не на 32. Я в любом случае предусмотрю питание от отдельной батарейки с развязкой двумя диодами шоттки, а распаивать ли на плате это питание или нет, будет дело пользователя. Только вот корпуса у SRAM бывают узкие и широкие, придётся делать разводку платы под оба типа корпуса. У меня используется микросхема GLT751208-T15, корпус DIP32 узкий.

PSA800611
31.01.2018, 17:48
Я вот все читаю-читаю... А платы будут заказываться?
Хотел бы собрать!

Northwood
31.01.2018, 17:58
Я вот все читаю-читаю... А платы будут заказываться?
Хотел бы собрать!

Ещё рановато об этом думать. Ещё есть несколько нерешённых вопросов - по шине ZX-Bus+3, нужно сделать уточнение в схеме контроллера дисковода, и закончить с NemoIDE. В базовом варианте схема у меня уже введена, но я хочу проверить на реально имеющейся плате NemoIDE, как он поведёт себя, если вместо серии К555 поставить КР1531, и оптимизировать дешифратор портов. Только после этого я начну разводку платы.

По NemoIDE, проверено, что с серией КР1533, если её выходы идут непосредственно на разъём IDE, то не работает. Серия К555 работает, но без глюков работает при тактовой частоте процессора до 7 МГц. На 14 МГц уже лезут ошибки при чтении из HDD, а при попытке записи данные на HDD портятся. Но я хочу попытаться заставить нормально работать HDD и при частоте процессора 14 МГц.

JV-Soft
31.01.2018, 18:53
По NemoIDE, проверено, что с серией КР1533, если её выходы идут непосредственно на разъём IDE, то не работает.
Можем подискутировать конечно ,несколько немо IDE ,абсолютно разной емкости винты , как 3,5" так и 2,5" , проверялось в обычном и турбо 7мГц ,ни одного глюка не было.

Увелич ,глянь на всю серию в Nemo-ide ;)

https://b.radikal.ru/b21/1801/6f/f5c52e060abat.jpg (https://b.radikal.ru/b21/1801/6f/f5c52e060aba.jpg)

Northwood
31.01.2018, 18:57
Можем подискутировать конечно ,несколько немо IDE ,абсолютно разной емкости винты , как 3,5" так и 2,5" , проверялось в обычном и турбо 7мГц ,ни одного глюка не было.

Увелич ,глянь на всю серию в Nemo-ide ;)


Я же сказал, что на 7 МГц и у меня глюков не наблюдается, всё работает отлично. Глюки чтения и записи на HDD появляются только на 14 МГц. Я хочу чтобы NemoIDE нормально работал и на 14 МГц.

А если микросхемы АП5, АП6 и ИР23 поставить серии КР1533, то NemoIDE не работает вообще, заменил эти 4 микросхемы на К555, оставив в серии КР1533 только 2 шт ИД7, и всё заработало. Проверял с HDD Samsung 120 гиг.

JV-Soft
31.01.2018, 19:11
Northwood, может пробовать правильные подтяжки сделать ? ,что бы собирающие потом серии не подбирали.

saymon
02.02.2018, 00:16
Я же сказал, что на 7 МГц и у меня глюков не наблюдается, всё работает отлично. Глюки чтения и записи на HDD появляются только на 14 МГц. Я хочу чтобы NemoIDE нормально работал и на 14 МГц.

А если микросхемы АП5, АП6 и ИР23 поставить серии КР1533, то NemoIDE не работает вообще, заменил эти 4 микросхемы на К555, оставив в серии КР1533 только 2 шт ИД7, и всё заработало. Проверял с HDD Samsung 120 гиг.

Не работает на какой частоте. Я поставилна плате JV-Soft ап5-6 555 серии, а ир23- 1533 то немо работает замечательно

SoftFelix
02.02.2018, 00:44
Для НЕМО-ИДЕ было сформировано несколько доработок, улучшающие его работу:

1. Исправление оригинальной ошибки НЕМО - неправильно сделана подтяжка сигнала /IOR для разъёма IDE. Там резистор подтяжки нужно переключить с сигнала /IOR на выход АП5 (5-ая нога).

2. Сигналы HD0...HD7 разъёма IDE нужно подтянуть резисторами 4.7кОм...10кОм к +5В.

3. Сигналы /IOW и /IOR подать на разъём IDE через резисторы 24...33 Ом.

Возможно, это что-то изменит на 14МГц.

Ещё не стОит забывать, что все задержки в драйверах НЕМО-ИДЕ формируются программно, и, возможно, просто не успевают за железом. В КАЕ, к примеру, любой /IORQ (как и /DOS) отключает ТУРБО-режим.

Northwood
02.02.2018, 10:29
В КАЕ, к примеру, любой /IORQ (как и /DOS) отключает ТУРБО-режим.

Вот это я считаю лишним. Зачем тормозить скорость чтения и записи на HDD, когда он может работать как минимум в 2 раза быстрее ? А если IDE нормально заработает и на 14 МГц без WAIT, тогда винчестер будет работать ещё быстрее. Именно поэтому я в своей схеме принципиально не отключаю ТУРБО при работе с портами, и активирую WAIT не для любого /IORQ, а только при обращении к критическим портам, которые не могут работать в ТУРБО-режиме и которые ускорять не имеет никакого смысла.
Например, FDD всё-равно никогда не начнёт быстрее читать и писать на дискету, клавиатуру и мышку ускорять вообще бессмысленно. А вот ускорение работы NemoIDE даст ускорение чтение и записи HDD пропорционально тактовой частоте процессора Z80.

SoftFelix
02.02.2018, 10:34
Northwood, это всё понятно, но у тебя сейчас на 14МГц вообще полурабочий глюкодром, насколько я понял. :) Короче - нужно пробовать. Аппаратные сбои на IDE - недопустимы. Потеря инфы на винте воспринимается крайне болезненно.

Northwood
02.02.2018, 10:45
Northwood, это всё понятно, но у тебя сейчас на 14МГц вообще полурабочий глюкодром, насколько я понял. :) Короче - нужно пробовать. Аппаратные сбои на IDE - недопустимы. Потеря инфы на винте воспринимается крайне болезненно.

Сейчас у меня на 14 МГц глюки только с NemoIDE и с TurboSound-FM. Сама по себе процессорная часть - Z80-RAM-ROM, а так же FDD, клавиатура и мышка при включении Турбо-14 МГц вообще не глючат. При работе с FDD при активации сигнала Motor (RDY ВГ93) частота Турбо с 14 МГц снижается до 7 МГц либо отключается (в зависимости от того, оба переключателя Турбо включены или только 14 МГц), плюс обязательно активируется WAIT при обращении к портам TR-DOS. Я несколько суток гонял свой Пентагон на Турбо-14 МГц на демке INSULT (Hidden Part), вообще ни одного сбоя. Дискеты читаются и пишутся при включении 14 МГц вообще без проблем.

Ну а глюки с видеорежимом 512х192 в Турбо-14 Мгц я давно победил, это продемонстрировано на моём последнем видео про Кеш-ремембер. Так что мне остаётся немного.

SoftFelix
02.02.2018, 11:30
Сейчас у меня на 14 МГц глюки только с NemoIDE
Я только это имел в виду.

и с TurboSound-FM
Про это, видимо, не уследил.

При работе с FDD при активации сигнала Motor (RDY ВГ93) частота Турбо с 14 МГц снижается до 7 МГц либо отключается (в зависимости от того, оба переключателя Турбо включены или только 14 МГц), плюс обязательно активируется WAIT при обращении к портам TR-DOS.
Как у тебя работает FUT v2.01 в ТУРБО? Насколько стабильно определяет наличие диска ("Disk absent!)"?

- - - Добавлено - - -

p.s. Что у тебя с доработками НЕМО-ИДЕ, что я описал выше? Что-нить ужЕ было сделано на тот момент?

Northwood
02.02.2018, 12:25
Я только это имел в виду.

Про это, видимо, не уследил.

Как у тебя работает FUT v2.01 в ТУРБО? Насколько стабильно определяет наличие диска ("Disk absent!)"?
Пожалуй, при работе с TR-DOS, кроме WAIT-а нужно отключать любое Турбо. Проверил FUT 2.01, в Турбо-7 МГц стабильно "Disk absent". Подведу сигнал RDY_ВГ93 к переключателю Турбо-7 МГц и отпишусь. Сейчас RDY_ВГ93 у меня подведён только к переключателю Турбо-14 МГц.




p.s. Что у тебя с доработками НЕМО-ИДЕ, что я описал выше? Что-нить ужЕ было сделано на тот момент?

Пока ещё доработки не делал. Ближе к вечеру всё это буду пробовать.

- - - Добавлено - - -



2. Сигналы HD0...HD7 разъёма IDE нужно подтянуть резисторами 4.7кОм...10кОм к +5В.


А HD8...HD15 разве не нужно подтянуть ?

- - - Добавлено - - -

Если после доработок NemoIDE нормально заработает с микросхемами серии КР1533, и будет работать в Турбо-14 МГц без торможения портов IDE, то будет отлично. Т.к. достать микросхемы АП5, АП6 и ИР23 в серии КР1531 для меня оказалось не реально. Нашёл только у китайцев на Aliexpress и на eBay их аналоги 74F244, 74F245 и 74F374, но ждать 3-4 недели.

SoftFelix
02.02.2018, 13:43
А HD8...HD15 разве не нужно подтянуть ?
Вроде нет. Там было что-то про дву-направленность АП6 и перевод её в Z. Давно очень было, не помню тонкостей. Возможно что-то есть в темах про НЕМО-ИДЕ Rev.A.


Проверил FUT 2.01, в Турбо-7 МГц стабильно "Disk absent".
Возможно от дисковода ещё зависит. Особенно, если он 3.5. У меня на Mitsumi такого не было, точно помню, но читал он не очень. Поставил офигенный ALPS (3.5') и началось. Но только в FUT'е и только в ТУРБО. Зато читает-пишет ALPS просто идеально.

shurik-ua
02.02.2018, 14:14
Например, FDD всё-равно никогда не начнёт быстрее читать и писать на дискету
если на ВГ-шку подать 2МГц и на проц 7МГц (no wait) - то будет и читать и писать в 2 раза быстрее - только диски нужны будут HD 1.44 МБ - а не древние 720КБ

Northwood
02.02.2018, 14:29
Вроде нет. Там было что-то про дву-направленность АП6 и перевод её в Z. Давно очень было, не помню тонкостей. Возможно что-то есть в темах про НЕМО-ИДЕ Rev.A.
В ИР23 тоже используется Z состояние. Попробую сначала только HD0-HD7 подтянуть, если что, попробую HD8-HD15 тоже.



Возможно от дисковода ещё зависит. Особенно, если он 3.5. У меня на Mitsumi такого не было, точно помню, но читал он не очень. Поставил офигенный ALPS (3.5') и началось. Но только в FUT'е и только в ТУРБО. Зато читает-пишет ALPS просто идеально.

Только что проверил у себя в FUT-2.01 на обоих дисководах в Турбо-7 МГц:

3.5" SONY MPF-920 - Disk is absent,
5.25" Robotron - всё отлично, тестирование диска проходит без каких либо проблем.

Но с чтением и записью на дискеты проблем вообще никаких.

- - - Добавлено - - -


если на ВГ-шку подать 2МГц и на проц 7МГц (no wait) - то будет и читать и писать в 2 раза быстрее - только диски нужны будут HD 1.44 МБ - а не древние 720КБ

От тактовой частоты центрального процессора не зависит скорость чтения, она определяется скоростью вращения диска и тактовой частотой ВГ93.
Для HD режима скорость должна быть 360 оборотов в минуту, и нужен дисковод, который поддерживает данный режим. Для режима 720Кб скорость вращения дискет 300 оборотов в минуту, поэтому заставить читать дискеты быстрее не получится никакими тактовыми частотами. Речи об увеличении плотности записи вообще не идёт, потому что придётся отказываться от стандартного для ZX-Spectrum формата TR-DOS с секторами размером 256 байт, по 16 штук на дорожке. Поэтому всё это не нужно.

ВГ-93 турбируют не для ускорения чтения, а для ускорения перемещения шагового двигателя, что делает работу дисковода гораздо бесшумней. В конечном итоге дискеты косвенно быстрее читаются и пишутся только за счёт ускорения перемещения головок. В процессе записи ВГ93 переключается на частоту 1 МГц.

shurik-ua
02.02.2018, 14:32
От тактовой частоты центрального процессора не зависит скорость чтения, она определяется скоростью вращения диска
совершенно верно - только за один оборот можно будет прочитать в 2 раза больше секторов - ну и соответственно форматировать дискету нужно особым образом.
для обычного спековского формата ничего не изменится - это да.

p.s. кстати в каомто эл. журнале делали 2 виртуальных дискеты на одной физической. давно это было и почемуто не прижилось.

Northwood
02.02.2018, 14:34
для обычного спековского формата ничего не изменится - это да.
А об этом как раз и речь.

Ldaborc
03.02.2018, 09:54
Реализация поддержки дисков HD не помешала бы. Было бы над чем по эксперементировать в плане прямого программирования вгшки.

JV-Soft
08.02.2018, 01:26
Northwood, сегодня ставил много экспериментов с nemo на 1533 , подтяжки всех выходных сигналов решают проблему (резисторные матрицы ставил),но ! один винт из большой кучи все же давал крайне редкую ошибку , давно хотел все это проверить , итог ,выходные АП5 ,АП6 ,и ИР23 которая работает на запись в винт (она кстати используется только при записи данных) надо ставить 555 , вопрос думаю исчерпан и закрыт )

Northwood
08.02.2018, 01:53
Northwood, сегодня ставил много экспериментов с nemo на 1533 , подтяжки всех выходных сигналов решают проблему (резисторные матрицы ставил),но ! один винт из большой кучи все же давал крайне редкую ошибку , давно хотел все это проверить , итог ,выходные АП5 ,АП6 ,и ИР23 которая работает на запись в винт (она кстати используется только при записи данных) надо ставить 555 , вопрос думаю исчерпан и закрыт )

Спасибо за проделанные эксперименты. Сейчас у меня навалилось много работы, не было времени продолжать проект, но скоро разгребусь и продолжу.
В первую очередь хочу попробовать сделать подтяжку резисторами и проверю, как NemoIDE будет себя вести при включении Турбо-14 МГц.

555-ю я ставить всё-таки не хочу, как раз ради возможности ускорения чтения и записи в Турбо-14 МГц, поэтому если 1533 серия не прокатит с подтяжками резисторов, буду покупать 74F244 (АП5), 74F245 (АП6) и 74F374 (ИР23). Я нашёл, где выгодней всего их купить. 74F244 нашёл в одном киевском магазине "Стэп электроника", 74F245 выгодней всего купить на AliExpress, а 74F374 выгодней всего оказалось на eBay.

Ближайшее время предстоит поездка в Киев по работе, заодно прогуляюсь на киевском радиорынке на Караваевы Дачах, правда, там всё так сумбурно построено, я когда был летом, фиг разобрался, что и где нужно искать. Потерял пол-дня, пока не вышел на нужные места и магазинчики. Заодно и там поищу микросхемы серий 74F и КР1531, может что-то и куплю для нового Пентагона.

P.s. Харьковский радиорынок рулит. Год назад был у вас, мне понравилось, даже лучше киевского радиорынка, не смотря на тотальную перестройку радиорынка.

P.s. заказал на eBay микросхемы флеш-ПЗУ Winbond W27C010-70 десяток, как раз для нового Пентагона.

Northwood
16.02.2018, 16:48
Обновление схемы:

1) Сделана подтяжка шины данных HDD, всех 16 бит. Исправлена подтяжка для сигнала ~IOR HDD (~HDIOR на данной схеме).
2) Добавлен ещё один видеорежим "Flash Bright", в котором 7-й бит Flash атрибутов отвечает за яркость PAPER, а 6-й бит за яркость INK. Данный видеорежим имеет более низкий приоритет по отношении к FlashColor, поэтому если включить оба эти режима, то будет работать FlashColor, но немножко изменится палитра.
3) Теперь порт BIOS #FE37 отвечает исключительно за графику. Переключение положения INT пришлось оттуда убрать, чтобы вернуть управление видеорежимом Flash-Bright, данный порт занят полностью, все 8 бит. Поэтому принял решение переключение INT "Пентагон / Фирменный" повесить на внешний переключатель, т.е. в схеме поставил соответствующий разъём. А больше его приткнуть некуда.

https://thumb.ibb.co/i0Hg87/Pentagon_4096v3.png (https://image.ibb.co/fRxRan/Pentagon_4096v3.png)

Видеорежим Flash-Bright я решил добавить, т.к. понял, что зря его недооценил. Я написал утилиту - конвертер изображений с PC на ZX-Spectrum, который поддерживает все видеорежимы, которые имеются в моём Пентагоне и которые будут в новом, и меня интересовало, что мы получим, если реализуем ещё Flash-Bright. Конвертер показывает получаемую картинку в своём окне в том виде, в каком она будет выглядеть на реальном Спектруме, и оказалось что получаемые картинки с использованием Flash-Bright выглядят лучше.

Страница с проектом "Конвертер изображений с PC в ZX-Spectrum" (на данный момент пока первая версия):
http://zx-pk.ru/threads/28854-konverter-izobrazhenij-iz-pc-v-zx-spectrum.html

JV-Soft
16.02.2018, 17:05
данный порт занят полностью, все 8 бит.
Поставить дешифратор и с порта можно получить хоть 255 управляющих сигналов.

JV-Soft
16.02.2018, 21:31
Для твоего случая думаю 1533ид3 точно хватит , 16 ног получим с 4 младших бит и 4 старших бита прямое управление, итого 20

Ldaborc
24.02.2018, 14:16
Что-то не слышно новостей ??? Как продвигается проект?

Northwood
26.02.2018, 20:23
Был сильно загружен работой. Немного выделил время, и добился кое-каких результатов для Турбо-14 МГц.

По поводу появления нестабильности шины данных, когда включаю Турбо-14 МГц. Я ошибочно полагал, что причина в недостаточной скорости работы периферии, в частности NemoIDE. Но дело оказалось банально в другом - большая тактовая частота процессора требует уменьшения сопротивления подтягивающих резисторов на ШД и всего делов то. У меня были установлены резисторы как по оригинальной схеме Пентагона-1024 1.4i - по 6.8 кОм.

Экспериментируя с периферией, я обнаружил, что когда всё вытащено - TurboSound-FM, GeneralSound, NemoIDE и Modem, то шина данных в Турбо-14 МГц становится стабильной. Это я и раньше знал. Если воткнуть хотя бы что-то одно, то шина данных уже становится не стабильной. Хотя в Турбо-7 МГц и тем более в Нормал-3.5 МГц, шина данных стабильна всегда. Вчера я воткнул модем и запустил тест, и уже показало, что шина данных не стабильна. Однако, в моём BIOS-е я не делал тест модема, а дешифрации его портов хватает для отсутствия конфликтов. Т.е. обращения к модему нет, а шина данных с ним становится не стабильной. И тогда я и решил попробовать уменьшить сопротивления подтягивающих резисторов с 6.8 кОм до 4.7 кОм, и это сразу дало положительный эффект - с подключенным модемом + TurboSound-FM + NemoIDE - шина данных в Турбо-14 МГц остаётся стабильной. Но если добавляется GeneralSound, то уже появляются признаки нестабильной ШД. Нужно попробовать ещё уменьшить до 4.3 кОм, меньше, я думаю, не стоит.

Теперь по поводу ошибок чтения/записи с/на жёсткий диск в Турбо-14 МГц. Дело в том, что я для организации задержек использовал прерывания, чтобы не зависеть от тактовой частоты процессора. И режим прерываний - IM2, без использования таблицы размером в 256 байт, с расчётом на стабильную ШД. Поэтому загрузка с HDD в Турбо-14 МГц и не работала. После уменьшения подтягивающих резисторов до 4.7 кОм, с HDD Master загрузка заработала в Турбо-14 МГц, хотя с загрузкой со Slave-HDD ещё имеются проблемы, при том что я ещё ничего сделать с NemoIDE не успел, т.е. в нём не выполнена пока ещё подтяжка шины IDE. Полагаю, что если сделать эту подтяжку, то HDD будет нормально работать в Турбо-14 МГц даже если NemoIDE собран на микросхемах 555-й серии.

Сейчас я произвожу замену микросхем счётчиков КР1533ИЕ10 на 74F169 (КР1531ИЕ17), чтобы окончательно закрыть вопрос стабильности ПК связанный с перегрузкой выходов 1533ИЕ10. Заодно и чтобы убедиться на практике в работоспособности схемы, которую я давно ввёл и которая обеспечивает для пользователя выбор между микросхемами КР1531ИЕ10 и КР1531ИЕ17.

P.s. Стабильность шины данных можно проверить загружая INSULT Megademo. С первой частью проблем обычно не возникает, а музыкальный загрузчик следующих частей требует стабильную шину данных. Если ШД не стабильна, то после 1-й части компьютер вешается.

SoftFelix
26.02.2018, 20:37
И тогда я и решил попробовать уменьшить сопротивления подтягивающих резисторов с 6.8 кОм до 4.7 кОм, и это сразу дало положительный эффект
У меня была почти та же фигня с КАЙем. Даже голая материнка этого компа начинала полосить (https://youtu.be/WbJ0Dbx1KsY) (горизонтальные полоски в один пиксель и длиной в одно знакоместо. RND-"выбивание" пикселей) на "матрасе" (без ПЗУ) в ТУРБО-режиме (7МГц). Причём глючили только несколько разрядов и они небыли самыми загруженными. Вместо штатных 10кОм поставил 4.7кОм - проблема ушла. Самое занятное, что не припомню, чтобы этот глюк был сразу после сборки компа. Я его выловил случайно в результате какого-то малообъяснимого глюкодрома с ПРОФ-РОМом (http://zx-pk.ru/threads/13770-kay-1024-sl-4-turbo-v2010-nemofdc-nemoide.html?p=572415&viewfull=1#post572415) (и далее по топику).

Ldaborc
27.02.2018, 16:17
Есть так сказать просьба: выложите плиз тест который Вы доделали с определением всей памяти GS. Если Вам не жалко конечно.

Northwood
27.02.2018, 20:09
Есть так сказать просьба: выложите плиз тест который Вы доделали с определением всей памяти GS. Если Вам не жалко конечно.



В HL адрес для сохранения результатов теста

;Есть ли хоть что-нибудь, если порт пустой, то не будем тратить время
TGS IN A,(#BB)
INC A
RET Z
IN A,(#B3)
INC A
RET Z

;Кто-то на портах #BB и #B3 есть, выясним, является ли этот "кто-то" GS
LD A,#23; Команда "Получить кол-во страниц ОЗУ"
OUT (#BB),A

LD C,#0B; Ждём готовность не более 11 сек. Такое большое время сделал чтобы GS успел проинициализироваться после сброса
CALL GS_WRDY
RET C; GS не ответил

TGS1 IN A,(#B3); Получаем кол-во страниц ОЗУ
CP #40; Страниц ОЗУ не может быть больше 63 (не учитывается 0-я страница)
RET NC
PUSH HL
PUSH AF; Сохраняем в стек кол-во страниц ОЗУ

LD A,#3F; Новое значение глобальной громкости модулей
OUT (#B3),A
LD A,#2A; Команда "Установить новую громкость"
OUT (#BB),A

LD C,#01
CALL GS_WRDY; Ждём готовность не более 1 сек.
JR NC,TGS6
POP AF; Не дождались
POP HL
RET

TGS6 IN A,(#B3); Получаем предыдущую глобальную громкость, которая была изначально
OUT (#B3),A ; Возвращаем старую громкость
LD A,#2A; Команда "Установить глобальную громкость модулей"
OUT (#BB),A

LD C,#01
CALL GS_WRDY; Ждём готовность не более 1 сек.
JR NC,TGS7
POP AF; Не дождались
POP HL
RET

TGS7 IN A,(#B3); Получаем предыдущую громкость, которую мы установили 1-й раз
CP #3F
JR NZ,TGSE; Это не наша громкость, не корректный ответ

INC (HL); GS обнаружен, отвечает адекватно, сохраняем в результатах
INC HL

POP AF; Возвращаем из стека кол-во страниц ОЗУ, которое без 0-й страницы
INC A; Учитываем 0-ю страницу

;Подсчитаем кол-во Кбайт ОЗУ, 1 страница = 32 Кбайт
LD E,A
LD D,#00
LD B,#05; Умножаем на 2^5
TGS5 SLA E
RL D
DJNZ TGS5

;Сохраняем в результатах объём ОЗУ в Кбайтах
LD (HL),E
INC HL
LD (HL),D
POP HL
RET

TGSE POP AF; Не успешное завершение
POP HL
RET

; Ожидание готовности, в регистре C - максимальное время в секундах
GS_WRDY LD B,#32
GSRDY IN A,(#BB)
RRCA
RET NC
EI
HALT
DI
DJNZ GSRDY
DEC C
JR NZ,GS_WRDY
RET



Во вложении исходник в XAS 9.10.

Northwood
21.03.2018, 13:44
Купил новую микросхему CMOS-часов HM6818A. Если помните, то предыдущую такую заставить нормально работать мне не удалось - часы шли как пьяные, ускоряясь то в 2 раза, то в 10 раз, и ток жрала 1 мА, что полностью высадило батарейку CR2032 за 2 недели. Если помните, то прошлый раз проблема решилась заменой микросхемы на Dallas, которая отлично работала.

Но я хотел получить нормальный результат и с HM6818A. Купил новую, вставил, работает отлично. Часы идут с нормальным темпом, ток потребления от CR2032 - 11.6 мкА. При таком потреблении новая батарейка CR2032 теоретически должна прослужить 2.5 года, но реально проработает конечно меньше из-за падения напряжения на диоде шоттки, но не существенно. Микросхема отлично работает от своего внутреннего генератора с внешним часовым трубчатым кварцем, поэтому необходимости во внешнем генераторе на отдельной микросхеме (DD88 - MC14069) я больше не вижу. Что скажете, удалить её из схемы ?

- - - Добавлено - - -

А, нет, всё-таки у меня оказывается давно собран внешний генератор. Так что он останется в схеме.

Northwood
14.04.2018, 00:29
Приехали из Китая микросхемы 74F374 (КР1531ИР23). Заменил ими медленные К555ИР23. 74F245 (КР1531АП6) ещё в пути, недельки через 1.5 должны приехать и они, китаец очень долго не отправлял заказ.

Замена ИР23 мало что дала для режима Турбо-14 МГц, и как оказалось, дело даже не в самом NemoIDE контроллере, а в недостаточной стабильной шине данных для 14 МГц, хотя мой тест, после уменьшения подтягивающих резисторов, уже и не обнаруживает нестабильную шину данных.

Проверил на 14 МГц, правда с 74F374:

Если вытянуть Модем, TurboSound-FM и General Sound, то с обоих жёстких дисков, подключенных у меня, загрузка проходит успешно. Загружаются и работают нормально как DNA-OS с Master HDD, так и iS-DOS со Slave-HDD.

Но стоит воткнуть хоть что-то одно, Модем или TurboSound-FM, как iS-DOS на 14 МГц перестаёт работать. Причём, если в уже работающем iS-DOS щёлкнуть переключатель на 14 МГц, как система тут же сбрасывается. При попытке загрузить iS-DOS при включенных 14 МГц, доходит до окна ввода даты (у меня в автозапуске стоит утилита date.com, хотя она по большому счёту и не нужна, т.к. имеются CMOS-часы), а дальше висим. Но данные на HDD не портятся.

Далее я воткнул всё остальное - GeneralSound, Модем и TurboSound-FM. На 7 МГц как всегда всё хорошо, на 14 МГц при попытке загрузить iS-DOS, очередной раз рухнул диск C, как и раньше до замены К555ИР23. Но диск я быстро восстановлю, т.к. в конце 2 гиг HDD у меня резервные копии всех основных 6 дисков, так что восстановить C мне не составит труда, не первый раз уже.

А что будет, когда NenoBUS будет содержать 4 слота вместо 2-х, и все 4 будут заняты ? Прихожу к выводу, что шину данных на NemoBUS нужно буферизировать. Попробую поставить туда КР1531АП6 (74F245), вот только дождусь когда приедут. А в сам NemoIDE большой необходимости ставить быструю серию я не увидел.

P.s. К стабильности шины данных очень привередлива система iS-DOS. Малейшая нестабильность, и система тут же улетает. А вот DNA-OS всё не по чём. Загружалась нормально в Турбо-14 МГц и раньше, до уменьшения подтягивающих ШД резисторов и до всех манипуляций с NemoIDE.

Rusazar
19.05.2018, 10:32
Приветствую, мне интересно тема "умерла" или есть шанс увидеть эту разработку?

Labrador
08.07.2018, 16:16
Прошу прощения, но очень давит любопытство. Не заброшена ли разработка? Есть новости?

Rusazar
08.07.2018, 16:55
Похоже автор ушёл с форума, я писал ему в личку, мне он не ответил.

saymon
08.07.2018, 17:01
Похоже автор ушёл с форума, я писал ему в личку, мне он не ответил.

Летооо.

Rusazar
19.10.2018, 20:58
Вот почти пришла зима и тема походу сдохла...

CodeMaster
19.10.2018, 21:07
и тема походу сдохла...
Ну, у всех могут быть личные дела и проблемы.

Rusazar
19.10.2018, 21:16
Само собой, но у любого человека найдётся возможность в течение длительного времени ответить сообществу у которого есть интерес к данной разработке. Но нет ни здесь движухи, ни в личке....

Вывод: отметим торжественное закрытие желанного обновления Pentagon.

zx_
19.10.2018, 21:26
у автора периодические всплески интереса, между ними глухие периоды годами
както так, пока прет

Rusazar
19.10.2018, 21:31
у автора периодические всплески интереса, между ними глухие периоды годами
както так, пока прет Один хрен ждать уже нечего, ждать пока у него интерес появится, через несколько лет, если вообще появится, а хотелось именно такую разработку на дискретных элементах и с доработками. Но придётся довольствоваться тем, что уже есть: pentevo, speccy2010...

JV-Soft
19.10.2018, 22:24
отметим торжественное закрытие желанного обновления Pentagon.
не переживайте ,у всех заботы , тут не будет в ближайшее время ,значит где то в соседней теме родится ,пентагон классика , его всегда будут продолжать реинкарнировать.

Rusazar
20.10.2018, 11:55
Влад буду весьма признателен такой конфе, DivGMX у меня есть, особенно наличию dmasound.

Rusazar
20.10.2018, 12:20
Какие проблемы? Реализуй сбор на разработку, кто хочет такую вещь - спонсирует. :)

zx_
20.10.2018, 12:25
Ведь Spec256 (http://zx-pk.ru/threads/28312-spec256-na-divgmx.html) реализован, что нельзя сказать о реализации на дискретках )), ...

както JV-Soft, говорил, что есть идеи , как Spec256 реализовать в дискретке
такчто раунд еще не окончен -)

Rusazar
20.10.2018, 12:48
Открывай краудфандинг на реализацию в DivGMX конфы Pentagon 1024/4096.

Мне кстати автор проекта вчера ответил, пока со смарта не могу полную цитату привести, буду возле стационара, отквочу. Если кратко то у него семейные проблемы и нет времени на Spectrum, но он вернётся к проекту. По его словам у него были устранены все недоработки, кроме нестабильной работы при 14 МГц.

JV-Soft
20.10.2018, 14:37
Говорят - курей доят...
Фольклорист , в каждой теме ноющий , иди пили свое DivGMX , че ты с ним в каждую тему лезешь.

Rusazar
20.10.2018, 14:47
Aleksandr MrNorthDream
14 часов назад
@Rusazar , в любом случае я хочу сначала решить проблемы со своей семьёй, только после этого я смогу продолжить заниматься Спектрумом. Принципиальная схема готова, если Вы следите за форумом, то имеете представления о том, что в неё вошло. Единственное, что не решено, это стабильность шины данных в режиме Турбо-14 МГц, т.к. под него нужно буферизировать шину данных. Если из всех слотов Nemo-Bus вынуть все платы расширения, тогда нестабильность в Турбр-14 уходит и без буферизации. Но в Турбо-7 МГц никаких проблем нет вообще.
Аппаратный глюк с мерцающими пикселями при одновременном использовании режима Турбо-14 МГц и видеорежима 512х192, я уже давно устранил
вот вчера мне удалось с ним связаться и вот его ответ. Будем ждать его возвращения.

balu_dark
20.10.2018, 17:32
Ребята - обсуждение других клонов - ведите в соответсвующих ветках! А не устраивайте срач в чужих темах!

Ldaborc
29.10.2018, 09:33
Вообще автор МОЛОДЕЦ!!! Проделать ТАКУЮ работу !!! Супер. Но мне как пользователю хотелось бы видеть всё это в компактном исполнении, скажем в плисине какой-нибудь с минимальным обвесом. Как-то так :-)

CodeMaster
29.10.2018, 09:58
хотелось бы видеть всё это в компактном исполнении, скажем в плисине какой-нибудь
Это уже к другому автору (хотя может и есть что похожее я за ПЛИС не слежу), схемы в открытом доступе.

Northwood
11.01.2020, 22:17
Всем привет. Решил вернуться к проекту, были семейные проблемы, поэтому было не до Спектрума.

В данный момент имеется окончательный вариант принципиальной схемы и почти полностью расставленные на плате детали.

Схема претерпела некоторые изменения:

1) Исправлены найденные ошибки;

2) В схему добавил отключаемую блокировку шин NemoBus и ZX-Bus+3:

В стандартном режиме будет блокироваться шина ZX-Bus+3, а в режиме "Plus 3" будет блокироваться шина NemoBus путём блокировки сигнала IORQ на шине. Сделал это для исключения конфликтов между отечественной и зарубежной периферией в случае совпадения номеров портов.
Данную блокировку можно будет включать и отключать через BIOS-Setup, в меню будет два пункта, отдельно для шины NemoBus и отдельно для ZX-Bus+3.

3) Закончил с подключением шины ZX-Bus+3, спасибо Rusazar (https://zx-pk.ru/members/1309-rusazar.html)-у за присланные схемы оригинального ZX-Spectrum +3 и других схем зарубежных компьютеров, а так же за схему DivIDE контроллера, которые помогли мне разобраться с назначением некоторых сигналов на шине. Подключил сигналы Rom1 OE и Rom2 OE, с помощью которых зарубежная периферия может отключать основное ПЗУ.
Сигналы Disk RD, Disk WR и Motor On подключать не буду, т.к. не вижу в этом смысла.

4) Провёл несколько оптимизаций схемы, благодаря чему удалось убрать несколько корпусов микросхем и избавиться от неиспользуемых логических элементов.

http://d.radikal.ru/d37/2001/79/dc1aaac978f5t.jpg (https://d.radikal.ru/d37/2001/79/dc1aaac978f5.png)

Плата на данном этапе имеет стандартный размер XL-ATX, слоты шин и крепёжные отверстия расположены стандартно, что позволит установить плату в стандартный корпус ATX. Однако, пока что не удаётся вместить на плате два узла: Две микросхемы 1533КП2, формирующие сигналы R, G, B и Bright, формирование выходных сигналов R, G, B и Video, аудио-микшер на трёх микросхемах LM358.
Я думаю сделать дополнительную небольшую платку, на которой размещу формирователи выходных сигналов R, G, B и Video, кодер PAL/NTSC, аудиомикшер, а так же разъёмы SCART и тюльпан с ПЦТС. Но очень сильно хочу на основной плате разместить обе микросхемы 1533КП2.

http://b.radikal.ru/b20/2001/c2/57e1c127ed8et.jpg (https://b.radikal.ru/b20/2001/c2/57e1c127ed8e.png)

Northwood
12.01.2020, 13:18
У меня два вопроса, как лучше сделать ?
1) Шина ZX-Bus +3: Если в отечественной шине физически это слот, а на платах расширения это контактная гребёнка, то в +3 в точности до наоборот - на плате компьютера это контактная гребёнка, а на платах расширения это слот. Но на плате формфактора ATX (XL-ATX) это не реализуемо, т.к. контактную гребёнку можно разместить только на краю платы.
Подойдёт ли вариант, если на плате под ZX-Bus +3 установить слот и сделать переходник в виде двухсторонней контактной гребёнки ?

2) Плата имеет формфактор XL-ATX, устанавливается в корпус ATX, соответственно блок питания тоже будет ATX, искать раритетный блок питания AT не имеет смысла. Как поступить с разъёмами питания ? Сейчас на плате 3 разъёма Molex: 2 разъёма "папа" дублируют друг друга по +5В, второй даёт +12В, а третий Molex - "мама" подаёт -5В и -12В для шины ISA (модем). Если всё оставить как есть, то для включения блока питания ATX потребуется в разъём питания вставить джампер, для отрицательных напряжений нужно будет делать переходник. Или установить на плате разъём ATX ? В этом случае есть сложность - его разместить получится только у нижнего края, без вариантов, поэтому дотянуть кабель от блока питания может и не получиться. И что в этом случае делать с управлением БП ? Держать постоянно включенным, замкнув 2 контакта на разъёме? Или вывести кнопку включения/выключения на триггере ?

Mick
12.01.2020, 14:14
2) Плата имеет формфактор XL-ATX, устанавливается в корпус ATX, соответственно блок питания тоже будет ATX, искать раритетный блок питания AT не имеет смысла. Как поступить с разъёмами питания ? Сейчас на плате 3 разъёма Molex: 2 разъёма "папа" дублируют друг друга по +5В, второй даёт +12В, а третий Molex - "мама" подаёт -5В и -12В для шины ISA (модем). Если всё оставить как есть, то для включения блока питания ATX потребуется в разъём питания вставить джампер, для отрицательных напряжений нужно будет делать переходник. Или установить на плате разъём ATX ? В этом случае есть сложность - его разместить получится только у нижнего края, без вариантов, поэтому дотянуть кабель от блока питания может и не получиться. И что в этом случае делать с управлением БП ? Держать постоянно включенным, замкнув 2 контакта на разъёме? Или вывести кнопку включения/выключения на триггере ?


Я у себя тянул от БП две дорожки -5В и -12В, но на слоты выводил их через джампер. Правда я использую 32 пиновые Nemo Bus (крайние пины). Кроме того и +12В лучше на слоты тоже через джампер запустить. А тот тут уже были прециденты сжигать компы при неправильно установленной карте. По поводу управлялки, то уже не модно ее не иметь. Обычно юзают мелконогие МК (тини или пики).

saymon
12.01.2020, 14:32
2) переходник + тумблер включения вполне удобное решение. Смысла в кнопке на триггере нету. Хотя это все дело вкуса.

Northwood
12.01.2020, 14:47
2) переходник + тумблер включения вполне удобное решение. Смысла в кнопке на триггере нету. Хотя это все дело вкуса.

Не хочется заставлять всех ставить тумблер питания, когда корпус ATX уже имеет штатную кнопку включения, можно будет только воткнуть в плату разъёмчик с морды и всё. Но ради простого вкл/выкл ставить микроконтроллер не вижу смысла, можно и парой транзисторов обойтись.

Mick
12.01.2020, 14:57
Но ради простого вкл/выкл ставить микроконтроллер не вижу смысла, можно и парой транзисторов обойтись.

Оно как бы не просто вкл/выкл - оно еще и сброс. Если использовать штатный ATX корпус, то в них может быть одна кнопка совмещающая вкл/выкл и RESET. Не просто так народ мк ставит.

Northwood
12.01.2020, 15:58
Оно как бы не просто вкл/выкл - оно еще и сброс. Если использовать штатный ATX корпус, то в них может быть одна кнопка совмещающая вкл/выкл и RESET. Не просто так народ мк ставит.

Не нагуглил сходу ничего про совмещённую кнопку Power/Reset в ATX корпусах, да и мне такое не попадалось, всегда видел только две раздельные кнопки, Power и Reset. Может в миниатюрных корпусах такое встречается ? Но в данном случае мини-вариант не подойдёт.

Labrador
12.01.2020, 16:32
Тоже впервые слышу о совмещении. На новых корпусах просто сброс часто отсутствует вообще. Но на материнских платах всегда 2 отдельных разъема под reset и power кнопки.
С другой стороны контроллером можно обработать различные способы нажатия на кнопку питания и повесить на нее одну сброс и питание одновременно (длинное нажатие - питание, короткое - сброс), а можно и больше действий обработать (двойное, тройное нажатие и т.д.)

Mick
12.01.2020, 17:55
На новых корпусах просто сброс часто отсутствует вообще.

Я про это и говорю. Просто у нас как правило однократное нажатие отрабатывается как сброс, ну а в винде по своему. Речь сейчас идет про Спектрум.

Northwood
12.01.2020, 20:31
Посидел, подумал, понял, что на двух транзисторах включение и выключение одной кнопкой не сделать. Если ставить какую-то микросхему, то на обычной логике это получится значительно более громоздко, а по надёжности хуже, чем на микроконтроллере. Поэтому решено, на управление питанием и сбросом буду ставить микроконтроллер на 8 ног.

На выбор предлагаю два варианта: ATTiny13 или семейства PIC (PIC12F1822, PIC12C508/509). Все варианты имеют по 8 ножек, у всех есть встроенный генератор, а сравнивать объём памяти и производительность нету смысла, потому что для данной задачи с головой хватит и того и другого. Какой из этих двух вариантов поставить будет предпочтительней ?

Mick
12.01.2020, 21:34
ATTiny13 или семейства PIC (PIC12F1822, PIC12C508/509). Все варианты имеют по 8 ножек, у всех есть встроенный генератор, а сравнивать объём памяти и производительность нету смысла, потому что для данной задачи с головой хватит и того и другого. Какой из этих двух вариантов поставить будет предпочтительней ?

А ставь что понравится.
Я в Фениксе делал на тини ATtiny13 (ATtiny12, ATtiny15, ATtiny45), народ делал на PIC12F683
Прошивки можно посмотреть тут - https://zx-pk.ru/threads/16280-tekh-razdel-quot-scorpion-zs-1024-turbo-quot-(savelij).html?p=396752&viewfull=1#post396752

Northwood
12.01.2020, 22:01
А ставь что понравится.
Я в Фениксе делал на тини ATtiny13 (ATtiny12, ATtiny15, ATtiny45), народ делал на PIC12F683
Прошивки можно посмотреть тут - https://zx-pk.ru/threads/16280-tekh-razdel-quot-scorpion-zs-1024-turbo-quot-(savelij).html?p=396752&viewfull=1#post396752

Сравнил цены, ATTiny13 стоят более чем в 2 раза дешевле, поставлю её.

CodeMaster
12.01.2020, 22:38
Плата имеет формфактор XL-ATX, устанавливается в корпус ATX
Каким образом она туда установится? Если только переколхозить БП вертикально, но может 5.25" отсек не позволить. Не лучше ли использовать E-ATX формат, корпуса под который можно найти?

Northwood
13.01.2020, 00:44
Каким образом она туда установится? Если только переколхозить БП вертикально, но может 5.25" отсек не позволить. Не лучше ли использовать E-ATX формат, корпуса под который можно найти?

Погуглил фотки, ты прав. По вертикали некуда расширять плату, т.к. при высоте платы 305 мм она занимает всё доступное пространство в корпусе по высоте, а в глубину место есть, если только не будет мешать 5,25 дисковод. Завтра попробую сделать вариант платы eATX, нужно только нужно опять искать, где разместить разъём питания, остальное не должно вызвать затруднение. А если eATX позволит разместить и формирователь видео и аудиомикшер, то вообще будет замечательно.

CodeMaster
13.01.2020, 09:46
А если eATX позволит разместить
По площади E-ATX ~100 см2 больше XL-ATX, только я боюсь заглянуть в калькулятор PCB, сколько оно будет стоить ;-)

З.Ы. Глянул в Резоните - 10 шт. за 21220. В Китае должно быть дешевле.


формирователь видео и аудиомикшер, то вообще будет замечательно.
Их бы желательно на стандартное место P-III ATX задней планки. Хотя, может и не понадобятся вообще, по хорошему тут будут VGA видео и внешняя звуковая.


Подойдёт ли вариант, если на плате под ZX-Bus +3 установить слот и сделать переходник в виде двухсторонней контактной гребёнки ?
С точки зрения механики - не айс, но другого варианта не видно.

solegstar
13.01.2020, 11:06
Northwood, я так думаю, что если делать печатную плату под стандартный корпус, то стоит начать со стандартного для этого формата платы:
- размер;
- основные крепления (можно и дополнительные предусмотреть);
- основные разъемы (питание, слоты, ввод/вывод);
и только потом располагать микросхемы узлов относительно этих пунктов. иначе это будет как с Профи - корпус нормально не подберешь. Крепление платы это ведь еще не всё... Есть Феникс (http://micklab.ru/My%20Computer/ZXMPhoenix.htm)от Mick`a, а также другие его платы на ПЛИС, как вариант расположения разъемов. Есть ZX-Evo, причем под её разъемы делают даже задние планки, можно расположить разъемы именно так.
По печатной плате - я бы советовал располагать микросхемы от ряда к ряду зеркально питанием. тогда нужна будет одна дорога питания, а не две между рядами. Как сделано например в Профи 5 (https://zx-pk.ru/threads/21644-plata-protsessora-profi-v5-06.html), см. фото платы.

Northwood
13.01.2020, 12:05
Northwood, я так думаю, что если делать печатную плату под стандартный корпус, то стоит начать со стандартного для этого формата платы:
- размер;

Забудь про стардартный ATX - 305x244 мм, где-то четверть схемы не поместится. По сделанному в PCAD-е рисунку платы XL-ATX на предыдущей странице это хорошо видно.



- основные крепления (можно и дополнительные предусмотреть);
- основные разъемы (питание, слоты, ввод/вывод);


С разъёмам питания ATX, после перехода на eATX задача упрощается, теперь у меня достаточно места для его удобного размещения вверху платы. Но здесь нужно дублировать питание +5в, т.к. по этой линии вся основная нагрузка. Пока питание с одного края платы дойдёт до другого края, а особенно до установленных плат расширения, оно просядет, в результате будут глюки. Поэтому внизу платы рядом со слотами расширения придётся дополнительно поставить Molex.
С портами ввода/вывода, придётся смириться с тем, где получится их разместить. Получится ли контроллер мышки, порт клавиатуры и принтера перенести в верхнюю левую часть платы, покажет время, когда я закончу перемещать микросхемы.



и только потом располагать микросхемы узлов относительно этих пунктов. иначе это будет как с Профи - корпус нормально не подберешь. Крепление платы это ведь еще не всё...


Здесь несколько больший приоритет - по возможности уменьшить длину сигнальных дорожек в критических узлах, особенно это касается тактового генератора, формирующий синхросигналы для ОЗУ, тактового сигнала для процессора, мультиплексирования адресов SIMM, счётчиков видеоконтроллера, участвующих в регенерации ОЗУ. Если узлы будут внешне красиво расположены, но компьютер будет глючить, то всем будет всё-равно на стандартно расположенные разъёмы. Напомню, что здесь тактовая частота ОЗУ - 7 МГц, имеется 2 турборежима для процессора - 7 и 14 МГц, и схема, содержащая 150 микросхем логики диктует свои условия.



Есть Феникс (http://micklab.ru/My%20Computer/ZXMPhoenix.htm)от Mick`a, а также другие его платы на ПЛИС, как вариант расположения разъемов. Есть ZX-Evo, причем под её разъемы делают даже задние планки, можно расположить разъемы именно так.


На ПЛИС, когда количество рассыпной логики со 150 шт уменьшится до 15 шт, всё это будет реализуемо без проблем. Позже я планирую сделать вариант этого же Пентагона с использованием ПЛИС, тогда я смогу сделать и размер платы MiniATX или MicroATX, компоненты буду использовать SMD, и разъёмы будут под готовую заглушку от EVO. Но это будет не скоро, т.к. ПЛИС мне нужно будет изучать с нуля. Сейчас же мне хочется классики на рассыпухе. Главное, успеть купить весь необходимый набор микросхем, пока они ещё есть, особенно это касается быстрой серии КР1531 (74Fxxx).



По печатной плате - я бы советовал располагать микросхемы от ряда к ряду зеркально питанием. тогда нужна будет одна дорога питания, а не две между рядами. Как сделано например в Профи 5 (https://zx-pk.ru/threads/21644-plata-protsessora-profi-v5-06.html), см. фото платы.

Посмотрим, как у меня получится. Но скорей всего я буду делать 4-х слойную плату из-за слишком высокой её сложности, дорожки питания сделаю во внутренних слоях, но это ещё не точно.

solegstar
13.01.2020, 13:31
ПЛИС мне нужно будет изучать с нуля. Сейчас же мне хочется классики на рассыпухе.
Саша, я говорил не о использовании ПЛИС, вместо рассыпухи, а о расположении разъемов. просто как пример такого расположения привел Феникс и Эву.

Northwood
13.01.2020, 13:39
Саша, я говорил не о использовании ПЛИС, вместо рассыпухи, а о расположении разъемов. просто как пример такого расположения привел Феникс и Эву.

На плате eATX мне удалось поместить полностью всю схему. При этом контроллер мышки, порт клавиатуры и джойстика, принтера, аудиовыход и входы, магнитофонный порт получилось переместить в верхний левый край платы, т.е. в области, где должны располагаться разъёмы. Но ещё надо разместить разъём питания ATX и сделать на ATTiny13 управление питанием и сбросом, но внизу платы осталось достаточно свободного места. Но всё равно придётся делать отдельную плату с коннекторами, включая разъём SCART, на ней же будет кодер PAL/NTSC.

Northwood
13.01.2020, 16:51
Что-то я с коннектором ATX 20 pin застрял. Нигде не могу найти ни его чертежей с точными размерами и шагом между контактами, ни где купить прямой разъём для установки на плату.
Гуглятся сотни картинок с распиновкой и фотками, но точных размеров нигде нет. На Aliexpress и Ebay по фразе "atx 20 pin connector" находятся одни переходники и разъёмы на кабель, а для установки на плату находится только угловой разъём...

Кто может помочь с точными размерами разъёма ATX 20 pin ? Нужны: шаг между контактами, диаметр штырьков, внешние размеры корпуса разъёма.

marinovsoft
13.01.2020, 16:55
В Eagle есть, в библиотеке con-molex.

Northwood
13.01.2020, 16:58
В Eagle есть, в библиотеке con-molex.

У меня PCAD-2006... Там конечно есть свои библиотеки, но в них утонуть можно. Мне бы просто размеры узнать, а паттерн я нарисую сам с нуля.

solegstar
13.01.2020, 17:03
Northwood, зачем рисовать если есть библиотеки от Феникса (или Зефирки) на сайте (http://micklab.ru/My%20Computer/ZXMZephyr.htm)Mick`a? Вот допустим (http://micklab.ru/file/zxm_zephyr/zxm_zephyr_lib.rar).

Northwood
13.01.2020, 17:06
solegstar, я заглядывал на его сайт, но там уже везде "ошибка 404".

solegstar
13.01.2020, 17:08
solegstar, я заглядывал на его сайт, но там уже везде "ошибка 404".
я только с него. может глюк был.

Northwood
13.01.2020, 17:10
я только с него. может глюк был.

Сорри, да, работает. То я по каким-то ссылкам переходил на сайт и получал ошибку. Скачал схему и плату Феникса. На плате посмотрю четрёж разъёма ATX.
P.s. с размерами ATX вопрос закрыт. Остался только вопрос, где купить... У меня пока что имеется единственный запасной вариант - выпаять с мёртвой материнки, которая у меня дома валяется.

solegstar
13.01.2020, 17:45
На плате посмотрю четрёж разъёма ATX.
чуть выше я давал ссылку и на архив с библиотекой. там этот разъем есть.

Northwood
13.01.2020, 18:37
А ставь что понравится.
Я в Фениксе делал на тини ATtiny13 (ATtiny12, ATtiny15, ATtiny45),
Прошивки можно посмотреть тут - https://zx-pk.ru/threads/16280-tekh-razdel-quot-scorpion-zs-1024-turbo-quot-(savelij).html?p=396752&viewfull=1#post396752

Я думаю, ты не против, если я распиновку портов ввода/вывода в ATTiny13 и прошивку позаимствую из Феникса для своего проекта ? Чтобы не изобретать велосипед.

2) После перехода на форм-фактор E-ATX и переноса узлов, получилось достаточно свободного пространства. Не разместить ли на нём Nemo-IDE контроллер ? Тогда можно будет убрать один слот NemoBus, оставив 3 слота. Или пусть будут все 4 ?

Mick
13.01.2020, 19:52
Я думаю, ты не против, если я распиновку портов ввода/вывода в ATTiny13 и прошивку позаимствую из Феникса для своего проекта ? Чтобы не изобретать велосипед.

Я не против, можешь как хочешь ее использовать. Там насколько я помню я задействовал пин ресета мк (PB5), при свободном PB0. Изначально задумывал что то на него вешать (точно уже не помню), но потом отказался. Порт не стал перещать. Ты же можешь сделать как тебе удобнее.

Northwood
13.01.2020, 20:50
Я не против, можешь как хочешь ее использовать. Там насколько я помню я задействовал пин ресета мк (PB5), при свободном PB0. Изначально задумывал что то на него вешать (точно уже не помню), но потом отказался. Порт не стал перещать. Ты же можешь сделать как тебе удобнее.

По схеме 5-й ревизии, порт PB5 - это сигнал с БП "PWR_OK", а выход Reset - PB1. PB0 не подключен.

Mick
13.01.2020, 20:52
По схеме 5-й ревизии, порт PB5 - это выход на БП "PWR_OK", а выход Reset - PB1. PB0 не подключен.

Я имею ввиду сброс микроконтроллера. Сейчас внешний вход сброса микроконтроллера залочен.

Northwood
13.01.2020, 21:04
Mick, ещё вопрос по -5в: Смотрю, в твоей схеме это напряжение просто берётся с блока питания. Но я встречал ATX блоки питания, в которых это напряжение отсутствует - соответствующий пин разъёма отсутствует от слова совсем, а без него не работает ISA модем. И такой БП у меня сейчас установлен в ретро-компьютере, мне пришлось колхозить - наматывать на трансформатор обмотку и лепить стабилизатор на 3-х транзисторах, искать контакт с другого мёртвого БП и тянуть дополнительный провод. Теперь думаю, как поступить: Ставить ли на плате Пентагона стабилизатор -5в, работающий от -12в, или надеяться, что в большинстве БП есть -5в ?

Mick
13.01.2020, 21:43
Ставить ли на плате Пентагона стабилизатор -5в, работающий от -12в, или надеяться, что в большинстве БП есть -5в ?

Тут недавно холивар по этому поводу в теме про Спринтер возник. Лучше поставь. -5В в современных БП (в большей массе) уже нет.

CodeMaster
13.01.2020, 21:57
После перехода на форм-фактор E-ATX и переноса узлов, получилось достаточно свободного пространства. Не разместить ли на нём Nemo-IDE контроллер?
Думацо, что всё что уже доступно и отлажено в виде внешних плат, так и оставить, а место занять монтажным полем.


P.s. с размерами ATX вопрос закрыт.
Хоть эта фраза и про разъём питания, но удобный момент... что бы подвергнуть сомнению свои доводы о E-ATX :-)

По большому счёту БП на 300 Вт избыточен для этого компа и его можно заменить на Pico-PSU которых сейчас можно найти за недорого и которые выдают 5-6 А по +5В, а если ещё и жОсткий диск заменить на CF (или другую флеШь) то можно сделать комп бесшумным. А если нам не нужен БП, то это место мы можем использовать на увеличения высоты ATX платы на 9 см.. На счёт ширины XL-ATX 262 мм. не уверен, что везде будет по него место, лучше оставить 244 от просто ATX. В итоге мы получаем размер 395x244 мм. т.е. 960 см2, т.е. на 40 см2 меньше E-ATX, но на 60 см2 больше XL-ATX.
Минусы:
1. Надо что-то колхозить со стойками на месте БП;
2. Плата не позволит использовать 5.25 на всю глубину, что критично при реальных флоповодах;
3. Pico-PSU стоит 500-1000 руб.

За E-ATX по прежнему: больше места, нет колхоза. Против: корпуса стоят денег и они реально нереально тяжёлые.


Но скорей всего я буду делать 4-х слойную плату из-за слишком высокой её сложности
Это минимум удвоит её стоимость, да ещё и надо будет найти изготовителя.


Подойдёт ли вариант, если на плате под ZX-Bus +3 установить слот и сделать переходник в виде двухсторонней контактной гребёнки ?
Есть вариант сделать гребёнку в нижней правой части платы, во многих корпусах там свободное место (или его можно освободить, т.к. нам не понадобится место под 5 шт. 3.5" дисков).


Лучше поставь. -5В в современных БП (в большей массе) уже нет.
Однозначно.

Northwood
13.01.2020, 23:00
Думацо, что всё что уже доступно и отлажено в виде внешних плат, так и оставить, а место занять монтажным полем.
Или как вариант, могу расставить микросхемы немного дальше друг от друга, что упростит разводку дорожек.



По большому счёту БП на 300 Вт избыточен для этого компа и его можно заменить на Pico-PSU которых сейчас можно найти за недорого и которые выдают 5-6 А по +5В, а если ещё и жОсткий

жЁсткий ;-)



диск заменить на CF (или другую флеШь) то можно сделать комп бесшумным. А если нам не нужен БП, то это место мы можем использовать на увеличения высоты ATX платы на 9 см..

Цель данной разработки - максимально приблизиться к классике, в то же время максимально её наворотить. Поэтому должен быть и реальный дисковод 5.25" и классический жёсткий диск, а то и два, как у меня (Master - DNA-OS, Slave - iS-DOS). 5А будет маловато.



На счёт ширины XL-ATX 262 мм. не уверен, что везде будет по него место, лучше оставить 244 от просто ATX. В итоге мы получаем размер 395x244 мм. т.е. 960 см2, т.е. на 40 см2 меньше E-ATX, но на 60 см2 больше XL-ATX.
Минусы:
1. Надо что-то колхозить со стойками на месте БП;
2. Плата не позволит использовать 5.25 на всю глубину, что критично при реальных флоповодах;
3. Pico-PSU стоит 500-1000 руб.

За E-ATX по прежнему: больше места, нет колхоза. Против: корпуса стоят денег и они реально нереально тяжёлые.

Жаль, что я сейчас не дома, поэтому не могу открыть обычный корпус ПК и сделать замеры, чтобы посмотреть, докуда будет доставать плата E-ATX, сейчас я с ноутбука работаю. Но как вернусь домой, то ради такого дела разберу системник.

На счёт дополнительных стоек, я в ретро-компьютере колхозил - плату AT поставил в корпус ATX, колхозил из того, что у меня было в тот момент под рукой, ждать выходных не было никакого желания, а плату хотелось поставить как говорится "здесь и сейчас". И тут попался мне на глаза строительный пистолет с застывшим силиконом. Силикон извлёк, он получился в виде ровного белого бруска диаметром 1 см, разрезал его на кусочки, чтобы подложить под плату и приклеил двух-сторонним скотчем. Плата то держится на болтиках, а стойки из силикона удерживают край платы от соприкосновения с корпусом.

Кстати, широкая AT плата никак не помешала установить в этот же стандартный корпус ATX (SVEN) два CD-ROM-а и дисковод 5.25", так что должно получиться и с E-ATX.



Есть вариант сделать гребёнку в нижней правой части платы, во многих корпусах там свободное место (или его можно освободить, т.к. нам не понадобится место под 5 шт. 3.5" дисков).

Не скажу за все корпуса, в моём 3-дюймовый отсек идёт до самого низа, в таком случае плата расширения станет между корпусом и отсеком 3.5", по идее никому мешать не должна. Но сам процесс установки и замены платы расширения может оказаться настоящим гемором, т.к. добраться до неё будет непросто. Буду дома, загляну в корпус, чтобы оценить, насколько такая процедура будет сложной.
Но мне не очень хочется делать такой вариант, я всё-таки больше за слот на плате и переходник, а для механической прочности можно на плате предусмотреть отверстия для стоек крепления платы расширения сверху.

CodeMaster
13.01.2020, 23:55
докуда будет доставать плата E-ATX
Она упрётся в отсеки 3.5" дисководов и дисков, там без вариантов.


Кстати, широкая AT плата никак не помешала установить в этот же стандартный корпус ATX (SVEN) два CD-ROM-а и дисковод 5.25", так что должно получиться и с E-ATX.
С 5.25" да, а вот всё, что ниже БП (для 3.5") придётся вырезать болгаркой.


Не скажу за все корпуса, в моём 3-дюймовый отсек идёт до самого низа
Но, если нужно только 2 диска, его можно убрать или найти вариант без него или короткий под 2 диска.


Но мне не очень хочется делать такой вариант
За то, что если использовать E-ATX корпус, то там скорее всего будет дверка на лицевой панели и будет свободный доступ в любое время ;-)

Northwood
14.01.2020, 00:36
За то, что если использовать E-ATX корпус, то там скорее всего будет дверка на лицевой панели и будет свободный доступ в любое время ;-)

Посмотрел в продаже корпуса E-ATX, можно купить недорогие за 50$, но есть один подводный камень - в них не предусмотрена установка дисководов 3.5" в принципе, потому что они так же как и 5.25" тоже перешли в разряд раритетных девайсов. А вот БУ можно найти корпуса E-ATX за 30$ и с возможностью установить 3.5" дисковод. Но ни в одном дверцы для доступа внутрь, через которую можно было бы устанавливать плату расширения, на фотках не рассмотрел. Поэтому пока сомнительно.

Northwood
18.01.2020, 15:44
Новая версия платы. В этот раз размер - стандартный ATX. Плату я полностью перекомпоновал, имеется основной разъём питания - ATX и дополнительный - Molex 4 pin, который дублирует +5в.
Модуль SIMM 30 pin теперь стал поближе к процессору, CMOS переместился вниз поближе к контроллеру дисковода.

Но теперь на плату не поместился порт клавиатуры и кэмпстон джойстика, магнитофонная читалка и формирователи RGB/видео и аудиомикшер.
То что не поместился порт клавиатуры, это досадно.

http://a.radikal.ru/a19/2001/3f/7b68568b0a05t.jpg (http://a.radikal.ru/a19/2001/3f/7b68568b0a05.png)

Mick
18.01.2020, 16:16
Но теперь на плату не поместился порт клавиатуры и кэмпстон джойстика, магнитофонная читалка и формирователи RGB/видео и аудиомикшер.
То что не поместился порт клавиатуры, это досадно.

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

Northwood
18.01.2020, 16:21
Как вариант уменьши количество слотов. Два можно точно убрать.
Нельзя убрать два, мне будет мало. У меня сразу сходу будет воткнуто 3 устройства - NemoIDE, SoundDrive и General Sound. И я хочу, чтобы после этого оставался один свободный слот.

Mick
18.01.2020, 16:36
Ну тогда как вариант, сделать как в профи - второй этаж. На первом самое необходимое, чтобы комп мог работать, а на второй расширялки и плюшки.
И да немо иде тогда можно было сразу интегрировать на плату.

Northwood
18.01.2020, 20:40
Ну тогда как вариант, сделать как в профи - второй этаж. На первом самое необходимое, чтобы комп мог работать, а на второй расширялки и плюшки.
И да немо иде тогда можно было сразу интегрировать на плату.

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

Мышка здесь PS/2 без WAIT-а (WAIT при работе мышки используется только в турбо-режимах, как и при работе клавиатуры). Теперь нужно решить вопрос, какой коннектор использовать под клавиатуру ? Она здесь классическая 5х8 проводников.

Приступаю к составлению принципиальной схемы верхней платы, на ней будут:

1) Я поддерживаю идею разместить на ней контроллер Nemo-IDE;
2) Порты #FE - клавиатура и #1F - кэмпстон джойстик;
3) Выходной порт #FE - Border, Sound, Tape-Out;
4) Магнитофонная читалка (схему взял из Орель БК-08, все её хвалят);
5) Контроллер мышки PS/2;
6) Аудио-микшер по схеме позаимствованной из TurboSound-FM;
7) Формирователь выходных сигналов R, G, B, Видео;
8) Кодер PAL/NTSC (на плате будет джампер, выбирающий стандарт);
9) Внешние коннекторы: Tape-In, Tape-Out, Audio-Out, Scart (с R,G,B и цветным видео), Video-Out (тюльпан, видео с цветом), PS/2 Mouse, Keyboard, Kempston Joystick, LPT-принтер.

P.s. вспомнил предложение реализовать порт RS-232 на базе муз. процессора AY. Поэтому он тоже попадёт на верхнюю плату.

Northwood
19.01.2020, 23:25
Подошёл, наконец, к кодеру PAL/NTSC. Он будет собран на микросхеме CXA1645 (CXA2075).
Вопрос: под какой тип корпуса развести плату ? Под DIP-24 или SOP-24 ?
Предлагаю в этой версии Пентагона поставить в корпусе DIP-24, т.к. он весь будет собран на микросхемах в DIP-корпусах.
В качестве задающего генератора в кодере PAL/NTSC будет стоять микросхема 74HCT00 с двумя кварцами - на 4.43 МГц и 3.58 МГц, в зависимости от выбранного стандарта, работать будет либо первый генератор либо второй. Для коммутации цепей CXA1645 при выборе стандарта PAL или NTSC будет стоять 3 полевых транзистора с изолированным затвором, 2 шт - N-типа и 1 шт - P-типа. Нужно ещё найти подходящие транзисторы в обычном (не SMD) корпусе.

Принципиальная схема кодера PAL/NTSC давно нарисована мной, правда в DipTrace, осталось только её перерисовать в PCAD-2006.

P.s. Принципиальная схема кодера:
https://b.radikal.ru/b43/2001/51/40d9535789c0t.jpg (https://b.radikal.ru/b43/2001/51/40d9535789c0.jpg)

Northwood
23.01.2020, 04:35
Перенёс несколько узлов с материнской платы на верхнюю:

1) Формирователи выходных сигналов R, G, B и Видео;
2) Аудио-микшер;
3) Музыкальный сопроцессор AY;
4) Порт клавиатуры и джойстика;
5) Контроллер PS/2 мышки;
6) Магнитофонную читалку.

Порт #FE на запись (бордюр, спикер, выход на магнитофон) остался на материнской плате.

Платы будут соединяться между собой гибким шлейфом с коннекторами 44 пин. Дополнительно на верхнюю плату нужно будет подавать питание через отдельный разъём Molex. Мне не хватило всего 1 пина для того, чтобы подать питание через шлейф, но это к лучшему.

Принципиальная схема материнской платы:

https://a.radikal.ru/a19/2001/21/e4209347ead9t.jpg (https://a.radikal.ru/a19/2001/21/e4209347ead9.png)

После этого все детали поместились на материнской плате размером Стандартный ATX. Позже дорисую отверстия для стоек для крепления верхней платы, когда станут известны её размеры:

https://d.radikal.ru/d07/2001/62/81fda2e78ad0t.jpg (https://d.radikal.ru/d07/2001/62/81fda2e78ad0.png)

И принципиальная схема верхней платы. В неё вошли:
1) Порт клавиатуры и джойстика;
2) Контроллер PS/2 мышки;
3) Магнитофонная читалка;
4) Музыкальный сопроцессор - две панельки, одна 40 pin для AY-3-8910/YM-2149F/TSFM и вторая 28 pin для AY-3-8912;
5) Порт RS-232 на базе AY (порт A) и микросхемы MAX3232;
6) Контроллер NemoIDE с маленькой доработкой - сигнал IOW/, который идёт на разъём IDE, пропустил через буфер на АП5, в оригинале он шёл прямо с ИД7;
7) Аудио-микшер;
8) Формирователи выходных сигналов R, G, B и Видео;
9) Кодер PAL/NTSC на микросхеме CXA1645 либо CXA2075, длительность строчных синхроимпульсов в данном компьютере = 4.57 мкс, во время действия кадрового синхроимпульса строчные синхроимпульсы становятся инверсными, так что по идее должен завестись нормально;
10 Выходные коннекторы, которые будут расположены в области коннекторов по стандарту ATX:

DB15 (двух-рядный) "мама" для клавиатуры;
DB9 "мама" для джойстика;
DB9 "папа" RS-232;
PS/2 - мышка;
SCART - с цветным композитным видео, R,G,B и выходом аудио;
RCA - композитное цветное видео;
RCA (двойной) - выход аудио (параллельно со SCART);
Mini-Din-4pin - компонентное цветное видео;
Миниджек 3.5" выход аудио (развязан со SCART и RCA);
Миниджек 3.5" для магнитофонного входа (с левого стерео-канала);
Миниджек 3.5" для магнитофонного выхода (стерео-каналы замкнуты вместе);


https://a.radikal.ru/a16/2001/c6/8240e6193b5ct.jpg (https://a.radikal.ru/a16/2001/c6/8240e6193b5c.png)

Northwood
26.01.2020, 12:07
Разместил элементы на верхней плате. Внешние разъёмы в один ряд не помещаются, надо ставить в 2 этажа. Как это сделать своими силами, пока не совсем ясно.
Те разъёмы, которые должны быть на 2-м этаже, я пока что разместил рядом с остальными внешними разъёмами.

https://d.radikal.ru/d36/2001/87/c7072dff15c9t.jpg (https://d.radikal.ru/d36/2001/87/c7072dff15c9.png)

Northwood
26.01.2020, 15:49
Второй вариант верхней платы:
Оставить только одну линию внешних разъёмов, а остальные вынести на панельки.
Тогда на плате можно оставить:


PS/2 (мышка)
DB15 Female (клавиатура)
DB9 Female (джойстик)
SCART
S-Video


И будут две панельки с разъёмами:

DB25 (принтер), DB9 Male (RS-232)
3 тюльпана (видео, стерео-звук), 3 миниджека 3.5" (стереозвук, Tape-In, Tape-Out)



https://b.radikal.ru/b04/2001/27/9ce0774a5f31t.jpg (https://b.radikal.ru/b04/2001/27/9ce0774a5f31.png)

Northwood
26.01.2020, 22:04
Окончательный вариант схемы и расстановки элементов на верхней плате.
Для подключения внешнего коннектора RS-232 на плате теперь 9-пиновый разъём "JCOM" со стандартной распиновкой как на всех материнских платах.
Для подключения панельки с мини-джеками 3.5" и тюльпанами на плате поставил 2-рядный разъём 14 пин, к нему можно подключать панельку либо цельным 2-рядным разъёмом 14 пин, либо 5 одно-рядными разъёмами:


TapeIn/TapeOut на 2 мини-джека - 4 пина;
Аудио выход стерео на мини-джек - 4 пина;
Аудио выход левого канала на тюльпан - 2 пина;
Аудио выход правого канала на тюльпан - 2 пина;
Видео выход на тюльпан - 2 пина.



https://b.radikal.ru/b32/2001/e0/d4db817ba6fft.jpg (https://b.radikal.ru/b32/2001/e0/d4db817ba6ff.png)

Верхняя плата будет крепиться к материнской плате с помощью 4-х стоек. 2 из них попадают на стандартное расположение болтиков крепления материнской платы.
Размеры верхней платы: 170х127 мм.

https://b.radikal.ru/b02/2001/c0/5de1b69c8065t.jpg (https://b.radikal.ru/b02/2001/c0/5de1b69c8065.png)

Northwood
29.01.2020, 00:38
Обновил описание будущего Пентагона в первом посте этой темы. Там же обновил и ссылки на принципиальные схемы и на рисунок расположения элементов на платах.
Заодно немного подмарафетил некоторые элементы на плате (в разъёме PS/2 простые крепёжные отверстия заменил на земляные контактные площадки под пайку, первые ножки микросхем и большинства разъёмов теперь имеют квадратную контактную площадку и др). Исправил ошибку при подключении кэмпстон джойстика - совсем вылетело из головы, что на него надо подавать не землю, а +5в, развернул панельки под музыкальный сопроцессор.

Залил всё это дело на более нормальный хостинг картинок, предварительно обработав их в Фотошопе.

Осталось подобрать шрифты для шелкографии, аккуратно разместить все надписи, чтобы было читабельно и не перекрывать контактные площадки и развести дорожки на обеих платах.

https://i.ibb.co/BTp4dvT/Main-Board-v5-sch-ps.png (https://i.ibb.co/DwJGsmw/Main-Board-v5-sch-ps.png) https://i.ibb.co/YPtwW5G/Main-Board-v5-pcb-atx-ps.png (https://i.ibb.co/Kb9SGtH/Main-Board-v5-pcb-atx-ps.png)

https://i.ibb.co/QXjsVjp/Top-Board-v2-sch-ps.png (https://i.ibb.co/fQGmWGq/Top-Board-v2-sch-ps.png) https://i.ibb.co/rMfV2jj/Top-Board-v2-pcb-ps.png (https://i.ibb.co/9237HDD/Top-Board-v2-pcb-ps.png)

P.s. Djoni дал отличную подсказку, как конструктивно сделать слот ZX-Bus+3:
В плату впаиваются две линейки по 28 штырьков и к ним припаивается гребёнка контактов.
Пример на фото: (http://gifok.net/image/RGrc)
Поэтому на материнской плате под этот слот я заменил разъём с 2х31 на 2х28 контактный.