LeoN65816, а чего так подгорело то? Алсо Орион не моя тема вообще, хотя МХ2 легко и непринуждённо может быть превращён в Орион.
LeoN65816, а чего так подгорело то? Алсо Орион не моя тема вообще, хотя МХ2 легко и непринуждённо может быть превращён в Орион.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Мы с коллегой тоже давным давно купили без каких-либо проблем - https://aliexpress.ru/item/32801558331.html
Жаль только нету времени совсем заняться(
Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел
>По софтверной части пока ничего не понятно, в т.ч. скриншот с "ковром" какой-то неинформативный.
По софтверной части это всё тот же орион с монитором из 1990/2. Соответственно, самый простой способ попробовать все цвета разом - включить 16ти-цветный режим на рандомных данных из видеоОЗУ.Ну а так всё работает и с родной директивой С.
![]()
>Только одна видеостраница...
При большом желании можно сделать и полный функционал, можно сделать и подменные видеостраницы, но лично для меня особого смысла нет. Как минимум из-за сложности дешифрации и адресации того, что задумано.
Ну а почему всё именно так, а не эдак - я предпочитаю обходиться своими запасами, и из этого всё проектирую под это. Двухпортовая память, конечно, интересна, особенно в плане "игр" со всякими идеями, не только на базе ориона, в которые она вписалась бы идеально, но заказывать, ждать... Когда под рукой одной статики на 1024кБ.Я молчу про постоянную память, которой у меня где-то на 70мБ (из которых 50 - в виде флеша).
Ну, на орионе с РУ5 у меня вертикальное распределение, а так - не критично же. Да и зависит от марки микросхемы, у тех же 61256 в видео упорядоченность есть, но совсем другая, и отличается от основной памяти, собранной на 6512.
Ну вот, конечно модульный орион, как я и предполагал, окажется вещью в себе.![]()
То ли погода поменялась, то ли фаза луны - в общем, происходит наложение банков памяти друг на друга. А всё потому, что адреса меняются быстрее, чем работает вся связка "арбитр + управление чтением/записью ОЗУ" (DD13.2, DD16, DD29). В результате адрес меняется чуть раньше, чем кончится сигнал записи в ОЗУ. А ввиду нынешней организации памяти - деление первой страницы на 4 банка, получается, что адреса А0-А13 накладываются, и при записи в ячейку 0000 что-то успевает записаться по адресу C000. Всё это потому, что дешифрация банков происходит примитивно - дешифратор по адресам А14-15. Либо надо как-то латчить адреса перед дешифратором, тем более, там происходит нездоровое движение. Либо чуть сдвигать SYN, чтобы сигналы "/MEMWR" (линии 92 и 93) успевали кончиться раньше, чем сигнал доступа к памяти, всё равно они формируются косвенным путём.
Орион-128, БК-0010-01, ЕС1840/Искра-1030 - ТЭЗы, Ленинград-48К, Ассистент-128, Апогей БК-01, Истра-4816, DEC VAX - ТЭЗ процессора.
Таки нашёл ошибку. Вполне очевидную, но как-то это работало нормально.В общем, чуть подумав при сборке, что к видеоОЗУ обращается либо видеоконтроллер, либо процессор, я решил чуть упростить схему и посадил вход /CS микросхем на низкий уровень, правда через элемент 2И, так как он был установлен до упрощения. Ну и ввиду этого получилось, что банк видеоОЗУ был выбран всегда, и ничем не квитированный по адресам банков сигнал записи 93 всегда записывал информацию в видеоОЗУ, независимо, от того, по какому адресу происходила запись. И выходило, что записывая в ячейку 0000, происходила запись и в ячейку С000. Решение - квитировать какой-нибудь сигнал. Ну и самым простым оказалось использовать уже стоящий элемент 2И, на один вход - цепь "70", на другой - мой сигнал /CS C000, то есть выбор видеоОЗУ (ну и служебных ячеек). Ну и соответственно, сигнал выбора микросхемы стал падать в ноль либо при работе видеочасти (70 - низкий уровень), либо при обращении к этому банку (/CS С000 - низкий). В остальные моменты /CS видеоОЗУ всегда высокий. Теперь при редактировании памяти мусора на экране не появляется.
Что странно, но квитирование сигнала записи 93 через элемент 2ИЛИ так и не заработало, хотя в теории нет никаких ограничений - низкий уровень выбора банка и низкий уровень цепи 93 однозначно дадут низкий уровень на входе элемента ИЛИ. Но увы, побороть это не получилось.
Ну, и так, для размышления - простая замена DRAM на SRAM в классическом орионе проблем вызывать не должна. /CS там всегда либо на земле для микросхемы 64кБ, либо на адресе А15 и /А15 для двух микросхем 32кБ. /WE - цепь 93 (92 для второй страницы видеопамяти). Вот с /ОЕ чуть посложнее - через элемент 2И объединить цепи 70 и 73 - /ОЕ будет активен только при чтениях процессором и видеоконтроллером, при записи будет неактивен. Впрочем, тут есть выбор - цепи 74 и 87 с элементом 2И-НЕ
Орион-128, БК-0010-01, ЕС1840/Искра-1030 - ТЭЗы, Ленинград-48К, Ассистент-128, Апогей БК-01, Истра-4816, DEC VAX - ТЭЗ процессора.
Xrust(24.11.2020)
В общем, распыляюсь на кучу проектов, что-то движется, что-то нет. В общем, модульный Орион работает, но капризничает, поэтому расширить память пока не получается, а точнее не хочется, пока не исправлю глюки.В общем, нет-нет, да и происходит наложение ячеек друг на друга. И стробирование адреса перед дешифратором не помогает. В общем, пока думаю, что тут сделать, из всех мыслей - либо укоротить сигналы записи в память, либо конкретно подтянуть шину данных резисторами, что особо не поможет в данном случае.
Ну и ещё - прикрутил к своему "классическому" Ориону ВН59, ВВ51 и ещё один дешифратор, разбивающий порт F400. Как выяснилось, прикрутить контроллер прерываний оказалось не так просто - пришлось делать формирователь сигнала /STB, сигнала /INTA и удлинитель сигнала INT. Но заработало. Для УСАППа был приделан таймер ВИ53, но он не понадобился, невесть откуда выпаянный кварцевый генератор на 7.3728МГц после деления на 48 даёт необходимые 153.6кГц для асинхронного режима 1/16 со скоростью 9600 бод.
Орион-128, БК-0010-01, ЕС1840/Искра-1030 - ТЭЗы, Ленинград-48К, Ассистент-128, Апогей БК-01, Истра-4816, DEC VAX - ТЭЗ процессора.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)