Программно-аппаратное формирование видеосигнала

Печатные платы, программируемая логика, разработка и изготовление аппаратуры

Moderator: Shaos

User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Shaos wrote:10 символов шириной 6 пикселов сгенерирует один процессор, а ещё 10 - второй процессор, т.е. всего 20 - с этим уже можно жить :)
...
Я могу попробовать построить такое на макетке в качестве разминки перед созданием nedoPC-580
...
Давайте всё-таки о своих овощах в своих топиках, да?

"Галактика" - топик про то, как сделать максимально нищебродский
любительский компьютер
... :-?

Ну откуда у него второй процессор?
Многозадачность и многопроцессорность - пусть остаётся в nedoPC-580...
А то запутаемся совсем...
iLavr
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Lavr wrote:
Shaos wrote:10 символов шириной 6 пикселов сгенерирует один процессор, а ещё 10 - второй процессор, т.е. всего 20 - с этим уже можно жить :)
...
Я могу попробовать построить такое на макетке в качестве разминки перед созданием nedoPC-580
...
Давайте всё-таки о своих овощах в своих топиках, да?

"Галактика" - топик про то, как сделать максимально нищебродский
любительский компьютер
... :-?

Ну откуда у него второй процессор?
Многозадачность и многопроцессорность - пусть остаётся в nedoPC-580...
А то запутаемся совсем...
Ок, отпочковался: viewtopic.php?t=10009

Один процессор не справится, а навешивать вокруг него лишнюю рассыпуху тоже не хочется - вот отсюда и второй проц нарисовался ;)
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Galaksija на К580ВМ80?

Post by Lavr »

Lavr wrote:Учтём параметры полного телевизионного сигнала системы SECAM:

• Номинальная длительность строки Н = 64 мкс;
• Длительность гасящего импульса строк а = 12 мкс;
- (Откуда видимая часть строки = 48 мкс )
Ой блииииииин... стыдоба-то какая... :( и никто не подправил ведь!!! :o
Что значит - кто о чём, а чесоточный о язвах... :(

И никто не сказал ведь! Лавр! 48 мкс + 12 мкс = 60 мкс!!! А не 64 мкс!!! :o

Это у «Специалиста»:
Период строчной синхронизации — 64 мкс, длительность строчного гасящего
импульса — 16 мкс
, период кадровой развертки — 20 мс, длительность кадрового
гасящего импульса — 3584 мкс.
Ладно... будем считать, что в геометрии «Специалиста» я экран посчитал...
Как говорили для "Спектрума" - "на краях экрана - большие нелинейные
искажения
" :wink: , так что пусть строчный гасящий будет подлиннее... :lol:


Рассмотрим всё же как оно по правде будет: 52 мкс / (4 такта * 1/F мкс)
F=2.0МГц 4 такта по 500нс = 2000нс = 2.000мкс - 26 символов в строке Кварц- 8 МГц
F=2.5МГц 4 такта по 400нс = 1600нс = 1.600мкс ~ 32 символа в строке Кварц- 10 МГц
F=2.7МГц 4 такта по 370нс = 1481нс = 1.481мкс ~ 35 символов в строке Кварц- 10.8 МГц
F=3.0МГц 4 такта по 333нс = 1332нс = 1.333мкс ~ 39 символов в строке Кварц- 12 МГц
F=3.5МГц 4 такта по 286нс = 1143нс = 1.143мкс ~ 45 символа в строке Кварц- 14 МГц
F=4.0МГц 4 такта по 250нс = 1000нс = 1.000мкс - 52 символа в строке Кварц- 16 МГц


Собственно - сильных поправок не произошло... приемлемые результаты
на тех же F=2.5-2.7МГц, и я подумал, что более длинный гасящий импульс
в строке - может это и более верно.
«Специалист» - он хорошую графику показывал и синхронизация устойчивая была...
Но в нынешних LCD-мониторах проблемы нелинейности на краях просто нет.
iLavr
petrenko
Doomed
Posts: 598
Joined: 10 Mar 2012 16:21
Location: РФ

Re: Galaksija

Post by petrenko »

Lavr wrote:Galaksija

Наткнулся в очередной раз на компьютер "братьев-демократьев" из Югославии - "Galaksija".

Image

PS. На мой взгляд эта схема, дополненная парой регистров и индикатором
АЛС могла бы претендовать на роль ОЧЕНЬ ПРОСТОГО компьютера, как был
разрекламирован "ЮТ-88". Тем более, что никакой простотой там особенно
и не пахло. А тут - хочешь выход на телевизор, ну потерпи тормознутость,
зато представляю, кайф бы был какой при такой "спартанской" схемотехнике!
Посмотрел на изображение - что же напоминает исполнение всего вместе на одной плате с клавиатурой ? Ну да, у нас "Микроша" была возможно из экономии текстолита тоже на одной плате. Так ведь ?
Интересно, можно ли к Микроше или другим РК-подобным присобачить не отключая текстового вг75 ещё и слой грфического экрана (не псевдо- а именно грфического, и хотя бы 320*256 ) ?
P.S. Сам удивляюсь - откуда у меня столько наивных вопросов ?! :roll:
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Galaksija

Post by Lavr »

petrenko wrote:Интересно, можно ли к Микроше или другим РК-подобным присобачить не отключая текстового вг75 ещё и слой грфического экрана (не псевдо- а именно грфического, и хотя бы 320*256 ) ?
P.S. Сам удивляюсь - откуда у меня столько наивных вопросов ?! :roll:
Можно присобачить ещё и слой графического экрана...
Ты журнал "Радио" почитать не пробовал? :wink:

Был цикл статей: «РАДИО-86РК»: РАЗВИТИЕ, ПЕРСПЕКТИВЫ. ПРОГРАММИРУЕМЫЙ ДЕШИФРАТОР: ПОДКЛЮЧЕНИЕ К КОМПЬЮТЕРУ
Вот такого типа - почитай их, очень интересно! :kruto:
iLavr
petrenko
Doomed
Posts: 598
Joined: 10 Mar 2012 16:21
Location: РФ

Re: Galaksija

Post by petrenko »

Lavr wrote:Можно присобачить ещё и слой графического экрана...
Ты журнал "Радио" почитать не пробовал?* :wink:
Вот такого типа - почитай их, очень интересно! :kruto:
*_Пробовал только те, что есть у меня в бумажном виде. Скачивать ещё не скачивал. Попробую.. :-?

Зато случайно в бумажном виде кое-что нашёл интересное, попробую повторить, может получится.
Собственно найденное и подтолкнуло мой интерес к старым машинкам на 80-ом процессоре.
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Shaos wrote:
b2m wrote:Ещё вариант: можно сделать, чтобы чтение из видео-памяти автоматически записывало данные в сдвиговый регистр. Тогда достаточно MOV A,M / INX H (12 тактов) При 2.5Мгц получим ровно 10 символов :)
Действительно - так не на много сложнее будет ;)
10 символов шириной 6 пикселов сгенерирует один процессор, а ещё 10 - второй процессор, т.е. всего 20 - с этим уже можно жить :)
Можно поддержать как текстовый режим, так и графический (но из каждого байта будет использоваться только старшие 6 битов для отображение шести точек на знакоместо или 120 пикселов по горизонтали)
А количество строк можно сделать настраиваемым (программно ведь генерим : )
Я могу попробовать построить такое на макетке в качестве разминки перед созданием nedoPC-580, причём можно сделать так, чтобы на этом двухголовом монстрике мог запускаться тот же многозадачный софт...

P.S. Вот кстати мои экспериментально подтверждённые растактовки видеосигналов NTSC и PAL для 10-мегагерцового пиксельклока:
viewtopic.php?t=8388&start=40 (для 2.5-мегагерцового монстрика надо всё делить на 4)
Я начну с NTSC - будет 20x25 текстовый режим и 120x200 графический - причём по вертикали можно будет уменьшать...

P.P.S. Продолжение в топике nedoPC-280
Как мы недавно выяснили на примере наработок Intel от 1979 года - самый быстрый способ выкатить кусок видеопамяти на шину данных - это много POP подряд - 5 тактов на байт! :)
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Shaos wrote:самый быстрый способ выкатить кусок видеопамяти на шину данных - это много POP подряд - 5 тактов на байт! :)
А NOP не покороче будет? :o
iLavr
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Lavr wrote:
Shaos wrote:самый быстрый способ выкатить кусок видеопамяти на шину данных - это много POP подряд - 5 тактов на байт! :)
А NOP не покороче будет? :o
к NOP-у нужна ещё железная обвязка, выкладывающая байты из видеопамяти на шину данных, а многочисленные POP H делают это автоматически - аппаратная задача только fetch отличить от read :)
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Shaos wrote:к NOP-у нужна ещё железная обвязка, выкладывающая байты из видеопамяти на шину данных, а многочисленные POP H делают это автоматически - аппаратная задача только fetch отличить от read :)
Опять же - нужна обвязка, а у NOP-а - то она мож и попроще будет.
К тому же NOP - ничего не втаскивает в процессор...

Отсюда у меня есть сомнение про 5 тактов - POP H это fetch и втаскивание 2-х байт.
iLavr
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Lavr wrote:
Shaos wrote:к NOP-у нужна ещё железная обвязка, выкладывающая байты из видеопамяти на шину данных, а многочисленные POP H делают это автоматически - аппаратная задача только fetch отличить от read :)
Опять же - нужна обвязка, а у NOP-а - то она мож и попроще будет.
К тому же NOP - ничего не втаскивает в процессор...

Отсюда у меня есть сомнение про 5 тактов - POP H это fetch и втаскивание 2-х байт.
POP H это 10 тактов в течение которых на шину идут 3 байта: #E1 lo hi
#E1 можно легко отсеять по состоянию процессора fetch
а следом идующие байты надо хитро засунуть в сдвиговый(е) регистр(ы)...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Shaos wrote:а следом идующие байты надо хитро засунуть в сдвиговый(е) регистр(ы)...
А при NOP - ничего этого не надо - fetch сразу выдает байт на ШД.
Либо ты идеи не понял...
iLavr
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Lavr wrote:
Shaos wrote:а следом идующие байты надо хитро засунуть в сдвиговый(е) регистр(ы)...
А при NOP - ничего этого не надо - fetch сразу выдает байт на ШД.
Либо ты идеи не понял...
Ты подменяешь для проца байт с шины на #00, так?

Может оно и проще...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Shaos wrote:Ты подменяешь для проца байт с шины на #00, так?

Может оно и проще...
Да - и сигнал чтения КОП от проца - при этом сразу запись в сдвиговый или в ВГ75.
Но это не мешает записи в "видео-память".

Аппаратно - это примерно - резисторы на ногах проца к 0В и во время этого обращения -
не открывать ШФ от памяти к процу.
iLavr
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Lavr wrote:
Shaos wrote:Ты подменяешь для проца байт с шины на #00, так?
Может оно и проще...
Аппаратно - это примерно - резисторы на ногах проца к 0В и во время этого обращения -
не открывать ШФ от памяти к процу.
Оказывается не я так делаю! Так, оказывается, ещё в 1980 году в модели ZX80 делали! :o

Кто бы мог подумать! :o А я никогда не интересовался ZX80/ZX81, пока вот нас Num Lock в эту сторону не подтолкнул! :o

Вот схема ZX80 в хорошем качесте: http://nocash.emubase.de/zx80-sch.gif (она крупная! )

Вот описание ZX80: How to build your own ZX80/ZX81

А вот подробное описание принципа работы ZX80 с дисплеем: Display generation signals within the ZX80

Замечу, что ZX80/ZX81 - схемотически практически одинаковы, только в ZX81 всю мелочевку
обвески Z80 - запихали в ULA.


Вот что пишут в описании ZX80 про работу через NOP:
"NOP" OPCODE GENERATOR
When using the CPU to draw the screen display, the CPU "executes" the start of the DFILE RAM addresses. During a program fetch cycle, if the data at the DFILE address has bit 6 low then IC 14 and 15 are active, forcing the data bus low (ie. settting it to be a NOP opcode). The CPU then executes this psuedo-instruction and increments the address bus to proceed to the next location. This continues until a byte is encountered with it's bit 6 high. In this case, the NOP code is not generated so the actual RAM contents is read and executed instead.
Вот же негодяи! Прямо всё как я придумал! 8)

Но - это приятно, что идея работоспособная... осталось лишь сделать схему на двух 580ВМ80,
где один из них будет заниматься регенерацией, экраном и прочей фигней, а второй - будет
занят основной работой! :lol:
iLavr