С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Кто может подсказать, с чем связано такое странно формирование сигнала записи в память на орионе? Чтобы обеспечить раннюю запись или ещё для каких целей?
Или из-за особенностей формирования процессором сигнала записи?
Последний раз редактировалось Electricman; 22.03.2021 в 14:22.
Орион-128, БК-0010-01, ЕС1840/Искра-1030 - ТЭЗы, Ленинград-48К, Ассистент-128, Апогей БК-01, Истра-4816, DEC VAX - ТЭЗ процессора.
Electricman, а какое "такое" ?
Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел
Ну, "такое", фантомное - запись в память, если не активен сигнал чтения во время действия сигнала /Ф2, элемент DD16.1. Просто сколько не пробовал, запись в память, даже статику, происходит только по сигналам с дешифратора, который в данном случае работает демультиплексором. Родной /WR ничего не делает, хотя, если верить диаграммам, он приходит позже. Но везде эти диаграммы по-разному нарисованы.
Орион-128, БК-0010-01, ЕС1840/Искра-1030 - ТЭЗы, Ленинград-48К, Ассистент-128, Апогей БК-01, Истра-4816, DEC VAX - ТЭЗ процессора.
Ну вот, эксперименты продолжаются.![]()
Не смотря на странность сигнала записи, и с ним всё заработало, а именно заработала память на 2, ну, почти 2МБ. Так как особых ограничений в модульном орионе на объём памяти нет, то было попробовано выжать максимум.![]()
Изначально планировалось попробовать подменные банки по 16кБ в первой странице, это давало квазинепрерывный объём в её пределах, грубо считая, 3*256 банков по 16кБ. Но это создавало другие проблемы и было оставлено. Поэтому был выбран вариант увеличить число страниц, в пределе до 256. И вроде оно даже получилось.
Первая задача - "избавиться" от дешифратора DD29 и растянуть регистр DD18.1 до 8 разрядов. Они, конечно, остались, но на управление только видеопамятью. Выходы DD16.1 и DD8.3, пропущенную через кучку логики, стали основными сигналами /WE и /ОЕ. В качестве регистра были добавлены две ТМ8.
Далее дело стало за памятью - сигналы получены, выходы дополнительного регистра можно использовать как дополнительные адреса, но у меня статики больше 64кб (да и то в количестве 5 штук) нет, да и не хочется возиться со многими корпусами. Но есть куча модулей SIMM-30/72, да и микросхем ДОЗУ навалом. Поэтому пришлось ломать мозг, как сделать контроллер динамической памяти, который синхронен к родной схеме. После кучи проб и ошибок Франкенштейн ожил.
Регенерация осуществлена методом CAS before RAS по сигналу 87 - если ноль, то обращение к памяти, если 1 - регенерация. Сигналы формируются сдвиговым регистром из частоты 40МГц, сброс сигналом Ф2.
Но не всё так гладко, не получилось снова использовать верхние 16кБ - они будут заворачиваться на видеопамять, ибо блокировка между основным ОЗУ и видеопамятью получилась неполной, точнее, почему то нерабочей, ну, как минимум, в стандартных подпрограммах. Есть сигнал, который активен при обращении к любой странице памяти, старше первых двух, его неактивное состояние он используется, чтобы не пересекались видеоОЗУ и основная память в первых двух страницах. Но если им отключать дешифратор DD29 при обращении к старшим страницам, то всё зависает. Пока думаю над этой проблемой.
А в общем, получилось 32 страницы по 48кБ, или 1536кБ на одной микросхеме 2048к*8. Теоретически возможное расширением до 2*48 + 254*60кБ, небольшими переделками хоть 2*48 + 65024*60кБ.![]()
Орион-128, БК-0010-01, ЕС1840/Искра-1030 - ТЭЗы, Ленинград-48К, Ассистент-128, Апогей БК-01, Истра-4816, DEC VAX - ТЭЗ процессора.
Denn(25.03.2021)
Я уже думал спросить, но это разве что для электронного диска, для ОЗУ и так нормально.
Кажется я нашёл причину, почему не получилось работать с оставшимися 12кБ - служебную область ОЗУ нельзя отключать. Вот думаю над цепями блокировок. Для первой и второй страницы дешифратор DD29 должен работать с адреса С000, а для остальных страниц - с F000.
Ох, вроде победил систему. Обращение к адресам С000-EFFF страниц 0 и 1 блокирует динамическую память, обращение к этим же адресам из страниц 2, 3 и т.д. блокирует дешифратор DD29. Обращение по адресу F000 и выше разрешает работу дешифратора независимо от других блокировок.
Итого получилось 2*48 +30*60кБ, или 1896кБ.Непонятно, куда столько, но пусть будет.
Последний раз редактировалось Electricman; 26.03.2021 в 00:59.
Орион-128, БК-0010-01, ЕС1840/Искра-1030 - ТЭЗы, Ленинград-48К, Ассистент-128, Апогей БК-01, Истра-4816, DEC VAX - ТЭЗ процессора.
экран с 0000, 4000, расширение более 384 точек в строке - планируются?
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Орион-128, БК-0010-01, ЕС1840/Искра-1030 - ТЭЗы, Ленинград-48К, Ассистент-128, Апогей БК-01, Истра-4816, DEC VAX - ТЭЗ процессора.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)