nedoPC.org

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



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

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Galaksija на К580ВМ80?

Я тут немного поразмыслил, как бы концепцию Galaksija перенести на
возможности микропроцессора К580ВМ80. У него нет механизма регенерации,
поэтому напрямую перенести решения не представляется возможным.
Но задумка есть вот какая: пусть, к примеру, сначала всё идёт по сценарию
Galaksija...
По кадровому импульсу К580ВМ80 получает видео-INT. Заканчивает текущую инструкцию
и переходит к обработке прерывания. По характерным сигналам
схема на триггере вырабатывает сигнал WAIT и этим тормозит процессор.
Процессор молотит такты ожидания, выдерживая гашение по кадру.
Начало строки развёртки перебрасывает триггер, отпускает процессор
в работу и вот тут-то он...

выполняет по прерыванию команду JMP 9000H (или в видео-ОЗУ на начало).
На время действия прямого кадрового хода отдельным сигналом надо переключить
схему так, чтобы процессор при обращению к области видео-ОЗУ считывал
инструкцию NOP. То есть - он выдал адрес 9000Н и дал строб чтения RD, но
данные пошли не к процессору, а на регистр видео-сдвига.
Времени на NOP хватит, я так помню у "Спеца" на два обращения счетчика
регенерации приходилось одно обращение процессора.
По NOP К580ВМ80 ничего не делает и далее выставит адрес 9001Н . Возможно
надо точно тайминги посмотреть и для синхронности тормозить проц через
WAIT.
После того как проц во время действия прямого кадрового хода переберёт
весь видео-буфер, читая псевдо-NOP, сигнал начала обратного хода
развёртки по кадру снова разрешит процу обращаться к памяти как обычно.
И по тому адресу, на котором процессор закончит перебор адресов видео-ОЗУ
должна быть предварительно записана инструкция RET из видео-прерывания.
Её можно занести при начальной инициализации.
Таким образом мы получаем графический экран, отображением которого
занимается процессор, осуществляя заодно циклы регенерации ДОЗУ.
Вроде как всё правильно. Параметры экрана, конечно, надо подсчитать.
Организация получится:
9000Н, 9001Н, 9002Н ... - в первой строке, и т.д.

Какие будут мнения?

Кстати говоря, попалось мне упоминание, что аппаратная организация
клавиатуры в Galaksija позволяет получать код клавиши непосредственно
в ASCII без привычных для такой процедуры таблиц перекодировки.
Не проверял ещё этой возможности - но если это так, то весьма удобно...

Quote:
Another interesting thing about this computer is that the each key on the keyboard is mapped in ASCII order to a memory location.


10 Feb 2011 14:30
Profile
Senior

Joined: 28 Feb 2006 21:34
Posts: 180
Reply with quote
Post 
Если память собрать на статике, то 580того хватит. ))) Возможно даже для простой графики.


11 Feb 2011 12:21
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
А может ещё наглее всю эту Galaksi-ю сделать?
Взять и засунуть всю незатейливую синхронизацию в отдельный PIC?
Поскольку гашение формируется программно, ножек должно хваитить и
у небольшого PIC-а.
С другой стороны - как-то неспортивно: замшелый К580ВМ80 и PIC...


11 Feb 2011 18:03
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Post 
кр580вм80 тоже можно в пик затолкать ;)

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


11 Feb 2011 19:40
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Shaos wrote:
кр580вм80 тоже можно в пик затолкать

Shaos - я помню, я не забросил эту идею,
http://www.nedopc.org/forum/viewtopic.php?t=9310
но для неё у меня нет подходящей памяти здесь. :oops:


11 Feb 2011 21:07
Profile
Senior

Joined: 28 Feb 2006 21:34
Posts: 180
Reply with quote
Post 
Lavr wrote:
А может ещё наглее всю эту Galaksi-ю сделать?
Взять и засунуть всю незатейливую синхронизацию в отдельный PIC?
Поскольку гашение формируется программно, ножек должно хваитить и
у небольшого PIC-а.
С другой стороны - как-то неспортивно: замшелый К580ВМ80 и PIC...

Лучше не в PIC а в AVR. Правда кое кто считает что это слово ругательное. )))) Или может попробовать на 1801ВМ1 в пику БК-любов. ))))
Кстати, в AVR можно попробовать запихать и систему команд 580того. Можно попробовать это проделать.


12 Feb 2011 11:43
Profile
Devil

Joined: 06 Oct 2006 03:17
Posts: 856
Location: г.Лянтор,Сургутского р-на,ХМАО
Reply with quote
Post 
d_wanderer wrote:
Кстати, в AVR можно попробовать запихать и систему команд 580того. Можно попробовать это проделать.

Уже сделали. Отлаживается код. Правда процессор Z80. - http://www.zx.pk.ru/showthread.php?t=13747


12 Feb 2011 11:47
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Я здесь преследую несколько другую цель.
И вовсе не стремлюсь что-то куда-то упихать.
Мне интересно - имея опыт в схемотехнике, можно ли сделать простой
повторяемый и доступный комп (оглядываясь в 80,90-е, как если это
тогда), но и учитывая то, чего сейчас на прилавках в изобилии.
Почему К580ВМ80 - просто для совместимости по ПО, что не изобретать
заново.
Да и у меня их штук шесть должно быть. Если мне было некогда сильно
вникать во все хитрости тогда, поделаю с интересом сейчас.
Жалко только, что ВМ80 и Z80 - нет моделей под "Протеус", больно
я к нему пристрастился... :wink:


12 Feb 2011 12:20
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
2_fifan
Похоже, что Лисицын Василий Николаевич тоже делает что-то похожее,
но только на AVR и тоже just for fun.
Может ему AVR-ки больше нравятся, а может просто у него их есть.

2_d_wanderer

d_wanderer wrote:
в AVR можно попробовать запихать и систему команд 580того

Я её практически на 80% упихал в "нищебродский" PIC16F84, правда желательно не в самый медленный.
Хотел сделать "Специалиста" или близкое подобие. Проект завял из-за
отсутствия доступной статической памяти 64К или 128К. Думаю переделать
на более доступные СРАМ. С AVR никогда не связывался и даже сомневаюсь
стОит ли начинать. У меня их нет, а покупать just for fun не люблю.


12 Feb 2011 13:46
Profile
Devil

Joined: 06 Oct 2006 03:17
Posts: 856
Location: г.Лянтор,Сургутского р-на,ХМАО
Reply with quote
Lavr wrote:
Проект завял из-за отсутствия доступной статической памяти 64К или 128К. Думаю переделать на более доступные СРАМ.

Есть такие. Мы с HardWareManом такие юзаем на Специалисте - http://www.chipdip.ru/product/ut621024pc-70ll.aspx - можно поискать дешевле, в SOI корпусе в два раза дешевле.


12 Feb 2011 19:33
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
fifan wrote:
Мы с HardWareManом такие юзаем на Специалисте

В песне Высоцкого это называется "инструктор коленом под зад мне помог": :wink:
Code:
Технические параметры позиции
UT621024PC-70LL =628128 PDIP32
Тип организации памяти   128K x 8
Напряжение питания, В   5
Время доступа, нс   70
Тип шины   паралелльная

Мне-то нужна память с последовательным интерфейсом.
64K SPI Bus Low-Power Serial SRAM
У PIC16F84 ног не хватит заюзать эту память UT621024PC... :lol:


12 Feb 2011 20:09
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Post 
скоростёнки не хватит у пика эмулить 8080 и ещё последовательно в память лазить

P.S. лучше сделать программно-аппаратное решение - типа вот этого: http://www.nedopc.org/forum/viewtopic.php?t=8311
суть в том, что новый адрес памяти устанавливается медлено (побайтно), а следующий (получаемый аппаратным инкрементом) - быстро (инкремент идёт автоматом после обращения к ячейке памяти на чтение или запись)

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


12 Feb 2011 20:55
Profile WWW
Devil

Joined: 06 Oct 2006 03:17
Posts: 856
Location: г.Лянтор,Сургутского р-на,ХМАО
Reply with quote
Post 
Shaos wrote:
скоростёнки не хватит у пика эмулить 8080 и ещё последовательно в память лазить

Полностью согласен. У меня пик на 30 МГц не успевал работать с ВВ55 (хотел эмулятор клавиатуры сделать). Пришлось плисину ставить.


13 Feb 2011 02:30
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Shaos wrote:
скоростёнки не хватит у пика эмулить 8080 и ещё последовательно в память лазить

Это смотря для какой тактовой частоты 8080-го. :wink:
По моим прикидкам ПИК на 10 МГц довольно приемлемо должен смочь.
В прототипе на 6 МГц всё работало, хотя там не 8080, но близко.
Quote:
With a 6.144–MHz crystal driving the PIC reading and interpreting an instruction takes around 60 µs (i.e., the computer executes about 17,000 instructions a second), which should be fast enough to control even a complex model in real time.

Я и надумал перейти к Serial SRAM чтобы ускориться.
Так, как сейчас опробовано - разогнать EEPROM принципиально нельзя.
Shaos wrote:
суть в том, что новый адрес памяти устанавливается медлено (побайтно), а следующий (получаемый аппаратным инкрементом) - быстро

А у меня примерно так и есть сейчас:
Quote:
The EEPROM has the useful property, that once you have sent a memory address to it, you can read sequential bytes indefinitely without sending a new address. You can execute instruction after instruction without worrying about the current program address.

Чето когда я сказал, что в тупике с памятью:
http://www.nedopc.org/forum/viewtopic.php?t=9310 все культурно промолчали.
А в топике про Galaksija решили обсудить. :o
Не - я ни в коем случае не против! :lol:


13 Feb 2011 07:40
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
2_fifan

Кстати говоря, вот ты тут утверждал
fifan wrote:
У меня пик на 30 МГц не успевал работать с ВВ55 (хотел эмулятор клавиатуры сделать).

Может ты тоже генератор на кварце не включил?
Там целый РК86 на 16 МГц пашет,
http://www.nedopc.org/forum/viewtopic.php?p=88325#88325
а тебе 30 МГц не хватило на клаву?
Я без намерения обижать кого-то, но вдруг?
А то я там читаю - думаю... 30 МГц для клавы не хватало, может и тормозит Мега на 16 МГц ...
Извини, что повторяюсь - не знаю, читаешь ли ты ветку AVR.

PS. И вот ещё что вспомнилось, подумав... Я запускал эмулятор Шевцова
на 286-й машине 20 МГц, всё работало, чуть тормозя, а в эмуляторе - не
только ВВ55, но и весь "Специалист МХ". А тут на 30 МГц только ВВ55 не
тянет, странно...


Last edited by Lavr on 14 Mar 2011 16:53, edited 1 time in total.



14 Mar 2011 12:30
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 115 posts ]  Go to page 1, 2, 3, 4, 5 ... 8  Next

Who is online

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