nedoPC.org

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



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

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
DimkaM wrote:
тогда для формирования растра з80 будет обращатся с адреса 0xс000, и соответственно для "рисования" с адреса 0хе000
тогда достаточно ловить только 0xc000

Так не получится даже с размером 256х192 т.к. на формирование 1 строки задействованы 3 параграфа,
хотя третий - только наполовину.
40 байт на полную строку и процессор едет по ним чисто программно.

_________________
iLavr


20 Jun 2016 03:08
Profile
Maniac

Joined: 22 Jun 2005 04:35
Posts: 260
Location: МО Россия
Reply with quote
Lavr wrote:
DimkaM wrote:
тогда для формирования растра з80 будет обращатся с адреса 0xс000, и соответственно для "рисования" с адреса 0хе000
тогда достаточно ловить только 0xc000

Так не получится даже с размером 256х192 т.к. на формирование 1 строки задействованы 3 параграфа,
хотя третий - только наполовину.
40 байт на полную строку и процессор едет по ним чисто программно.

40*192=7680 вполне влазит в 8к. почему не получится?


20 Jun 2016 03:10
Profile ICQ
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
DimkaM wrote:
Lavr wrote:
Так не получится даже с размером 256х192 т.к. на формирование 1 строки задействованы 3 параграфа,
хотя третий - только наполовину.
40 байт на полную строку и процессор едет по ним чисто программно.

40*192=7680 вполне влазит в 8к. почему не получится?

Потому что 40 байт уходит на полную строку видеоизображения в байтах,
а точнее - в интервалах 4 такта на NOP.
Но на формирование 1 строки задействованы 3 параграфа, а это 48 байт.
48 байт*192 = 9216 байт / 1024 = 9 кБайт, что никак не влазит в 8к.
Вот поэтому и не получится.

_________________
iLavr


20 Jun 2016 06:59
Profile
Maniac

Joined: 22 Jun 2005 04:35
Posts: 260
Location: МО Россия
Reply with quote
Нда. Придётся сокращать до 170 строк :(


20 Jun 2016 11:03
Profile ICQ
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
DimkaM wrote:
Придётся сокращать до 170 строк :(

Да ну нет, на К580ВМ80А и все 256 строк получатся (хотя сейчас весьма противно ждать,
пока все 256 строк прокрутятся в режиме эмуляции
:wink: ),
а у Z80 - у него же еще свои механизмы есть, которые не задействованы в моем проекте).

Всё-таки я хотел сделать всё именно на К580ВМ80А - а на нём всё и должно получиться.
Хотя, уменьшить число строк до удобного предела в любой момент - совсем не проблема.

_________________
iLavr


20 Jun 2016 11:59
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Lavr wrote:
Сейчас продумываю, как процессору точно входить в первую строку по прерыванию

В общем, вроде как придумал. Алгоритм следующий (чтобы не переписывать):
Attachment:
DelayonINT.gif
DelayonINT.gif [ 32.61 KiB | Viewed 10478 times ]

Осциллограмма аппаратной реализации этого алгоритма приведна ниже:
 Осциллограмма входа в формирование 1-й строки
Attachment:
DelayDiagr.gif
DelayDiagr.gif [ 7.19 KiB | Viewed 10478 times ]

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

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

_________________
iLavr


21 Jun 2016 07:18
Profile
Supreme God
User avatar

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

Чтобы не быть оригинальнее fifan-а, дерзнул отобразить себя хорошего в ретроспективе
25-летней давности.. :ewink:

----------------Image

Всё - по серьёзу: программа сначала забрасывает в видео-ОЗУ изображение, чтобы проверить,
как схема различает режимы "рисования" в видео-ОЗУ и отображения в видео-ОЗУ на дисплей.
Потом программа выполняет перебор зажигания 8 светодиодов и слушает 4 кнопки.
На фоне этой задачи прерыванием вызывается отображение видео-ОЗУ на дисплей.
Всё работает без нареканий, но первое впечатление - 256 строк, видимо, надо уменьшить до
192-х... процессору практически некогда делать полезную задачу.

Чего я не доделал - это кадровый синхроимпульс. Но там - однозначно будет К555АГ3 или какой
другой одновибратор. Строчный - тоже надо расширить одновибратором.

Схема... схема сейчас в состоянии, за которое я над другими строю надсмешки... но не было
шанса одновременно и хорошую схему нарисовать - отрисую позже.
Тем более 30-40% рабочей схемы сейчас, это ненужные костыли, исправляющие глюки и
неспособность эмуляции к некоторым нетрадиционным схемотехническим приёмам...
Ну 8 резисторов эмулируются 3-мя шинными формирователями!... 8)

_________________
iLavr


21 Jun 2016 17:00
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
А можешь поподробнее рассказать (нарисовать) как ты компенсируешь случайные задержки в 4-18 тактов при входе в прерывание?

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


22 Jun 2016 07:23
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
А можешь поподробнее рассказать (нарисовать) как ты компенсируешь случайные задержки в 4-18 тактов при входе в прерывание?
Так вот же я подробно и по пунктам расписал эту процедуру в Ворде для самого себя. :o
А рисунком выложил, чтобы не повторять форматирование...

Image

И Осциллограмма входа в формирование 1-й строки прокомментирована прямо по этим пунктам...
Я вряд ли смогу сделать это более подробнее... :roll:

Если вся идея сжато, то 4-18 тактов полюбому укладываются на длине импульса одновибратора в 30 тактов.
То есть, что бы там ни было, но в формирование строки процессор "отпустит" через ~30 тактов,
а вот затормозит проц сам себя по входу на адрес 0С000Н в случайный момент, но меньший 30 тактов
от начала аппаратного импульса прерывания.

_________________
iLavr


22 Jun 2016 08:57
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
на схемку бы поглядеть принципиальную :roll:

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


22 Jun 2016 09:01
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
на схемку бы поглядеть принципиальную :roll:

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

_________________
iLavr


22 Jun 2016 09:07
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
А вообще публикация планируется? Ну скинь - погляжу...

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


22 Jun 2016 09:35
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
А вообще публикация планируется? Ну скинь - погляжу...

А почему бы нет? Мне казалось, я всегда законченные проекты свои выкладываю
со всеми материалами, а этот пока незаконченный...

Ну если "Ну скинь...", значит не очень-то и надо. Подождешь тогда, когда закончу
и красиво нарисую... :mrgreen:
Потому как предугадываю следующую реплику:"Ну что это за схема..."
Я не зря показал пальцем вот сюда... :wink: А у меня сейчас схема ничуть не лучше...

_________________
iLavr


22 Jun 2016 09:43
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
ну к внешнему виду схемы я придираюсь обычно только если логические элементы задом наперёд нарисованы (справа-налево), ну или вообще сверху-вниз - вот тогда точно нечитабельно :)

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


22 Jun 2016 10:01
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
ну к внешнему виду схемы я придираюсь обычно только если логические элементы задом наперёд нарисованы (справа-налево),
ну или вообще сверху-вниз - вот тогда точно нечитабельно :)
Что-то я не заметил, чтобы ты придирался к схеме ZX80... :mrgreen:

Image

Вон у них и сверху-вниз и задом наперёд (справа-налево) понарисовано! :o

_________________
iLavr


22 Jun 2016 11:48
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 115 posts ]  Go to page Previous  1 ... 3, 4, 5, 6, 7, 8  Next

Who is online

Users browsing this forum: No registered users and 9 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.