nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 18 Jan 2019 18:51



Reply to topic  [ 291 posts ]  Go to page Previous  1 ... 5, 6, 7, 8, 9, 10, 11 ... 20  Next
Galaksija 
Author Message
Supreme God
User avatar

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

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


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


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

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

_________________
iLavr


18 Jun 2016 22:01
Profile
Supreme God
User avatar

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

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

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

_________________
iLavr


18 Jun 2016 22:04
Profile
Admin
User avatar

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

_________________
:eugeek: https://twitter.com/Shaos1973


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

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

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

_________________
iLavr


18 Jun 2016 22:55
Profile
Maniac

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


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

Joined: 21 Oct 2009 09: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 04:04, edited 1 time in total.



20 Jun 2016 03:56
Profile
Maniac

Joined: 22 Jun 2005 05:35
Posts: 243
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 04:09, edited 1 time in total.



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

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

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

_________________
iLavr


20 Jun 2016 04:08
Profile
Maniac

Joined: 22 Jun 2005 05:35
Posts: 243
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 04:10
Profile ICQ
Supreme God
User avatar

Joined: 21 Oct 2009 09: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 07:59
Profile
Maniac

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


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

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

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

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

_________________
iLavr


20 Jun 2016 12:59
Profile
Supreme God
User avatar

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

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

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

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

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

_________________
iLavr


21 Jun 2016 08:18
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09: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 18:00
Profile
Admin
User avatar

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

_________________
:eugeek: https://twitter.com/Shaos1973


22 Jun 2016 08:23
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 291 posts ]  Go to page Previous  1 ... 5, 6, 7, 8, 9, 10, 11 ... 20  Next

Who is online

Users browsing this forum: No registered users and 1 guest


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.