Доработки схемы Орион 128

Так дерзать!!! Но симулятор симулятором, а в реальности будет ли работать? (Все равно молодец)
 
Так дерзать!!! Но симулятор симулятором, а в реальности будет ли работать? (Все равно молодец)
Спасибо за отзыв!
В реальности работать должно (немного сомневаюсь с VGA режимом). Чем больше вникаю в эти ГАЛ-ки, тем больше понимания в работе компьютера. Стал критичнее смотреть на схемные доработки Ориона из интернета, особенно на переделки синхронегератора, которые делаются только в схемах и рендерах печатных плат. Расчетов никаких нет... Такие доработки скорее всего придется глубоко дорабатывать. С симулятором проще - симулируется нормально, значит либо заработает, либо потребуется минимальная доработка и настройка, т.к. при симуляции приходится разбираться, где накосячил. Думал сделать несколько платок для восстановления своих Орионов, теперь понял, что проще собрать новый - модульный. Ковыряясь со схемой уже понял что будет в каждом блоке. Но одноплатник в любом случае будет дешевле. По мере завершения очередного этапа возникают новые идеи. Хочу теперь ОЗУ сделать в одной микросхеме: 8 битной статической на 256 или 512 килобайт. Если нужно больше памяти - то цепляем электронный диск. С симулятором опять таки проще - все времянки строит Протеус, после доработок времянки пересчитываются очень быстро. Экспериментировать - одно удовольствие.
 
В реальности работать должно (немного сомневаюсь с VGA режимом).
А что сомневаться. По сути, если ограничится 50Гц в кадровой, хотя многие мониторы уже ее не тянут. Но найти их можно. Если не изменяет память, то ViewSonic по моему тянут многие модели. Остается только сделать строчную развертку на 31500Гц. И раз ты на Галках все делаешь, то там можно реализовать поддержку двух строчных разверток разверток. А вот если 60Гц кадровой, то да мутотень тогда капитальная
 
Я делаю развертку на разрешение экрана 1024*768 60 Гц. Там развертка немного другая, поэтому немного сомневаюсь.
 

Вложения

  • 1024_768.PNG
    1024_768.PNG
    268.8 КБ · Просмотры: 7
По сути, если ограничится 50Гц в кадровой, хотя многие мониторы уже ее не тянут. Но найти их можно. Если не изменяет память, то ViewSonic по моему тянут многие модели.
Следует заметить, что эти 50 Гц поддерживаются только в определённых, малочисленных и "экзотических" режимах. Обычно в сервис-мануалах на моники они расписаны. И среди них нужного 1024х768 точно НЕТ...
 
Я делаю развертку на разрешение экрана 1024*768 60 Гц.
Это правильно.
Но тут возникает проблема: в этом режиме видеоконтроллер должен читать данные из видеопамяти в 3.25 раза чаще, чем с ТВ-развёрткой. Как ты этот вопрос решил?
 
Следует заметить, что эти 50 Гц поддерживаются только в определённых, малочисленных и "экзотических" режимах. Обычно в сервис-мануалах на моники они расписаны. И среди них нужного 1024х768 точно НЕТ...
Ну а 800x600 чем не устраивает? И про экзотику не знаю. В скандаблере для Спека и Самсунги и Асеры с Вьсониками работали и не особо экзотичили. Правда моделей у Самсунга гораздо меньше поддерживающих 50 Гц, чем у того же Вьюсоника и Асера. У Лыж с этим просто беда.
В принципе у Ориона бордера нет и соответственно затачивать развертку под такты нет надобности, можно и 60Гц кадровую делать.
 
Это правильно.
Но тут возникает проблема: в этом режиме видеоконтроллер должен читать данные из видеопамяти в 3.25 раза чаще, чем с ТВ-развёрткой. Как ты этот вопрос решил?
Я поставлю кварц на 32.5 МГц, схема остается родная, только пересчитываются счетчики синхрогенератора. Со всеми вытекающими... Повышение тактовой частоты процессора до 8 МГц, что тоже не плохо.
 
Последний раз редактировалось:
Ну а 800x600 чем не устраивает? И про экзотику не знаю. В скандаблере для Спека и Самсунги и Асеры с Вьсониками работали и не особо экзотичили. Правда моделей у Самсунга гораздо меньше поддерживающих 50 Гц, чем у того же Вьюсоника и Асера. У Лыж с этим просто беда.
В принципе у Ориона бордера нет и соответственно затачивать развертку под такты нет надобности, можно и 60Гц кадровую делать.
808*600 не устраивает, тем, что при скандаблере максимальное разрешение должно быть не более 400 точек по горизонтали. Я делаю 384, 480 и 512 точек по горизонтали. Т.е. нужное разрешение только 1024*768 точек.

Сейчас тормознулся на замене схемы формирователя сигналов CLK, CAS, RAS на ГАЛ-ку. На счетчиках 74ALS работает отлично, при замене на ГАЛ-ку начинаются капризы. Как я понял проблема с времянками. ГАЛ-ки формируют синхронные сигналы, а оригинальная схема асинхронная, и нужные тайминги подстраиваются в каждой части схемы при помощи задержек внутри микросхем. Потому авторы и не рекомендуют менять счетчики ИЕ5 на микросхемы других серий.

Ломаю мозг, к какому сигналу привязывать все тайминги... Пока склоняюсь, что к CLK процессора.

С "жирными" ПЛИС, думаю проще... Нужные тайминги можно "подкрутить" введя дополнительные задержки на регистрах в нужных местах. При моем подходе возможностей намного меньше, да и не хочется сильно усложнять схему. В общем, опять думать, рассчитывать.

Кстати, есть схемы Ориона на ПЛИС, у которых процессор не является софтядром?
 
Я поставлю кварц на 32.5 МГц
И это замечательно!
Вот посмотри здесь комментарий в конце страницы, проникнись о чём я тебя спрашивал - http://rdk.regionsv.ru/orion128-super-42-turbo.htm
PS. Оба вывода там уже неверны. На самом деле без двухпортовки можно обойтись, и с любым xGA-выдохом сделать, и с любой частотой проца, в том числе и со стандартом 2.5МГц.
 
Кстати, есть схемы Ориона на ПЛИС, у которых процессор не является софтядром?
Насколько я знаю, ПОКА таких нет...
Но сейчас как минимум два таких проекта в разработке.
 
И это замечательно!
Вот посмотри здесь комментарий в конце страницы, проникнись о чём я тебя спрашивал - http://rdk.regionsv.ru/orion128-super-42-turbo.htm
PS. Оба вывода там уже неверны. На самом деле без двухпортовки можно обойтись, и с любым xGA-выдохом сделать, и с любой частотой проца, в том числе и со стандартом 2.5МГц.
Статью я читал. Именно из неё я взял идею замены кварца и пересчета синхрогенератора. Т.е. для телевизора работает кварц на 10 МГц и родной синхрогенератор. На VGA работает кварц на 32,5 МГц и родной синхрогенератор переключаем на другие коэффициенты пересчета счетчиков и корректируем формирователи синхросигналов и импульсов гашения. Счетчик строк переключаем на режим двойного отображения каждой строки (добавляем еще делитель на 2 перед младшим разрядом счетчика строк). Остальная часть синхрогенератора остается неизменной, что упрощает схему.
Не совсем понятен постскриптум ,что выводы в статье неверны. Хотелось бы видеть пример применения этого замечания в схемах. Многие авторы доработок пишут, что можно использовать режим отложенной записи в ОЗУ при помощи регистров (естественно без примеров схем, т.е. теоретические рассуждения). Только на одном форуме я вычитал, что это все хорошо, если микросхемы работают без задержек. С реальными микросхемами подобный фокус не прокатит из-за имеющихся в них задержек. Мои поиски подобных схем не увенчались успехом.
Что-то подобное сделано в ПК Ириша - там видеокарта асинхронна к процессору, и такт процессора можно поднять банально заменив кварц в генераторе (это реально делали, только про этот вариант турбирования почти никто не распространялся). Непонятно, почему так не сделали изначально? Схема Ириши, как по мне сильно навороченная, разбираться пока не стал.

Изначально я строил синхрогенератор для VGA. Вместо ОЗУ поставил ПЗУ с простой картинкой. В Протеусе просимулировал схему, она вывела картинку на дисплей. Подключил эту схему к схеме Орион в Протеусе, и тут меня настиг первый жестокий облом: моя схема с Орионом нифига не работала - процессор на подавал признаков жизни совместно с ОЗУ, запись в память не шла, данные из ПЗУ читались. Понял, что не все в порядке с таймингами, дальше - см. первый пост.

Ловлю себя на мысли, что надо было сразу делать схему на двухпортовом ОЗУ. Проблема, что симуляции не будет в Протеусе.
 
Раз у тебя память статическая, то зачем эти касы и расы?
Я тоже так думал изначально. После анализа схемы и изучения толковых мыслей на тематических форумах стало ясно, что они необходимы. К этим сигналам жестко привязаны моменты времени обращения процессора или видеоформирователя к ОЗУ. С таким же успехом эти сигналы можно было назвать, например, "2-й такт машинного цикла процессора", или еще как нибудь.
 
Насколько я знаю, ПОКА таких нет...
Но сейчас как минимум два таких проекта в разработке.
На форуме zx.pk встречался со схемой Орион на ПЛИС и железным Z80 (одна из ранних версий известной схемы Орион 2010). Прошивки для ПЛИС нет.
 
Орион 2010 (и прочими на плис) - занимался Евгений с Питера, прошивки у него
 
Я это знаю. Окончательные прошивки выложены в открытый доступ. Я также нашел (уже не помню где) некоторые из промежуточных прошивок, в т.ч. одну из прошивок для 7128, выполненную в виде схемы. Она естественно работать не будет. Некоторые до сих пор повторяют эту ошибку.
 
Счетчик строк переключаем на режим двойного отображения каждой строки (добавляем еще делитель на 2 перед младшим разрядом счетчика строк).
В XGA-выдохе (1024х768) строки надо утраивать. Синхронный счётчик строк - 11 разрядов. Младшие два считают по модулю 3 (и в адресации памяти не участвуют), остальные как обычно.

Многие авторы доработок пишут, что можно использовать режим отложенной записи в ОЗУ при помощи регистров (естественно без примеров схем, т.е. теоретические рассуждения). Только на одном форуме я вычитал, что это все хорошо, если микросхемы работают без задержек. С реальными микросхемами подобный фокус не прокатит из-за имеющихся в них задержек. Мои поиски подобных схем не увенчались успехом.
Синхронная схемотехника - ключ к успеху.

Что-то подобное сделано в ПК Ириша - там видеокарта асинхронна к процессору, и такт процессора можно поднять банально заменив кварц в генераторе (это реально делали, только про этот вариант турбирования почти никто не распространялся). Непонятно, почему так не сделали изначально? Схема Ириши, как по мне сильно навороченная, разбираться пока не стал.
Там изначально процессор тормозится видеоконтроллером, так что такое турбирование - костыль...
 
В XGA-выдохе (1024х768) строки надо утраивать. Синхронный счётчик строк - 11 разрядов. Младшие два считают по модулю 3 (и в адресации памяти не участвуют), остальные как обычно.
При утроении строк будет экран плющенный. При удвоении должны быть квадратные пикселы. У меня счетчик строк 10 разрядов. 0-й разряд счетчика используется только в XGA режиме. В TV режиме я его отключаю. Т.о. разряды 1-9 счетчика формируют строки для обоих режимов.
 
Назад
Вверх