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

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

Moderator: Shaos

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

Re: Galaksija

Post by Lavr »

DimkaM wrote:тогда для формирования растра з80 будет обращатся с адреса 0xс000, и соответственно для "рисования" с адреса 0хе000
тогда достаточно ловить только 0xc000
Так не получится даже с размером 256х192 т.к. на формирование 1 строки задействованы 3 параграфа,
хотя третий - только наполовину.
40 байт на полную строку и процессор едет по ним чисто программно.
iLavr
DimkaM
Maniac
Posts: 261
Joined: 22 Jun 2005 04:35
Location: МО Россия

Re: Galaksija

Post by DimkaM »

Lavr wrote:
DimkaM wrote:тогда для формирования растра з80 будет обращатся с адреса 0xс000, и соответственно для "рисования" с адреса 0хе000
тогда достаточно ловить только 0xc000
Так не получится даже с размером 256х192 т.к. на формирование 1 строки задействованы 3 параграфа,
хотя третий - только наполовину.
40 байт на полную строку и процессор едет по ним чисто программно.
40*192=7680 вполне влазит в 8к. почему не получится?
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Galaksija

Post by Lavr »

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
DimkaM
Maniac
Posts: 261
Joined: 22 Jun 2005 04:35
Location: МО Россия

Re: Galaksija

Post by DimkaM »

Нда. Придётся сокращать до 170 строк :(
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Galaksija

Post by Lavr »

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

Всё-таки я хотел сделать всё именно на К580ВМ80А - а на нём всё и должно получиться.
Хотя, уменьшить число строк до удобного предела в любой момент - совсем не проблема.
iLavr
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Galaksija

Post by Lavr »

Lavr wrote:Сейчас продумываю, как процессору точно входить в первую строку по прерыванию
В общем, вроде как придумал. Алгоритм следующий (чтобы не переписывать):
DelayonINT.gif
Осциллограмма аппаратной реализации этого алгоритма приведна ниже:

 Осциллограмма входа в формирование 1-й строки
DelayDiagr.gif

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

Короче говоря - глобально вся идея заработала правильно. Осталось подчистить и доделать всякие мелочи,
в которых обычно и имеет привычку скрываться Диавол... :lol:
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Galaksija на К580ВМ80А

Post by Lavr »

Lavr wrote:Короче говоря - глобально вся идея заработала правильно. Осталось подчистить и доделать всякие мелочи... :lol:
Вычистил процентов так 80 разных мелочей... и решил, что всё уже настолько работоспособно,
что пора уже и вывести на "дисплей" что-то более интересное, нежели полоски и точки...

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

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

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

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

Схема... схема сейчас в состоянии, за которое я над другими строю надсмешки... но не было
шанса одновременно и хорошую схему нарисовать - отрисую позже.
Тем более 30-40% рабочей схемы сейчас, это ненужные костыли, исправляющие глюки и
неспособность эмуляции к некоторым нетрадиционным схемотехническим приёмам...
Ну 8 резисторов эмулируются 3-мя шинными формирователями!... 8)
iLavr
User avatar
Shaos
Admin
Posts: 23990
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Galaksija

Post by Shaos »

А можешь поподробнее рассказать (нарисовать) как ты компенсируешь случайные задержки в 4-18 тактов при входе в прерывание?
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Galaksija

Post by Lavr »

Shaos wrote:А можешь поподробнее рассказать (нарисовать) как ты компенсируешь случайные задержки в 4-18 тактов при входе в прерывание?
Так вот же я подробно и по пунктам расписал эту процедуру в Ворде для самого себя. :o
А рисунком выложил, чтобы не повторять форматирование...

Image

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

Если вся идея сжато, то 4-18 тактов полюбому укладываются на длине импульса одновибратора в 30 тактов.
То есть, что бы там ни было, но в формирование строки процессор "отпустит" через ~30 тактов,
а вот затормозит проц сам себя по входу на адрес 0С000Н в случайный момент, но меньший 30 тактов
от начала аппаратного импульса прерывания.
iLavr
User avatar
Shaos
Admin
Posts: 23990
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Galaksija

Post by Shaos »

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

Re: Galaksija

Post by Lavr »

Shaos wrote:на схемку бы поглядеть принципиальную :roll:
Без проблем могу кинуть в личку с условием, что ты разбираешься с ней сам и не задаешь мне никаких вопросов...
Схемы такого качества я не выкладываю обычно в открытый доступ, поскольку схема должна говорить сама за себя,
а рисовать красиво мне сейчас некогда.
iLavr
User avatar
Shaos
Admin
Posts: 23990
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Galaksija

Post by Shaos »

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

Re: Galaksija

Post by Lavr »

Shaos wrote:А вообще публикация планируется? Ну скинь - погляжу...
А почему бы нет? Мне казалось, я всегда законченные проекты свои выкладываю
со всеми материалами, а этот пока незаконченный...

Ну если "Ну скинь...", значит не очень-то и надо. Подождешь тогда, когда закончу
и красиво нарисую... :mrgreen:
Потому как предугадываю следующую реплику:"Ну что это за схема..."
Я не зря показал пальцем вот сюда... :wink: А у меня сейчас схема ничуть не лучше...
iLavr
User avatar
Shaos
Admin
Posts: 23990
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Galaksija

Post by Shaos »

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

Re: Galaksija

Post by Lavr »

Shaos wrote:ну к внешнему виду схемы я придираюсь обычно только если логические элементы задом наперёд нарисованы (справа-налево),
ну или вообще сверху-вниз - вот тогда точно нечитабельно :)
Что-то я не заметил, чтобы ты придирался к схеме ZX80... :mrgreen:

Image

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