| 
	
		
		
			| Pentagon-2048 v.1.5 |  | 
				
			 |  | 
					| Black_Cat | Дата: Вторник, 14.02.2017, 06:11 | Сообщение # 1 |  |  Координатор Группа: Координаторы Сообщений: 737 Статус: Offline | В этом топике постараюсь аккумулировать доработки Pentagon-1024 v.1.4 из топика http://zx.clan.su/forum/8-154-1 в концепт следующей версии Pentagon-2048 v.1.5. Кому эта тема интересна, приглашаю к обсуждению. Так же буду благодарен за возможные замечания. Планируется конфигурация совместимая по управлению с ZXM-Phoenix, но с таймингами Pentagon-128 1991г. По менеджеру памяти планируется совместимость со следующими клонами:
 
 - ZX Spectrum 128/+2 (фичи связанные с неполной дешифрацией, типа записи в #7FFC и out(#FD),A без учёта A14)
 - Pentagon-128 (режим таймингов)
 - Pentagon-256 (менеджер памяти только через D7 #7FFD)
 - Scorpion-256 (управление по #1FFD)
 - KAY-256 (правильное управление по #1FFD вместо КоЕвской интерпретации, NemoBus)
 - Scorpion-1024 (менеджер памяти)
 - KAY-1024 (менеджер памяти, NemoBus)
 - Profi-1024 (менеджер памяти в режиме дублирования)
 - ZXM-Phoenix-2048 (менеджер памяти, теневой режим IODOS, краевой разъём)
 
 Схемотехника реализуется в концепции "DIP Punk", т.е. на лицевой стороне платы допускается применение любых микросхем в корпусах DIP, SOIC, PLCC, QFP, кроме микросхем CPLD. На обратной стороне платы допускается применение микросхем в корпусах SOIC, PLCC, QFP, TQFP, в том числе микросхем CPLD. Использование микросхем FPGA в концепции "DIP Punk" не допускается.
 Планируется использование опциональной CPLD, которую можно не паять, для реализации необязательных расширений.
 Форм фактор платы mATX, совместимый по краевому разъёму с ZXM-Phoenix.
 Планируется использование безвейтовых контроллеров мыши и клавиатуры от caro, а так же BDI и NemoIDE.
 Планируется частичная совместимость со стандартом NemoBus v.1.2
 
 1. Блок синхрогенератора.
 
 Использованы доработки: http://zx.clan.su/forum/8-154-1059-16-1465657454 , http://zx.clan.su/forum/8-154-1068-16-1468206612 , http://forum.tslabs.info/viewtopic.php?p=23746#p23746.
 
 
  
 2. Блок дешифраторов.
 
 
  
 В аттаче дока по дешифрации портов.
 
 3. Блок портов управления памятью.
 
 
  
 Pentagon-4096
 
 Менеджер памяти позволяет адресовать 4Mb ОЗУ, при этом сохранена возможность управления памятью командой out(#fd), a в диапазоне младших 128kb, что позволяет корректно работать любому софту ZX Spectrum 128. Менеджер памяти не позволяет управлять памятью более 128kb с помощью команды out(#fd), a , т.к. при попытке установить значение D7=1 аккумулятора, запись во все разряды порта #7FFD не будет производиться, а при D6=1 запись в этот разряд не будет производиться. Возможно исполнение программ использующих менеджеры памяти Scorpion-256/1024, KAY-256/1024, Profi-1024, а так же Pentagon-512, если для управления памятью свыше 128kb не используется команда out(#fd), a .
 В менеджере памяти реализовано автоматическое переключение на менеджер памяти компьютера Profi-1024, это позволяет исполнять любые программы этого компьютера, использующие экран ZX Spectrum (кроме программ использующих специфическое периферийное оборудование Profi). Так же теперь доступен такой функционал компьютера Profi, как отключение блокировки порта #7FFD при установке ОЗУ в окно CPU0, переключение окна пейджинга из CPU3 в CPU1, дополнительное окно пейджинга в CPU2, позволяющее переключаться между страницами RAM2 и RAM6, а так же возможность переключать сканирование видео ОЗУ, изменяя программно адрес A14 сканера, что позволяет удвоить количество программно доступных страниц видеопамяти.
 В менеджере памяти реализован функционал NemoBus v.1.2, позволяющий внешнему устройству подключенному к краевому разъёму, или мастер-слоту, с помощью сигнала ExternalPaging\BUSAK/ подменять менеджер памяти компьютера на внешний менеджер памяти. Это позволяет внешнему устройству эмулировать менеджеры памяти любых компьютерных архитектур, с любым размером окна пейджинга, а так же любым расположением и количеством окон пейджинга, например SamCoupe, ATM, TS, MSX, и т.д.. Так же реализована возможность подменять менеджер памяти на внешний при захвате шины внешним устройством, это позволяет без каких либо изменений в компьютере, подключать к NemoBus такие устройства как DMA UltraSound.
 
 4. Блок управления памятью.
 
 
  
 Блок управления памятью позволяет управлять SIMM 4Mb 72pin, задавать режим доступа к памяти в окне CPU0, а так же подменять внутреннюю память на память внешнего устройства, подключенного к шине NemoBus. Последняя функция позволяет наращивать память , или подменять внутреннюю память на память внешнего устройства, что например позволяет эмулировать внешнему устройству менеджер памяти компьютеров Timex 2068. Также блок управления памятью позволяет с помощью D3 #1FFD и D4 #7FFD выбирать любую страницу ПЗУ по стандарту KAY, а так же с помощью D1 #1FFD по стандарту Scorpion принудительно выбирать страницу ROM0 вне зависимости от состояния D3 #1FFD и D4 #7FFD.
 
 "Трудно найти чёрную кошку в тёмной комнате..  ...особенно, если её там нет", "Forever!".
 "Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло."
 Гарри Трумэн
 |  |  |  |  |  | 
					| Hazar | Дата: Среда, 15.02.2017, 17:34 | Сообщение # 2 |  |  80h Группа: Пользователи Сообщений: 231 Статус: Offline | Типовые сигналы RAS. CAS на примере DRAM HYB5117800 и HYB3117800 
 2MB 8 - Bit Dynamic RAM HYB5117800/BSJ-50/-60
 2k Refresh HYB3117800BSJ-50/-60
 (Fast Page Mode)
 Advanced Information
 • 2 097 152 words by 8-bit organization
 • 0 to 70 °C operating temperature
 • Fast Page Mode operation
 • Performance: -50 -60 nS
 
 tRAC RAS access time 50 -60 ns
 tCAC CAS access time 13 -15 ns
 tAA Access time from address 25 -30 ns
 tRC Read/Write cycle time 84 -104 ns
 tPC Fast page mode cycle time 35 -40 ns
 
 Refresh period (tREF) – 32 ms
 
 
   
 Spectrum жив в нашей душе навсегда
 |  |  |  |  |  | 
					| Black_Cat | Дата: Четверг, 16.02.2017, 20:36 | Сообщение # 3 |  |  Координатор Группа: Координаторы Сообщений: 737 Статус: Offline | Hazar, это не ошибка чертежа, проверено по pcb, там так же. "cas перед ras" есть такой режим работы памяти, поддерживается не самыми старыми микросхемами. В этом режиме можно не беспокоиться о том все ли адресные разряды выставляемые по ras перебираются, т.к. cas перед ras включает режим авторегенерации памяти, т.е. память игнорирует внешний адрес по ras, и генерит внутри собственный адрес, изменяемый при каждом обращении. РУ5 это не поддерживали, хотя возможно некоторые импортные и поддерживали, но РУ7 поддерживали уже. По крайней мере симы должны поддерживать такой режим, поэтому Pentagon v.1.4 и работает :) . Хотя, конечно это бардак, вполне можно было сделать нормальную регенерацию. Добавлено (16.02.2017, 20:36)---------------------------------------------
 Да, в картинке в первом посте я только что поменял DD12.1 с ЛИ3 на ЛА4, чтоб поменять полярность сигнала К, стробирующего сдвиговые регистры, т.к. хочу поменять два ИР16 на один ИР13, у которого сдвиг по фронту, а не по спаду.
 
 "Трудно найти чёрную кошку в тёмной комнате..  ...особенно, если её там нет", "Forever!".
 "Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло."
 Гарри Трумэн
 |  |  |  |  |  | 
					| Hazar | Дата: Пятница, 17.02.2017, 10:49 | Сообщение # 4 |  |  80h Группа: Пользователи Сообщений: 231 Статус: Offline | Похоже да, адрес для регенерации подавать на память не нужно. Внутри DRAM есть свой счетчик, регенерация идет по строкам (RAS). Во время CAS делаем операцию чтения или записи. А сигнал RFSH (Z80) Вообще получается не нужен.
 
 Приблизительная схема для управления DRAM.
 
 
  Добавлено (17.02.2017, 10:49)---------------------------------------------
 
 Цитата Black_Cat (  )  поменял DD12.1 с ЛИ3 на ЛА4, чтоб поменять полярность сигнала К, стробирующего сдвиговые регистры, т.к. хочу поменять два ИР16 на один ИР13, у которого сдвиг по фронту, а не по спаду. 
 поменять спад на фронт в разрыв тактового можно поставить инвертор, или проблема в лишней задержке с этими сдвигами
 
 Spectrum жив в нашей душе навсегда
 |  |  |  |  |  | 
					| Black_Cat | Дата: Пятница, 17.02.2017, 21:41 | Сообщение # 5 |  |  Координатор Группа: Координаторы Сообщений: 737 Статус: Offline | Цитата Hazar (  )  поменять спад на фронт в разрыв тактового можно поставить инвертор, или проблема в лишней задержке с этими сдвигамиДа, задержка критична, на краю экрана может появиться вертикальная чёрная полоса, из-за рассогласования с бордюром.
 
 "Трудно найти чёрную кошку в тёмной комнате..  ...особенно, если её там нет", "Forever!".
 "Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло."
 Гарри Трумэн
 |  |  |  |  |  | 
					| Hazar | Дата: Суббота, 18.02.2017, 10:12 | Сообщение # 6 |  |  80h Группа: Пользователи Сообщений: 231 Статус: Offline | Еще можно попробовать применить 74ALS165 то-же регистр сдвига (для видеосигнала) 
 
   
 Spectrum жив в нашей душе навсегда
 |  |  |  |  |  | 
					| Black_Cat | Дата: Суббота, 18.02.2017, 23:06 | Сообщение # 7 |  |  Координатор Группа: Координаторы Сообщений: 737 Статус: Offline | Цитата Hazar (  )  Еще можно попробовать применить 74ALS165 то-же регистр сдвига (для видеосигнала)Не, мне нужен регистр с выходами всех сдвигаемых разрядов для реализации режима BC Contour.
 
 "Трудно найти чёрную кошку в тёмной комнате..  ...особенно, если её там нет", "Forever!".
 "Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло."
 Гарри Трумэн
 |  |  |  |  |  | 
					| Hazar | Дата: Воскресенье, 19.02.2017, 05:06 | Сообщение # 8 |  |  80h Группа: Пользователи Сообщений: 231 Статус: Offline | Цитата Black_Cat (  )  Не, мне нужен регистр с выходами всех сдвигаемых разрядов для реализации режима BC Contour. 
 Что это ? за режим
 *************************
 
 А как в пентагоне производится чтение атрибутов экрана ?
 
 Spectrum жив в нашей душе навсегда
 
 
 Сообщение отредактировал Hazar - Воскресенье, 19.02.2017, 05:07 |  |  |  |  |  | 
					| Black_Cat | Дата: Воскресенье, 19.02.2017, 14:56 | Сообщение # 9 |  |  Координатор Группа: Координаторы Сообщений: 737 Статус: Offline | Цитата Hazar (  )  Что это ? за режимhttp://zx.clan.su/forum/8-154-1071-16-1471037310
 
 
 Цитата Hazar (  )  А как в пентагоне производится чтение атрибутов экрана ?Сканер генерит адрес знакоместа и строки при чтении экрана, и меняет несколько разрядов адреса при чтении атрибута.
 
 "Трудно найти чёрную кошку в тёмной комнате..  ...особенно, если её там нет", "Forever!".
 "Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло."
 Гарри Трумэн
 |  |  |  |  |  | 
					| Hazar | Дата: Вторник, 21.02.2017, 15:32 | Сообщение # 10 |  |  80h Группа: Пользователи Сообщений: 231 Статус: Offline | Цитата Black_Cat (  )  меняет несколько разрядов адреса при чтении атрибута
 Это где-то в схеме мультиплексор применяется и счетчик?
 
 Spectrum жив в нашей душе навсегда
 |  |  |  |  |  | 
					| Black_Cat | Дата: Воскресенье, 23.07.2017, 20:55 | Сообщение # 11 |  |  Координатор Группа: Координаторы Сообщений: 737 Статус: Offline | Цитата Hazar (  )  Это где-то в схеме мультиплексор применяется и счетчик?
 Да.
 
 Добавлено (24.02.2017, 03:19)
 ---------------------------------------------
 В первом посте добавлен блок дешифраторов.
 
 Добавлено (24.02.2017, 11:47)
 ---------------------------------------------
 Подкорректировал дешифратор: поменял полярность некоторых сигналов и добавил сигнал OUT8.
 
 Добавлено (24.02.2017, 13:28)
 ---------------------------------------------
 Перезалил схему блока синхрогенератора, вернул полярность сигнала К, не надо было её менять.
 
 Добавлено (24.02.2017, 16:38)
 ---------------------------------------------
 Исправил и перезалил схему дешифратора.
 
 Добавлено (24.06.2017, 21:23)
 ---------------------------------------------
 Обновление в первом посте. Перезалил обе схемы и доку по портам. В синхрогенераторе разделил сигналы F и CLOCK, а так же добавил блокировку сигнала INT/. Существенно переделал блок дешифрации, улучшил дешифрацию, добавил устранение конфликтов с #7FFD при использовании out(nn),a , добавил дешифрацию SAA1099, и схему устранения конфликтов между её портами, портом видео Timex, и портом #FF BDI.
 Добавлено (04.07.2017, 01:35)---------------------------------------------
 В первом посте добавлен блок портов управления памятью.
 Добавлено (05.07.2017, 18:07)---------------------------------------------
 В первом посте добавлена аннотация новых возможностей управления памятью.
 Добавлено (07.07.2017, 16:12)---------------------------------------------
 В первом посте добавлен блок управления памятью.
 Добавлено (23.07.2017, 20:55)---------------------------------------------
 Обновлена дока по портам.
 
 "Трудно найти чёрную кошку в тёмной комнате..  ...особенно, если её там нет", "Forever!".
 "Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло."
 Гарри Трумэн
 |  |  |  |  |  
 |