nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 07:03



Reply to topic  [ 115 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7, 8  Next
Программно-аппаратное формирование видеосигнала 
Author Message
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Lavr wrote:
Глядя на свои расчеты и на план видео-ОЗУ, я пока сомневаюсь в подобной резвости К580ВМ80А на выбранной частоте.

Вообще я все эти размышления уже размышлял в теме про nedoPC-280 (2012) :roll:
Правда до VGA я тогда не добрался - остановился на NTSC
И кстати b2m тоже предложил там ВИ53 использовать для генерации синхроимпульсов ;)

_________________
:dj: https://mastodon.social/@Shaos


11 Jun 2016 12:25
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
Lavr wrote:
Глядя на свои расчеты и на план видео-ОЗУ, я пока сомневаюсь в подобной резвости К580ВМ80А на выбранной частоте.

Вообще я все эти размышления уже размышлял в теме про nedoPC-280 (2012) :roll:
Ну а если размышлял, то не заметил, что К580ВМ80А не слишком шустр на 2.5 МГц ?

Shaos wrote:
... ВИ53 использовать для генерации синхроимпульсов ;)

Да я вот как раз не жажду 8253 использовать, но опасаюсь, что одновибраторы не дадут нужной
точности деления частоты.


P.S. Вот древние греки с римлянами поразмышляли и оставили после себя кучу пословиц,
поговорок, крылатых фраз и названий всему сущему...
А Shaos поразмышлял свою "размышлю" аж на 2 процессора - и нихрена полезного не осталось...
:wink:

_________________
iLavr


11 Jun 2016 12:46
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Lavr wrote:
Shaos wrote:
Lavr wrote:
Глядя на свои расчеты и на план видео-ОЗУ, я пока сомневаюсь в подобной резвости К580ВМ80А на выбранной частоте.

Вообще я все эти размышления уже размышлял в теме про nedoPC-280 (2012) :roll:
Ну а если размышлял, то не заметил, что К580ВМ80А не слишком шустр на 2.5 МГц ?


вот поэтому их у меня там два :roll:
и 3.125 МГц :)

_________________
:dj: https://mastodon.social/@Shaos


11 Jun 2016 13:14
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
Lavr wrote:
Ну а если размышлял, то не заметил, что К580ВМ80А не слишком шустр на 2.5 МГц ?
вот поэтому их у меня там два :roll:

А полезного с них все-равно нихрена... я полистал, хотя и помню примерно... :lol:

_________________
iLavr


11 Jun 2016 13:19
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Еще вот одну шальную мысль обдумываю...

Я всё же хочу, чтобы ССИ и КСИ формировались аппаратно, чтобы дисплей не терял синхронизацию
даже когда процессору сказано заглушить прерывания и не обслуживать дисплей.
По моему опыту работы с "Микрошей" это весьма неприятно выглядит: потеря синхронизации
при загрузке или выводе на ленту и её восстановление.

Поэтому идея вот какая, а что, если не глушить вывод на экран, а просто синхронно с разверткой
пусть выводится то, что процессор делает на шине данных? :ebiggrin:
На "Специалисте" можно было запускать программы в экранном ОЗУ и это довольно забавно,
особенно вид работающих счетчиков... :wink:

Это, как мне кажется, более интересно, нежели вид "черного квадрата Малевича"... :ewink:

_________________
iLavr


11 Jun 2016 14:13
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
В общем, абстрактная идея постепенно обрастает "мясом"... :ewink:

Растр по строкам микропроцессор К580ВМ80А, согласно задумке, формирует вполне успешно:
 Осциллограмма формирования растра по строкам
Attachment:
Rastr1.gif
Rastr1.gif [ 13.58 KiB | Viewed 9939 times ]

На осциллограммах из видео-ОЗУ для удобства наблюдения сдвигается сигнатура 55Н,
(светлые полосы толщиной в 1 пиксель, чередующиеся с темными).
Видно, что видео-сигнал чуть наезжает на строчный гасящий, т.к. процессор
читает ОЗУ чуть позже смены адресов - но идея работоспособна!
Выбрасываются на сдвиг 32 видимых байта в строке.
А процессор занят сейчас тем, что непрерывно формирует строчный растр по кругу.

Теперь надо добавить прерывание по кадру, которое через RST7 будет заставлять
процессор формировать растр 50 раз в секунду.

Эта часть отдельно у меня тоже работоспособна - осталось только эти 2 схемы удачно "сшить".

Из непредвиденных трудностей возникло то, что процессоры в эмуляторах (а я пробовал
разные, в том числе и с Z80) "не понимают" этого трюка с резисторами к +5В и к .
Либо у меня это как-то неудачно в симуляции получилось... :-?

Так что вместо резисторов пришлось подавать отдельно лог. "1" и "0" через тристабильные
буферы и коммутировать это на шину в соответствии с логикой работы. 8)
Так что даже когда в теории всё заработает, придется на практике "шаманить" на макетке
простой вариант с резисторами на шине данных... :wink:

_________________
iLavr


18 Jun 2016 08:12
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Что-то с форматированием не то... :-?

_________________
iLavr


18 Jun 2016 20:25
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Lavr wrote:
Что-то с форматированием не то... :-?


Я заметил - слишком много накрутил BB-тегов?...

_________________
:dj: https://mastodon.social/@Shaos


18 Jun 2016 20:58
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Lavr wrote:
Видно, что видео-сигнал чуть наезжает на строчный гасящий, т.к. процессор
читает ОЗУ чуть позже смены адресов...

Поправил интервал гашения:
 Осциллограмма формирования растра
Attachment:
cnt8Rastr2.gif
cnt8Rastr2.gif [ 8.44 KiB | Viewed 9058 times ]


Решил посмотреть, что же получается в совокупности, для этого добавил инверсию каждой
второй строки, чтобы получилось точечное шахматное поле - оно и получилось! 8)
Attachment:
cnt9Rastr3.gif
cnt9Rastr3.gif [ 1.23 KiB | Viewed 9058 times ]


Сейчас продумываю как процессору точно входить в первую строку по прерыванию - решение
использую как в Галаксии: процессор по прерыванию переходит на адрес начала первой строки -
0С000Н, и этим вызывает сброс READY и притормаживает, чтобы выбрать разницу тактов команды,
из которой он вышел в прерывание.
А вот после этого какой-то сигнал должен процессор "отпустить" из состояния WAIT синхронно
в формирование растра.
Весь анекдот ситуации, что в нищебродской конструкции не так-то много сигналов, которые можно
использовать для этого... :lol:

И вот еще думаю - не укоротить ли растр по вертикали?
Из 312 возможных используются 256 строк, значит только 56 строк процессор будет заниматься
полезной программой.
У Галаксии - 208 строк, может обрезать растр до формата Спектрума - 256х192 ?

_________________
iLavr


18 Jun 2016 21:01
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
Lavr wrote:
Что-то с форматированием не то... :-?

Я заметил - слишком много накрутил BB-тегов?...

Заколдованное место! :o Выше - полная копия того что было написано там где был сбой формата! :o
Но на том месте ничего исправить было практически невозможно! :o

_________________
iLavr


18 Jun 2016 21:04
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Автоцензор чего-то "распознал" в кодовом идентификаторе BB-тегов (идентификатор разный у разных сообщений, но одинаковый в пределах одного и того же сообщения)

_________________
:dj: https://mastodon.social/@Shaos


18 Jun 2016 21:23
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Lavr wrote:
...может обрезать растр до формата Спектрума - 256х192 ?

В этом случае изображение будет выглядеть вот так:
Attachment:
SpecDumpFF.gif
SpecDumpFF.gif [ 6.59 KiB | Viewed 9051 times ]

_________________
iLavr


18 Jun 2016 21:55
Profile
Maniac

Joined: 22 Jun 2005 04:35
Posts: 260
Location: МО Россия
Reply with quote
теоретически можно настраиваемый размер по вертикали.
если входить в прерывание, допустим, не с 0хс000, а с 0хс020, то будет на одну строку меньше


20 Jun 2016 02:29
Profile ICQ
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
DimkaM wrote:
теоретически можно настраиваемый размер по вертикали.
если входить в прерывание, допустим, не с 0хс000, а с 0хс020, то будет на одну строку меньше

Теоретически тут получается всё довольно настриваемо...
И если взять z80 на частоте 5 МГц, то этот же растр может получиться и на VGA-развертке.
Другое дело, что у z80 нет сигнала INTE - а он используется в схеме чтобы различать:
процессор формирует растр или процессор "рисует" в области видео-ОЗУ...

Ну и с диапазоном видео-ОЗУ немного жестко аппаратно всё отслеживается, но будем посмотреть! :wink:
Вечно работа мешает по-быстрому доделать хороший проект... :mrgreen:


P.S. Но в общем-то я ставил себе задачу сделать графический растр именно на К580ВМ80А,
так что это я сделаю, а по поводу z80 расстраиваться даже не буду, просто была ленивая
мысль воплотить всё это в железо на своем уже готовом проекте...
:wink:

_________________
iLavr


Last edited by Lavr on 20 Jun 2016 03:04, edited 1 time in total.



20 Jun 2016 02:56
Profile
Maniac

Joined: 22 Jun 2005 04:35
Posts: 260
Location: МО Россия
Reply with quote
Lavr wrote:
Другое дело, что у z80 нет сигнала INTE - а он используется в схеме чтобы различать:
процессор формирует растр или процессор "рисует" в области видео-ОЗУ...

ну если пожертвовать 8к адресного пространства z80, то:
подцепить одни и те же 8к физической памяти и с адреса 0xc000 и (допустим) с адреса 0хе000(наверно можно какнить ноги закоротить через диоды или буфер)

тогда для формирования растра з80 будет обращатся с адреса 0xс000, и соответственно для "рисования" с адреса 0хе000

тогда достаточно ловить только 0xc000-0xdfff


Last edited by DimkaM on 20 Jun 2016 03:09, edited 1 time in total.



20 Jun 2016 03:03
Profile ICQ
Display posts from previous:  Sort by  
Reply to topic   [ 115 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7, 8  Next

Who is online

Users browsing this forum: No registered users and 17 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.