Просмотр полной версии : Эмуляция КЦГД, КСМ, КГД (вопросы и проблемы)...
КЦГД что ли попробовать сделать :)
КЦГД что ли попробовать сделать Не стоит. И вообще, все эти упражнения с VGA - это взгляд вслед уходящему поезду. Возьми в руки любую современную видюшку чуть поприличнее (не самый отстой). Сколько на ней портов VGA? Правильно, меньше единицы. То есть, единственный порт DVI на ней комбинированный: DVI-D (цифровой) и DVI-A (аналоговый, который, по сути, тот же VGA, только разъем другой). Обрати внимание: даже порт DVI всего один. Зато всяких HDMI или DP - по паре! Или глянь на телевизор (ЖКИ). В телевизорах постарше обязательно был порт VGA, чуть моложе - DVI, в новых же ни того, ни другого. Зато HDMI штуки три, не меньше.
Такими темпами лет через 10 монитор с VGA тоже станет раритетом. Это одна сторона проблемы. Вторая - это тот факт, что все нынешние мониторы - ЖКИ, OLED и т.п. имеют единственное правильное разрешение - их родное, количество физических пикселей их экранов по горизонтали и вертикали. То есть, конечно, если подать на монитор видеоданные с другим разрешением, моник это как-то преобразовывает, но результат преобразования смотрится, обычно, коряво - края букв и другие подобные элементы изображений всегда размазаны.
То есть проблем, собственно, две. Первая - обеспечить работу более-менее свежих устройств отображения видеоинформации - через что-то, вроде HDMI/DP, на худой конец DVI, это в дополнение к обычному VGA. И вторая - обеспечить более-менее приличную конвертацию разрешения наших ретро-устройств в современные разрешения мониторов.
Как их решать - тема отдельной дискуссии, но, по-любому, работы очень много.
Зато всяких HDMI или DP - по паре
На моей плате только разъем VGA. Для HDMI или DP нужны свободные пины - а их у меня всего 36 и некоторые уже заняты, так что по любому - ничего кроме VGA
Такими темпами лет через 10 монитор с VGA тоже станет раритетом
Я думаю, предсказывать - не интересное занятие. Уже сколько кричат, что все перейдут на SSD, а винчестеры вымрут как класс. Вот только проблемы - как оказалось три, а не две, как я думал - стоимость (ну ка посчитайте мне стоимость перевода моих порядка за 120 терабайт на SSD), деградация при записи и постепенный разряд ячеек (причём, чем старше - и с точки зрения года выпуска и с точки зрения интенсивности использования или чем выше температура - тем быстрее разряжается). Забыл, понимаешь ли, SSD с любимой порнушкой на подоконнике - вечером домой пришёл - а вся добытая тяжёлым трудом инфа пошла попи... в общем стерлась.
То есть проблем, собственно, две
Очень больших проблем, собственно, одна - есть софт, написанный под кучу древних видеоконтроллеров. И так же как с VGA мониторами (есть куча устройств, которые другое не поддерживают) - необходимость его поддержки. А значит - реализация соответствующих контроллеров. Я не знаю как там на дискретной и не очень логике, но на FPGA - не сложней бинома Архимеда.
Проблема менее масштабная (старые мониторы телевизоры пока ещё находятся без особого труда и за вменяемые деньги) - конвертация. Я не железячник - так флаг не мне в руки.
наших ретро-устройств
И самое главное - мне не обязательно аутентичное устройство - меня вполне устраивает вариант в FPGA - тем более, что это всё сильно напоминает микропрограммирование - а на нем и сама DEC не гнушалась делать устройства.
- - - Добавлено - - -
И ещё про конвертацию. Если делать FPGA аналог какого-то видеоконтроллера, то до конвертации аналогового сигнала в цифру, преобразование и конвертации цифры в аналог дело не дойдёт - будет преобразование (цифра в цифру) и в аналог. Что IMHO, значительно проще
Возьми в руки любую современную видюшку чуть поприличнее (не самый отстой). Сколько на ней портов VGA? Правильно, меньше единицы. То есть, единственный порт DVI на ней комбинированный: DVI-D (цифровой) и DVI-A (аналоговый, который, по сути, тот же VGA, только разъем другой).
Тут тоже тебя расстрою. В послендее время чисто DVI-D, без всякого аналогово сигнала. Нету там ничего комбинированого. Меняешь видюшку на современную - меняй и монитор :(
обычная 1050, VGA нет никакого, даже через переходник, ну если только через активный преобразователь HDMI2VGA
https://c.dns-shop.ru/thumb/st1/fit//wm/800/650/a5e9538f488f96f3c2aec24532aba977/a761aee3870259aefed9c627c2381aa3196b9e9f3c5a73f9f9 ceb3237d4eddf9.jpg
вторая - обеспечить более-менее приличную конвертацию разрешения наших ретро-устройств в современные разрешения мониторов.
На более менее приличных dev-board уже ставят HDMI, а там уже немного проще, программно-аппаратный апскалер, на входе сигналы VGA - на выходе чистый HDMI, особо парится не надо, все синтезируемое ретро-старье кажет в разрешении хоть 1920х1080
zebest, исходники с сайта PDP-2011 скачал?
скачал. еще полгода назад. я не такой фанат PDP, чтобы в там разобраться. Так что мимо, я уже говорил. Буду ждать, может когда нить добрые люди синтезируют ДВК-2
я не такой фанат PDP, чтобы в там разобраться
На самом деле, я в саму реализацию PDP-шных объектов и не совался. Да и не PDP-шником там для начала надо быть, а VHDL-ником.
А именно ДВК-2 нужен?
А именно ДВК-2 нужен?
ну я когда то на нем живом работал, с зелененьким монитором. вроде двойка была. а может и тройка? НостальжИ, т.с.
Конкретно ДВК, там, конечно нет, по умолчанию собирается PDP-11/70, хотя, что бы понастальгировать - вопрос в другом - что собираетесь делать? Программировать - без вопросов, играть в игрушки - если графическая - то облом - нужны модули конкретных графических адаптеров - тут модуля VGA не хватит от слова совсем, если же текстовая - без проблем.
И самое главное - есть по крайне мере один файл (или два), которые зависят от конкретной железки, куда собираетесь синтезированное заливать. Именно с ними, как я уже писал - я и возился - под свою железку.
Я думаю, предсказывать - не интересное занятие. Уже сколько кричат, что все перейдут на SSD, а винчестеры вымрут как класс.Уже вымирают. Вспомни 10 лет назад: каждые год-два емкость винчестеров удваивалась, старые сильно дешевели... Где это всё? Нет, и больше не будет. Более того, на то, что есть, цены растут. Это потому, что компьютер перестал быть продуктом массового потребления - сейчас он перешел в категорию "профессиональный инструмент". Тиражи падают, цены растут... Массовый потребитель перешел на андроиды, данные потихоньку переползают в облака, и все!..
Тут тоже тебя расстрою. В послендее время чисто DVI-D, без всякого аналогово сигнала. Нету там ничего комбинированого. Меняешь видюшку на современную - меняй и монитор Вот-вот, тем более. Впрочем, интеля в своих набортных видюхах, вроде-бы, еще делают порт VGA...
ну я когда то на нем живом работал, с зелененьким монитором. Скорее всего, ДВК-2 с классическим 15ИЭ-00-013 (более поздние были уже с монитором 6105, серенькие).
На моей плате только разъем VGA. Для HDMI или DP нужны свободные пины - а их у меня всего 36 и некоторые уже заняты Это я к тому, что КЦГД надо делать не в этом проекте и, скорее всего, на другом железе.
Впрочем, интеля в своих набортных видюхах, вроде-бы, еще делают порт VGA...
Как то тоже на последних материнках only DVI-D мне , по крайней мере, встречаеЦЦа, да и на предыдущих поколениях - то жи.
Я даже выкинул на ветер аж 100 рублей, кЕтайцы честно прислали типааа переходник DVI-D => VGA, но он ожидаемо не работал, что я с успехом а5 же лично для себя и доказал. Поэтому при крайней нужде пользуюсь преобразователем HDMI2VGA, более менее сносно работает
каждые год-два емкость винчестеров удваивалась
А что, придумали как писать не на атомах, а на элементарных частицах? Количество транзисторов и частоту процов тоже обещали удваивать вечно - но ограничения технологий никто не отменял. А пока - по надёжности винты ещё никто не обошёл - и смерть их будут предсказывать ещё долго
Более того, на то, что есть, цены растут
По тому, что я трачу на винту - не растут, а падают
КЦГД надо делать не в этом проекте
Мой проект, что хочу, то и делаю ;) А учитывая, как устроен КЦГД - большая часть кода для него уже есть.
скорее всего, на другом железе
Когда у меня будет железка с HDMI или DP - тогда и попробую
- - - Добавлено - - -
DNS
В продаже 568 моделей, с VGA разъёмом - 399
В ценовом диапазоне до 6000 рублей - 27 на 27
6001-8500 - 90 на 87
8501-11000 - 97 на 96
11001-15000 - 89 на 84
15001-20000 - 78 на 50
дороже 20000 - 186 на 54
AFZ, ты серьёзно собрался для ретрокомпьютера покупать монитор дороже 20к? Тогда тебе действительно есть почему волноваться.
А до 15 штук можно не париться и брать почти любой
CodeMaster
11.04.2018, 19:09
В продаже 568 моделей, с VGA разъёмом - 399
И это без учёта всяческих конвертеров видео на Али за копьё.
Ну, старая, добрая, непонятная ошибка, когда после загрузки кода запускается только VT, а основной проц стоит на 000000
- - - Добавлено - - -
И это без учёта всяческих конвертеров видео
У меня FPGA, на котором я могу собрать что угодно из ретро-компов и вывести на VGA - на фига мне конвертеры?
- - - Добавлено - - -
Вторая попытка :)
- - - Добавлено - - -
И снова жопель :) Лана, бум потихоньку двигаться :) Попытки три ещё сегодня успею сделать, может четыре :)
- - - Добавлено - - -
Помнится, когда я выход на сом делал где то примерно на тех же разъёмах - оно тоже сопротивлялось. Переставил выше. Синтез
- - - Добавлено - - -
Не знаю, почему так, не знаю, будет ли этот способ работать всегда - но вроде я нащупал - как обходить любимую ошибку. Почему то, если внешние пины напрямую подключать к синтезируемым компонентам (например, сейчас - к синтезируемому XU) - хороший шанс словить незапуск. Так же было при первых попытках подключить VGA. Описал сигналы, пины подключил к сигналам, а уже сигналы завёл на интерфейс компонента - и вуаля - мы снова щастливы, мы снова работаем. Правда, аутоконфиг RSX XU не нашёл. Фиг пока с ним. Запустил стандартный тест - полный SYSGEN. Чё получится - проверю утром - а щас - спатькать.
- - - Добавлено - - -
Адреса XU, по крайне мере, откликаются. Похоже завтра буду мучать модуль TCP/IP для RSX :)
Мой проект, что хочу, то и делаю А учитывая, как устроен КЦГД - большая часть кода для него уже есть. Ну чтож, вперед! Пару советов примешь? Попробуй, может получится. Чтобы избавиться от размытых краёв букв, нужно сделать развертку в точности под физическое разрешение монитора. Взять пару-тройку ходовых мониторов и отработать их разрешение. В частности, большинство старых ЖКИ-моников имеют 1280х1024, современная 18-19" дешевка имеет 1360*768, Это самое ходовое. Ну, может быть, еще какой формат взять.
КЦГД имеет развертку 400 (800)х240. Можно попробовать сделать экран 800х720, остальное пространство экрана оставить черным. Тогда условный пиксель КЦГД будет по горизонтали отображаться двумя (среднее разрешение, обычная графика) или одним (высокое разрешение, алфавитно-цифровой режим) пикселями реального ЖКИ-моника, по вертикали - всегда тремя пикселями реала. При таком отображении картинка будет примерно правильной - в частности, нарисованный круг будет отображаться крУгом, а не дыней. :) Ну, и символы из-под КЦГД-182 будут красивыми.
Пару советов примешь?
Любое количество :)
в точности под физическое разрешение монитора
Это, скорее всего, будет первое, что я переделаю в модуле VGA от автора PDP-2011. Сейчас там 640х480, но кстати, наблюдается не размытие краёв, а как бы дрожание. Правда, Самсунг писала что то о интеллектуальном интерполяторе - может это он дрожжжит :) Но по любому родное будет лучше.
Взять пару-тройку ходовых мониторов и отработать их разрешение
У меня только три варианта под рукой, но плата потянет только два - 1280х1024 и, возможно, 1920х1080. Третий вариант - 3840х2060 - я сомневаюсь, что потянет стандарт VGA, но по любому - на нём VGA ни родного, ни через DVI-I
Надо будет что то придумать ещё с 1360х768, потому как да - ходовый (но жутко мне не нравящийся) вариант
КЦГД имеет развертку
Я в курсе его разрешений :) Попробую разные варианты умножения - но для начала КЦГД ещё надо нарисовать. Большая плюса - он тоже на PDP-11 :)
- - - Добавлено - - -
что я переделаю в модуле VGA
Поправка - что я переделаю в проекте PDP-2011. Там мне не только VGA не нравится, но VGA смотрится более простым в плане доделки :)
LeoN65816
12.04.2018, 09:44
Любое количество :)
КЦГД имеет развертку 400 (800)х240.
Вот еще совет.
Возьмем развертку 800х240.
Горизонтальная развертка / вертикальная развертка = DAR / PAR.
DAR (Display Aspect Ratio [как мы помним на тех мониторах 80-х будет 4:3], или отношение абсолютных размеров горизонтали к вертикали видимого/полезного растра [800х240] - например 16 см : 12 см - те же 4:3).
PAR (Pixel Aspect Ratio) - относительный размер точки (видимой/полезной/исходной).
PAR = DAR * вертикальная развертка / горизонтальная развертка = 4:3 * 240 / 800 = 4:10 = 2:5.
Теперь исходные (не квадратные, а 2:5) 800х240 масштабируем по горизонтали дважды, а по вертикали 5 раз - получим 1600х1200 квадратных точек при родных 4:3.
Многие 20" мониторы имеют это родное разрешение 1600х1200 с этим DAR, на них будет выглядеть абсолютно идентично как и на мониторах(-оригиналах) 80-90-х.
Или же широкоформатники 16:10 с разрешением 1920х1200, у которых в меню можно переключить Aspect Ratio на 4:3.
LeoN65816, спасибо. Но это на будущее. Пока надо поиграться с другими разрешениями в принципе.
LeoN65816
12.04.2018, 10:17
Пока надо поиграться с другими разрешениями в принципе.
Другие разрешения "не катят" от слова "в принципе"... 1600х1200 - это минимально необходимый идентичный (видимый) растр. Полный растр (с передними и задними, с верхними и нижними гашениями), конечно же, будет больше. Можно еще сделать "финт ушами": делаем PixelClock в два раза меньше и "рисуем" 800х1200 как бы удвоенных точек (а монитор их растянет до 1600х1200 без искажений).
А еще можно каждую пятую строку (или две соседних из пяти) гасить (но обязательно цветом фона), и получим "ламповый" эффект ЭЛТ scanlines.
1600х1200 - это минимально необходимый идентичный (видимый) растр
У всех есть такие мониторы (да ещё что бы он и родным был)?
LeoN65816
12.04.2018, 10:28
У всех есть такие мониторы (да ещё что бы он и родным был)?
#57: (http://zx-pk.ru/threads/28952-pdp-11-na-fpga.html?p=959253&viewfull=1#post959253)
Или же широкоформатники 16:10 с разрешением 1920х1200, у которых в меню можно переключить Aspect Ratio на 4:3.
DNS в Самаре.
Количество мониторов в продаже - 530. Количество мониторов с макс разрешением 1600х1200 - 1 (ОДИН).
- - - Добавлено - - -
1920х1200, у которых в меню можно переключить Aspect Ratio на 4:3.
И получить интерполяцию
DNS
Количество мониторов с разрешением 1920х1200 - 13 (из, напоминаю, 530). Цена начинается с 13299 рублей.
- - - Добавлено - - -
1920х1080 - 339, цена начинается с 5399 рублей
- - - Добавлено - - -
получим "ламповый" эффект ЭЛТ
Ламповый звук - это в другую тему. К ностальгирующим по православным ретро-компьютерам. У меня тут злобный FPGA и идентичность работоспособности, а не внешнего вида.
Количество мониторов с разрешением 1920х1200 - 13 (из, напоминаю, 530). Цена начинается с 13299 рублей.
- - - Добавлено - - -
1920х1080 - 339, цена начинается с 5399 рублей
ну да, разниЦЦа в 2,5 раза, из-за мизерного дополнительного разрешения по вертикали. Но почемуу-то все равно хочется новый монитор 1920x1200 :(( Когда-нибудь, желательно и со входОм и HDMI и VGA
LeoN65816
12.04.2018, 11:49
https://www.avito.ru/samarskaya_oblast/tovary_dlya_kompyutera/monitory?q=1600x1200
https://www.avito.ru/samarskaya_oblast/tovary_dlya_kompyutera/monitory?sgtd=16&q=1920x1200
- - - Добавлено - - -
И еще один момент: у КЦГД кадровая частота сколько?
у КЦГД кадровая частота сколько
А причём здесь КЦГД и его кадровая?
Но почемуу-то все равно хочется новый монитор 1920x1200
Собственно, вход VGA понадобился под ретро-компы и под FPGA (но потому что другого на плате нет), а так есть монитор 4K, но хочется побольше - и диагональ и разрешение :)
PAR = DAR * вертикальная развертка / горизонтальная развертка = 4:3 * 240 / 800 = 4:10 = 2:5. Да, очень грустно - распространенных мониторов с 1200+ пикселями по вертикали просто нет - только редкие и, соответственно, сильно дорогие модели. Только вот мне, почему-то, казалось, что там не 2:5, а 2:3. Хотя это, кажется, для Э-85 , а для ДВК ближе что-то, вроде 1:2. В общем, поскольку DAR на тех мониках в определенных пределах подкручивался потенциометром "Размер по вертикали", желательно произвести измерения поточнее. Конкретно - отрисовать на КЦГД круг, как это понимают софты, подкрутить размер по вертикали так, чтобы он действительно стал кругом, а не дыней и измерить получившиеся размеры растра. Причем рисовать круги надо в нескольких вариантах: найти игрушку, в которой есть кружки или шарики, загрузить в КЦГД-181 ходовое "народное" графическое расширение (кажется, программа LOAD, точно не помню) и нарисовать круг из своей программки, то же проделать с KEYGP. И потом сравнить.
Коллеги, у кого ДВК с КЦГД-181 и моником 6105, проявите, плз, энтузиазм и измерьте, ладно?
Многие 20" мониторы имеют это родное разрешение 1600х1200 с этим DAR Увы, моники 4:3 не в моде, так что нет их. Тут уже сообщили, что есть всего одна модель за бешеные деньги.
Или же широкоформатники 16:10 с разрешением 1920х1200, у которых в меню можно переключить Aspect Ratio на 4:3. Необязательно. Можно просто выдавать в каждой строке 160 черных пикселей, затем 1600 рабочих и еще 160 черных. Только вот моники с 1200+ по вертикали - редко и дорого. Может там, все-таки, 1:2, а? Ведь очень похоже, основное-то разрешение КЦГД в графическом режиме - 400*240, это будет 1:1. И, опять же, 15.6 кГц строчка и 60 Гц кадровая - это 525 строк при чересстрочной развертке и 262 строки при прогрессивной, из них 22 строки на обратный ход по кадру, остальные 240 - на картинку, то есть, полный экран. Вряд ли кто-то заморочился какими-то дробными коэффициентами, скорее всего сделали по-простому, 1:1, и все! Ну, или 1:2 для 800*240, что применяется только для текстового режима, если я не путаю. Ну и, наконец, КЦГД способен и на 800*480, при чересстрочной развертке, но такого софта, ИМХО, в природе вообще нет.
Тогда все будет проще - для простых моников делаем 800х480, для FullHD - 1600х960, и вперед! И моники годятся любые, и на мониках поприличнее можно будет получить вполне приличную картинку...
Ну вот любит народ забегать вперёд и делить шкуру неубитого ведмедя :) Сделаю сначала в родном разрешении 800х240 (это же у него макс, правильно?) - посмотрю, что будет на экране - тогда и можно будет удваивать-утраивать-уэнеривать :) Давайте решать проблемы по мере их поступления (блин, тут даже паять нихрена не надо - сиди, синтезируй, что в голову взбредёт - 15-20 минут и твой бред можно посмотреть вживую), а проблема первая в очереди - XE не работает (по последним сведениям, биос материЦЦа (спасибо автору, отладочный код у него от слова везде), что типа сетевуха не доинициализировалась)). Как только это решу - можно будет дальше двигаться - модуль генерации сигналов для VGA попробовать на других разрешениях. И только потом думать про КЦГД. И тут уже спасибо создателям КЦГД, что они на 1801ВМ собрали - то есть такой проц (или почти такой) уже есть синтезированный - то есть много чего сделано
Сделаю сначала в родном разрешении 800х240 Делай сразу 800х480, не ошибёшься. 800х240 - это будет узкая полоса, в которой и буквы КЦГД-шные толком не разберешь.
Делай сразу 800х480
Да, возможно с 240 погорячился, но насколько я себе представляю - из 240 сделать 480 - проблем нет, просто дважды одно и тоже содержимое ОЗУ вывести.
LeoN65816
13.04.2018, 09:33
Чтобы избавиться от размытых краёв букв, нужно сделать развертку в точности под физическое разрешение монитора.
Здравая и абсолютно верная мысль! Немножко "разжую": чтобы не дать шанс монитору интерполировать изо, "нужно сделать развертку в точности под физическое разрешение монитора".
Да, очень грустно - распространенных мониторов с 1200+ пикселями по вертикали просто нет - только редкие и, соответственно, сильно дорогие модели.
1200+ не нужно! Будет интерполяция по вертикали! Нужно именно 1200!
Только вот мне, почему-то, казалось, что там не 2:5, а 2:3.
Ну я же дал формулу, по которой это и рассчитывается... А она отсюда (http://www.mir.com/DMG/aspect.html).
Увы, моники 4:3 не в моде, так что нет их. Тут уже сообщили, что есть всего одна модель за бешеные деньги.
Вам вагон моников надо? Или по одному каждому? Я же дал ссылки на авито - кому надо, тот и б/у (хоть 4:3, хоть 16:10 с переключаемым Aspect Ratio) за вменяемые деньги прикупит...
Можно просто выдавать в каждой строке 160 черных пикселей, затем 1600 рабочих и еще 160 черных.
Ага, только моник после автоподстройки (которая производится по нечерному изо) будет интерполировать 1600 точек полезного растра на 1920 точек своей матрицы...
Вряд ли кто-то заморочился какими-то дробными коэффициентами, скорее всего сделали по-простому, 1:1, и все! Ну, или 1:2 для 800*240, что применяется только для текстового режима, если я не путаю.
Какие коэффициенты в аналоговом ЭЛТ-монике 80-90-х годов??? Выводили нужный растр и (на заводе) в мониторе крутили размер по вертикали и по горизонтали на весь экран.
Ну и, наконец, КЦГД способен и на 800*480, при чересстрочной развертке, но такого софта, ИМХО, в природе вообще нет.
Тогда PAR = 4:5, и нативку нужно делать 3200х2400. Есть такие моники с такими матрицами?
Тогда все будет проще - для простых моников делаем 800х480, для FullHD - 1600х960, и вперед! И моники годятся любые, и на мониках поприличнее можно будет получить вполне приличную картинку...
И еще раз смотрим первую квоту этого поста...
Ага, только моник после автоподстройки (которая производится по нечерному изо) будет интерполировать 1600 точек полезного растра на 1920 точек своей матрицы... Ну, сделать его серым, или еще каким...
Какие коэффициенты в аналоговом ЭЛТ-монике 80-90-х годов??? Выводили нужный растр и (на заводе) в мониторе крутили размер по вертикали и по горизонтали на весь экран. Не-а! Это же не телевизор, у которых накручивали даже за пределы экрана. Тут и границы видимой области непрямолинейные, и углы ее скругленные, а углы изображения на монике обязаны быть видны всегда.
Тогда PAR = 4:5, и нативку нужно делать 3200х2400. Есть такие моники с такими матрицами? Все-таки, подозреваю, что там 5:5, т.е. 1:1. Проверяется элементарно: рисуем круг (запустить какой-нибудь тест или игрушку, где есть кружки/шарики), регулировкой размера по вертикали добиваемся, чтобы это был действительно круг, а не дыня, после чего измеряем размеры растра.
рисуем круг
Учитывая, что разрешение КЦГД не квадратное (типа 800х800), а прямоугольное (800х240) - в видеопамяти круг УЖЕ надо рисовать эллипсом, а потом это ещё рисуется на мониторе с неизвестно как выставленными размерами по вертикали и горизонтали (привет ЭЛТ) - нужно специально писать тестовую программу - потому как (если нет исходников) не понятно, как рисует "круг" выбранная программа в видеопамяти.
Во времена активного юзанья КВАНТ-а я адаптировал (низкоуровневый) модуль ГРАФОРа (библиотечный пакет математической и инженерной графики на ФОРТРАН-е) под КЦГД - там одна из настроек - указать сколько точек по горизонтали и вертикали в 1 см - соответственно - покрутил регуляторы на монике - померил линейкой - вписал соотношение.
В случае ЖК размеры по вертикали-горизонтали фактически менять мы не можем.. Поэтому до получения первой картинки без какого-либо масштабирования или с одинаковым масштабированием по горизонтали-вертикали - я не буду думать - как масштабировать. Если будет достаточно целочисленного масштабирования - оно врезается элементарно, а вот если потребуется не целочисленное... может и код КЦГД придётся перепахивать
Учитывая, что разрешение КЦГД не квадратное (типа 800х800), а прямоугольное (800х240) - в видеопамяти круг УЖЕ надо рисовать эллипсом А вот изба фигвам! 800х240 - это в понятиях КЦГД "высокое разрешение". Используется только в алфавитно-цифровом режиме. Вся графика для КЦГД, которую я видел, это 400х240, "среднее разрешение". И в нем круг надо рисовать именно крУгом.
Хе. Похоже дочери буду передавать наследство компьютерщика. Победила на конференции для школьников и студентов Тогда научи ее программировать на Макро-11. :) Впрочем нет, не учи. Потом ей будет очень трудно учить (почти) любой другой асм. Я вот после любимой PDP-11 так и не смог преодолеть рвотный барьер и выучить асм-86. Пришлось переквалифицироваться в СИонисты. :)
400х240
В битах - всё равно не круг. Лана, спорить можно бесконечно, критерий истинности - практика. Пока не попробую - заморачиваться буду про Ethernet адаптер - над ним, похоже, придётся попыхтеть. Пока шлифую код - надоела любимая ошибка - вроде понял, как её ликвидировать, хотя не понял - почему так.
Вся графика для КЦГД, которую я видел, это 400х240
Я использовал 800х240 во всех своих графических поделках :)
научи ее программировать
Надо учить составлять рецепт (алгоритм) - потом рецепт можно перевести на любой язык - главное - начать на нём "говорить" :) Я понимаю много языков, для значительной части из них даже могу попробовать подправить модуль, а вот начать писать с нуля - думаю, пальцев одной руки хватит. Macro-11 - есссвенно - можно считать - родной язык с "детства" :)
- - - Добавлено - - -
Потом ей будет очень трудно учить (почти) любой другой асм
x86 я так и не освоил, а вот 8080 (580вм) - вроде ничего, более менее
Вернусь на чуть-чуть к видеоадаптеру.
Горизонтальная развертка / вертикальная развертка = DAR / PAR.
DAR (Display Aspect Ratio [как мы помним на тех мониторах 80-х будет 4:3], или отношение абсолютных размеров горизонтали к вертикали видимого/полезного растра [800х240] - например 16 см : 12 см - те же 4:3).
PAR (Pixel Aspect Ratio) - относительный размер точки (видимой/полезной/исходной).
PAR = DAR * вертикальная развертка / горизонтальная развертка = 4:3 * 240 / 800 = 4:10 = 2:5.
Теперь исходные (не квадратные, а 2:5) 800х240 масштабируем по горизонтали дважды, а по вертикали 5 раз - получим 1600х1200 квадратных точек при родных 4:3.Вот цитата из книжки Микро-ЭВМ книга 2 под ред. Преснухина, стр 98, про КГД.
... предназначено для хранения графического изображения размером 286 строк по 400 точек.Число точек в строке выбрано для обеспечения равного шага между точками по вертикали и горизонтали. Такая организация графического экрана по сравнению с экраном 256 строк по 512 точек при равной информационной емкости ГОЗУ существенно упрощает алгоритмы построения окружностей, поворотов фигур и других графических преобразовавний...
То есть, 1:1, и никаких гвоздей. Предпочтительность реализации КСМ+КГД перед КЦГД я подробно описал здесь и далее (http://zx-pk.ru/threads/29097-klaviatura-mc-1201-02-7004.html?p=962404&viewfull=1#post962404), коротко - игрушек и пр. софта для КГД намного больше, чем для КЦГД.
В своё время я сделал проще (для адаптации ГРАФОР-а под КЦГД). Я нарисовал в видео памяти КЦГД квадрат 100 на 100 бит, а потом линейкой померил его на экране. После чего получил коэффициенты, которые ГРАФОР использует для того, что бы на экране затребованный прямоугольник размером, скажем, 3 на 4 см был прямоугольников 3 на 4 см. Похожий подход я сделаю и когда дойду до оценки масштабирования картинки КЦГД на ЭЛТ в картинку синтезированного КЦГД на ЖК. Теоретически вы можете рассуждать и дальше, а я уже учёный - лучше попробовать на практике то, что написано в теории и убедиться в (правильности | неправильности) и идти дальше, чем написать 2 гига кода и выяснить, что любая ошибка в программе - это неправильное предположение.
Пока у меня совсем другая задача - заставить (синхронный) дизайн автора PDP-2011 работать с (асинхронно работающей по отношению к остальной части PDP) SDRAM памятью. Его попытка, когда SDRAM тактирует процессор (в попытке добиться синхронного дизайна всей PDP) после ахрененного количества ошибки 000000 признана мной неудачной (и кстати, автором тоже, но по другой причине - если я правильно перевёл, то он написал, что в результате работа с памятью идёт в два раза медленней, чем могла бы, от чего страдает скорость проца. А если учесть, что проц некоторые вещи выполняет без обращения к памяти - то скорость проца страдает ещё сильней. Я как бы дозрел до второй попытки сделать это :)
Задумка по поводу будущего контроллера видеоадаптера есть - и она - не КСМ, не КСМ+КГД, не КЦГД. Но поверх неё можно будет реализовать все три платы (и не только), не думаю про масштабирование и коэффициенты перевода с ЭЛТ на ЖК.
- - - Добавлено - - -
ИМХО, надо-бы попробовать сделать на "фруктовом пирожке"
Я - точно не буду делать - сейчас - не интересно (почему - ниже).
для того, чтобы склепать КЦГД, в него придется ставить 1801ВМ2
Да хоть PDP-11/70. В том варианте, который я у себя запустил - внутри работает ТРИ проца. Центральный, в модуле VT и в модуле XE. И под это дело даже не требуется такой мощный кристалл, как у меня, а в моём случае я могу собрать PDP-11/74 и ещё место останется.
По поводу "пирожка".
У меня вместе с FPGA в кристалле двухядерный Cortex - к этой плате лепить ещё что то внешнее-процессорное??
У меня для FPGA доступен VGA выход (который я уже умею использовать), а для Corеex-а - свой (сенсорный) экран - я всё это и без внешнего могу пробовать.
На моей плате гребёнка на 36 выводов GPIO - я мост могу и к ней подцепить - смысл мне каком-то посреднике. А у китайцев на Cyclone-ах можно найти и кристаллы неплохие и с двумя гребёнками по 40 выводов за вменяемые деньги.
Ну и самый главный аргумент. Если бы меня интересовала ЭМУЛЯЦИЯ - нафик мне вообще FPGA? Эмулятор (всего) можно и в арм-овскую плату засунуть. Но именно это мне сейчас не интересно.
По поводу "пирожка". Так та тема не твоя и советы в ней не для тебя. Воевать с "пирожком" я советовал нашему коллеге DonkeyHot, он же затеял супер-пупер-дисплей. Тебе я предложил только глянуть аргументацию в пользу КСМ+КГД против КЦГД. А также аргументацию против изобретения любых других (новых) дисплеев для нашей любимой PDP-11. Ну, может быть, кроме расширенного символьного режима, типа 213х50 на FullHD-экране, как это делает FAR или линюхи в консольном режиме.
глянуть аргументацию в пользу КСМ+КГД против КЦГД
Это я и тогда понял.
аргументацию против изобретения любых других (новых) дисплеев
Это будет не новый дисплей и даже не новый режим работы. Это будет другой принцип работы в принципе (не что то новое вообще, а именно по отношению к тому, что можно встретить среди сделанного для PDP). И по причине того, что на моей железке дофига ресурсов - а значит, никто не мешает мне одновременно запустить БК, УК-НЦ и ДВК. Не по одному экземпляру :) И вот тут классический подход становится неприменим.
LeoN65816
25.05.2018, 00:42
Вот цитата из книжки Микро-ЭВМ книга 2 под ред. Преснухина, стр 98, про КГД.
...
То есть, 1:1, и никаких гвоздей.
Нарисуй в КГД квадрат 200х200 точек (или 400х286). Замер линейкой размеры по горизонтали и вертикали этого квадрата. Напиши их здесь, и мы посчитаем PAR по известной формуле. Келісемін? ;)
Угу. И, если оно будет отличаться от 1:1, возьми отвертку и подкрути размер по вертикали так, чтобы оно стало 1:1. Потом напечатай содержимое графического экрана на матричном принтере (том же Роботроне, или Ёпсон-совместимом), тем же вильнюсским Бейсиком, и убедись, что там тоже будет 1:1, как и запланировано разработчиками КГД.
LeoN65816
26.05.2018, 13:19
Угу. И, если оно будет отличаться от 1:1, возьми отвертку и подкрути размер по вертикали так, чтобы оно стало 1:1.
...
как и запланировано разработчиками КГД.
Тогда DAR будет 4:2.86, то есть кадр будет немного сплющен по вертикали (развертка не на весь экран).
Тогда DAR будет 4:2.86, то есть кадр будет немного сплющен по вертикали (развертка не на весь экран). Ну и что? Повторюсь, именно это было запланировано при разработке КГД. Кажется, КСМ-ный экран чуть выше, за счет служебной строки, но точно не уверен, плохо помню.
LeoN65816
29.05.2018, 00:22
Ведь очень похоже, основное-то разрешение КЦГД в графическом режиме - 400*240, это будет 1:1.
При 400х240 должен быть PAR = 4:5.
https://www.youtube.com/watch?v=J0351m3SMNk - здесь по времени на 2:30 и 3:53 окружности совсем не круглые... Но и PAR выходит не 4:5, а где-то 4:5.5, но это уже косяк PAL-кодера и захвата.
Вот-вот, тот самый случай: возьми отвертку и подкрути размер по вертикали. Хорошо помню: на заводских ДВК с КЦГД сверху и снизу экрана были заметные "поля" - не такие, конечно, как на обычном телевизоре тех времен, когда передавали широкоэкранный фильм, но картинка всегда начиналась не с самого верха экрана и кончалась не в самом низу. И, судя по всему, те самые программы - LOAD и DEMO рассчитаны на 1:1.
- - - Добавлено - - -
Вот у кого точно не 1:1, так это у Э-85. И, если ее нарисовать 1:1, как это сделано в эмуляторе Xhomer, картинка выглядит довольно погано. Поиграй в LAND (который HELL) на Хомере и на EmuStudio и почувствуй разницу.
shattered
24.11.2018, 01:04
В документации на КГД сказано, что старшие разряды регистра данных не используются. Но что из них читается - записанные данные или 0?
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot