Таких мониторов больше чем поддерживающих 50 Гц
Таких мониторов меньше чем поддерживающих 50 Гц
Вид для печати
А, <= 32" - не умеют?
А среди мониторов, то современные гнусмасы и лыжи с трудом умеют 50Гц... мой домашний Samsung 2053, умеет 50Гц только 5-10сек, потом теряет сигнал, зато DVI умеет без проблем.
---------- Post added at 07:10 ---------- Previous post was at 07:09 ----------
Те которые меньше дюймов имеют, обычно имеют урезанный функционал, а значит не факт, что есть DVI/HDMI. Хотя нынче наличие HDMI - это скорее дань моде, чем прихоть. И скорее на современном телеке встретишь HDMI, чем SCART/Component/Composit.
Интересно, какой альтернативной арифметикой можно округлить 48.828125 в 48.5?
---------- Post added at 11:13 ---------- Previous post was at 11:11 ----------
Если разработчик железа плюёт на программистов, то программисты плюют на такого разработчика железа. Пример - Зонов.
---------- Post added at 11:23 ---------- Previous post was at 11:13 ----------
Этот мультиколор с программным переключением только в этой программе и есть. Причём она превосходно работает без него. А вот сам мультиколор был позже доработан в 16C - та же схема плюс несколько дополнительных линий.
---------- Post added at 11:30 ---------- Previous post was at 11:23 ----------
Поскольку затраты на внедрение режимов в ПЛИС минимальны, то лучше, конечно, поддержать все. 640x200 используется в ANSI viewer, текстовый режим - в ALASM. Personal Nightmare можно переделать под скорпионовскую память, но я не знаю, кто будет этим заниматься.
Возможно будет, но не сейчас.
Сейчас на мне и так три проекта висит.
Короче дошли руки до платы и я решил попробовать написать прошивку. И самое интересное в том, что тема вылежавшаяся несколько лет, теперь видится немного по другому. И теперь, можно сказать, что та версия платы практически бесполезна.
Емкости EPM7128 хватило, только для обычного спектрумовского режима в VGA развертки. О правильном бордере можно даже не мечтать.
Итого, данная плата может быть полезна только для любительских режимов, без бордерных извратов. Вобщем, я опробую саму идею видеокарты - по сути отладить асинхронный доступ к карте. И можно будет переходить к более толстой CPLD.
На предмет толстой CPLD просится EPM1270. :)
Пока меня интересует один вопрос как правильно организовать асинхронную запись в память видеокарты. Сейчас сделано так. В карте свой синхрогенератор и доступ к памяти организован как в спеке - фаза CPU, фаза Видео. Но так как комп и видеокарта работают между собой асинхронна, то фаза CPU может не совпадать с доступом процессора. Чтобы произвести корректную запись я полагаю надо защелкивать адреса и данные с шины процессора и в фазе CPU видеокарты производить запись. Вроде и работает, но не совсем корректно.
Вот пример кода как я делаю - может кто не замыленным взглядом посмотрит и скажет, где я там уперся.
Sync_count[1] - это сигнал синхрогенератора видеокатры 0 - фаза CPU, 1 - фаза Видео.Код:------------------------------------------------------------------------------------
-- Сигнал мультиплексирования страниц ОЗУ
------------------------------------------------------------------------------------
Ram_smx = CA[15] & CA[14]; -- сигнал SMX = A15 & A14
Ram_page = RAM0_Page_r[0].q & RAM0_Page_r[1].q & RAM0_Page_r[2].q;
------------------------------------------------------------------------------------
-- Выбор памяти ОЗУ
------------------------------------------------------------------------------------
Sel_ram = !(Ram_smx & Ram_page) & !(CA[14] & !CA[15]);
------------------------------------------------------------------------------------
-- Сигнал стробирования сигналов от процессора
------------------------------------------------------------------------------------
DData_reg[7..0].d = CD[7..0];
DData_reg[7..0].clk = !Sync_count[1].q;
DAddr_reg[13..0].d = CA[13..0];
DAddr_reg[14].d = 2mux1(GND, Ram_page, Ram_smx);
DAddr_reg[14..0].clk = !Sync_count[1].q;
RAM_write.d = C_MREQ # !C_RD # Sel_ram;
RAM_write.clk = !Sync_count[1].q;
------------------------------------------------------------------------------------
-- Запись в память
------------------------------------------------------------------------------------
Ram_we = 2mux1(Ram_write.q,VCC,Sync_count[1].q);
MWE = Ram_we;
REG_wrdata[].in = DData_reg[].q;
REG_wrdata[].oe = !Ram_we;
DATA_VID[] = REG_wrdata[].out;
MD[] = DATA_VID[].out;
Мысли у меня сейчас сумбурят, так что если что не понятно спрашивайте.
Можно поступить как инженеры-приставочники: там у VDP есть небольшой FIFO на запись. На 1-2 реже 4 (зависит от приставки). С чтением, конечно, вопрос.
А чтение практически не нужно, Память видеокарты отображается на память видео компьютера. Иными словами, что в компе, то и в карточке.
FIFO не совсем интресно. По сути можно попробовать защелкивать сигналы по сигналу MREQ, а в следующей фазе карты, после снятия сигнала MREQ перекидывать данные в память видюхи.
В Пентагоне сделано наоборот. Если фаза CPU приходится на фазу чтения ВК, фаза ВК смещается на шаг вперёд.
По сути фазы компьютера для видеокарты должны быть безразличны, у нее свои собственные могут быть фазы. Важно чтобы в момент записи в ОЗУ компьютера, видеокарта корректно записывала их себе.
На данный момент в память пишется и отображается. Но вот только с мусором пишется. А это значит не всегда корректно захватывается информация.
Очередная тема с мёртворождённым проектом, и ещё с выдержкой 5 лет, супер...
Насколько реальна работа данной карты на других клонах или она только для Феникса?
По логике должна работать на всех клонах с шиной ZX/Nemo-Bus.
Конечно в первую очередь буду думать над версией для Феникса (первый слот), А потом конечно и для всех желающих. :)
Сказать по правде я сейчас мучаю ее на своей эве лайт, ибо она у меня на работе сейчас :) И да, это все же прототип.
---------- Post added at 12:10 ---------- Previous post was at 12:03 ----------
Да еще хотел напомнить, что для корректной работы программ необходима синхронизация по INT от видеокарты. В Фениксе смена источника INT достигается просто, путем перестановки перемычки, а вот в других....
Ждемс!
а ULA + будет реализована? )
Off:
Ну вот как только по делу скажешь, так сразу на отдых. Я ведб с тобой по нормальному, по человечески, привожу пример твоих же тем, и объясняю тем самым, что для того, чтобы сделать, что-то стоящее, необходимо время, деньги, знания, обсуждение на форуме и так далее. То же самое и я тебе уже говорю, только теперь твоими же словами:
Зайди посмотри фотки в моей теме, чтобы увидеть её практическую реализацию, да без ПО пока, но не всё сразу. Так как проект в процессе и может всё ещё измениться, вплоть до смены элементной базы, а соответственно и ПО нужно будет другое.
То же самое.
Это без комментариев, я не грубиян.
Выше сказал всё по существу, надеюсь, что всё понятно.
Если нет, ну пиши отдых тогда, я всего лишь навсего защищаю свой проект, и привожу тебе примеры. Но больше не буду, либо поймёшь о чём я, либо это не дано.
Чуть зная Михаила в реале, сложно представить чем можно было довести его до такого состояни :-) Хотя, резкие выпады, даже у людей с нордическим характером, стали последнее время нормой на форуме :-( И главное, что совсем не по холиварным темам, а именно с переходом на личности.
ИМХО он не может быть мертворожденным, хотя бы потому, что его ждут десятки людей, а кто ждёт реализации проекта Виктора (ну кроме как ставок на тотализаторе "закончит или нет") я не знаю :-/
За мой проект особо не переживайте, я его делаю чисто для себя, ради интереса, хобби и так далее. И просто решил поделится с общественностью, что он существует и я над ним работаю. Но знаний и времени не хватает, пока.
Почему на меня взъелся Mick не знаю, всегда к нему относился с уважением, и проекты его нравились, нравятся, и желаю ему успехов в реализации новых, надеюсь наши разногласия разрешаться, так как конфликтовать с ним ни хочу и не буду, а тут.
Просто подвернулся проект и тема, что вот он так поступает, но говорит при этом, что мне так нельзя, мол нужно идею обсмоковать, реализовать и только тогда выложить на суд общественности, может оно и правильно. Так и будет с ВМИР-1, выложу всё только тогда, когда окончательно будет готово, хотя на моём форуме, если он будет существовать, мало ли что, можно будет увидеть весь тернистый путь.
На чём заканчиваю оффтоп, и спор с Mick...
Можно я тут пошумлю немножко в защиту?
Виктор никому не навязывает свои поделки. И занимается ровно тем, что он хочет делать на данный момент. И, согласитесь, наблюдать за этим процессом интересно. И зачастую - даже приятно смотреть на готовые модули/блоки, хоть они и не являются законченными проектами.
Мы здесь творчеством занимаемся, или мы старые пердуны?
Вот пьяные выходки я не люблю. Потому и сам завязал уже давно, слишком много сделал того, о чем вспоминать не хочется... Но это - было. Давно...
---------- Post added at 19:13 ---------- Previous post was at 19:09 ----------
Будет камень уровня циклона или флекса, тогда да, можно ждать. Есть уже куча видеорежимов, которые были бы настоящим подарком для Фениксоводов. А на Максе шедевр видеокарты не родишь...
Все, все высказались, ну и заканчиваем оффтопить.
По поводу видяхи, проблему похоже нашел. Взял вытащил микруху памяти - по логике должен быть белый экран. А вот и нет, виден мусор. Похоже при записи видео не освобождается во время шина данных и посему прихватывается часть данных.
Сейчас у меня сделано так. По сигналам MREQ=0, WR=0, A14=1, A15=0 защелкиваются адреса и данные, а потом переписываются в фазе CPU видяхи. Но видимо где то идет рассинхронизация.
У кого какие идеи есть по этому поводу?
---------- Post added at 19:16 ---------- Previous post was at 19:13 ----------
У Макса плюс есть, его раз прошил и забыл :) Но никто не запрещает поставить другой чип. На то оно и обсуждение. Предлагайте, только чип должен быть недорогим и доступным. И легким в освоении. :) Ну и для интереса узнать какие видеорежимы так народ ждет.
В принципе в Ките можно FLEX какой нибудь 50 тысячник купить, оно может из ПЗУшки прошивку брать и вроде они еще и 5 вольтовые. :)
Вот например EPF10K50ETC144, правда она требует два питания VCCINT = 2,5В VCCIO = 3,3В
В КАЙ-2010 тоже можно.
http://photo.qip.ru/photo/softfelix/.../108361726.jpg
Тут вопрос стоит а что в итоге народ хочет.
Сейчас без CPLD и ПЛИС не обойдешься. В DIPе особо ничего малогабаритного не сварганишь.
Кстати, у IanPo есть вариант видеокарты на ПЛИС даже с ARM. В принципе, если ARM не использовать на всякие левые функции, типа читать с карт или музыку играть, а загрузить его чисто под видео. То возможно даже акселератор простенький придумать :)
А можно вместо ARMа поставить MC68EC020 - для жестокости :)
все видеорежимы поддержаные софтом
ну и денди управляемый из феника) раз такая пьянка
IanPo делал проект на 5к LE с аппаратной точкой, линией и даже с масштабированием - возьмите его за основу, ну или поддержать ведеорежимы от ТС-лабс там и ULA+ уже есть.
Нативное подключение к SVGA-мониторам всех поколений.
Габариты, в случае с Фениксом не пугают, он и сам не маленький.
А Z84C0020PEC не справится, зачем нам 32-х битный проц? Для Мотороллы нужна своя обвязка, много и там в ДИПе кроме самого проца ничего не будет.
В дискретной карте функционал сильно ограничивается и габариты там далеко превышающие габариты компьютера.
Посколько первая эфория прошла. Теперь серьезно подумаем о том что в итоге можно сделать. Начнем конечно с светлых проектов IanPo, который безусловно хотел заинтересовать народ своей картой и ее функционалом. В результате интереса к ней не последовало. А это говорит о том, что народом это не востребовано.
Теперь о функционале карты. Можно конечно напихать туда все и вся, но опять же есть вопрос, кто это будет делать, кто будет поддерживать эти режимы и вообще кому они нужны.
И самое интересное, большинство дискретных компов ограничены частотой процессора 3,5МГц, ну и некоторые позволяют бегать шустрее на 7,0МГц. Иными словами - процессор компа это считай самое слабое звено всей системы и видеорежимы надо выбирать исходя из этого.
Тоесть если в Еве режимы допустим работают на 14МГц, то значит нет смысла их поддерживать, так как один фиг проц на компе не сможет с ним нормально работать. Так же с TSL режимами, если они на высоких частотах проца, то можно смело забыть о них. Да, конечно можно для ускорения поставить быстрый проц на видеокарту и общатся с ним по типу какой нибудь библиотеке аля OpenGL или DirectX, но опять же насколько это будет востребовано.
И еще немного о том, что собой должна представлять видеокарта.
По сути это такая надстройка над компьюетером, которая как бы дублирует на запись основные экранные области компьютера, имеет встроенный скандаблер (достаточно буфера на две экранные строки), свой собственный синхрогенератор VGA разверток, память и собственно массив логики, для реализации всех видеорежимов.
Так как я в то время мало знал о возможностях и емкостях CPLD микросхем, то естественно емкости EPM7128 хватило только на штатый видео режим спектрума, без всяких там скандаблеров. Исходя из этого в реальном проекте нужно что более емкое:
Вариант 1. - как сказал Ewgeny7 до Армаггедона взять ПЛИС EPF10K50ETC144 (это 50000 элементов, для примера почти такой же емкости стоит ПЛИС в Эво). Поставить туда Флеш ПЗУ, сделав возможность ее перепрошивания с компьютера.
Вариант 2. - так сказать Мини, это взять CPLD типа EPM1270, поставить дополнительное ОЗУ на скандаблер и собственно ограничится несколькоми графическими режимами.
В обоих случаях основное ОЗУ будет не меньше 256Кбx16.
Вот мои мысли какие.
---------- Post added at 09:06 ---------- Previous post was at 09:05 ----------
Да я так, больше дурачусь :)
Mick, глянь на Reverse-U16, возможно как по цене, так и по возможностях подойдет? TS-conf уже портирована на неё, есть возможность и место для развития проекта. Для разработчиков платы бесплатно. Присоединяйся к проекту. Что думаешь?
Вот накидал схемку, как типа сейчас происходит трансфер от проца в память видеокарты.
Сигналы A0...A15, D0...D7, MREQ, WR от процессора (компа), остальные внутренние сигналы видеокарты и никак не взаимодействуют с сигналами проца.
Смысл такой, есть фазы видеокарты CPU - Видео, они построены как в обычном синхронном спеке. Эти сигналы никак не синхронизированы с сигалами компьютера, тоесть момен записи в память может прийти скажем на любую из фаз, а может на их середину. А записать в память видеокарты можно только в фазу CPU видеокарты. Тоесть необходимо зафиксировать адрес и данные до момента прихода фазы CPU.
Я сделал фиксацию по сигналам A14 =1, A15 =0, MREQ =0, WR =0 - пока только штатный экран спека. Также в этот момент фиксируется флаг записи (сигнал FWR/). По окончанию фазы Видео, флаг переписывается в триггер записи и собственно разблокируется регистр данных и подается сигнал записи на память. Одновременно с этим сбрасывается триггер флага записи.
Но факт в том, что не освобождается во время шина данных видеокарты (MD0...MD1) и происходит прихватывание шлака в фазе Видео.
Какие у кого мысли