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.
"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "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 |
Координатор
Группа: Координаторы
Сообщений: 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, у которого сдвиг по фронту, а не по спаду.
поменять спад на фронт в разрыв тактового можно поставить инвертор, или проблема в лишней задержке с этими сдвигами
Spectrum жив в нашей душе навсегда
|
|
| |
Black_Cat | Дата: Пятница, 17.02.2017, 21:41 | Сообщение # 5 |
Координатор
Группа: Координаторы
Сообщений: 731
Статус: Offline
| Цитата Hazar ( ) поменять спад на фронт в разрыв тактового можно поставить инвертор, или проблема в лишней задержке с этими сдвигами Да, задержка критична, на краю экрана может появиться вертикальная чёрная полоса, из-за рассогласования с бордюром.
"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!". "Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло." Гарри Трумэн
|
|
| |
Hazar | Дата: Суббота, 18.02.2017, 10:12 | Сообщение # 6 |
80h
Группа: Пользователи
Сообщений: 231
Статус: Offline
| Еще можно попробовать применить 74ALS165 то-же регистр сдвига (для видеосигнала)
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!". "Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло." Гарри Трумэн
|
|
| |
|