Soviet Union ZX Spectrum CommunityЧетверг, 28.11.2024, 16:12
Вы вошли как Гость | Группа "Гости" | RSS
 [ · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Pentagon-2048 v.1.5
Black_CatДата: Вторник, 14.02.2017, 06:11 | Сообщение # 1
Координатор
Группа: Координаторы
Сообщений: 731
Статус: 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.
Прикрепления: 8091156.png (127.3 Kb) · 9569515.png (98.3 Kb) · P1024SL_v1.5.rar (2.0 Kb) · 1630633.png (109.9 Kb) · 6131057.png (197.3 Kb)


"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "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

Прикрепления: 5106082.gif (27.5 Kb) · Pent_Emul.zip (125.3 Kb)


Spectrum жив в нашей душе навсегда
 
Black_CatДата: Четверг, 16.02.2017, 20:36 | Сообщение # 3
Координатор
Группа: Координаторы
Сообщений: 731
Статус: 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, у которого сдвиг по фронту, а не по спаду.


поменять спад на фронт в разрыв тактового можно поставить инвертор, или проблема в лишней задержке с этими сдвигами
Прикрепления: 2353640.gif (75.9 Kb) · Diagram_dram.zip (231.9 Kb)


Spectrum жив в нашей душе навсегда
 
Black_CatДата: Пятница, 17.02.2017, 21:41 | Сообщение # 5
Координатор
Группа: Координаторы
Сообщений: 731
Статус: Offline
Цитата Hazar ()
поменять спад на фронт в разрыв тактового можно поставить инвертор, или проблема в лишней задержке с этими сдвигами

Да, задержка критична, на краю экрана может появиться вертикальная чёрная полоса, из-за рассогласования с бордюром.


"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!".
"Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло."
Гарри Трумэн
 
HazarДата: Суббота, 18.02.2017, 10:12 | Сообщение # 6
80h
Группа: Пользователи
Сообщений: 231
Статус: Offline
Еще можно попробовать применить 74ALS165 то-же регистр сдвига (для видеосигнала)

Прикрепления: 5734701.gif (36.2 Kb) · 153313.zip (37.7 Kb)


Spectrum жив в нашей душе навсегда
 
Black_CatДата: Суббота, 18.02.2017, 23:06 | Сообщение # 7
Координатор
Группа: Координаторы
Сообщений: 731
Статус: 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
Координатор
Группа: Координаторы
Сообщений: 731
Статус: 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
Координатор
Группа: Координаторы
Сообщений: 731
Статус: 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!".
"Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло."
Гарри Трумэн
 
  • Страница 1 из 1
  • 1
Поиск:

Copyright MyCorp © 2006Сайт управляется системой uCoz