PDA

Просмотр полной версии : ZXKit1 - плата VGA & PAL



Страницы : [1] 2 3 4 5 6 7 8 9 10

zx-kit
15.07.2009, 19:49
Здравствуйте!

Плата VGA & PAL предназначена для вывода сигнала со Spectrum - совместимого компьютера на монитор и/или телевизор.

Возобновлен выпуск уменьшенной версии видеоконвертера RGBI-VGA (http://www.zx-kit.ru/katalog-1/zxkit-001).

Прошивки и способы подключени такие же как у VGA&PAL. Для уменьшения платы убраны лишние детали. Теперь нельзя подключить к телевизору, только к VGA монитору в режиме скандаблера 50 Hz и 60 Hz с одним видеобуфером.

Плата имеет несколько режимов работы. Выбор режима осуществляется перемычками.

Первый режим соответствует развертке 640х480 60 Гц стандартного VGA, но отображается экран Спектрума 256х192 плюс BORDER по краям. Данный режим должен работать на всех мониторах, но на разных мониторах могут быть разные пропорции центральной части экрана.

Второй режим - синкдаблер. В этом режиме частота кадров на мониторе соответствует частоте кадров со Cпектрума.

Приобрести конструктор этого и других устройств можно на www.zxkit.ru
При изготовлении прошивается прошивка V1.02. Вы можете попробовать другие прошивки. Их можно прошить с помощью китайского USB-BLASTERа.

Для CRT мониторов написана прошивка с частотой кадров 100 Гц.

Написана прошивка для подключения к компьютерам с другими частотами тактовых импульсов: расширенный режим Профи (12 МГц), Орион (10 МГц).
Для Специалист (8 МГц) .

...
-----------------------------------------------------------------------------------------------------------------------------
НАВИГАЦИЯ ПО ТЕМЕ И ДРУГИЕ ССЫЛКИ (последние дополнения/изменения - 190903)

(190903) Подключение к разным компьютерам/клонам:

Общие рекомендации - http://zx.pk.ru/showpost.php?p=232575&postcount=573
Желтый "SCORPION" - http://zx.pk.ru/showpost.php?p=214886&postcount=58
Зеленый "SCORPION" - http://zx.pk.ru/showpost.php?p=216534&postcount=117
"ZXM-Phoenix 1024"- http://zx.pk.ru/showpost.php?p=216534&postcount=117
"SPECCY2007" - http://zx.pk.ru/showpost.php?p=215147&postcount=107
"ZX-NEXT" - http://zx.pk.ru/showpost.php?p=217541&postcount=138
"Ленинград" -http://zx.pk.ru/showpost.php?p=244660&postcount=609
"Pentagon-128" - http://zx.pk.ru/showpost.php?p=222759&postcount=427
"Pentagon-48" - http://zx.pk.ru/showpost.php?p=227481&postcount=496
"Профи 5.2" - http://zx.pk.ru/showpost.php?p=262269&postcount=716
"Профи 4.2" - http://zx.pk.ru/showpost.php?p=329116&postcount=809
"Робик" - http://zx.pk.ru/showpost.php?p=264419&postcount=723
"ATM Turbo+" - http://zx.pk.ru/showpost.php?p=315359&postcount=783
"ATM Turbo 7.10" -http://zx.pk.ru/showpost.php?p=387046&postcount=979
"Pentagon 1024 SL 2.2" - http://zx.pk.ru/showpost.php?p=338040&postcount=855
"KAY-1024/SL-4/TURBO v2010" - http://zx.pk.ru/showpost.php?p=358382&postcount=754
"УКНЦ" - http://zx-pk.ru/threads/10548-zxkit1-plata-vga-amp-pal.html?p=881629&viewfull=1#post881629
"БК-0010" - http://zx.pk.ru/showpost.php?p=380943&postcount=36
"ORION-128" - http://zx.pk.ru/showpost.php?p=443347&postcount=354, https://zx-pk.ru/threads/10548-zxkit1-plata-vga-amp-pal.html?p=1153096&viewfull=1#post1153096
"СПЕКТР" - http://zx-pk.ru/threads/10548-zxkit1-plata-vga-amp-pal.html?p=946032&viewfull=1#post946032
"СЯБР" (клон "СПЕЦИАЛИСТа", ) - http://zx-pk.ru/threads/10548-zxkit1-plata-vga-amp-pal.html?p=951865&viewfull=1#post951865

(120826) Цоколевка ответной части (на разъеме есть цифра 1 там, где первый вывод):
1. GND
2. +5V
3. R
4. G
5. B
6. I
7. KSI
8. SSI
9. F14MHZ

(101106) Как припаять ответную часть к плате VGA&PAL: http://zx.pk.ru/showpost.php?p=328801&postcount=802

(100304) Отзывы о проекте:

http://zx.pk.ru/showpost.php?p=214865&postcount=51
http://zx.pk.ru/showpost.php?p=215937&postcount=359
http://zx.pk.ru/showpost.php?p=225453&postcount=460
http://zx.pk.ru/showpost.php?p=225779&postcount=475
http://zx.pk.ru/showpost.php?p=226685&postcount=486
http://zx.pk.ru/showpost.php?p=228354&postcount=508
http://zx.pk.ru/showpost.php?p=230542&postcount=558
http://zx.pk.ru/showpost.php?p=258902&postcount=684


(100924) Где приобрести:

www.zxkit.ru


(111207) Демонстрация работы:

"SPECCY2007" + LCD Acer V173 (игры и SPECCY2007 с платой VGA) - http://zx.pk.ru/showpost.php?p=214916&postcount=63
"SPECCY2007" + PAL-кодер+TV через вход Composite Video - http://zx.pk.ru/showpost.php?p=225423&postcount=175
"SPECCY2007" + широкоформатный LCD 22" BenQ E2200HDA (50 Гц) - http://zx.pk.ru/showpost.php?p=293546&postcount=766
"ZXM-Phoenix 1024" + LCD LG L1510S (меню 128, игра и круг) - http://zx.pk.ru/showpost.php?p=215941&postcount=363
"ZXM-Phoenix 1024" + CRT Samsung (100 Гц) - http://zx.pk.ru/showpost.php?p=230542&postcount=558
Желтый "SCORPION" + LCD Acer V173 (меню 128) - http://zx.pk.ru/showpost.php?p=214875&postcount=54
Зеленый "SCORPION" и "ZXM-Phoenix 1024" на CRT Samsung - http://zx.pk.ru/showpost.php?p=216764&postcount=132
"ZX-NEXT" + CRT Samsung - http://zx.pk.ru/showpost.php?p=217541&postcount=138
"Ленинград" (текст на BASIC) + CRT Samsung - http://zx.pk.ru/showpost.php?p=212730&postcount=122
"Ленинград" + PAL-кодер+TV-тюнер - http://zx.pk.ru/showpost.php?p=221114&postcount=166
"Ленинград" + CRT Samsung (собранная плата VGA&PAL и заставка к игре) - http://zx.pk.ru/showpost.php?p=213394&postcount=151
"Ленинград" + CRT Samsung (круг на 50 Гц) - http://zx.pk.ru/showpost.php?p=214961&postcount=76
"Ленинград" + широкоформатный LCD 22" BenQ E2200HDA (50 Гц)- http://zx.pk.ru/showpost.php?p=248690&postcount=615
"Робик" + LCD Flatron L1717S - http://zx.pk.ru/showpost.php?p=257627&postcount=670
"БК-0010"+ LCD - http://zx.pk.ru/showpost.php?p=380943&postcount=36
"ORION-128" - http://zx.pk.ru/showpost.php?p=443347&postcount=354


(090901) Отображение видеоэффектов и игр:

http://zx.pk.ru/showpost.php?p=215290&postcount=298
http://zx.pk.ru/showpost.php?p=214978&postcount=81
http://zx.pk.ru/showpost.php?p=215247&postcount=280



(091209) Способы крепления платы:

http://zx.pk.ru/showpost.php?p=230543&postcount=651
http://zx.pk.ru/showpost.php?p=215951&postcount=367


(090901) Геометрические искажения на мониторах LCD:

LG L1510S 60 Гц -http://zx.pk.ru/showpost.php?p=215941&postcount=363
Acer V173 - http://zx.pk.ru/showpost.php?p=215247&postcount=280
ACER http://zx.pk.ru/showpost.php?p=215946&postcount=365
Свойства конструкции: http://zx.pk.ru/showpost.php?p=215832&postcount=343


(110516) Прошивки ПЛИС: http://zx.pk.ru/showpost.php?p=213835&postcount=165

(090818) Фотографии собранной платы: http://zx.pk.ru/showpost.php?p=213394&postcount=151

Назначение платы: http://zx.pk.ru/showpost.php?p=211928&postcount=106

Входные сигналы и исходные данные проекта: http://zx.pk.ru/showpost.php?p=208575&postcount=13

Принцип работы: http://zx.pk.ru/showpost.php?p=208407&postcount=7

Временные диаграммы: http://zx.pk.ru/showpost.php?p=210004&postcount=70

(091019) Схема и текущие изменения в схеме: http://zx.pk.ru/showpost.php?p=212132&postcount=107

(090827) О совместимости с дополнительными режимами:

http://zx.pk.ru/showpost.php?p=212812&postcount=126
http://zx.pk.ru/showpost.php?p=213835&postcount=165

Фотография печатных плат: http://zx.pk.ru/showpost.php?p=217235&postcount=133

(090819) Список элементов для сборки: http://zx.pk.ru/showpost.php?p=213649&postcount=164

(091018) Монтажные схемы: http://zx.pk.ru/showpost.php?p=213287&postcount=148

(090826) Описание перемычек: http://zx.pk.ru/showpost.php?p=208702&postcount=21

(100118) О схеме программатора ПЛИС, программе для прошивки и порядке прошивки (Программирование м/с ПЛИС АLТЕRА в Pentagon1024SL2):
http://realddp.narod.ru/zx/p1024sl2/CPLD_programming.htm и
http://www.altera.ru/cgi-bin/go?35#i2 и
http://zx.pk.ru/showpost.php?p=212996&postcount=290
Ссылка на QUARTUS V9.0 -- https://zx-pk.ru/threads/10548-zxkit1-plata-vga-amp-pal.html?p=1011246&viewfull=1#post1011246
Настройка QUARTUS под LINUX -- https://zx-pk.ru/threads/10548-zxkit1-plata-vga-amp-pal.html?p=1011515&viewfull=1#post1011515
(08052019) Прошивка из под Linux https://zx-pk.ru/threads/10548-zxkit1-plata-vga-amp-pal.html?p=1011515&viewfull=1#post1011515
(100218) Какие номиналы резисторов? - http://zx.pk.ru/showpost.php?p=216928&postcount=124

(101208) Информация для изготовления программатора ByteBlaster MV - http://zx.pk.ru/showthread.php?t=12141

Настройки параллельного порта в биосе - Parallel Port Address [378], Parallel Port Mode [Normal], Parallel Port IRQ [IRQ7]

(091008) Тестовые прошивки: http://zx.pk.ru/showpost.php?p=224340&postcount=442
(110810) http://zx.pk.ru/showpost.php?p=212360&postcount=110

(090926) Cпособы пайки корпусов TQFP-100:

zst - http://zx.pk.ru/showpost.php?p=213088&postcount=146
ewgeny7 -http://zx.pk.ru/showpost.php?p=213095&postcount=147
Segfault - http://zx.pk.ru/showpost.php?p=214925&postcount=66

(101023) Совместимость платы VGA&PAL с мониторами
Да. На 60 Гц будут показывать большинство. На 50 Гц - как повезет.
Список работающих на 50 Гц мониторов есть на сайте NEDOPC: http://www.nedopc.com/zxevo/zxevo_supported_monitors.pdf
Программа для тестирования монитора: http://www.nedopc.com/zxevo/tools/zxevo_vga_test_20100221.rar

Возобновлен выпуск уменьшенной версии видеоконвертера RGBI-VGA (http://www.zx-kit.ru/katalog-1/zxkit-001).

Прошивки и способы подключени такие же как у VGA&PAL. Для уменьшения платы убраны лишние детали. Теперь нельзя подключить к телевизору, только к VGA монитору в режиме скандаблера 50 Hz и 60 Hz с одним видеобуфером.

Alex_NEMO
15.07.2009, 20:34
Требуется уточнить номиналы резисторов для правильного цветовоспроизведения на мониторе и телевизоре через SCART. На резисторы будут подаваться цифровые сигналы с размахом 3.3V.
Не совсем понял суть вопроса - если имеются в виду номиналы резисторов для получения ПЦТВ сигнала (R+G+B+Sinc(через диод)), то например, R - 1k, G - 499(510), B - 2k. (вложение)

zx-kit
15.07.2009, 23:37
Не совсем понял суть вопроса - если имеются в виду номиналы резисторов для получения ПЦТВ сигнала (R+G+B+Sinc(через диод)), то например, R - 1k, G - 499(510), B - 2k. (вложение)
В SPECCY2007 на каждый цвет для SCART по два резистора стоят. Но там микросхемы выдают размах до 5В. Мне нужно на 3.3В. Без диодов...

---------- Post added at 01:37 ---------- Previous post was at 01:30 ----------


Так, "атака концепций" началась или уже есть "железный" прообраз?

Речь об одном из модулей, который нужен мне для превращения Ленинграда в ZXKit.
Есть схема, разрабатывается плата. Требуется написание прошивки, отладка.

that inside
16.07.2009, 01:47
В SPECCY2007 на каждый цвет для SCART по два резистора стоят. Но там микросхемы выдают размах до 5В. Мне нужно на 3.3В. Без диодов...
гы а ты уверен в том што 3 вольта прокачают скарт?
и к томуже как мне кажется в очередной раз пытаются саму программу заставить стирать белье! или мне только это кажется?

zx-kit
16.07.2009, 07:21
Принцип работы удвоителя строк такой.

В ОЗУ создается два буфера с размером, достаточным для записи одной строки кодов цвета. В один пишутся коды цвета со Спектрума с частотой телевизора по фронтам тактовых импульсов частотой 7МГц. Из другого буфера считывается предыдущая строка по фронтам импульсов частотой 14МГц. За время одной строки телевизора выводится две строки на монитор. Когда одна строка обработана, буферы меняются местами.

Строчные и кадровые синхроимпульсы обнуляют счетчики адресов для записи и чтения в/из ОЗУ. Для режима 60 Гц кадровый синхроимпульс обнуляет только счетчик записи, счетчик чтения работает автономно.

Из сигналов счетчиков формируются также синхроимпульсы для VGA и PAL.

Для режима 60 Гц придется записывать в буфер целый кадр.

-----------------------------------------------------------------------------------------------------------------------------


гы а ты уверен в том што 3 вольта прокачают скарт?

На вход SCART и VGA сигнал должен подаваться с размахом 0.7В. На входе стоят резисторы по 75 Ом. Ток будет около 9 мА.

На вход PAL-кодера сигнал должен подаваться с размахом 1В. Выходное сопротивление схемы должно быть маленьким. Можно взять 100 Ом на землю.

Необходимо узнать, какого уровня должны быть сигналы RGB на разъеме VGA/SCART и на входах PAL-кодера при BRIGHT=0 и BRIGHT=1.

Также нужно уточнить амплитуды сигналов кадровой и строчной синхронизации на разъеме VGA/SCART для того, чтобы вместо кабеля на VGA монитор можно было подключать переходник на SCART. Режим должен переключаться перемычкой или тумблером. При этом вместо одного из синхроимпульсов VGA должна подаваться синхросмесь как на PAL - кодер. Вместо другого - сигнал перевода телевизора в режим RGB. Также нужно расчитать резисторы для этих сигналов. Пока поставил примерные значения.



и к томуже как мне кажется в очередной раз пытаются саму программу заставить стирать белье! или мне только это кажется?
Сигналы цвета и синхроимпульсы будет обрабатывать ПЛИС с помощью ОЗУ.

that inside
17.07.2009, 03:52
в твоем случае можно напрямую воткнуть сигналы цвета и синхры в SVGA монитор и увидеть картинку но истественно она будет немного не та ну дак для этого и надо мутить сигнал
а вот што канкретно со скартом и прочем ты хочеш я так и не понел
http://www.cvs.com.ru/tp/scart.htm
http://pinouts.ru/Video/VGA15.shtml

zx-kit
17.07.2009, 07:44
в твоем случае можно напрямую воткнуть сигналы цвета и синхры в SVGA монитор и увидеть картинку но истественно она будет немного не та ну дак для этого и надо мутить сигнал
а вот што канкретно со скартом и прочем ты хочеш я так и не понел
http://www.cvs.com.ru/tp/scart.htm
http://pinouts.ru/Video/VGA15.shtml

Можно конечно включить, посмотреть, по результатам поменять сопротивления и т.д. для моего экземпляра монитора/телевизора. Мне то нужно знать точное напряжение каждого канала цвета при обычной яркости и повышенной. Наверно это будет не максимальное значение (0.7 В). Можно конечно рассчитать, какие они в SPECCY2007, но тут появятся дополнительные ошибки...

Идея такая. Так как на VGA и SCART надо подавать сигналы RGB, входы у телевизора и монитора имеют одинаковое сопротивление (75 Ом) и максимальный размах у них одинаковый (0.7 В), то можно разъем VGA при необходимости использовать для подключения к SCART телевизора через переходник к стандартному шнуру SCART-SCART.

С сигналами цвета понятно - они одинаковые. На VGA нужно подавать раздельно строчные и кадровые синхроимпульсы. Входное сопротивление этих входов и размах я не знаю. Для SCART нужно подать синхросмесь из строчных и кадровых синхроимпульсов и сигнал включения телевизора в режим RGB. На последний нужно подать 1-3В. А размах синхросмеси я не знаю. Если получится совместить эти сигналы по уровням, то можно будет переключать на разъем VGA сигналы для монитора и телевизора с помощью тумблера. Но сначала надо согласовать это все по уровню...

Так, видеовход (20 выв. SCART) имеет размах 1 В и входное сопротивление 75 Ом. Тогда можно попробовать подать туда синхросмесь размахом 1 В. Будет ли работать монитор с такими синхроимпульсами? Хотя, если у него на входе сопротивление больше 75 Ом, то и сигнал будет больше, до 3.3 В.

Нужно знать точно значение напряжений RGB, синхроимпульсов и их входное сопротивление. Специалисты, подскажите...

Если все получится, то плату можно будет использовать как универсальный видеовыход со Спектрума...

ewgeny7, DDp, ...
Давайте вместе напишем прошивку для ПЛИС...

skyther
17.07.2009, 08:18
Про шину zxbus2 забыл что ли?

zx-kit
17.07.2009, 08:29
Про шину zxbus2 забыл что ли?

Работаю над изготовлением материнской платы с шиной ZX-BUS2. Рисунок платы привел в той теме. Материнскую плату с ZX-BUS2, наверно, можно будет использовать как разветвитель для шины ZX-BUS, если не хватает слотов. Там была концепция - здесь разработка железа...

Затем подключу к Ленинграду плату VGA & PAL, подпаяю Ленинград к материнской плате и т.д. Это есть реализация "ZXKit1 - конструктор для ZX-творчества".

Spir0
17.07.2009, 08:55
Вот есть дока по реализации VGA на ПЛИС в ZX Badaloc, есть примеры на ABEL и VHDL. Правда там чутка другой принцип, используется отдельная м/с для видеоОЗУ из которой данные и выводятся уже на VGA

12578

zx-kit
17.07.2009, 11:16
ИСХОДНЫЕ ДАННЫЕ.

Параметры экрана Спектрума.
1. Цвет точки кодируется четырьмя битами - R,G,B,I.
2. Длительность отображения точки на телевизоре - 1 / (7 МГц) ~ 143 нс.
3. В строке телевизора умещается 56 * 8 = 448 точек. Длительность строки - 64 мкс.
4. В кадре - 312/320 строк. Частота кадров - 50/48 Гц.

Входные сигналы:
1. GND - земля
2. +5V - питание
3. R - цифровой RED
4. G - цифровой GREEN
5. B - цифровой BLUE
6. I - цифровой BRIGHT
7. KSI — кадровые синхроимпульсы
8. SSI — строчные синхроимпульсы
9. F14MHz — тактовые импульсы частотой 14 МГц

Выходные разъемы:
1. DHR-15F - VGA / SCART
2. MDN-4J - S-VIDEO
3. тюльпан 103 1гн. - COMPOSITE VIDEO
Размеры платы: около 60х70 мм.

Входные сигналы ПЛИС (ТТЛ - уровень).
1. R - цифровой RED
2. G - цифровой GREEN
3. B - цифровой BLUE
4. I - цифровой BRIGHT
5. KSI - кадровые синхроимпульсы
6. SSI - строчные синхроимпульсы
7. F14MHz - тактовые импульсы частотой 14 МГц

Выходные сигналы ПЛИС для VGA (размах - 3.3 В).
1. R_VGA - цифровой RED
2. G_VGA - цифровой GREEN
3. B_VGA - цифровой BLUE
4. IR_VGA - цифровой BRIGHT для RED (состояния - 0/Z)
5. IG_VGA - цифровой BRIGHT для GREEN (состояния - 0/Z)
6. IB_VGA - цифровой BRIGHT для BLUE (состояния - 0/Z)
7. VSYNC_VGA - кадровые синхроимпульсы
8. HSYNC_VGA - строчные синхроимпульсы

Выходные сигналы ПЛИС для телевизора (размах - 3.3 В).
1. R_VIDEO - цифровой RED
2. G_ VIDEO - цифровой GREEN
3. B_ VIDEO - цифровой BLUE
4. IR_ VIDEO - цифровой BRIGHT для RED (состояния - 0/Z)
5. IG_ VIDEO - цифровой BRIGHT для GREEN (состояния - 0/Z)
6. IB_ VIDEO - цифровой BRIGHT для BLUE (состояния - 0/Z)
7. SYNC_VIDEO - синхросмесь кадровых и строчных синхромипульсов


ТРЕБУЕТСЯ ПОЛУЧИТЬ.

Сигналы для монитора VGA:
1. Цвет точки кодируется шестью битами - R,G,B,RI,GI,BI.
2. Длительность отображения точки на мониторе - 1 / (14 МГц) ~ 71 нс.
3. В строке монитора умещается 56 * 8 = 448 точек. Длительность строки - 32 мкс.
4. Строку повторять дважды.
5. В кадре режима 1 (исходная частота кадров 50/48 Гц) - 624/640 строк.
6. В кадре режима 2 (частота кадров 60 Гц) - 525 строк.
7. Полярность и длительность гасящих и синхроимпульсов как в режиме VGA 480x640 60Гц.

Сигналы для телевизора:
1. Цвет точки кодируется шестью битами - R,G,B,RI,GI,BI.
2. Длительность отображения точки на телевизоре - 1 / (7 МГц) ~ 143 нс.
3. В строке телевизора умещается 56 * 8 = 448 точек. Длительность строки - 64 мкс.
4. В кадре - 312/320 строк. Частота кадров - 50/48 Гц.
5. Параметры синхроимпульсов — максимально приблизить к параметрам PAL.

Дополнительные возможности.
1. Возможность инверсии всех входных сигналов в соответствии с положением перемычек / тумблеров.
2. Возможность подачи вместо сигналов на VGA сигналов, аналогичных сигналам для телевизора (вместо HSYNC_VGA подать SYNC_VIDEO, вместо VSYNC_VGA подать логическую единицу).
3. ...

zx-kit
17.07.2009, 13:27
Коды цвета RGBI со Спектрума будем записывать в ОЗУ. Для вывода на VGA будем считывать данные из ОЗУ.

Для адресации 448 точек в строке нужно 9 бит адреса ОЗУ: A0...A8 ОЗУ.
Нужно подать частоту F14MHz на счетчик с выходами H0...H8.
Счетчик будем сбрасывать по спаду (при переходе из 1 в 0) входного строчного синхроимпульса.

На ОЗУ адрес точек надо подавать через мультиплексор.
При записи кодов цвета подавать сигналы H0...H8, а при чтении - F14MHz, H0...H7.

Для адресации 312/320 строк нужно 9 бит адреса ОЗУ: A9...A17 ОЗУ.
Нужно подать входные строчные синхроимпульсы на два счетчика с выходами VIN0...VIN8 и VOUT0..VOUT8.

Счетчик VIN будем сбрасывать по спаду входного кадрового синхроимпульса.
Счетчик VOUT сбрасывать не будем, он будет считать автономно от N+0 до N+261/262.
N строк после синхроимпульса изображать не будем, чтобы из частоты 50/48 Гц получить 60.
N нужно уточнить, чтобы изображение было симметрично по-вертикали. Зависит от числа строк в кадре - 312 или 320.

На ОЗУ адрес строк надо подавать через мультиплексор.
При записи кодов цвета подавать сигналы VIN0...VIN8. При чтении - в зависимости от режима.
В режиме 1 (частота кадров 50/48 Гц) подавать адрес VIN0...VIN8, уменьшенный на единицу.
В режиме 2 (частота кадров 60 Гц) - VOUT0..VOUT8.

UncleDim
17.07.2009, 16:41
При записи кодов цвета подавать сигналы H0...H8, а при чтении - F14MHz, H0...H7.


1. Пережуйте-ка тщательнее всё, что написали про строчную часть. В том виде, как есть - вообще непонятно как работать будет. Хотя бы например процитированное - 8 разрядов адреса при чтении - 256 точек? А остальные 192?

2. При пиксельном клоке 14МГц и 525 строках изображение спектрумовского экрана заметно растянется по вертикали, а на мониторе с соотношением сторон 5:4 (типовая семнашка 1280х1024) - так и вовсе станет квадратным, по хорошему при 60Гц надо снижать частоту вывода пикселей.

zx-kit
17.07.2009, 17:22
При записи кодов цвета подавать сигналы H0...H8, а при чтении - F14MHz, H0...H7.

1. Пережуйте-ка тщательнее всё, что написали про строчную часть. В том виде, как есть - вообще непонятно как работать будет. Хотя бы например процитированное - 8 разрядов адреса при чтении - 256 точек? А остальные 192?

За время отображения строки на телевизор надо вывести две одинаковые строки на монитор. Для этого адреса при чтении должны сменяться в два раза чаще, чем при записи. При чтении тоже 9 битов адреса. Частота младшего адреса при чтении F14MHz в два раза больше частоты младшего адреса при записи H0, которая 7 MHz.



2. При пиксельном клоке 14МГц и 525 строках изображение спектрумовского экрана заметно растянется по вертикали, а на мониторе с соотношением сторон 5:4 (типовая семнашка 1280х1024) - так и вовсе станет квадратным, по хорошему при 60Гц надо снижать частоту вывода пикселей.

Посчитаем
Видимая часть экрана VGA:
для 50 Гц составит 448-53=339 на 312/320 - 1 = 311/319 точек
для 60 Гц составит 448-53=339 на 523/2=261.5 точки

У меня 17" имеет размер 32 х 24 см формат 4:3
По-горизонтали 339/32 = 10.59
По-вертикали:
Для 50 Гц (312 строк) 311/24 = 12.96 12,96/10,59=1.22
Для 50 Гц (320 строк) 319/24 = 13.29 13,29/10,59=1.25
Для 60 Гц 261.5/24 = 10,9 10,9/10,59 =1.03

Посчитаем для другого монитора
19" Samsung 933SN (LS19CMYKF(Z)) TFT формат 16:9 частота кадров 50-75 Гц.
По-горизонтали 339/16 = 21.19
По-вертикали:
Для 50 Гц (312 строк) 311/9 = 34.56 34.56/21.19=1.63
Для 50 Гц (320 строк) 319/9 = 35.44 35.44/21.19=1.67
Для 60 Гц 261.5/9 = 29.05 29.05/21.19 = 1.37

Расчеты не очень точные и без учета гасящих импульсов. Ниже более точный расчет.

У кого Спектрум подключен к монитору, измерьте, пожалуйста, размер монитора и картинки Спектрума 256х192 точки. Укажите также частоту строк, кадров и способ подключения к монитору...

UncleDim
17.07.2009, 20:06
При чтении тоже 9 битов адреса. Частота младшего адреса при чтении F14MHz в два раза больше частоты младшего адреса при записи H0, которая 7 MHz.

223, 224, 255, 256
Посчитайте, откуда при этих значениях счетчика будут считываться данные для VGA.

---------- Post added at 20:06 ---------- Previous post was at 19:23 ----------



Видимая часть экрана VGA:
для 50 Гц составит 448-53=339 на 312/320 - 1 = 311/319 точек
для 60 Гц составит 448-53=339 на 523/2=261.5 точки

Эка вы кадр целиком засунули..
Да и 448-53=395 вообще-то:) Впрочем это не очень важно, у монитора свои понятия о видимой области.
На самом деле видимых строк будет 300 и 240 соответственно, а видимых точек в строке - где-то в районе 360..380.

zx-kit
17.07.2009, 21:49
Эка вы кадр целиком засунули..
Да и 448-53=395 вообще-то:) Впрочем это не очень важно, у монитора свои понятия о видимой области.
На самом деле видимых строк будет 300 и 240 соответственно, а видимых точек в строке - где-то в районе 360..380.

Посчитаем
Видимая часть экрана VGA:
для 50 Гц составит 448-80=368 на (320*2-28)/2 = 306 точек
для 60 Гц составит 448-80=368 на (525-45)/2 = 240 точек

У меня 17" имеет размер 32 х 24 см формат 4:3
По-горизонтали 368/32 = 11,5
По-вертикали:
Для 50 Гц (320 строк) 306/24 = 12,75 12,75/11,5 = 1.11
Для 60 Гц 240/24 = 10,0 10,0/11,5 = 0,87

Посчитаем для другого монитора
19" Samsung 933SN (LS19CMYKF(Z)) TFT формат 16:9 частота кадров 50-75 Гц.
По-горизонтали 368/16 = 23
По-вертикали:
Для 50 Гц (320 строк) 306/9 = 34 34/23=1.48
Для 60 Гц 240/9 = 26,67 26,67/23 = 1.16

Выводы: Наименьшие искажения для мониторов с форматом 4:3 при 50 Гц,
для мониторов с форматом 16:9 при 60 Гц.
Но это теория - надо смотреть. Может немного поможет регулировка размера на мониторе.

У кого Спектрум подключен к монитору, измерьте, пожалуйста, размер монитора и картинки Спектрума 256х192 точки. Укажите также частоту строк, кадров и способ подключения к монитору...

---------- Post added at 23:49 ---------- Previous post was at 23:22 ----------


223, 224, 255, 256
Посчитайте, откуда при этих значениях счетчика будут считываться данные для VGA.[COLOR="Silver"]


Спасибо, заметил неточность. Исправил про адресацию точек в строке:

Для адресации 448 точек в строке нужно 9 бит адреса ОЗУ: A0...A8 ОЗУ.
Нужно подать частоту F14MHz на два счетчика с выходами HIN0...HIN8 и HOUT0...HOUT7. Счетчик HOUT должен считать от 0 до 223. Счетчики будем сбрасывать по спаду (при переходе из 1 в 0) входного строчного синхроимпульса.

На ОЗУ адрес точек надо подавать через мультиплексор.
При записи кодов цвета подавать сигналы HIN0...HIN8, а при чтении - F14MHz, HOUT0..HOUT7.

UncleDim
17.07.2009, 22:23
Я вот не понимаю, планируется хватать из строки только 256 точек которые соответствуют активной области спектрумовского экрана (без бордюра) ?

Конечно же нет, строка хавается целиком, все 64мкс.

zx-kit
18.07.2009, 11:13
Для выбора режима работы используется семь входов ПЛИС, которые подтянуты резисторами 10 кОм к +5 В. Каждый вход можно соединить с землей с помощью перемычки:

Перемычки для выбора режима:

JP1. INVERSE_RBGI - инверсия кода цвета: ON - инвертировать, OFF - нет.

JP2. INVERSE_KSI - инверсия кадровых синхроимпульсов: ON - инвертировать, OFF - нет.

JP3. INVERSE_SSI - инверсия строчных синхроимпульсов: ON - инвертировать, OFF - нет.

JP4. INVERSE_F14MHZ - инверсия тактовых импульсов : ON - инвертировать, OFF - нет.

JP5. VGA_SCART - выбор сигнала на разъеме VGA: ON - для SCART, OFF - для VGA (в некоторых прошивках не используется).

JP6. SET_FK_IN - не используется.

JP7. SET_FK_OUT- установка выходной частоты кадров: ON - 50/48Гц, OFF - 60 Гц ( для прошивки V3.01 - 100 Гц).

http://s57.radikal.ru/i156/1004/09/1e291ca5801ct.jpg (http://radikal.ru/F/s57.radikal.ru/i156/1004/09/1e291ca5801c.jpg)

Инверсия входных сигналов.

Чтобы было не важно, какая фаза или полярность входного сигнала, предусмотрена инверсия входных сигналов. Инверсия соответствующего сигнала выбирается перемычками 1- 4. В ПЛИС инверсию можно реализовать на элементах исключающее или. Если понадобится, добавить инверторы. После данной обработки сигналы получают названия R_IN, G_IN, B_IN, I_IN, KSI_IN, SSI_IN, F14.
В предыдущем описании алгоритма работы с ОЗУ использовать эти полученные сигналы. Например, где написано F14MHz применять новый сигнал F14 .

Синхронизация проинвертированных сигналов.

Далее сигналы цвета, кадровые и строчные синхроимпульсы нормальной полярности подаются на регистр, который записывает сигналы со входа на выход по спаду сигнала F14 (при переходе из 1 в 0).

Формирование сигналов сброса для счетчиков.

Для получения сигнала сброса для счетчиков точек в строке нужно сигнал SSI_IN задержать на пол-периода тактовых импульсов с помощью регистра, который записывает сигналы со входа на выход по фронту сигнала F14 (при переходе из 0 в 1). Получим сигнал SSI_IN2. Далее сделать схему, которая формирует сигнал сброса RES_H. Сигнал должен быть активным, т.е. равен нулю, тогда, когда SSI_IN=0 и SSI_IN2=1.

Для получения сигнала сброса для счетчиков строк нужно сигнал KSI_IN задержать на пол-периода тактовых импульсов с помощью регистра, который записывает сигналы со входа на выход по фронту сигнала F14 (при переходе из 0 в 1). Получим сигнал KSI_IN2. Далее сделать схему, которая формирует сигнал сброса RES_V. Сигнал должен быть активным, т.е. равен нулю, тогда, когда KSI_IN=0 и KSI_IN2=1.

UncleDim
18.07.2009, 11:49
Формирование сигналов сброса для счетчиков.

IMHO ерундой занимаетесь уже. Зачем детализировать до последнего элемента? Пусть компилятор детализирует..

zx-kit
18.07.2009, 12:12
IMHO ерундой занимаетесь уже. Зачем детализировать до последнего элемента? Пусть компилятор детализирует..

А как на VHDL сказать компилятору, чтобы он сбросил счетчик по спаду синхроимпульса?

Да и кодировать пока рано - надо сначала разработать алгоритм...

---------- Post added at 14:12 ---------- Previous post was at 13:54 ----------

На плате установлена микросхема памяти K6R4016V1D. Объем 256К х 16 бит. Время доступа 10 нс.

Сигналы с ПЛИС на ОЗУ.

Шина адреса - A17...A0.
Шина данных - D15...D0.
Шина управления - OE, WE, UB, LB. Вход CS ОЗУ подключен к земле.

Требуется.

Стоит задача написать алгорит управления памятью. Проблема в том, что максимальная частота в ПЛИС равна 14 МГц. За период этой частоты надо успеть записать данные в ОЗУ и прочитать для вывода на VGA. Для решения этой проблемы нужно объединять данные кодов цвета при записи и чтении по 8 или 16 бит...

Какие будут соображения по этому поводу?

UncleDim
18.07.2009, 12:30
А как на VHDL сказать компилятору, чтобы он сбросил счетчик по спаду синхроимпульса?


Ну вот для примера
по спаду Hsync сбрасываем, по фронту Clk14 увеличиваем Hcnt:


process (Hsync, Clk14)
begin
if Hsync'event and Hsync = '0' then Hcnt <= (OTHERS => '0'); end if;
if Clk14'event and Clk14 = '1' then Hcnt <= Hcnt + 1; end if;
end process;

zx-kit
18.07.2009, 12:40
Ну вот для примера
по спаду Hsync сбрасываем, по фронту Clk14 увеличиваем Hcnt:


process (Hsync, Clk14)
begin
if Hsync'event and Hsync = '0' then Hcnt <= (OTHERS => '0'); end if;
if Clk14'event and Clk14 = '1' then Hcnt <= Hcnt + 1; end if;
end process;

Красиво!

skyther
18.07.2009, 12:43
максимальная частота в ПЛИС равна 14 МГц
УЖЕ такой кварц стоит? В случае коцебции можно и поболшьек поставить, в чем проблема?

zx-kit
18.07.2009, 12:52
УЖЕ такой кварц стоит? В случае коцебции можно и поболшьек поставить, в чем проблема?

Кварца нет. Подаются тактовые импульсы 14 МГц со спека. Возможна инверсия внутри ПЛИС.

skyther
18.07.2009, 13:10
PLL для этих целей есть

zx-kit
18.07.2009, 13:18
PLL для этих целей есть

А по-подробнее?..

Mick
18.07.2009, 15:01
Конечно же нет, строка хавается целиком, все 64мкс.

Я блин уже эту идею предлагал в этой ветке.
Для простоты иметь нужно два буфера на одну строку. Одну строку выводим с частотой для VGA монитора, а второй записываем с частотой Спектрума. Пока заполняется один, VGA буфер отобразится два раза. Тем самым не будет сплющенности экрана. Синхронизировать переключение буферов по строчке Спектрума.

А вообще для машин с ZXBUS можно вообще отдельную карту сделать.
Суть проста. При записи в экран Спектрума (4000h или С000h) карточка тоже производит запись в свою память(работает только на запись). Спек даже не будет знать что вывод на VGA идет не из его памяти. Конечно придется запихать еще на карту порт FE(3 бита) для бордера и 7FFD(1 бит) для второго экрана. Я прикидывал - 31 микросхема. 30 из них запихиваются в ПЛИС + 1 микруха статической памяти. :)

zx-kit
18.07.2009, 18:47
Я блин уже эту идею предлагал в этой ветке.
Для простоты иметь нужно два буфера на одну строку. Одну строку выводим с частотой для VGA монитора, а второй записываем с частотой Спектрума. Пока заполняется один, VGA буфер отобразится два раза. Тем самым не будет сплющенности экрана. Синхронизировать переключение буферов по строчке Спектрума.

Дак тут вроде других вариантов простых не придумать. Когда начали разбираться, оказалось, что пропорции не такие уж идеальные получатся.
Зря, наверное, мечтали о VGA на 50 Гц. Телевизор не заменить...
Мои идеи похожи и на твою, и на CHRV, и на Black_Catа. Может идеи правильные, раз они повторяются?
Вроде ты подключал уже схему к VGA монитору. Давай прошивку писать...



А вообще для машин с ZXBUS можно вообще отдельную карту сделать.
Суть проста. При записи в экран Спектрума (4000h или С000h) карточка тоже производит запись в свою память(работает только на запись). Спек даже не будет знать что вывод на VGA идет не из его памяти. Конечно придется запихать еще на карту порт FE(3 бита) для бордера и 7FFD(1 бит) для второго экрана. Я прикидывал - 31 микросхема. 30 из них запихиваются в ПЛИС + 1 микруха статической памяти. :)
При таком способе нужно еще как-то синхронизироваться со строчными и кадровыми импульсами стандартного видеоконтроллера. А это дополнительные провода.

skyther
18.07.2009, 20:41
синхронизироваться со строчными и кадровыми импульсами стандартного видеоконтроллера
зачем?

Mick
18.07.2009, 20:56
При таком способе нужно еще как-то синхронизироваться со строчными и кадровыми импульсами стандартного видеоконтроллера. А это дополнительные провода.

Ничего подобного. На той плате свой синхрогенератор. Там только один будет ньюанс - это синхронизация процесса записи. Но и это решается без всяких лишних проводов.

---------- Post added at 20:56 ---------- Previous post was at 20:54 ----------



Вроде ты подключал уже схему к VGA монитору. Давай прошивку писать...


Ты понял там как я подключал. То был простой опыт по юзанию видеоконтроллера MC6845. Ну и VGA тоже попробовал - работает.

UncleDim
18.07.2009, 21:02
При таком способе нужно еще как-то синхронизироваться со строчными и кадровыми импульсами стандартного видеоконтроллера.
Не всегда это нужно (только для бордюрных/мультиколорных эффектов), а где нужно - можно попробовать привязаться к циклу подтверждения прерывания (чиса теоретизирую, устриц пока не ел:)

zx-kit
18.07.2009, 21:56
Ты понял там как я подключал. То был простой опыт по юзанию видеоконтроллера MC6845. Ну и VGA тоже попробовал - работает.

Я понял только, что ты проверил и доказал, что на монитор можно выводить картинку со Спектрума. А какая там была железка - это не важно, ведь главное, что ты смог сформировать нужные сигналы...

---------- Post added at 23:53 ---------- Previous post was at 23:44 ----------


Не всегда это нужно (только для бордюрных/мультиколорных эффектов)
Мы ведь хотим их оставить...



а где нужно - можно попробовать привязаться к циклу подтверждения прерывания (чиса теоретизирую, устриц пока не ел:)
Ну да, можно и по INT примерно синхронизироваться...

---------- Post added at 23:56 ---------- Previous post was at 23:53 ----------

По моей схеме уже появился список требований к входным сигналам, чтобы правильно работала:

1. Частота кварца в Спектруме ровно 14.0 МГц.
2. Раздельные кадровые и строчные синхроимпульсы.
3. По одному строчному синхроимпульсу на строку.
4. По одному кадровому синхроимпульсу на кадр.
5. В строке 448 точек (длительность строки ровно 64 мкс).
6. В кадре 312 или 320 строк.

Для режима 60 Гц пункты 1, 5 и 6 вроде можно как-то обойти.
Пока все. Какие компьютеры подходят по этим критериям?
Современные, наверное, нет. SPECCY2007 не проходит по 2 и 3 пунктам...

UncleDim
18.07.2009, 22:38
SPECCY2007 не проходит по 2 и 3 пунктам...

Как раз для этого клона всё исправимо перепрошивкой:)

zx-kit
18.07.2009, 22:58
google.com

Я вот думаю все же попробовать использовать всю ширину шины данных - 16 бит. Взять диаграммы памяти, разрисовать по клеточкам, чтобы два периода синхроимпульсов 14 МГц записывались в память сразу 4 точки, следующие два периода - читались сразу 4 точки. А на входах/выходат эти точки слеплять/разлеплять c помощью регистров и мультиплексоров...

---------- Post added at 00:58 ---------- Previous post was at 00:57 ----------


Как раз для этого клона всё исправимо перепрошивкой:)
Там только один синхрсигнал. Конечно, он идеален для доработок под требования...

Ewgeny7
19.07.2009, 13:26
Там только один синхрсигнал. Конечно, он идеален для доработок под требования...
Там ДВА синхросигнала. Они смешиваются внутри ПЛИС. И нет больших проблем вывести их наружу. Например, переделав сигнал BRIGHT и освободив две ноги ПЛИС можно вывести синхру на них.

skyther
19.07.2009, 13:57
zst, купи у меня сп2007, квакус в комплекте дам ;) Перепишешь паршивку под вга.

UncleDim
19.07.2009, 16:54
Там ДВА синхросигнала. Они смешиваются внутри ПЛИС. И нет больших проблем вывести их наружу.

Вообще-то нет больших проблем и просто при работе с синхросмесью:)

zx-kit
19.07.2009, 18:05
Там ДВА синхросигнала. Они смешиваются внутри ПЛИС. И нет больших проблем вывести их наружу. Например, переделав сигнал BRIGHT и освободив две ноги ПЛИС можно вывести синхру на них.
Там даже три вида строчных синхроимпульсов и ни одного кадрового.
Просто там раздельные ну нужны. Но переделать, конечно, не трудно.

---------- Post added at 20:04 ---------- Previous post was at 20:03 ----------


Вообще-то нет больших проблем и просто при работе с синхросмесью:)
А как сбрасывать счетчики?

---------- Post added at 20:05 ---------- Previous post was at 20:04 ----------


zst, купи у меня сп2007, квакус в комплекте дам ;) Перепишешь паршивку под вга.

Я себе уже делаю многоплатный на основе Ленинграда с загрузчиком от SPECCY2007.

UncleDim
19.07.2009, 20:30
А как сбрасывать счетчики?
Горизонтальный -по перепаду (любому) синхросигнала, с временнЫм окном.
Вертикальный - выборкой сигнала синхросмеси в активной области строки.

zx-kit
20.07.2009, 07:12
Горизонтальный -по перепаду (любому) синхросигнала, с временнЫм окном.
Вертикальный - выборкой сигнала синхросмеси в активной области строки.
В SPECCY три вида строчных синхроимпульсов:
1. Обычные строчные синхроимпульсы. Один импульс на строку. Полярность - отрицательная. Длительность - 32 точки.
2. Уравнивающие перед и после кадрового синхроимпульса. Два импульса на строку. Полярность - отрицательная. Длительность 16 точек.
3. Врезки во время кадрового импульса. Два импульса на строку. Полярность - положительная. Длительность 32 точки.

Самое хорошее - что один из двух импульсов в последовательностях 2 и 3 имеет спад (из 1 в 0) в одно и тоже время относительно изображения, что и у последовательности 1.

Это можно использовать для выделения строчных синхроимпульсов из синхросмеси.

В Ленинграде и Пентагоне синхросмесь получается по исключающему или. Там нет такой синхронности спадов.

И все это сложно делать. Надо для начала с циклами записи/чтения ОЗУ разобраться...

skyther
20.07.2009, 12:48
уже делаю многоплатный на основе Ленинграда с загрузчиком от SPECCY2007
фоки встудию! )

zx-kit
20.07.2009, 12:53
фоки встудию! )

Как и писал, подключу Ленинград в один из слотов, затем Z80 вытащу из Ленинграда и подключу через второй слот, затем ПЗУ вытащу из Ленинграда и подключу через третий слот. А чтобы увидеть работу Ленинграда сначала сделаю плату VGA & PAL и материнскую плату с ZX-BUS2.

skyther
20.07.2009, 15:02
подключу Ленинград в один из слотов, затем Z80 вытащу из Ленинграда и подключу через второй слот, затем ПЗУ вытащу из Ленинграда и подключу через третий слот
кащей нервно курит в стороне...

zx-kit
20.07.2009, 17:01
кащей нервно курит в стороне...

Если кому-то кажется, что такая перестановка ничего не даст, поясню.

В Ленинграде сигнал IORQ с Z80 поступает на схемы дешифрации портов ввода-вывода. В ZXKit1 IORQ с Z80 будет подаваться на дополнительный контакт разъема ZX-BUS2. На материнской плате разведена схема блокировки портов в зависимости от номера слота (от 1 до 10), по аналогии со схемой в KAY.

Так как в схеме Ленинграда дешифрация портов упрощенная, он будет подключаться через плату-переходник в слот с самым низким приоритетом (номер 10). Теперь можно будет подключать готовые платы для ZX-BUS или собственные для ZX-BUS / ZX-BUS2.

Если нужно перешить содержимое ПЗУ, то лучше поставить флэш. Так как в корпусе DIP трудно найти, придется сделать переходник в панельку DIP.
http://zx.pk.ru/showthread.php?t=10196
А можно переходник сделать в виде платы с ножевым разъемом под слот.

DDp
20.07.2009, 18:48
В SPECCY три вида строчных синхроимпульсов:
Осциллограммы в студию )
Вместе с фотками SPECCY (модель/производитель?)

zx-kit
20.07.2009, 20:25
Осциллограммы в студию )
Вместе с фотками SPECCY (модель/производитель?)

Предыдущий разговор был про синхроимпульсы SPECCY2007.
Есть диаграммы, которые построены на основе разбора прошивки ПЛИС.
Прошивка от syd в файле speccy2007_v106r3_(128+AY+trdos)_src.7z
Вот фрагмент прошивки.


...
hsync <= '0' when Hor_Cnt(5 downto 2) = "1010" else '1';
vsync1 <= '0' when Hor_Cnt(5 downto 1) = "00110" or Hor_Cnt(5 downto 1) = "10100" else '1';
vsync2 <= '1' when Hor_Cnt(5 downto 2) = "0010" or Hor_Cnt(5 downto 2) = "1001" else '0';
...

if ChrC_Cnt = 7 then

if not ( Ver_Cnt = 31 ) then
SYNC <= hsync;
elsif ChrR_Cnt = 3 or ChrR_Cnt = 4 or ( ChrR_Cnt = 5 and ( Hor_Cnt >= 40 or Hor_Cnt < 12 ) ) then
SYNC <= vsync2;
else
SYNC <= vsync1;
end if;

end if;
...

DDp
20.07.2009, 22:43
Предыдущий разговор был про синхроимпульсы SPECCY2007.
Спасибо, понятно.
(я было подумал в "средние века" такую синхру "у них" делали)

zx-kit
22.07.2009, 14:00
Спасибо, понятно.
(я было подумал в "средние века" такую синхру "у них" делали)

Читал про аппаратный скроллинг для Пентагона.
Давай, когда закончим с платой VGA & PAL, откроем тему для разработки внешнего видеоконтроллера для шины ZX-BUS / ZX-BUS2.

Железо предлагаю использовать то же, что на плате VGA & PAL:
ПЛИС - EPM3128ATC100-10,
ОЗУ - K6R4016V1D-TI10,
тактовая частота - 14 МГц, подается со Спектрума.

Там будет больше простора для твоих экспериментов...

Я начал кодировать...

balu_dark
22.07.2009, 18:08
Я начал кодировать...

там у тебя помоему ошибка - ты выхода как in задал а надо вроде как out....

zx-kit
22.07.2009, 20:00
там у тебя помоему ошибка - ты выхода как in задал а надо вроде как out....

Спасибо, это я не исправил после множественного копирования.

Исправил. Количество предупреждений увеличилось с 60 до 80.
Количество используемых макроячеек увеличилось с 35 до 53.

Вывод: на каждый выход тратится одна макроячейка.

---------- Post added at 22:00 ---------- Previous post was at 20:20 ----------

ДАВАЙТЕ УТОЧНИМ ДЛИТЕЛЬНОСТЬ СИНХРОИМПУЛЬСОВ

Строчные импульсы VIDEO в периодах 14 МГц.
Гасящящий до строчного синхроимпульса - 21 период = 1.50 мкс
Строчный синхроимпульс - 66 периодов = 4.71 мкс
Гасящящий после строчного синхроимпульса - 81 период = 5.79 мкс

Строчные импульсы VGA в периодах 14 МГц.
Гасящящий до строчного синхроимпульса - 52 периода = 3.79 мкс
Строчный синхроимпульс - 5 периодов = 0.36 мкс
Гасящящий после строчного синхроимпульса - 22 периода = 1.57 мкс

Кадровые импульсы VIDEO в строках VIDEO.
Гасящящий до кадрового синхроимпульса - 4 строки = 256 мкс
Кадровый синхроимпульс - 4 строки = 256 мкс
Гасящящий после кадрового синхроимпульса - 10 строк = 640 мкс

Кадровые импульсы VGA в строках VGA.
Гасящящий до кадрового синхроимпульса - 2 строки = 64 мкс
Кадровый синхроимпульс - 8 строк = 256 мкс
Гасящящий после кадрового синхроимпульса - 18 строк = 576 мкс

UncleDim
23.07.2009, 08:03
Строчные импульсы VGA в периодах 14 МГц.
Строчный синхроимпульс - 5 периодов = 0.36 мкс
Кадровые импульсы VGA в строках VGA.
Кадровый синхроимпульс - 8 строк = 256 мкс


Вот это вот откуда взяли? Работать наверное будет, но как-то это не по-вгашному:)
http://www.epanorama.net/documents/pc/vga_timing.html

zx-kit
23.07.2009, 08:25
Вот это вот откуда взяли? Работать наверное будет, но как-то это не по-вгашному:)
http://www.epanorama.net/documents/pc/vga_timing.html
оттуда же...
Расчет в периодах 25.175 МHz:
front porch 8 периодов = 0,32 мкс
horisontal sync 96 периодов = 3,81 мкс
back porch 40 периодов = 1.59 мкс

Все ясно: при переписывании из черновика перепутал местами строки. И в расчеты гасящих импульсов нужно добавить border.

zx-kit
23.07.2009, 20:16
Строчные импульсы VGA в периодах 14 МГц.
Гасящящий до строчного синхроимпульса - 9 периодов = 0.64 мкс
Строчный синхроимпульс - 53 периода = 3.79 мкс
Гасящящий после строчного синхроимпульса - 27 периодов = 1.93 мкс

Кадровые импульсы VGA в строках VGA.
Гасящящий до кадрового синхроимпульса - 10 строк = 320 мкс
Кадровый синхроимпульс - 2 строки = 64 мкс
Гасящящий после кадрового синхроимпульса - 33 строки = 1056 мкс

zx-kit
24.07.2009, 13:19
Для адресации 448 точек в строке нужно 9 бит адреса. Но мы будем записывать/считывать в/из ОЗУ сразу по две точки. Поэтому, для адресации точек в строке достаточно 8 бит: A7...A0.

Нужно подать нормализованные тактовые импульсы F14 на два счетчика с выходами VIDEO_H9...VIDEO_H0 и VGA_H8...VGA_H0. Счетчики будут увеличивать значения по спаду (при переходе из 1 в 0) тактовых импульсов F14. Счетчик VGA_H должен считать от 0 до 223. Оба счетчика будем сбрасывать по спаду (при переходе из 1 в 0) нормализованного строчного синхроимпульса SSI.

На ОЗУ адрес точек надо подавать через мультиплексор.
При записи кодов цвета подавать сигналы VIDEO_H9...VIDEO_H2, а при чтении - VGA_H8..VGA_H1.

UncleDim
24.07.2009, 13:49
Но мы будем записывать/считывать в/из ОЗУ сразу по две точки.

По четыре-то проще, ы?

zx-kit
24.07.2009, 13:59
По четыре-то проще, ы?
По две проще. Один регистр на четыре бита для промежуточного хранения на входе и один мультиплексор/регистр на выходе.
А если по четыре - три разных регистра по четыре бита на входе и формирование сигналов для записи в них.

Когда закончим с прошивкой надо бы ее оттестировать для разных режимов. Как это сделать в QUARTUS II V9.0 WEB EDITION?

ZEK
24.07.2009, 16:17
Как это сделать в QUARTUS II V9.0 WEB EDITION?
Писать testbench

zx-kit
24.07.2009, 18:22
Строчные импульсы VIDEO в периодах 14 МГц.
Гасящящий до строчного синхроимпульса - 21 период = 1.50 мкс
Строчный синхроимпульс VIDEO_SSI1 - 66 периодов = 4.71 мкс
Гасящящий после строчного синхроимпульса - 81 период = 5.79 мкс

Кадровые импульсы VIDEO в периодах строчных синхроимпульсов разного типа.
Гасящящий до кадрового синхроимпульса - 6 периодов VIDEO_SSI2
Кадровый синхроимпульс - 5 периодов VIDEO_SSI3
Гасящящий после кадрового синхроимпульса - 5 периодов VIDEO_SSI2
Остальное время - синхроимпульсы типа VIDEO_SSI1.

UncleDim
24.07.2009, 20:52
По две проще.
Схемотехнически - да, а при описании на *hdl - особой разницы не вижу.
К тому же, при 8битном доступе вряд ли получится прокачать "расширенные" режимы АТМ/Профи/etc...

zx-kit
25.07.2009, 09:52
Схемотехнически - да, а при описании на *hdl - особой разницы не вижу.
К тому же, при 8битном доступе вряд ли получится прокачать "расширенные" режимы АТМ/Профи/etc...
А это надо? Это же нестандартные режимы. Владельцы этих компьютеров, которым нужны эти режимы, могут переделать прошивку, если это возможно сделать.

Пока так сделаю, потом буду добавлять смешанный синхросигнал и т.д.

UncleDim
25.07.2009, 13:27
А это надо?
Сегмент рынка, решать вам..

Наваял прошивку для DE1, работа от синхросмеси, глючит, но дышит. Подозрение, что тактовую частоту надо очень аккуратно согласовывать. 50/60 Гц работает (переключатель SW3), экран при 60 получается почти квадратный:)

Критика будет, не возражаю, сам знаю - много огрехов, ибо "первый опыт" плюс "в процессе разработки"
Много "лишних" пинов - не стоит обращать внимания, специфика платы.

Если поможет - буду рад. Если запутает - ну извинити:)
(чёрт, весь проект не влез, приаттачил только исходник)

Ewgeny7
25.07.2009, 14:09
Если поможет - буду рад. Если запутает - ну извинити
Хорошо. Теперь надо представить себе не DE, а голую альтеру и повыкидывать нафик лишние описания :)

UncleDim
25.07.2009, 15:15
надо представить себе голую альтеру и повыкидывать нафик лишние описания :)

И - нифига не выйдет:)
Ибо без железа отладживать подобные вещи - мартышкин труд.

Ewgeny7
25.07.2009, 17:16
Ибо без железа отладживать подобные вещи - мартышкин труд
Ага, но теперь будем ждать пока zst соберёт шелезяку.

zx-kit
25.07.2009, 19:29
На диаграммах показаны сигналы управления памятью.
Cтрочные и кадровые импульсы показаны условно.
В скобках указана длительность импульса в периодах 14 МГц.
Также указано значения соответствующих счетчиков для начала и конца импульсов.

zx-kit
25.07.2009, 19:41
Сегмент рынка, решать вам..

Сначала сделаем стандартный режим. Для доработок есть место, но на это может потребоваться дополнительное время.
Будет ли рынок вообще? Уже появился Pentagon Light Edition. Там есть и VIDEO и VGA...



Наваял прошивку для DE1, работа от синхросмеси, глючит, но дышит. Подозрение, что тактовую частоту надо очень аккуратно согласовывать. 50/60 Гц работает (переключатель SW3), экран при 60 получается почти квадратный:)

Если делалось по моим старым диаграммам - новые более правильные. Проверялось с каким Спектрумом и монитором?



Критика будет, не возражаю, сам знаю - много огрехов, ибо "первый опыт" плюс "в процессе разработки"
Много "лишних" пинов - не стоит обращать внимания, специфика платы.

Если поможет - буду рад. Если запутает - ну извинити:)
(чёрт, весь проект не влез, приаттачил только исходник)
Хочу свою прошивку доделать тоже. Люблю с комментариями делать, чтобы самому через некоторое время разобраться можно было. С вашей пока не разобрался.

UncleDim
26.07.2009, 09:39
Если делалось по моим старым диаграммам - новые более правильные. Проверялось с каким Спектрумом и монитором?


Полуживой профик и старый Philips brilliance 15a
Еще Acer AL1923 - для проверки 60Гц режима
Диаграммы не выдерживались, ну это по тексту видно:)
Прошивка глюкавая, но в качестве proof of concept сгодится:)

zx-kit
26.07.2009, 18:38
Почти написал основную часть прошивки. Столкнулся с превышением объема ПЛИС. А в самом конце возникла ошибка типа "надо 7 выходов, а в устройстве имеется только 6". Ошибка пропала, когда я закомментировал строки записи в WR_REG.

Есть какие-нибудь стандартные способы уменьшения объема прошивки без ухудшения читаемости и работоспособности?

ZEK
26.07.2009, 21:12
Есть какие-нибудь стандартные способы уменьшения объема прошивки без ухудшения читаемости и работоспособности?
Tools - Advisors - Resource optimization advisor

Но не факт что поможет, в CPLD там где ресурсов мало, настройками много не вытянеш

zx-kit
27.07.2009, 20:06
Tools - Advisors - Resource optimization advisor

Но не факт что поможет, в CPLD там где ресурсов мало, настройками много не вытянеш

До 115 ячеек уменьшается, но если убрать комментарии - опять выскакивает ошибка.
Зависит от типа ПЛИС: с EPM3128 и EPM3256 - ошибка, c EMP3512 - ошибки нет.

Где посмотреть, каких сигналов много?

ZEK
27.07.2009, 20:45
Где посмотреть, каких сигналов много?
Каких сигналов?

zx-kit
27.07.2009, 23:26
Каких сигналов?
Нужно скомпилировать такой код:



--------------------------------------------------------------------------------
-- ПЕРЕДАЧА ДАННЫХ ЧЕРЕЗ ОЗУ 090726 --
--------------------------------------------------------------------------------
-- управление выводом на шину данных (запись произойдет по фронту WE)
D(7 downto 0) <= WR_REG when VIDEO_H(0) = '1' else (others => 'Z');

process (F14, VIDEO_H)
begin
if (rising_edge(F14) and VIDEO_H(0) = '0') then -- по фронту OE
--------------------------------------------------------------------------------
-- запись кода двух точек VIDEO в регистр для записи в ОЗУ
if VIDEO_H(1) = '0' then
-- WR_REG(3) <= R2; -- запись точки в младший полубайт регистра
-- WR_REG(2) <= G2;
-- WR_REG(1) <= B2;
-- WR_REG(0) <= I2;
else
-- WR_REG(7) <= R2; -- запись точки в старший полубайт регистра
-- WR_REG(6) <= G2;
-- WR_REG(5) <= B2;
-- WR_REG(4) <= I2;
end if;
--------------------------------------------------------------------------------
-- чтение кода двух точек из ОЗУ в регистр для вывода на VGA
RD_REG <= D(7 downto 0);
--------------------------------------------------------------------------------
end if;
end process;


Сначала точки записываются в разное время в регистр, затем выдаются из регистра
на шину данных ОЗУ для записи.

Если убрать комментарий в одной из восьми строк, где записываются данные в регистр,
возникает ошибка:



Error: Design requires 7 output enable signals, but the device can contain only 6 output enable signals
Error: Can't find fit
Error: Quartus II Fitter was unsuccessful. 2 errors, 9 warnings
Error: Quartus II Full Compilation was unsuccessful. 4 errors, 23 warnings

Не понятно, каких сигналов много. Может код можно переделать.

ZEK
27.07.2009, 23:59
По этому куску кода и сообщениям ничего сказать нельзя. Единственно что ясно так это ресурсов не хватает, почти на 100% трасировочного ресурса. Победить только переиначивая код и внимательно смотря в RTL, и вообще сделать загруженную на 100% CPLD/FPGA может оказаться нереально.

Короче без проекта - гадание.

Во вложении видно что у на IO блок может идти с трасировочной сетки только 6 сигналов, а в твоем случае на какие то ноги синтезатор насинтезировал что получается 7 сигналов. Надо избавиться, например не if юзать на каждом углу а какие нить логические условия что бы сигнал не в мультиплексоре io блока собирался а в LUT

zx-kit
28.07.2009, 07:47
По этому куску кода и сообщениям ничего сказать нельзя. Единственно что ясно так это ресурсов не хватает, почти на 100% трасировочного ресурса. Победить только переиначивая код и внимательно смотря в RTL, и вообще сделать загруженную на 100% CPLD/FPGA может оказаться нереально.

Короче без проекта - гадание.


В проекте строки с ошибкой закомментированы.

На EPM3512 ошибки нет, так как у нее 10 выходов. Откуда картинка? В Advisor столько настроек и при разных, наверно, получаются разные схемы. По какому принципу происходит преобразование, а то я могу напридумывать таких конструкций, что и DE1 не хватит.

ZEK
28.07.2009, 11:05
Откуда картинка?
Из datasheet по max3000


По какому принципу происходит преобразование, а то я могу напридумывать таких конструкций, что и DE1 не хватит.
Ну LUT как бы выгодней, чем мультиплексоры. Так что если необходимо уменьшить занимаемые ресурсы то смотреть что бы лезло куда надо, + юзать атрибуты синтезатора, которые оформляются в виде комментариев.

---------- Post added at 07:27 ---------- Previous post was at 07:27 ----------


Откуда картинка?
Из datasheet по max3000


По какому принципу происходит преобразование, а то я могу напридумывать таких конструкций, что и DE1 не хватит.
Ну LUT как бы выгодней, чем мультиплексоры. Так что если необходимо уменьшить занимаемые ресурсы то смотреть что бы лезло куда надо, + юзать атрибуты синтезатора, которые оформляются в виде комментариев.

Короче дофига сигналов которые переводят выходы в Z-Состояние
надо переиграть логику

К примеру


IR_VGA <= 'Z'; -- резисторы отключены
IG_VGA <= 'Z';
IB_VGA <= 'Z';

поменять на


IR_VGA <= '1';
IG_VGA <= '1';
IB_VGA <= '1';

И сделать чуть по другому аналоговую часть

---------- Post added at 09:05 ---------- Previous post was at 08:40 ----------

И еще неужели VHDL настолько уродский что надо сочинять вот такое?
VGA_SSI <= '0' when VGA_H < 53 else '1';

zx-kit
28.07.2009, 11:53
Из datasheet по max3000
К примеру ...
поменять на ...
И сделать чуть по другому аналоговую часть...

Не нашел, как сделать open-drain... Тут лучше не менять.

Может ошибка как-то связана с обменом с ОЗУ. Вот его бы переделать.


[/COLOR]И еще неужели VHDL настолько уродский что надо сочинять вот такое?
VGA_SSI <= '0' when VGA_H < 53 else '1';
Я думал, что это самый простой способ записи. Тем более, что if then без process не компилируется.
Если есть более красивое решение, c удовольствием так сделаю.
Пробовал инверсию входных сигналов переделать из if then в xor - размер прошивки не изменился...

ZEK
28.07.2009, 12:06
Может ошибка как-то связана с обменом с ОЗУ
Да нет ошибки просто у тебя рулится яркостные R,G,B для VGA и VIDEO (6 каналов OE), фик его знает чего синтезатор решил что кадому необходим отдельный сигнал OE, и один на перевод в Z данные для памяти.

Попробуй ввести сигнал который расчитывается когда нада VIDEO и VGA переводить в Z, и сделай по единому сигналу что бы срабатывало и мож имеет смысл за пределами процесса.


Я думал, что это самый простой способ записи.
Безруля, я VHDL не знаю. На Verilog можно просто
VGA_SSI = !VGA_H< 53;

zx-kit
28.07.2009, 13:04
с закомментированными строками было 112 ячеек
заменил Z на 1 на 6 выходах RGB стало 106 и компилируется без ошибок
если заменить Z только на одном выходе - станет 114 и компилируется без ошибок

Выводы:
1. Каждый сигнал или шина с z состоянием занимает примерно на одну ячейку больше
2. Таких сигналов или шин может быть не более 6.

Может RGB выходы в две шины объединить по три сигнала...

Может переделать на VERILOG...

Для RGB надо выход с открытым коллектором. Не знаю как сделать...

Для шины данных на ОЗУ тоже не нужно z состояние - достаточно in и out. Не знаю как сделать...

Будет ли работать если использовать тактовые импульсы 14 МГц не глобальный CLK, как сейчас временно сделано, а после инвертора использовать в процессах?

ZEK
28.07.2009, 14:21
Для шины данных на ОЗУ тоже не нужно z состояние - достаточно in и out. Не знаю как сделать...
А никак ты не сделаешь inout это in+out(c Z состоянием)


Будет ли работать если использовать тактовые импульсы 14 МГц не глобальный CLK, как сейчас временно сделано, а после инвертора использовать в процессах?
Будет, это важно для высокочастотных схем где клок обязательно надо пускать под спец-трассам


Для RGB надо выход с открытым коллектором. Не знаю как сделать...
http://www.altera.com/support/kdb/solutions/rd06252007_878.html?GSA_pos=4&WT.oss_r=1&WT.oss=open%20drain

zx-kit
28.07.2009, 15:30
Заменил шесть отдельных выходов яркости:


...
IR_VGA : out std_logic := '1'; -- цифровой BRIGHT для RED (состояние 0/Z)
IG_VGA : out std_logic := '1'; -- цифровой BRIGHT для GREEN(состояние 0/Z)
IB_VGA : out std_logic := '1'; -- цифровой BRIGHT для BLUE (состояние 0/Z)
...
IR_VIDEO : out std_logic := '1'; -- цифровой BRIGHT для RED (состояние 0/Z)
IG_VIDEO : out std_logic := '1'; -- цифровой BRIGHT для GREEN(состояние 0/Z)
IB_VIDEO : out std_logic := '1'; -- цифровой BRIGHT для BLUE (состояние 0/Z)
...

if I2 = '0' then -- если яркость пониженная:
IR_VGA <= '0'; -- уменьшаем сигнал подключением резисторов к 0
IG_VGA <= '0';
IB_VGA <= '0';
else
IR_VGA <= 'Z'; -- резисторы отключены
IG_VGA <= 'Z';
IB_VGA <= 'Z';
end if;
...


На два вектора по 3 сигнала:


...
I_VGA : out std_logic_vector (2 downto 0) := "000"; -- выходы яркости VGA
...
I_VIDEO : out std_logic_vector (2 downto 0) := "000"; -- выходы яркости VIDEO
...

if I2 = '0' then -- если яркость пониженная:
I_VGA <= "000"; -- уменьшаем сигнал подключением резисторов к 0
else
I_VGA <= "ZZZ"; -- резисторы отключены
end if;
...


Ошибка пропала, 106 ячеек...

Но, если в описании выходов проинициализировать их как "111" ошибка появляется опять. Но нам как раз надо "000".

В старом тексте с отдельными выходами заменил инициализацию всех выходов цвета и яркости на '0' - ошибка пропала, 108 ячеек вместо 112.

Вывод: если не писать на выход единицу, то выход работает как с открытым коллектором...

Вариант с векторами яркости короче...

Спасибо за помощь.

UncleDim
29.07.2009, 11:38
Есть очепятки/непонятки

Где мультиплексирование адреса - в младших разрядах затесался счетчик строк вместо счетчика точек;

При 60Гц счетчик строк для VGA пожалуй стОит не обнулять, а инициализировать каким-то значением, иначе экран заметно вниз съедет.

zx-kit
29.07.2009, 13:03
Есть очепятки/непонятки

Где мультиплексирование адреса - в младших разрядах затесался счетчик строк вместо счетчика точек;

Ага. Спасибо. Остальное правильно?



При 60Гц счетчик строк для VGA пожалуй стОит не обнулять, а инициализировать каким-то значением, иначе экран заметно вниз съедет.
В описании адресации я указывал число N, но пока не рассчитывал. Может потом на опытном образце методом подбора сделать?

Прошивка почти готова. Можно дорабатывать под синхросмесь вместо раздельных синхроимпульсов. У вас стоит число 700 вроде для строк. Как оно было выбрано? А для кадров наверно нужно, чтобы счетчики строк считали автономно, а то во время кадрового синхроимпульса фронты строчных синхроимпульсов-врезок могут быть сдвинуты.

Можно ли мой вариант прошивки проверить у вас на DE1?

UncleDim
29.07.2009, 13:24
Ага. Спасибо. Остальное правильно?
Насчёт остального надо бы "в железе" проверять...


У вас стоит число 700 вроде для строк. Как оно было выбрано?
Грубо-приблизительно 3/4 строки, чтобы 1) не цепляться за "врезки" 2) чтоб работало и при 14МГц, и при 12 (т.к. Профик:)
Но похоже надо будет сделать определение числа точек в строке и границу подвинуть поближе к 64мкс. Тогда вот это:

во время кадрового синхроимпульса фронты строчных синхроимпульсов-врезок могут быть сдвинуты.
по идее не должно будет мешать.


Можно ли мой вариант прошивки проверить у вас на DE1?
Будет время - попробую, сейчас его не очень много..

zx-kit
29.07.2009, 14:07
Насчёт остального надо бы "в железе" проверять...

У меня железо еще не готово. Надо еще переходник с VGA на SCART придумать и остальные кабели докупить. Хотелось бы с разными мониторами, телевизорами и компьютерами попроверять. А можно посмотреть фотки эксперимента с вашей прошивкой?
[/QUOTE]


Грубо-приблизительно 3/4 строки, чтобы 1) не цепляться за "врезки" 2) чтоб работало и при 14МГц, и при 12 (т.к. Профик:)

У Профи кварц на 12 МГц? Тогда моя прошивка наверное не будет работать без доработки...


Но похоже надо будет сделать определение числа точек в строке и границу подвинуть поближе к 64мкс.

Считать, сколько реально точек?

UncleDim
29.07.2009, 14:40
А можно посмотреть фотки эксперимента с вашей прошивкой?

Попробую вечером.


У Профи кварц на 12 МГц?
И на 12, и на 14, в зависимости от текущего видеорежима.


Считать, сколько реально точек?
Полностью считать смысла не вижу, можно определить 896 их или 768.
То же и со строками (312/320) - вполне можно реализовать автоопределение.

zx-kit
29.07.2009, 18:00
Попробую вечером.

И на 12, и на 14, в зависимости от текущего видеорежима.

Полностью считать смысла не вижу, можно определить 896 их или 768.
То же и со строками (312/320) - вполне можно реализовать автоопределение.
Прикинем такую ситуацию:
Например, есть несколько компьютеров: Ленинград, KAY, Профи и SPECCY2007 и надо по-очереди подключать их к одному монитору или телевизору. Можно разместить одинаковые разъемы на корпуса всех компьютеров, например, типа DB-9F. Внутри подать с платы компьютера на разъем нужные сигналы. Плату VGA & PAL разместить в корпусе, через провода длиной сантиметров 10 подпаять разъем DB-9M, который подключать к нужному компьютеру.

То есть вы считаете, можно сделать универсальную прошивку, с которой можно будет подключать плату к разным компьютерам и будет работать без перемычек?

В дополнительном режиме Профи на плату будет подаваться частота 12 МГц, частоты строк и кадров не меняются, только точки выдаются на экран с частотой не 7, а 12 Мгц. Я правильно понял? Тогда надо будет делать два набора счетчиков точек, строчных синхроимпульсов и переключать их в зависимости от определенного количества точек в строке ?

Не сложно это сделать будет?

UncleDim
29.07.2009, 22:38
можно сделать универсальную прошивку, с которой можно будет подключать плату к разным компьютерам и будет работать без перемычек?
Совсем уж универсальную вряд ли, но на большинство - вполне возможно.


В дополнительном режиме Профи на плату будет подаваться частота 12 МГц, частоты строк и кадров не меняются, только точки выдаются на экран с частотой не 7, а 12 Мгц. Я правильно понял?

Да, так. Вместо 7 можно подать 14, дабы не менять логику работы.



Тогда надо будет делать два набора счетчиков точек, строчных синхроимпульсов и переключать их в зависимости от определенного количества точек в строке ?
Не сложно это сделать будет?
Без двух наборов можно обойтись. Переключать нужно будет только величину перезагрузки счетчика, плюс один-два триггера на выбор этой величины.

zx-kit
30.07.2009, 07:13
Без двух наборов можно обойтись. Переключать нужно будет только величину перезагрузки счетчика, плюс один-два триггера на выбор этой величины.

А если считать количество точек в строке и по строчному синхроимпульсу записывать в дополнительный регистр. Затем для счетчика точек в строке VGA брать максимальное значение из этого регистра. Тогда будет не важно, сколько точек в строке.

Да и Ленинград был рассчитан на кварцы от 13.5 до 14.5 МГц. Чтобы сохранить длительность строчной развертки 64 мкс менялось с помощью перемычек количество точек в строке 448 +- сколько-то.

Без этой настройки режим VGA будет чувствителен к реализации компьютера. А с ней - работать почти со всеми. Лишь бы синхронизация не сбивалась от 12 МГц.

Только вот, если со Спектрума точки будут приходить с частотой 12 или 14 МГц, надо будет выводить их на VGA с частотой 24 или 28 МГц, то есть по фронту и спаду входных тактовых импульсов...

UncleDim
30.07.2009, 11:57
А если считать количество точек в строке и по строчному синхроимпульсу записывать в дополнительный регистр. Затем для счетчика точек в строке VGA брать максимальное значение из этого регистра. Тогда будет не важно, сколько точек в строке.


Если ресурсов хватит - можно и так, конечно.

UncleDim
31.07.2009, 11:08
Собственно фотки (две - с экрана CRT филипса при 50 и 60Гц, одна - с LCD асера, только 60).
Видно подрагивание строчек при работе на 60 герц.
Но в целом - картинки попиксельно идентичны оригиналу (выводил параллельно на телек) за исключением интенсивности цвета и серого "ярко-черного") - этим просто не занимался еще.

zx-kit
31.07.2009, 11:26
Собственно фотки (две - с экрана CRT филипса при 50 и 60Гц, одна - с LCD асера, только 60).
Видно подрагивание строчек при работе на 60 герц.
Но в целом - картинки попиксельно идентичны оригиналу (выводил параллельно на телек) за исключением интенсивности цвета и серого "ярко-черного") - этим просто не занимался еще.

Спасибо. Квадратики получились почти квадратные, а в играх будет почти не заметно растягивание по-вертикали.

А я в своей прошивке стер строки по обработке яркого черного. Если он яркий, то на RGB все рано нули, а если темный, то резистор пытается уменьшить напряжения, а там и так 0. Откуда он у вас взялся, не пойму...

UncleDim
31.07.2009, 11:31
Откуда он у вас взялся, не пойму...
Так у меня там не "0 снижает яркость", а "1 повышает" :)

zx-kit
01.08.2009, 19:42
Если со Спектрума точки будут приходить с частотой 12 или 14 МГц, надо будет выводить их на VGA с частотой 24 или 28 МГц, то есть по фронту и спаду входных тактовых импульсов...

Пытался для макетки с ПЛИС и генератором на 40 МГц написать программу деления на 3 со скважностью 2 - не получилось. Там пытался переключать счетчик по фронту и спаду тактовых импульсов. QUARTUS отказался это делать...

Данные из ОЗУ записываются в 16-ти разрядный регистр - по четыре точки RGBI. Их надо выдать на резистивные смесители 4 раза по одной точке последовательно. Выход I надо сделать open-drain...

UncleDim
01.08.2009, 21:46
Должно получиться. Память не помеха, сейчас (при тактировании от 14) она используется менее, чем наполовину (в смысле времянки), так что...

zx-kit
01.08.2009, 22:13
Должно получиться. Память не помеха, сейчас (при тактировании от 14) она используется менее, чем наполовину (в смысле времянки), так что...

А как это в командах по фронту и спаду делать? Можно конечно по спаду записывать из 16-битного регистра в 8-битный, затем, если тактовый импульс равен 0 - выдавать на выход младший полубайт, если тактовый импульс равен 1 - выдавать старший полубайт. Но тут могут появиться шумы/перепады на изображении посредине точки для стандартного режима. И усложнится вывод битов яркости...

Хотелось бы, чтобы сигналы менялись четко по фронту и спаду...

Нашел у себя ошибку в строке для нормализации строчных синхримпульсов: KSI надо заменить на SSI...

UncleDim
03.08.2009, 11:29
тут могут появиться шумы/перепады на изображении посредине точки для стандартного режима

А могут и не появиться. Пробовать надо, причём именно на том железе, которое запланировано (отладка на той же de1 не даст гарантии работоспособности на epm3xxx).

zx-kit
05.08.2009, 20:05
Запустил тестовую прошивку на макете. Подается пока только на VGA. Сигнал 14МГц с генератора подается на проверяемую часть проекта и на тестовый блок. Тестовый блок выполнен на основе прошивки SPECCY2007. Формирует для проверки синхроимпульсы, простое тестовое изображение в виде полос на бордере и управляет светодиодом с частотой мигания курсора Спектрума (FLASH). Изображение есть, но требует отладки.

1. Как сказать Квартусу, что у ПЛИС на конкретном входе меандр с частотой 14МГц. Требуется просмотреть для отладки временные диаграммы.

2. Quartus II Web Edition требует подключения к интернету при прошивке? Были глюки во время прошивки.

3. Если я подам с генератора сигнал на глобальный вход синхронизации, как объяснить Квартусу, чтобы он его использовал как глобальный вход синхронизации?

zx-kit
06.08.2009, 17:58
Фото плат:
http://i052.radikal.ru/0908/3f/71b8af91c018t.jpg (http://radikal.ru/F/i052.radikal.ru/0908/3f/71b8af91c018.jpg)

UncleDim
06.08.2009, 23:59
Требуется просмотреть для отладки временные диаграммы.

Несколько неразвёрнутый вопрос. Файл с входными векторами уже создали? Тогда кликаем на нужном сигнале правой кнопкой, value-> clock и задаем нужные параметры.
Я сейчас ужасную вещь скажу наверное, только не обижайтесь. Встроенный хэлп квартуса не зря писали, там в т.ч. и про ваш вопрос есть, да.

Платы это гуд, ну а схему-то выложите до кучи?

Error404
07.08.2009, 00:06
Платы это гуд, ну а схему-то выложите до кучи?

+1
ни хрена не понятно, что это есть, какие характеристики, применительно к какому входному сигналу можно приспособить.

zx-kit
07.08.2009, 09:31
Назначение.
На базе платы можно изготовить адаптер для подключения компьютеров типа SPECTRUM к VGA монитору и телевизору через входы S-VIDEO, COMPOSITE (стандартными шнурами) или SCART (через дополнительный переходник). С компьютера на плату подаются цифровые сигналы цвета RGBI, сигнал синхросмеси, тактовые синхроимпульсы частотой 14 МГц, питание +5 В и земля. Также возможно на основе платы выполнять устройства по обработке и генерации цифровых сигналов для замены схем на цифровых микросхемах малой и средней степени интеграции.


На плате VGA & PAL можно установить:
1.ПЛИС EPM3128ATC100-10N (объем 128 макроячеек, питание +3.3 В, корпус TQFP-100 ).
2.Память K6R4016V1D-TI10 или -UI10 (объем 256К х 16 бит, питание +3.3 В, корпус TSOP44).
3.PAL-кодер SONY CXA1645M (питание +5 В).
4.Стабилизатор +3.3 В на микросхеме TPS76333DBVT.
5.Генератор 4.33 МГц для PAL-кодера на микросхеме 74HC04D.
6.Входной разъем WF-09M.
7.Выходные разъемы для VGA, S-VIDEO, COMPOSITE.
8.Набор перемычек для выбора режима работы.
9.Разъем для прошивки ПЛИС с помощью программатора BYTE BLASTER MV.
10.Резисторы и конденсаторы.


Возможные конфигурации.
1.Если спаять все, можно выводить изображение через разъем VGA на монитор или на SCART телевизора (через разъем VGA и дополнительный переходник), а также на телевизор через S-VIDEO и COMPOSITE. Тип выходного сигнала на разъеме VGA задается перемычкой.

2.Если не нужен вывод на телевизор через S-VIDEO и COMPOSITE, элементы, связанные с PAL – кодером, разъемы S-VIDEO и COMPOSITE можно не припаивать.

3.Если нужен только вывод на телевизор через S-VIDEO и COMPOSITE, микросхему памяти и разъем VGA можно не припаивать.

4.Если плату использовать не для вывода на монитор или телевизор, а в качестве самодельного цифрового устройства, элементы, связанные с PAL – кодером, разъемы S-VIDEO, COMPOSITE и VGA не припаивать. Также можно не впаивать микросхему памяти, если она не нужна для работы устройства. В схему генератора можно впаять кварц на нужный номинал, а сигнал с генератора подать проводом на нужный вывод ПЛИС.

В процессе дальнейшей разработки и отладки, возможно появятся новые режимы или ограничения. Вероятно, что с одной прошивкой будут работать одни режимы, с другой — другие...

zx-kit
08.08.2009, 17:55
В процессе дальнейшей разработки и отладки назначение сигналов может измениться. Например, вместо раздельных кадрового и строчного синхромипульса будет использоваться синхросмесь...

Изменения в схеме:
1. (090815) Разъем VGA должен быть DHR-15F. Ответная часть разъема для подключения платы к Спектруму - HU 09F.
2. (090815) При подключении к разъему VGA переходника на SCART, R42 должен быть 200 Ом.
Если схема используется только для VGA, R42 и R43 могут быть 75 или 200 Ом.
3. (090815) Лучше применять микросхему памяти K6R4016V1D-UI10, так как -TI10 больше потребляет.

4. (091003) Допустимая замена - два параллельно соединенных резистора по 300 Ом можно заменить на один по 150 Ом, например,

5. (091003) Изменения в схеме PAL-кодер:
* Отрезать дорожку от резистора R44 к 4 и 5 выводам DD4.
* Резисторы R38-40 вместо 100 Ом поставить 75 Ом.
* Резистор R41 - вместо 47О Ом поставить 4.3 МОм.
* Резистор R44 - вместо 470 Ом поставить проволочную перемычку или резистор О Ом.
* Подпаять к каждому выводу кварца по конденсатору 33 pF, вторые выводы конденсаторов соединить между собой и с 7 выводом DD4.
* Конденсатор 62 pF не устанавливать.
* Точная частота кварца - 4.433619 МГц.

6. (091019) Допустимые замены - вместо конденсаторов 0.1 мкф можно устанавливать 0.15 мкф. Вместо резистивных сборок 10 кОм можно устанавливать 12 кОм.

7. (091019) Доработка для режима 100 Гц для CRT мониторов. Разрезать дорожку между 11 и 12 выводами DD4 (можно процарапать иголкой, если микросхема уже припаяна). На вывод 11 DD4 подать сигнал F14MHZ c переходного отверстия, соединенного с 87 выводом DD1. C 8 вывода DD4 подать сигнал на площадку 1, соединенную с 81 выводом DD1.

http://s61.radikal.ru/i172/1104/eb/6bc446e80de3t.jpg (http://s61.radikal.ru/i172/1104/eb/6bc446e80de3.jpg)
-----------------------------------------------------------------------------------------------------------------------------

Припаял детали, относящиеся к VGA. Написал автономный тест для VGA 60 Гц. При этом цвета подавались напрямую, без записи в ОЗУ.

Все цвета есть, яркость нормальная, черный - нормальный, яркий как темный.
Размеры активной части окна (аналог 256х192 точек Спектрума) получились 235х194 мм. Поле слева - 42 мм, поле справа - 47 мм, поле снизу - 22 мм, поле сверху - 25 мм.

Ниже приведена текущая схема.

fifan
08.08.2009, 20:25
Прекрасная разработка! А когда платы будут? Можно ли будет купить собранную или пустую плату?

zx-kit
08.08.2009, 20:57
Прекрасная разработка! А когда платы будут? Можно ли будет купить собранную или пустую плату?

Если на данных образцах все заработает. Еще не все отлажено-проверено...
Нужна ориентировочная цена пустой и собранной плат с учетом пересылки. Есть предложения?
Или это здесь offtopic ?

Segfault
08.08.2009, 21:55
zst, с одной стороны чтобы народ не потянуло на авермедию, а с другой - чтоб себя не обидеть. Все-таки тебе предстоит немалый гемор.

fifan
09.08.2009, 06:03
Наверное цены и наличие плат лучше расположить в "Барахолке". Кстати не указаны, кроме ПЛИС корпуса микрух. Можно ли вместо K6R4016V1D-TI10 поставить ту же, но с различием в конечных буквах (-UI10), обе в корусах 44 TSOP?

zx-kit
09.08.2009, 07:55
Кстати не указаны, кроме ПЛИС корпуса микрух. Можно ли вместо K6R4016V1D-TI10 поставить ту же, но с различием в конечных буквах (-UI10), обе в корусах 44 TSOP?
Думую, что можно. Но нужно впаять и проверить. У меня вроде обе есть...

UncleDim
09.08.2009, 10:39
Нужна ориентировочная цена пустой и собранной плат с учетом пересылки. Есть предложения?
Или это здесь offtopic ?

Сами вкладывались? Вот эту сумму умножаете на пи (3.1415926...) и делите на количество плат. Универсальная формула:)

Ewgeny7
09.08.2009, 22:57
Нужна ориентировочная цена пустой и собранной плат с учетом пересылки. Есть предложения?
Или это здесь offtopic ?
Затраты умножаешь на жадность, т.е. от 1.0 до 3.0.
Насчет оффтопа - пока торговля не началась - разрешаю :)
А глобально - ты молодец!

zx-kit
10.08.2009, 21:55
http://s51.radikal.ru/i132/0908/67/07d81528eb1ct.jpg (http://radikal.ru/F/s51.radikal.ru/i132/0908/67/07d81528eb1c.jpg)

Mad Killer/PG
10.08.2009, 23:06
zst, то что было нужно как воздух!!! Хоть и оффтоп ,но всё равно маладец,надеюсь цена не будет заоблачной и мы сможем наконец-то насладиться всеми прелестями пцшных моников,и забыть про РГБ;)

Ewgeny7
10.08.2009, 23:14
zst, то что было нужно как воздух!!!
Да. Только на сейчас еще очень мало чего сделано, только тест видеогенератора.

zx-kit
11.08.2009, 21:01
Одну плату запрограммировал как имитатор сигналов Спектрума (прошивка TEST_08). Она генерирует сигнал цветных полос с частотой кадров 48 Гц.

Сигналы через входной разъем подаются на другую плату, на которой прошивка TEST_09. Результат на картинке:
http://s51.radikal.ru/i132/0908/7f/f2150b075b75t.jpg (http://radikal.ru/F/s51.radikal.ru/i132/0908/7f/f2150b075b75.jpg)

Частота кадров на мониторе 60 Гц. Сигнал 48 Гц не синхронизиран по кадрам - все скачет, сине-желтые полосы быстро двигаются. И еще какие-то переходы на границах полос, как будто при записи и чтении из ОЗУ биты перепутались...

Одну ошибку нашел - в модуле обработки сигналов RGBI VIDEO:
где разделение точек при чтении из регистра проверяется условие
VIDEO_H(0), но при чтении то уже сигнал VGA, поэтому надо использовать VGA_H(0)...

zx-kit
12.08.2009, 20:30
1. C имитатора Спектрума, частота VGA = 48 Гц:
http://s59.radikal.ru/i164/0908/73/5496c6c35157t.jpg (http://radikal.ru/F/s59.radikal.ru/i164/0908/73/5496c6c35157.jpg)

2. C имитатора Спектрума, частота VGA = 60 Гц:
http://s60.radikal.ru/i170/0908/b6/9be695a423a1t.jpg (http://radikal.ru/F/s60.radikal.ru/i170/0908/b6/9be695a423a1.jpg)

Сейчас изображение 60 Гц по центру экрана.

Дмитрий
12.08.2009, 20:39
zst, большая просьба прикреплять картинки не в zip'ах, а все же jpg или png, для удобства просмотра.

---------- Post added at 19:39 ---------- Previous post was at 19:36 ----------


Что с буквами - глюк платы или Ленинграда?
а ты ткни в низкочастотный вход телевизова видеовыходом ленина - увидишь чей глюк

Sayman
13.08.2009, 12:48
а как будет работать сей девайс с графрежимоми других клонов - атм, профи и другие?

zx-kit
13.08.2009, 16:21
а как будет работать сей девайс с графрежимоми других клонов - атм, профи и другие?

Сейчас реализован вывод на VGA 50/60 Гц стандартного экрана 256x192 15 цветов.

VGA 50 Гц:
http://i036.radikal.ru/0908/35/092cd0304964t.jpg (http://radikal.ru/F/i036.radikal.ru/0908/35/092cd0304964.jpg)

VGA 60 Гц:
http://s59.radikal.ru/i163/0908/9a/3450e7618ed5t.jpg (http://radikal.ru/F/s59.radikal.ru/i163/0908/9a/3450e7618ed5.jpg)

Segfault
13.08.2009, 17:06
глюк с буквами исчез как я погляжу. Конвертор глючил?

zx-kit
13.08.2009, 18:20
глюк с буквами исчез как я погляжу. Конвертор глючил?

Подправил прошивку. Cделал также центрирование по-вертикали для 60 Гц.

Error404
13.08.2009, 22:51
а как будет работать сей девайс с графрежимоми других клонов - атм, профи и другие?

Присоединяюсь к вопросу - что насчет режимов, отличных от 256х192? Реально сделать настраиваемо пользователем (хотя бы на уровне констант в исходниках прошивок)?

zx-kit
14.08.2009, 07:39
Присоединяюсь к вопросу - что насчет режимов, отличных от 256х192? Реально сделать настраиваемо пользователем (хотя бы на уровне констант в исходниках прошивок)?

Данный конвертер является синхронным, то есть на него должны подаваться тактовые импульсы с частотой, кратной частоте смены точек на экране. В текущей версии входная тактовая частота 14 МГц, а частота смены точек равна 7 МГц. С этой частотой происходит запись в ОЗУ.

Для отображения других режимов без изменения прошивки должны соблюдаться условия:
1. Частота строк = 15.625 кГц.
2. Частота кадров = 48/50 Гц.
3. Частота смены точек = 7 МГц.
4. Код цвета задается четырьмя битами RGBI.

Если, например, режим имеет размеры экрана 320x240 точек, но частота смены точек осталась 7 МГц, то преобразование будет происходить правильно.

Если частота смены точек удвоилась, нужно дорабатывать прошивку.
Текущая версия для стандартного экрана занимает 108 макроячеек. Может не хватить места.

Если частота смены точек не кратна 14 МГц, например, 12 МГц, то при переключении на этот режим должна подаваться частота 12 МГц вместо 14 на тактовый вход платы. Если это условие выполняется, нужно дорабатывать прошивку.

Наверно, найдутся энтузиасты, которые захотять собрать плату, проверить свой монитор на 50 Гц и добавить новые режимы...

Sayman
14.08.2009, 11:20
У профика экран его 512на240 работает если не ошибаюсь на 12мгц. могет есть возможность добавить данный "пресет" в сабж?
и кстате, как этот девайс к компу подрубается? к его ргб выходу или где то на шину вешается? я просто все посты не читал, а в первом посте ни слова об этом...

zx-kit
14.08.2009, 12:13
У профика экран его 512на240 работает если не ошибаюсь на 12мгц. могет есть возможность добавить данный "пресет" в сабж?

UnclDim считает, что можно. Я пока не сумел. Наверно, еще нужно будет добавить коммутатор тактовой частоты 14/12 МГц в схему Профи.


и кстате, как этот девайс к компу подрубается? к его ргб выходу или где то на шину вешается? я просто все посты не читал, а в первом посте ни слова об этом...

Со Спектрума подаются: цифровой код RGBI, строчные и кадровые синхроимпульсы, тактовая частота 14 МГц, +5В и земля.

Sayman
14.08.2009, 12:40
я конечно могу напутать, но помойму, если сабж глотает уже ргб, то 14 или 12мгц должно быть всёровно. все телики и в том числе палкодер же работают с экраном профи и ничего не скачет и не прыгает.картинка чётко посередине. т.е. частоты на ргб выходе, включая кадровые синхры, вероятно не меняются, а тогда нет разницы, экоран спека это или профика...хотя могу и напутать.

ZEK
14.08.2009, 23:02
..хотя могу и напутать
ну если тебя устроит что будет видно 60% пикселей (в режимах где частота пикселей 12Мгц) + скорее всего муар

zx-kit
15.08.2009, 07:45
Суда по схеме Profi V3.2 у него просто коммутируются два генератора на 14 и 12 МГц с помощью мультиплексора U15 (555KP11). Если тактовый сигнал брать с 4 выхода этого мультиплексора, то может и получится обрабатывать режимы Профи...

Данные во входной регистр ПЛИС нужно будет записывать по спаду входных тактовых импульсов...

Доработка может занять много макроячеек. Только, если забрать ресурсы с PAL-кодера...

---------- Post added at 09:45 ---------- Previous post was at 08:28 ----------

Добавил простую навигацию по теме в первом посте.

ZEK
15.08.2009, 13:46
Что бы экономить ресурсы можно сделать финт ушами
рассчитать что бы при 14МГц счетчики VGA формировали картинку
VS = 70Hz HS=37KHz и хватало каждый пиксель на входу
а при переключении на 12MHz при тех же константах получится
VS = 60Hz HS=32KHz и хватать через такт пиксели.

Можно даже на плате воткнуть стационарно кварц (для фазового детектора) и сделать автоматом детект входной частоты пикселей (то есть вместо 14MHz на вход подавать пиксельк клок).

zx-kit
15.08.2009, 17:21
Что бы экономить ресурсы можно сделать финт ушами
рассчитать что бы при 14МГц счетчики VGA формировали картинку
VS = 70Hz HS=37KHz и хватало каждый пиксель на входу
а при переключении на 12MHz при тех же константах получится
VS = 60Hz HS=32KHz и хватать через такт пиксели.

Интересное решение. A что будет на частоте 50 Гц - ведь это же основное назначение платы - сохранить спецэффекты.


Можно даже на плате воткнуть стационарно кварц (для фазового детектора) и сделать автоматом детект входной частоты пикселей (то есть вместо 14MHz на вход подавать пиксельк клок).
А может не стоит нормализовывать синхроимпульсы для PAL/SCART. Может PAL вообще не нужен?

Mikhon
15.08.2009, 17:43
А может не стоит нормализовывать синхроимпульсы для PAL/SCART. Может PAL вообще не нужен?

Нет! Не отступать и не сдаваться! PAL нужен! Такая платка универсальная вырисовывалась! Обычные телевизоры еще не скоро уйдут, а тут ВСЕ на борту.

Для полной красивости не хватает NEMObus....может быть...

ZEK
15.08.2009, 19:57
может что то не понимаю, причем прошивка cpld к телевизору?

---------- Post added at 17:57 ---------- Previous post was at 17:57 ----------


не хватает NEMObus....может быть...
И еще USB что бы X-FI подключать.

Вообще каким боком тут NEMOBus?

Black_Cat
15.08.2009, 21:19
Вообще каким боком тут NEMOBus:) это из разряда "сделайте мне всё, и чтоб оно ещё за меня думало" :)

Может PAL вообще не нужен?
имхо учше иметь VGA-преобразователь и PAL-кодер как два разных устройства. Учитывая, что PAL-кодер уже выпускается CHRV, сделать плату минимальных размеров только под VGA-преобразователь. Желательно либо односторонку под ЛУТ, либо двухсторонку под двухсторонний монтаж для минимизаци размеров и стоимости

zx-kit
15.08.2009, 21:51
может что то не понимаю, причем прошивка cpld к телевизору?

PAL-кодер просто так, наверно, не заработает с Ленинградом и Пентагоном-128. Зато он работает со SPECCY2007 и новым Пентагоном с доработкой прошивки от DDp. Чтобы заработал PAL-кодер ПЛИС должна нормализовать синхро- и гасящие импульсы...

---------- Post added at 23:51 ---------- Previous post was at 23:45 ----------


:) это из разряда "сделайте мне всё, и чтоб оно ещё за меня думало" :)

имхо учше иметь VGA-преобразователь и PAL-кодер как два разных устройства. Учитывая, что PAL-кодер уже выпускается CHRV, сделать плату минимальных размеров только под VGA-преобразователь. Желательно либо односторонку под ЛУТ, либо двухсторонку под двухсторонний монтаж для минимизаци размеров и стоимости
Плата имеет размер около 60х70 мм. Монтаж двухсторонний. Пусть PAL-кодер остается, можно его не паять и не формировать для него сигналы.

Ориентировочная стоимость платы с учетом пересылки составляет 300 руб...

Mikhon
15.08.2009, 22:17
Вообще каким боком тут NEMOBus?

На платах с NEMOBus можно ставить сие чудо без прблем. 14 МГц,+5В, красивый конструктив и можно "ЭТО" назвать ВИДЕОКАРТА!

Alex_NEMO
15.08.2009, 22:17
Ориентировочная стоимость платы с учетом пересылки составляет 300 руб...
Что, уже можно заказывать?

zx-kit
15.08.2009, 22:59
Что, уже можно заказывать?
Наверно надо идти на барахолку. Доделаем прошивку потом...

Black_Cat
15.08.2009, 23:35
На платах с NEMOBus можно ставить сие чудо без прблемгде есть NemoBus, там это и даром не нужно, а нужно только для старых компов находящихся в пользовании юзеров далёких от паяльника. Тем же юзверям, кто в состоянии припаять к старому компу NemoBus - на тех же элементах проще полную видеокарту сделать с кучей видеорежимов

ZEK
15.08.2009, 23:59
14 МГц,+5В
2 сигнала из 8

Black_Cat
16.08.2009, 00:00
Пусть PAL-кодер остается, можно его не паятьпросто иметь два раздельных устройства практичнее - можно их припаять к двум разным компам :) . В многофункциональном устройстве еть смысл только для ремонтников аппаратуры, а простой юзверь старается избавиться от всего лишнего и использовать только один тип монитора.. а переплачивать за то, что практически никогда не будет использоваться - неразумно

Segfault
16.08.2009, 00:14
На платах с NEMOBus можно ставить сие чудо без прблем. 14 МГц,+5В, красивый конструктив и можно "ЭТО" назвать ВИДЕОКАРТА!
судя по описанию NemoBUS (Радиолюбитель 12/94, стр.5) в слоте нет линий, нужных конвертору. Походу без паяльника и МГТФ-а никак.

Mikhon
16.08.2009, 00:50
2 сигнала из 8

Согласен со всеми - кому что нужно, тот о том и говорит...
Но себе, к Фениксу, я бы именно такую плату взял!

zx-kit
16.08.2009, 16:29
Жало паяльника толщиной 2 мм. Флюс - спиртоканифоль.

Сначала установить ПЛИС на плату, уточнив положение ключа по монтажной схеме. Расположить максимально точно по всем сторонам. Прижать пальцем к плате, чтобы не сдвинулось. Намазать один ряд спиртоканифолью. На жало брать минимальное количество припоя. Сначала припаять крайние ножки ряда. Также прихватить остальные ряды. Потом уже паять остальные ножки.

Если слиплись припоем две ножки:

1. Намазать это место спиртоканифолью.
2. Снять изоляцию длиной около 1 см с конца провода МГТФ.
3. Очистить жало паяльника от припоя.
4. Приложить зачищенный конец провода к слипшимся ножкам.
5. Прогреть это место через провод паяльником.
6. Как расплавится припой - отдернуть паяльник и провод. Лишний припой должен убраться.
7. Если не получилось, подождать минутку, чтобы не перегреть микросхему и повторить, начиная с п.1.

После пайки заново промазать спиртоканифолью и пропаять пустым паяльником еще раз для надежности и красоты. Промыть спиртом и проверить через лупу. Если есть дефекты - исправить и снова промыть спиртом.

Ewgeny7
16.08.2009, 17:39
Я немножко по другому делаю. Паяльник с никелевым жалом (острым), мажу плату глицерин-гидразином. Выравниваю чип по ножкам/дорожкам. Прижимаю его пальцем к плате. Потом не набирая припоя просто по быстрому прогреваю ножки чипа паялом, сначала по краям рядов, затем прочие. Промываю готовую плату с чипом FAIRY с губкой и горячей водой. Получается хорошо.

zx-kit
17.08.2009, 20:22
Верхняя сторона:

http://s02.radikal.ru/i175/0908/36/dd8532543795t.jpg (http://radikal.ru/F/s02.radikal.ru/i175/0908/36/dd8532543795.jpg)

Нижняя сторона:

http://i016.radikal.ru/0908/09/599945acdbb1t.jpg (http://radikal.ru/F/i016.radikal.ru/0908/09/599945acdbb1.jpg)

(091005) В схему внесены изменения - http://zx.pk.ru/showpost.php?p=212132&postcount=107

(091018) Доработка генератора 4.43 МГц
http://s49.radikal.ru/i123/0910/cd/bb1b4501e9fbt.jpg (http://radikal.ru/F/s49.radikal.ru/i123/0910/cd/bb1b4501e9fb.jpg)

100410.
Обновил монтажные схемы. Конденсаторы 0.1 мкф заменяются на 0.15 мкф. Конденсаторы С9 и C12 теперь 0.01 мкф.

http://s57.radikal.ru/i156/1004/09/1e291ca5801ct.jpg (http://radikal.ru/F/s57.radikal.ru/i156/1004/09/1e291ca5801c.jpg)

http://s49.radikal.ru/i126/1004/df/b0cb5896d820t.jpg (http://radikal.ru/F/s49.radikal.ru/i126/1004/df/b0cb5896d820.jpg)

Фотографии собранной платы от SoftFelix:

1824x1368 точек:
http://s61.radikal.ru/i172/1104/eb/6bc446e80de3t.jpg (http://s61.radikal.ru/i172/1104/eb/6bc446e80de3.jpg)

3648х2736 точек:
http://s44.radikal.ru/i104/1104/d2/9e8407438f99t.jpg (http://s44.radikal.ru/i104/1104/d2/9e8407438f99.jpg)

Монтажные схемы в архивах:

Evgeny Muchkin
18.08.2009, 09:56
Разъясните, пожалуйста, на предмет работы мультиколоров. В режиме 50Hz они уплывут или все-таки нет? А в режиме 60Hz?

Black_Cat
18.08.2009, 10:04
Разъясните, пожалуйста, на предмет работы мультиколоров. В режиме 50Hz они уплывут или все-таки нет? А в режиме 60Hz?VGA преобразователь на мультиколоры не влияет. Единственно что он вносит - это некоторую задержку видеосигнала, которую юзверь заметить не в состоянии..

zx-kit
18.08.2009, 12:17
http://s44.radikal.ru/i106/0908/1a/28c90d0ca25bt.jpg (http://radikal.ru/F/s44.radikal.ru/i106/0908/1a/28c90d0ca25b.jpg)

http://s56.radikal.ru/i153/0908/86/decfae0578b8t.jpg (http://radikal.ru/F/s56.radikal.ru/i153/0908/86/decfae0578b8.jpg)

http://i014.radikal.ru/0908/bd/aeb0f887bb58t.jpg (http://radikal.ru/F/i014.radikal.ru/0908/bd/aeb0f887bb58.jpg)

Картинка из игры:

Частота кадров 60 Гц:
http://s57.radikal.ru/i157/0908/4c/037da7718919t.jpg (http://radikal.ru/F/s57.radikal.ru/i157/0908/4c/037da7718919.jpg)


Частота кадров 50 Гц:
http://s15.radikal.ru/i188/0908/f2/c1d66b5f6d4ft.jpg (http://radikal.ru/F/s15.radikal.ru/i188/0908/f2/c1d66b5f6d4f.jpg)

skyther
18.08.2009, 14:56
Запусти rage что ли...

molodcov_alex
18.08.2009, 15:02
Запусти rage что ли...
На ленинграде бесполезно. Тут пентагон нужон. Ну или Speccy2007.

UncleDim
18.08.2009, 15:12
Разъясните, пожалуйста, на предмет работы мультиколоров. В режиме 50Hz они уплывут или все-таки нет? А в режиме 60Hz?

В текущем варианте прошивки - при 60Гц наверняка уплывут. Но на "правильную" обработку ресурсов памяти хватает. Хватает ли ресурсов логики - время покажет:)

Black_Cat
18.08.2009, 15:19
В текущем варианте прошивки - при 60Гц наверняка уплывутникуда они не уплывут, как компьютер показывает - так и на VGA
будет. На 60Гц только работы во фрейм не будет

UncleDim
18.08.2009, 15:38
никуда они не уплывут

Поскольку буфер - один (пока?) - уплывут. Физику не обманешь:) Ситуация, когда отображается часть одного поля и часть другого - при одном буфере неизбежна.

Black_Cat
18.08.2009, 16:05
Ситуация, когда отображается часть одного поля и часть другого - при одном буфере неизбежна. и при чём тут мультиколоры? Будет волнообразное обновление экрана по вертикали с частотой 10Гц из-за несовпадения кадровых частот.. короче чушь несёшь..

UncleDim
18.08.2009, 16:18
и при чём тут мультиколоры?

Да не те будут колоры-то. Или мы по-разному понимаем слово "поплывут"?

Black_Cat
18.08.2009, 16:33
когда говорят "мультиколоры плывут" понимают либо несоответствие количества тактов компьютера и демки, либо приходящий не в то время INT.. в обоих случаях это сугубо проблемы компа и конвертор тут ни при чём.. он показывает то, что ему даёт компьютер

UncleDim
18.08.2009, 18:43
либо несоответствие количества тактов компьютера и демки, либо приходящий не в то время INT..

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

KALDYH
19.08.2009, 06:50
Мультиколоры никуда не денутся. А вот эффекты с переключением картинки каждый кадр (гигаскрин то есть) уедут в задницу - на частоте 60 гц на экране будет мерцание с частотой 50-60=10 гц.

Evgeny Muchkin
19.08.2009, 08:59
уедут в задницу - на частоте 60 гц
Ну а в режиме 50 Гц ведь нормально будет правда?

UncleDim
19.08.2009, 12:55
Ну а в режиме 50 Гц ведь нормально будет правда?

При 50Гц должны сохраниться все эффекты.
При 60 - если хватит ресурсов - тоже можно сохранить, например так:
двойная буферизация экрана спека и отображение буферов в порядке 1-2-1-2-1-1-2-1-2-1-2-2
т.е. за время 10 спековских кадров выводить на VGA ровно 12
для 312 строк - должно сработать (312*10/12*2=520)
для 320 - уже не факт, одинаковое количество строк в кадрах VGA уже не получается..

zx-kit
19.08.2009, 19:51
Для подключения платы VGA & PAL используется разъем HU 09F.

zx-kit
20.08.2009, 20:11
* Прошивка с большим номером версии не всегда лучше предыдущей. Она может быть сделана под конкретную модель компьютера или монитора.

Версия в зависимости от нужд - первая для работы на ЖК мониторе с компом с кварцем на 14 МГц, вторая - для нестандартных кварцев, третья - для CRT мониторов. Работа с синхросмесью реализована во всех версиях, подавать на оба вывода сразу.

Для прошивок V 2.06 и выше требуется простая доработка платы - перерезать одну дорожку и припаять два проводка. Должна быть установлена микросхема 74HCT04D. (http://zx.pk.ru/showpost.php?p=212132&postcount=107, доработка 7 )

Прошивки первого поколения:

090820 - V 1.00 - Вывод стандартного режима Спектрума 256x192 на монитор и телевизор. На плату подаются кадровые и строчные синхроимпульсы.

091223 - V1.01 - Добавлена работа от синхросмеси.

100218 - V1.02 - Добавлена совместимость с "Робиком".

Прошивки второго поколения:

090826 - V 2.00 - В данной версии нет вывода на телевизор, но добавлен вывод на монитор дополнительных режимов графики. На плату подаются кадровые и строчные синхроимпульсы. Частота тактовых импульсов для дополнительных режимов должна быть равна частоте вывода точек с компьютера. Теоретически должны выводиться точки со следующими частотами - 7 (стандартный экран), 12 (Профи), 13, 14, 16 МГц. Надо проверять на конкретных компьютерах.

091103 - V 2.06 - Для компьютеров Спектрум (14 МГц), Профи (12 МГц) и Орион (10 МГц). Исправлена кадровая синхронизация для Ориона, добавлено тактирование сигнала VGA (требуется доработка, указанная выше) и вывод на телевизор.

091105 - V 2.07 - пересчитана длительность синхроимпульсов для разных кварцев

091223 - V2.08 - Добавлена работа от синхросмеси. Центрирован экран для Феникса/KAY/SCORPION. Вывод на телевизор пока отключен.

100304 - V2.09 - Для расширенного режима Профи (без палитры) -- http://zx.pk.ru/showpost.php?p=262222&postcount=713

Прошивки третьего поколения:

091025 - V 3.00 - частота кадров 50/100 Гц для VGA и вывод на телевизор:
JP7 OFF - частота кадров 100 Гц для CRT монитора,
JP7 ON - частота кадров 50 Гц для LCD монитора.

091223 - V3.01 - Добавлена работа от синхросмеси.

Для SPECCY2007:

100616 - V 7.00 -- http://zx.pk.ru/showpost.php?p=293424&postcount=762

Для "БК-0010" - -- http://zx.pk.ru/showpost.php?p=380943&postcount=36

Приобрести конструктор этого и других устройств можно на www.zxkit.ru

Файлы прошивок с исходниками:

zx-kit
23.08.2009, 10:53
Проверил возможность обработки изображения со Спектрума с частотой смены точек 14 МГц. В верхней строке знакоместа вместо сигнала со Спектрума на одном из каналов использовался сигнал с частотой 7 МГц, формируемый ПЛИС.

http://i034.radikal.ru/0908/22/c02785b0d257t.jpg (http://radikal.ru/F/i034.radikal.ru/0908/22/c02785b0d257.jpg)

Как видно на CRT мониторе - это возможно, но цвета сливаются. Может на LCD мониторе будет лучше...

Black_Cat
23.08.2009, 11:07
сливаются.. это как?

zx-kit
23.08.2009, 11:58
сливаются.. это как?
Не видно четкого деления на квадратики/прямоугольники. А желтый на белом вообще сливаетстся...

Может на основе этого эксперимента появится режим совместимости с дополнительными режимами графики Профи (частота входных точек 12 МГц) и других (частотата входных точек 14 МГц)...

Black_Cat
23.08.2009, 12:08
Не видно четкого деления на квадратики/прямоугольникит.е. пикселы не разделены? а что, обычно на CRT VGA у тебя разделены? На TV как раз они и не должны быть разделены..
Может на основе этого эксперимента появится режим совместимости с дополнительными режимами графики Профинафиг Профи.. лучше пусть будет совместимость с 512х192 монохром - для Спека это важнее

zx-kit
23.08.2009, 12:14
т.е. пикселы не разделены? а что, обычно на CRT VGA у тебя разделены? На TV как раз они и не должны быть разделены..нафиг Профи.. лучше пусть будет совместимость с 512х192 монохром - для Спека это важнее

Показанный режим соответствует 512х192 в цвете. Если подать черно-белое тоже должно показывать. На каких компьютерах такие режимы есть?

Black_Cat
23.08.2009, 12:24
на Пенте 2.2 в прошивке от DDp, ну и на самоделках разных тож.. это известный видеорежим и во многих текстовых программах юзается.. а для чтения текста, VGA и особенно TFT, лучше чем TV

zx-kit
23.08.2009, 12:34
на Пенте 2.2 в прошивке от DDp, ну и на самоделках разных тож.. это известный видеорежим и во многих текстовых программах юзается.. а для глаз VGA, особенно TFT лучше чем TV

Плата с Пентагоном 2.2 пока не совместима, так как используются раздельные кадровые и строчные синхроимпульсы. Еще не придумал, как устойчиво их выделять из синхросмеси.

Для эксперимента пришлось убрать часть, формирующую сигналы для SCART и PAL-кодера...

Black_Cat
23.08.2009, 12:58
Для эксперимента пришлось убрать часть, формирующую сигналы для SCART и PAL-кодера...да и фиг с ними.. на Пенте свой PAL-кодер есть.

Еще не придумал, как устойчиво их выделять из синхросмеси.вот так не катит? ..правда на строчной так и остаётся синхросмесь.. но из неё можно потом вычесть полученный кадровый..

zx-kit
23.08.2009, 13:00
да и фиг с ними.. на Пенте свой PAL-кодер есть.
вот так не катит?
можно заархивировать в zip или 7z, а то у меня LINUX?
Желательно, чтобы селектор работал и с SPECCY2007...

Black_Cat
23.08.2009, 13:18
Желательно, чтобы селектор работал и с SPECCY2007...с TV работать будет, а вот с конвертором - х.з., поменял прикрепление

zx-kit
23.08.2009, 13:29
с TV работать будет, а вот с конвертором - х.з., поменял прикрепление

Спасибо.
Но это не совсем то, что нужно. Нужно, чтобы по спаду синхроимпульса сбрасывались счетчики точек.

Во время рабочей части экрана все хорошо. А во время кадрового синхроимпульса начинаются проблемы. Да еще у каждого компьютера по-разному. Пока определим, что начался кадровый синхроимпульс, строчный уже придет неправильный...

Предполагаю, что во время основной части экрана надо использовать синхросмесь как строчные синхроимпульсы, а ближе к концу экрана переходить на автономный режим работы счетчиков без сброса от синхроимпульсов. Но это надо прорабатывать...

Какие-нибудь идеи еще есть? На VHDL.

Sayman
25.08.2009, 06:12
нафиг Профи.. лучше пусть будет совместимость с 512х192 монохром - для Спека это важнее
Чем же это 512на192 важнее для спектрума? это кривая не нужная поделка, этот режим. количество софта написанного под него как бы немного меньше, чем под профи. профи лучше пусть будет. я даже соглашусь в ущерб тв, т.к. давно стоит лцд монитор. вот к нему и подрубил бы.

Zloy
25.08.2009, 08:14
Чем же это 512на192 важнее для спектрума? это кривая не нужная поделка, этот режим. количество софта написанного под него как бы немного меньше, чем под профи.
Соглашусь с предыдущим аратором... 512x192 навиг нужно. Под профинский экран сохранилось куда больше софта, включая и профессионального - базы данных, текстовые редакторы, компиляторы (не спорю может не актуально, но сохранить для потомков надо), CP/M под расширеный экран с хорошим командером и мн.др. Да и на форуме много владельцев Профи. Так что Профинский экран считаю более актуальным.


на Пенте 2.2 в прошивке от DDp, ну и на самоделках разных тож.. это известный видеорежим и во многих текстовых программах юзается..
Каких программах конкретно?

Black_Cat
25.08.2009, 09:09
Чем же это 512на192 важнее для спектрума? это кривая не нужная поделка, этот режим. количество софта написанного под него как бы немного меньше, чем под профи:) боюсь от твоего желания мало что зависит :) , т.к. 512х192 судя по экспериментам автора уже поддержиается устройством без принципиальных изменений конструктива, т.к. в монохроме нет проблемы с цветом.. а для профинских режимов надо девайс изменять.. Дык что 512х192 уже поддерживается, а Профи - эт как получится :)
Каких программах конкретно?http://speccy.info/512x192

Дмитрий
25.08.2009, 09:17
dec188, автор как-то писал, что возможно поддержать разные клоны с нестандартными разрешениями, но это в отдельных прошивках. Так что прошу не сбивать zst с толку, пока это ему интересно - поддержит 512*192 - хорошо, если еще и профи/атм - то еще лучше!

Black_Cat
25.08.2009, 11:37
Так что прошу не сбивать zst с толку, пока это ему интересно - поддержит 512*192 - хорошо, если еще и профи/атм - то еще лучше!:) от моих желаний ничего не зависит, всё определяется теорией информации :) . Для конвертации цветного ЦР/Много экрана Профи нужа частота дискретизации 24МГц, что требует увеличения используемого буферного ОЗУ в 1,7 раза.. т.е. в существующую конструкцию уже не вписываемся :) , разве только можно попробовать исключительно для кадровой 50Гц, т.к. в этом случае нужен буфер только на одну строку..

---------- Post added at 11:37 ---------- Previous post was at 11:02 ----------

Кстати, zst, раз пошла такая пьянка могу поделиться своим know-how для монохромных режимов 512х192, 512х384 interlace - как увеличить частоту дискретизации в два раза без необходимости увеличивать объём имеющегося ОЗУ. Суть know-how проста - т.к. режимы монохромные, то нет смысла сохранять 4 бит RGBI, а достаточно одного бита.. таким образом помещается монохромный экран в 4 раза больше объёмом. Кстати, при этом конвертор получает дополнительную функцию преобразователя вертикального видеоразрешения, что добавляет функционала девайсу и делает его ещё более полезным :) . Этот режим получаем если одновременно с 512х192 использовать покадровый Gigascreen.

zx-kit
25.08.2009, 12:03
:) от моих желаний ничего не зависит, всё определяется теорией информации :) . Для конвертации цветного ЦР/Много экрана Профи нужа частота дискретизации 24МГц, что требует увеличения используемого буферного ОЗУ в 1,7 раза..
т.е. в существующую конструкцию уже не вписываемся :) , разве только можно попробовать исключительно для кадровой 50Гц, т.к. в этом случае нужен буфер только на одну строку..[COLOR="Silver"]


Сейчас для режима 512х192 на VGA точки выводятся с частотой 28МГц.
Для Профи нужно немного помедленнее выводить. Память сейчас используется на 50%, A17 не используется, но для дополнительных режимов пришлось использовать все 16 бит шины данных...



раз пошла такая пьянка могу поделиться своим know-how для монохромных режимов 512х192, 512х384,

Это в каждой строке VGA? А как она подается на телевизор при 312/320 строках?


768х256 - как увеличить частоту дискретизации в два раза без необходимости увеличивать объём имеющегося ОЗУ. Суть know-how проста - т.к. режимы монохромные, то нет смысла сохранять 4 бит RGBI, а достаточно одного бита.. таким образом помещается монохромный экран в 4 раза больше по площади
Наверно проще все подряд обрабатывать на удвоенной скорости без определиния типа режима. А для определения ПРОФИ/НЕ ПРОФИ попробовать считать количество точек между строчными синхроимпульсами. Это значение использовать для окончания счета счетчиков точек VGA. Надо попробовать...

Black_Cat
25.08.2009, 12:35
А как она подается на телевизор при 312/320 строках?я в посте выше дописал - режим интерлейсный. Кстати, чисто теоретически, этот же конвертор может служить преобразователем не только для VGA, но и преобразовывать прогрессивную развёрку в черезстрочную для TV, для отображения режимов удвоенного вертикального разрешения, но сделать такое труднее будет. При том удвоенное по вертикали разрешение можно получать как для монохрома, так и в цвете. Нужно только как-то получать информацию о включении режима вертикального удвоения.

---------- Post added at 12:35 ---------- Previous post was at 12:21 ----------

Имхо, всё же для желающих юзать удвоение по вертикали и горизонтали, гигаскрин и их комбинации, лучше добавить возможность подавать на плату с компа доп. сигналы управления, определяющие режим-модификатор текущего видеорежима, это всего три доп. провода

zx-kit
25.08.2009, 13:15
я в посте выше дописал - режим интерлейсный. Кстати, чисто теоретически, этот же конвертор может служить преобразователем не только для VGA, но и преобразовывать прогрессивную развёрку в черезстрочную для TV, для отображения режимов удвоенного вертикального разрешения, но сделать такое труднее будет. При том удвоенное по вертикали разрешение можно получать как для монохрома, так и в цвете. Нужно только как-то получать информацию о включении режима вертикального удвоения.

С монитора на телевизор? А я тут подумываю убрать каскады вывода на телевизор с платы. Почти никто не заказывает PAL...



Имхо, всё же для желающих юзать удвоение по вертикали и горизонтали, гигаскрин и их комбинации, лучше добавить возможность подавать на плату с компа доп. сигналы управления, определяющие режим-модификатор текущего видеорежима, это всего три доп. провода


У ПЛИС шесть свободных выводов выведены на переходные отверстия, куда можно подпаять провода к дополнительному разъему...

А кто будет прошивки делать ?

Black_Cat
25.08.2009, 13:26
С монитора на телевизор? А я тут подумываю убрать каскады вывода на телевизор с платы. Почти никто не заказывает PAL...как раз с ПАЛом там могут быть проблемы, поэтому преобразователь для ТВ скорее годится только для RGB.. уж очень там придётся извратиться чтоб получить лишние полстроки развёртки на кадр.
У ПЛИС шесть свободных выводов выведены на переходные отверстия, куда можно подпаять провода к дополнительному разъему...

А кто будет прошивки делать ?:) ты конечно :) , кстати это будет проще в реализации чем придумывать всякие детекты расширенных режимов, так что тебе будет проще именно такую прошивку сделать, чем с автодетектами..

Sayman
25.08.2009, 14:29
мне как бы в целом пофиг. пока работает недопалкодер, профик кажет на вга монитор. будет если сабж работать хорошо, нет, пофигу. а то всякие левые режимы поддерживают, а нормалные, под которые дофига софта фиг. как обычно, стоило одному сказать "нет" и всё...понеслось...

Black_Cat
25.08.2009, 15:00
всякие левые режимы поддерживают, а нормалные:) дело в том, что "левые" для тебя - это как раз спековские режимы.. А все спековские режимы поддержать во много раз проще, т.к. схемотехника при этом простая. А вот всякую НЕСПЕКТРУМОВСКУЮ левизну типа Profi и АТМ CP/M режимы поддерживать геморно - усложняется схемотехника.. а конвертор всё-таки в первую очередь делается для Спека, а не для всякой левизны.. поэтому вполне естественно, что левизна будет поддерживаться в последнюю очередь. Тут нет ничего личного, просто Спектрум и "всякая левизна" слишком отличаются..

UncleDim
25.08.2009, 23:52
левизну типа Profi и АТМ CP/M режимы поддерживать геморно
Принципиально - не особо сложнее спековских. Ресурсы есть, было бы желание:)
Тут нюанс в том, что АТМ/Profi _стартуют_ в расширенных режимах (не во всех версиях, ну это детали) - зачем заранее выкидывать сегмент применимости хорошего устройства?
А ведь есть еще (о ужас!:) векторы/орионы/etc...

zx-kit
26.08.2009, 07:23
Принципиально - не особо сложнее спековских. Ресурсы есть, было бы желание:)
Тут нюанс в том, что АТМ/Profi _стартуют_ в расширенных режимах (не во всех версиях, ну это детали) - зачем заранее выкидывать сегмент применимости хорошего устройства?
А ведь есть еще (о ужас!:) векторы/орионы/etc...

Проверил свою идею про подсчет тактов между синхроимпульсами.
Работает. Реализованы каналы RGB, осталось сделать I.

Специалисты по VHDL! Объясните, как использовать этот примитив в своем проекте или образец проекта, где он используется. Варианты с if и when для создания открытого коллектора ("z") не подходят по соображениям скорости.



-- Add the library and use clauses before the design unit declaration
library altera;
use altera.altera_primitives_components.all;
-- Instantiating OPNDRN
<instance_name> : OPNDRN
-- <data_out> may feed an inout pin
port map (a_in => <data_in>, a_out => <data_out>);


Шаблон вроде понятен, а что конкретно и куда писать нет...

Допустим, есть сигнал I_VGA. Его нужно подать на I_VGA_0, I_VGA_1, I_VGA_2. Эти три выхода должны быть с открытым коллектором (open drain).
нужно, чтобы работал следующий код без дополнительной обработки.



I_VGA_0 <= I_VGA;
I_VGA_1 <= I_VGA;
I_VGA_2 <= I_VGA;

Zloy
26.08.2009, 08:14
А вот всякую НЕСПЕКТРУМОВСКУЮ левизну типа Profi и АТМ CP/M режимы поддерживать геморно - усложняется схемотехника.. а конвертор всё-таки в первую очередь делается для Спека, а не для всякой левизны.. поэтому вполне естественно, что левизна будет поддерживаться в последнюю очередь. Тут нет ничего личного, просто Спектрум и "всякая левизна" слишком отличаются..
Ну началось... Спековскиая, не спековская... Уже выяснили, что под Профи и ATM в разы больше софта чем под 512x192, да и компов этих тоже много сохранилось. Поэтому, ответ на вопрос, что поддерживать а что нет - очевиден.

zst, считаю убирать детали для PAL-кодера имхо не стоит. Не у всех есть PAL-кодер от NedoPC. Плюс те кто заказывал без деталей для PAL, возможно просто их уже имеют или поставят в будущем.

Black_Cat
26.08.2009, 08:42
под Профи и ATM в разы больше софта чем под 512x192, да и компов этих тоже много сохранилось. Поэтому, ответ на вопрос, что поддерживать а что нет - очевиден:) под Амигу и Коммодор - ещё больше, да и компов этих в тысячи раз больше сохранилось. Поэтому, ответ на вопрос, что поддерживать а что нет - очевиден:

Давайте поддерживать всё что НЕСПЕКТРУМ и чего мгого :)

P.S. Zloy, не надо устраивать holy war, русским же языком объяснили - в первую очередь спековские режимы, т.к. конвертор предназначн для Спека, а все спековские режимы получаются сразу и без напряга, т.е. автоматически, и изголяться для их получения не приходится. Что касается всякой левизны типо Profi и АТМ CP/M режимов, для получения которой надо изголяться - то это на факультативной основе и по остаточному принципу - т.е. хватит-ли места в ПЛИС, и будет-ли желание у автора :) .

ZEK
26.08.2009, 09:25
zst, на Verilog так



module opendrain(
input test_i,
input gate_i,
output result_o
);

wire test = (gate_i) ? test_i : 1'bz;

OPNDRN od0 (test, result_o);

endmodule


можно без oe



module opendrain(
input test_i,
output result_o
);

OPNDRN od0 (test_i , result_o);

endmodule


То есть по синтаксису как обычное подключение модуля. На VHDL скорее всего тоже самое

Zloy
26.08.2009, 10:27
P.S. Zloy, не надо устраивать holy war, русским же языком объяснили - в первую очередь спековские режимы, т.к. конвертор предназначн для Спека, а все спековские режимы получаются сразу и без напряга, т.е. автоматически, и изголяться для их получения не приходится. Что касается всякой левизны типо Profi и АТМ CP/M режимов, для получения которой надо изголяться - то это на факультативной основе и по остаточному принципу - т.е. хватит-ли места в ПЛИС, и будет-ли желание у автора .
На счет holy war согласен... поэтому попросил бы воздержаться от эпитетов типа "левизна" и т.п.

Black_Cat
26.08.2009, 10:59
:) Zloy, CP/M видеорежимы - это и есть левизна, т.к. к Спектруму никаким боком не относятся :) . А т.к. топик, рубрика, раздел, и сам форум - про Спектрум, то всё что не Спектрум - это левизна :) , как и на всяких амижных и коммодоровских форумах например, левизной будет сам Спектрум :)

..всё - относительно.. :) ..если ты фанат CP/M на Profi или АТМ, то для тебя они не левизна.., а для спектрумистов - левизна видеорежимы CP/М :) ..неуж-то надо разжёвывать сами собой понятные вещи? :)

Zloy
26.08.2009, 12:11
Пора заканчивать с этой темой... что правее, а что левее.:) Автор сам для себя решит, что ему выгодней поддержать: режимы которые "спековсие" и которые никому нафиг не нужны или "неспековские" режимы самых лучших клонов - Профи и АТМ.;)

---------- Post added at 11:11 ---------- Previous post was at 11:09 ----------


всё что не Спектрум - это левизна
Я бы еще добавил: все что не 48К и не фирменный Спек.)))

Black_Cat
26.08.2009, 13:02
Автор сам для себя решит, что ему выгодней поддержать: режимы которые "спековсие" и которые никому нафиг не нужны или "неспековские" режимы самых лучших клонов - Профи и АТМ.:) Zloy, ну что ты тугодум-то такой.. :) Третий раз объясняю - спектрумовские режимы потому и являются спектрумовскими, что достаточно поддержать единственный старший режим по разрешению (т.е. 512х192) и сразу автоматически появляется поддержка синхронизации абсолютно всех остальных возможных спековских режимов. При том не важно - это уже существующие видеорежимы, или ещё нет - они всё-равно уже поддерживаются автоматом. В этом и заключается спектрум-совместимость видеорежимов. Так что все спековские видеорежимы уже автором поддержаны :) , а решать остаётся только относительно неспековских :)

ZEK
26.08.2009, 13:17
Третий раз объясняю - спектрумовские режимы потому и являются спектрумовскими, что .... частота пикселей кратна 7МГц


dec188, не жги

Black_Cat
26.08.2009, 14:01
частота пикселей кратна 7МГц:) только примерно :) ~7МГц :) ..а в пикселях - точно! :)

---------- Post added at 14:01 ---------- Previous post was at 13:30 ----------

Кстати, на некоторых клонах с повышенной тактовой (Балтик и его БМКшные клоны - 16МГц), или растянутым экраном (Новосибирские - 13МГц) тож могут быть проблемы.

Zloy
26.08.2009, 14:58
сразу автоматически появляется поддержка синхронизации абсолютно всех остальных возможных спековских режимов. При том не важно - это уже существующие видеорежимы, или ещё нет
Возможные спековские режимы... которых не существует.:v2_clap2::v2_laugh:
Кто больше "тугодум" еще можно поспорить.:)
Я просто пытался доказать значимость режимов Профи и АТМ а не выяснить что является "спековским" или что проще поддержать.

zx-kit
26.08.2009, 19:54
Надеюсь с этой версией заработает вывод дополнительных графических режимов на VGA:

http://zx.pk.ru/showpost.php?p=213835&postcount=165

Black_Cat
26.08.2009, 20:05
Вожможно заработают и на 13 и 16 МГц.это тактовая, а пиксельклок там 6,5 и 8МГц.

zx-kit
26.08.2009, 20:14
это тактовая, а пиксельклок там 6,5 и 8МГц.

Ну по аналогии - сейчас работает на 7 МГц для стандартного режима и 14 для дополнительного. Никаких дополнительных сигналов не требуется. Просто для стандартного режима точка записывается и выводится два раза подряд.

Error404
27.08.2009, 00:26
Принципиально - не особо сложнее спековских. Ресурсы есть, было бы желание:)

А ведь есть еще (о ужас!:) векторы/орионы/etc...

Кстати, да... :v2_rolley

MacSys
27.08.2009, 00:41
Готовый продукт сколько будет стоить ? и как насчет пересылки в Украину

zx-kit
27.08.2009, 04:59
Готовый продукт сколько будет стоить ? и как насчет пересылки в Украину

До понедельника идет прием заказов на "барахолке":
http://zx.pk.ru/showthread.php?t=10728

---------- Post added at 06:59 ---------- Previous post was at 06:51 ----------





А ведь есть еще (о ужас! векторы/орионы/etc...

Кстати, да...


Там кварц вроде 10 МГц. Понадобится прошивку менять. А цвета там вроде нет. Хотя, может и так заработает...

Error404
27.08.2009, 09:45
Там кварц вроде 10 МГц. Понадобится прошивку менять. А цвета там вроде нет. Хотя, может и так заработает...

За Вектор не скажу, а на Орионе 2 основных режима:
- 384х256 : 16 цветов (RGBI) или монохром (черно-зеленый)
- 480х256 : 16 цветов (RGBI) или монохром
Оба режима на 10 Мгц

Оно в принципе реализуемо в том же аппаратном модуле, что и для Спека (понятно, другой прошивкой)?

zx-kit
27.08.2009, 10:40
За Вектор не скажу, а на Орионе 2 основных режима:
- 384х256 : 16 цветов (RGBI) или монохром (черно-зеленый)
- 480х256 : 16 цветов (RGBI) или монохром
Оба режима на 10 Мгц

Оно в принципе реализуемо в том же аппаратном модуле, что и для Спека (понятно, другой прошивкой)?

Если формирование цвета как в Спектруме, то да.

Mick
27.08.2009, 15:04
Если формирование цвета как в Спектруме, то да.
Там цвет формируется не как в Спектруме (два цвета на блок 8х8 точек).
В Орионе 2 цвета на 8 точек - 16 цветный режим. А второй, 4 цветный, не помню.

ZEK
27.08.2009, 15:14
Там цвет формируется не как в Спектруме (два цвета на блок 8х8 точек).
наверное имелось ввиду RGBI на выходе

zx-kit
27.08.2009, 15:30
наверное имелось ввиду RGBI на выходе

Да, плата работает только с одной точкой в данный момент, а формированием кода цвета точки занимается конкретный компьютер. У спектрума сигнал яркости общий на RGB и уменьшает или нет каждый из уровней RGB. Если в Орионе также работает I, то будет соответствие цветов.

Частота кварца теперь почти не важна. Если длительность строчных синхроимпульсов не подойдет для монитора, можно это скорректировать с помощью прошивки. Частота строк и кадров, наверно, у всех компьютеров, выводящих изображение на телевизор одинаковая.

Хотите попробовать подключить - попробуйте.

Ewgeny7
27.08.2009, 23:17
Добавлен пост о подключении Спекки-2007 к VGA-конвертору. :)
В теме о продаже плат конвертера.

VELESOFT
27.08.2009, 23:21
Will work this convertor with original ZX Spectrum 128 / +2 / +2A / +3 models ?
All this computers use this screen timing:

Clock to ULA chip: 17.7345 MHz
ULA use pixel clock: 7.0938 MHz (CPU clock 3.5469 MHz)
Each TV line contain 456 pixels (64.28148524 ys)
Full frame contain only 311 microlines (TV lines)
Frame rate: 50.021154 Hz


If 64.28148524 ys is critical for TV line, is possible in ZX Spectrum replace crystal 17.7345 MHz with new 17.8125 MHz and ZX will use:

Clock to ULA chip: 17.8125 MHz
ULA use pixel clock: 7.125 MHz (CPU clock 3.5625 MHz)
Each TV line contain 456 pixels (64.0 ys)
Full frame contain only 311 microlines (TV lines)
Frame rate: 50.241157 Hz

Zloy
27.08.2009, 23:36
Device need separated H_sync and V_sync signals. Is it possible to get them from original Spectrum?

Ewgeny7
27.08.2009, 23:43
И до кучи, 17.7345 MHz/7.0938 MHz <>2 :(

VELESOFT
28.08.2009, 00:45
Device need separated H_sync and V_sync signals. Is it possible to get them from original Spectrum?

No, only COMPOSITE SYNC and VERTICAL SYNC.

---------- Post added at 18:45 ---------- Previous post was at 18:34 ----------


И до кучи, 17.7345 MHz/7.0938 MHz <>2 :(

This is easy divided in FPGA.
7.0938 * 2.5 = 17.7345 :v2_wink2:

ZX models +2 / +2A and +3 use crystal 35.xx MHz - this is divided to 17.7xx MHz and connect to ULA. On this computers is possible use signal 35.xx MHz and VGA vonvertor can easy divide pixel clock ( 35.xx MHz / 5 = 7.xx MHz pixel clock )

zx-kit
28.08.2009, 05:17
No, only COMPOSITE SYNC and VERTICAL SYNC.[COLOR="Silver"]

Пока от синхросмеси плата не работает, может быть потом заработает...



This is easy divided in FPGA.
7.0938 * 2.5 = 17.7345 :v2_wink2:

это сложно...



ZX models +2 / +2A and +3 use crystal 35.xx MHz - this is divided to 17.7xx MHz and connect to ULA. On this computers is possible use signal 35.xx MHz and VGA vonvertor can easy divide pixel clock ( 35.xx MHz / 5 = 7.xx MHz pixel clock )
А если такую частоту подать на плату проводом длиной 15 см - будет ли устойчиво работать? И делить на 5 - тоже будет не меандр, хотя для точек с частотой 7 МГц будет не важно. Только в ПЛИС все сигналы тактируются от 14 МГц. Нужна будет глобальная переделка проекта...

Black_Cat
28.08.2009, 14:22
Как видно из фоток, нормальную геометрию можно получить токо на CRT за счёт ручных настроек.. на TFT получается сжатие по горизонтали.. Это можно исправить уменьшив размер буфера по горизонтали, т.е. не запоминать часть бордюра вначале и в конце строки, а то, что запомнилось - выводить на пониженной частоте. Т.е. надо ещё один кварц или генератор прям на плате.

---------- Post added at 14:22 ---------- Previous post was at 13:51 ----------

Кстати, мож на 16:10 как раз всё нормульно покажет? Есть у кого такой монь, чтоб сделать фотки?

Mick
28.08.2009, 14:39
Как видно из фоток, нормальную геометрию можно получить токо на CRT за счёт ручных настроек.. на TFT получается сжатие по горизонтали.

Ничего подобного, на TFT тоже нормальный экран можно получить, можете посмотреть 6845 чип это делает нормально :)

http://www.zx.pk.ru/showpost.php?p=126379&postcount=71

Black_Cat
28.08.2009, 14:42
вопрос не в чипе, а в параметрах оцифровки и воспроизведения.. У тебя в 6845 вообще оцифровки как таковой нет, а значит и проблем таких тож

Ewgeny7
28.08.2009, 14:52
У тебя бордюр весь виден. На конвертере это не так.

ZEK
28.08.2009, 14:54
Блин, а не проще просто поменять константы для плеч в синхре
увеличив их немного
картинка станет шире

zx-kit
28.08.2009, 15:03
Блин, а не проще просто поменять константы для плеч в синхре
увеличив их немного
картинка станет шире

Я предлагал увеличить ширину строчных. На сколько?

ZEK
28.08.2009, 15:08
Я предлагал увеличить ширину строчных. На сколько?
Можно посчитать но проще наверное методом научного тыка :), думаю пикселя на 4 пикселя левое плечо 12 правое (должно хватить), просто VESA вроде как не регулирует соотношение плеч к позиции картинки. Если синхра без гашения тодгда сложнее.

Ewgeny7
28.08.2009, 15:11
Давайте, давайте! пока у меня машинка собраная и я дома сижу и мне делать больше нефиг :)

zx-kit
28.08.2009, 15:13
Можно посчитать но проще наверное методом научного тыка :), думаю пикселя на 4 пикселя левое плечо 12 правое (должно хватить), просто VESA вроде как не регулирует соотношение плеч к позиции картинки. Если синхра без гашения тодгда сложнее.

Синхра без гашения. Но может TFT считает картинкой то время, когда нет синхроимпульса и его растягивает на всю ширину ?

ZEK
28.08.2009, 15:20
огда нет синхроимпульса и его растягивает на всю ширину ?
Трудно сказать, когда гашение есть автонастройка однозначно работает в активной области. CRT мониторы технически не смогут так рисовать а вот TFT вполне..

Mick
28.08.2009, 15:21
Что собственно гадать, если пиксельклок 14МГЦ, то и все сигналы строчки будут короче обычных в два раза. Это самое в 6845 проходило. По логике вещей и здесь должно проходить.
Ты же выводишь VGA, как понял из второго буфера.

Black_Cat
28.08.2009, 15:23
Но может TFT считает картинкой то время, когда нет синхроимпульса и его растягивает на всю ширину ?ессно да, в TFT VGA (не путать с TFT TV) нет переразвёртки, потому и изображение принципиально будет сплюснуто по горизонтали.. ВСЕГДА! :) делать нужно как я сказал - эмулировать переразвёртку отрезанием части бордюра вначале и конце строки

zx-kit
28.08.2009, 15:28
Давайте, давайте! пока у меня машинка собраная и я дома сижу и мне делать больше нефиг :)

Увеличил в два раза ширину строчных синхроимпульсов.

Давайте продолжим отладку сдесь, а не на барахолке. А то по двум темам прыгать затруднительно.

Все-таки выложите прошивку для SPECCY2007 и круги на Скорпионе.

Ewgeny7
28.08.2009, 15:33
и круги на Скорпионе.
Не выложу, ибо Скорпион без клавиатуры, просто плата. Нормальные фото со Скорпиона будут в понедельник с работы.


выложите прошивку для SPECCY2007
выкладываю.


Увеличил в два раза ширину строчных синхроимпульсов.
Сейчас проверю.

Black_Cat
28.08.2009, 15:35
Увеличил в два раза ширину строчных синхроимпульсов.не поможет.. кстати переразвёртка составляет вроде 5-10% строки, хотя судя по фоткам там значительно больше

ZEK
28.08.2009, 15:41
переразвёртка составляет 5-10%
Ты уже определись есть переразвертка или нет, и какая переразвертка без области гашения?

Black_Cat
28.08.2009, 15:45
сказал же - на TFT VGA нет переразвёртки, а надо её сделать принудительно, укоротив оцифровываемую часть строки именно на размер области переразвёртки, как это делается в TFT TV

ZEK
28.08.2009, 15:49
Вот нашол официальный VESA эксель там вроде и позицию и прочее можно считать
А еще по расчету положения картинки нашол

Ewgeny7
28.08.2009, 15:49
Фтопку новую прошивку. Нечто, напоминающее гашение, закрыло изрядную часть экрана. Геометрия не изменилась.
"гашение" и слева и справа экрана, справа поуже.

zx-kit
28.08.2009, 15:56
выкладываю.


Переделайте, пожалуйста, в прошивке SPECCY2007 формирование синхроимпульсов.

Было:


if ChrC_Cnt = 7 then

if not ( Ver_Cnt = 31 ) then
SYNC <= hsync;
elsif ChrR_Cnt = 3 or ChrR_Cnt = 4 or ( ChrR_Cnt = 5 and ( Hor_Cnt >= 40 or Hor_Cnt < 12 ) ) then
VERSYNC <= vsync2;
else
VERSYNC <= vsync1;
end if;

Сделать:


SYNC<=hsync; -- строчные синхроимпульсы идут всегда

if ChrC_Cnt = 7 then

if not ( Ver_Cnt = 31 ) then
VERSYNC <= '1'; -- нет кадрового синхроимпульса
elsif ChrR_Cnt = 3 or ChrR_Cnt = 4 or ( ChrR_Cnt = 5 and ( Hor_Cnt >= 40 or Hor_Cnt < 12 ) ) then
VERSYNC <= '0'; -- кадровый синхроимпульс
else
VERSYNC <= '1'; -- нет кадрового синхроимпульса
end if;

Black_Cat
28.08.2009, 15:56
Фтопку новую прошивку:) боюсь простых методов не будет, zst добавляй обратные связи в счётчики для отрезания краёв строки заточенные под тактовую воспроизведения 11МГц от внешнего генератора, для Спека с тактовой 14МГц (для Профи будет ещё меньше.. или как есть, но с искажением геометрии)

zx-kit
28.08.2009, 16:31
ewgeny7
Как дела? Прошивку SPECCY2007 пробовали изменить?

Ewgeny7
28.08.2009, 17:22
Как дела? Прошивку SPECCY2007 пробовали изменить?
Вернулся с магазина...
А куда делся сигнал SYNC (строчный) ???? :)

zx-kit
28.08.2009, 17:26
Вернулся с магазина...
А куда делся сигнал SYNC (строчный) ???? :)
В самой первой строчке кода, так и добавить перед if.

Ewgeny7
28.08.2009, 17:34
Ничего не изменилось, даже фотки ложить не буду.

VELESOFT
28.08.2009, 17:37
No, only COMPOSITE SYNC and VERTICAL SYNC.

---------- Post added at 18:45 ---------- Previous post was at 18:34 ----------



This is easy divided in FPGA.
7.0938 * 2.5 = 17.7345 :v2_wink2:

ZX models +2 / +2A and +3 use crystal 35.xx MHz - this is divided to 17.7xx MHz and connect to ULA. On this computers is possible use signal 35.xx MHz and VGA vonvertor can easy divide pixel clock ( 35.xx MHz / 5 = 7.xx MHz pixel clock )

http://velesoft.speccy.cz/other/zx128_35to14+7mhz.png

zx-kit
28.08.2009, 17:39
Ничего не изменилось, даже фотки ложить не буду.

На плате VGA & PAL - V2.00,
на SPECCY2007 - с моими изменениями,
перемычка поставлена на 50 Гц ?

Тогда пока новых идей нет. Надо подождать картинки кругов с других компов на 50 Гц...

А как игры на 50 и 60 Гц - отличается от телевизора по ощущениям ?

Black_Cat
28.08.2009, 17:44
ewgeny7, если у тя кварец на 11МГц под рукой есть - припаяй к генератору от PALа, и выход кинь на одну из резервных ног, а zst пусть изменит прошивку

zx-kit
28.08.2009, 17:56
IMG


Красиво и вроде просто. Но я пытался делить на 3, а QUARTUS отказался менять сигнал по фронту и спаду синхроимпульса.

Может формировать как смесь двух сигналов по OR или AND. Но там могут появиться выбросы возле фронтов.

---------- Post added at 19:56 ---------- Previous post was at 19:45 ----------


Скорпион без клавиатуры, просто плата.

Можно вас попросить измерить размеры черного прямоугольника с красными вертикальными полосками сразу после сброса Скорпиона для 50 и 60 Гц ?

ZEK
28.08.2009, 17:57
о я пытался делить на 3, а QUARTUS отказался менять сигнал по фронту и спаду синхроимпульса.
А таких тригеров не бывает. Простейшее как ты написал обьединять сигналы
и не так красиво

можно что то в духе

module div3(
input clk_i,
output res_o
);

reg [1:0]r0;
reg r1;

always @ (posedge clk_i) r0 = r0 + 1;
always @ (negedge clk_i) r1 = ~r1;

assign res_o = r0[1] ^ r1;

endmodule

Black_Cat
28.08.2009, 18:13
heroy, подскажи лучше простой синтезатор частоты 11МГц из 14МГц, чтоб не нужен был внешний генератор[COLOR="Silver"]

---------- Post added at 18:13 ---------- Previous post was at 18:03 ----------

Более точно на TFT мониторе померил соотношение сторон на фотке жени7 =1,2 т.е. надо 14МГц/1,2=11,67МГц, а для синтезатора соответственно применять формулу: 14МГц х5/6=11,67МГц

zx-kit
28.08.2009, 18:18
Чето у меня не получается, можно нарисовать как VELESOFT?

ZEK
28.08.2009, 18:23
Чето у меня не получается, можно нарисовать как VELESOFT?
Это я на 3 делитель нарисовал что первое в голову пришло, делитель на 2,5 мне кажется сложнее гораздо (а может проще), по пути домой подумаю...

Можно конечно на свободный пин прицепить rc цепочку и сделать умножение частоты... делить на 5 проще :)

VELESOFT
28.08.2009, 18:51
This is table with timing different ULA types
http://velesoft.speccy.cz/other/zx-ula-timing.gif

"ULA-1" is russian square ula ( signed as: ULA 1 / ULA-216 / T34BG1-213 / ULA-BALTIK / KA1515XM1-171 ).
This ula is used on some russian ZX clones and also in ZX clones Didaktik M and Didaktik Kompakt. Use only R,G,B,BRIGHT,CSYNC.

( http://velesoft.speccy.cz/other/fotos-for-ru/ )

http://velesoft.speccy.cz/other/fotos-for-ru/IMGP6097.JPG

ULA-1 used in some other russian ZX clones:
http://sblive.narod.ru/ZX-Spectrum/ANBELO-C/ANBELO-C.htm
http://sblive.narod.ru/ZX-Spectrum/PLM-X/PLM-X.htm
http://sblive.narod.ru/ZX-Spectrum/Sirius/Sirius.htm
http://sblive.narod.ru/ZX-Spectrum/ATAS/ATAS.htm
All this russian ZX clones use "ULA 1" chip with same pinout.

Ewgeny7
28.08.2009, 18:52
Последняя фотосессия.
1. Спекки с перемычкой 50/60герц
2. Спекки без -----11----
3. Скорпион с -----11----
4. Скорпион без ----11----
5. Скорпион без ----11---- и с перемычкой inverse KSI. На мой взгляд, самое оптимальное :)
Размер "квадрата" и у Спекки и у Скорпиона абсолютно одинаковые, 24х22. Расположение на экране - тоже, судя по фоткам и личным ощущениям.

zx-kit
28.08.2009, 19:02
Последняя фотосессия.
1. Спекки с перемычкой 50/60герц
2. Спекки без -----11----
3. Скорпион с -----11----
4. Скорпион без ----11----
5. Скорпион без ----11---- и с перемычкой inverse KSI. На мой взгляд, самое оптимальное :)
Размер "квадрата" и у Спекки и у Скорпиона абсолютно одинаковые, 24х22. Расположение на экране - тоже, судя по фоткам и личным ощущениям.
А что-то при 50 Гц экран не сжимается по-вертикали. Только смещается...

PS. У монитора есть какие-нибудь кнопки типа автокалибровка и индикатор входной частоты. Может он не различает 50 и 60 Гц?

Ewgeny7
28.08.2009, 19:29
PS. У монитора есть какие-нибудь кнопки типа автокалибровка и индикатор входной частоты. Может он не различает 50 и 60 Гц?
Есть. Я смотрел режимы.
Есть и автоподстройка, но она геометрию опять таки не меняет.

zx-kit
28.08.2009, 19:44
Есть. Я смотрел режимы.
Есть и автоподстройка, но она геометрию опять таки не меняет.

На Самсунге проверить геометрию можете ?

---------- Post added at 21:44 ---------- Previous post was at 21:31 ----------


This is table with timing different ULA types
http://velesoft.speccy.cz/other/zx-ula-timing.gif

"ULA-1" is russian square ula ( signed as: ULA 1 / ULA-216 / T34BG1-213 / ULA-BALTIK / KA1515XM1-171 ).
This ula is used on some russian ZX clones and also in ZX clones Didaktik M and Didaktik Kompakt. Use only R,G,B,BRIGHT,CSYNC.


Сначала надо добиться устойчивой работы от смешанного синхросигнала, потом сделать делители на 2,5 и 5. А вас какой режим интересует - VGA 50 Гц/60 Гц/PAL/SCART ?

Надеюсь у фирменных клонов нет дополнительных режимов графики с частотой точек больше 7 МГц?

Точная частота строк не очень важна - важно чтобы pixel clock был кратен 14 МГц или другой - которая подается или получается после деления.

Black_Cat
28.08.2009, 19:58
VGA 50 Гц/60 Гц/PAL/SCART ?PAL там и так есть

---------- Post added at 19:58 ---------- Previous post was at 19:47 ----------


Надеюсь у фирменных клонов нет дополнительных режимов графики с частотой точек больше 7 МГц?у этих нет