nedoPC.org

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



Reply to topic  [ 22 posts ]  Go to page 1, 2  Next
Игровая приставка на одной РУ5 (и микропроцессоре) 
Author Message
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22422
Location: Silicon Valley
Reply with quote
Вчера в телеге один товарищ высказал идею:

Attachment:
1RU5.jpg
1RU5.jpg [ 129.94 KiB | Viewed 9751 times ]

и я вспомнил, что я с коллегами по общаге ровно это же обсуждали в 1991 или 1992 году - мы хотели разработать самую дешёвую на тот момент игровую приставку - на одной РУ5 и 580м проце :)

Вот временные характеристики разных версий РУ5:

Attachment:
RU5.jpg
RU5.jpg [ 47.06 KiB | Viewed 9751 times ]


т.е. теоретически можно разогнаться до 14 МГц с лишним и получить NTSC цвета по типу Xorya в эффективном разрешении 160x200 (или ч/б 640x200) - хотя при этом придётся ставить две РУ5х - так что наверное начать надо с 320x200 монохром, которые влезут в одну РУ5:

Attachment:
ShaosLinux-320x200-mono.gif
ShaosLinux-320x200-mono.gif [ 9.88 KiB | Viewed 9751 times ]

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


29 Dec 2021 19:48
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Эта идея не нова, и, видимо, посещает многих. Я слышал о ней тоже примерно в те же годы.
Но если серьёзно всё посчитать, она практически не работоспособна.
По крайней мере мой коллега, который этой идеей просто бредил, реализовать её так и не смог.
И тупик, насколько мне помнится, не в чтении РУ5, а в записи в неё.

_________________
iLavr


29 Dec 2021 22:27
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22422
Location: Silicon Valley
Reply with quote
Lavr wrote:
Эта идея не нова, и, видимо, посещает многих. Я слышал о ней тоже примерно в те же годы.
Но если серьёзно всё посчитать, она практически не работоспособна.
По крайней мере мой коллега, который этой идеей просто бредил, реализовать её так и не смог.
И тупик, насколько мне помнится, не в чтении РУ5, а в записи в неё.

Ну записывать придётся за пределами видимой строки из предварительно заполненного 8-битного сдвигового регистра.

Вообще полный цикл будет подлиннее - с ним точно влезем только в 4 МГц:

Attachment:
RU5_timings.jpg
RU5_timings.jpg [ 130.63 KiB | Viewed 9731 times ]


Attachment:
RU5_diagrams.jpg
RU5_diagrams.jpg [ 95.98 KiB | Viewed 9731 times ]


Но вроде можно делать один RAS и много CAS-ов - тогда можем суметь и 7 МГц (но не 14):

Attachment:
4164_page_mode.png
4164_page_mode.png [ 39.11 KiB | Viewed 9731 times ]


P.S. Писать тожно можно страницами:

Attachment:
4164_page_mode_write.png
4164_page_mode_write.png [ 51.8 KiB | Viewed 9731 times ]


P.P.S. Буржуйские 4164B на максималке вроде могут и на 9.5 МГц писать/читать странично...

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


29 Dec 2021 23:21
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22422
Location: Silicon Valley
Reply with quote
Тут проблема есть, что при страничном доступе мы перебираем только CAS-адреса, оставляя RAS-адреса нетронутыми - тогда получается, что мы можем только 256 разных точек в ряд нарисовать, а надо 320 - если вставлять лишний RAS-цикл, то будет видимая щель (или растянутый пиксел) на границе перехода. Можно попробовать сразу взять 565РУ7 - они хоть в полном цикле и помедленнее, но в страничном режиме быстрее, чем самая быстрая РУ5:

К565РУ7В: 120нс -> 8.33 МГц
К565РУ7Г: 140нс -> 7.14 МГц

Можно конечно остаться в размерах спектрум-экрана 256х192, но без цвета оно будет совсем тухло, а так, имея 512x512 можно даже скролл организовать :)

P.S. Ну или поставить две РУ5, чтобы первая делала основные 256x200, а вторая - дополнительные 64x200 (причём бесшовно).

P.P.S. Ладно - пусть будет одна 565РУ5Б (или 4164B-15), но каждая строка будет иметь 256-пиксельную середину и по 32 пиксела слева и справа (будут браться из другого места памяти следом за основной частью - да будет небольшой "пробел" в местах склейки - ну что поделаешь, зато ) - тогда в среднюю часть можно будет грузить спековские чёрно-белые экраны (даже перепутывание строк можно сделать как на спеке опционально, включаая/выключая это перепутывание через порт).

P.P.P.S. Ещё бывают 41464 с внутренней организацией 64Kx4 - тут уже можно 16-цветный режим забубенить :)

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


30 Dec 2021 00:40
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Когда мне эту идею рассказали, я поначалу был в восторге - как я сам до такого не допёр?
Но когда сам всё прикинул и посчитал, пришел к выводу, что идея по меньшей мере трудно
реализуемая, и никакой выгоды не даёт.

Мне не охота лезть в графики и цифры, но хотя бы такой факт: когда в "Специалист" ставили
z80 и разгоняли вдвое, не все РУ5-е устойчиво работали...
И это притом, что в "Специалисте" в обычном режиме ОЗУ работает лишь на удвоенной частоте
процессора. А в этой затее частота будет зело поболее, нежели удвоенная.

_________________
iLavr


30 Dec 2021 01:16
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22422
Location: Silicon Valley
Reply with quote
Ещё одна проблема - рефреш.

Рефреш для каждого адреса RAS должен делаться не реже 2 мс, т.е. 500 раз в секунду (10 раз за кадр) - это значит нужно добавить логику скрытых рефрешей за пределами видимой части строки.

Скажем
- первая строка это 32 ячейки из страницы 200 со смещением 0, далее 256 ячеек из страницы 0, далее 32 ячейки из страницы 200 со смещением 32,
- вторая строка это 32 ячейки из страницы 200 со смещением 64, далее 256 ячеек из страницы 1, далее 32 ячейки из страницы 200 со смещением 96,
- третья строка это 32 ячейки из страницы 200 со смещением 128, далее 256 ячеек из страницы 2, далее 32 ячейки из страницы 200 со смещением 160,
- четвёртая строка это 32 ячейки из страницы 200 со смещением 192, далее 256 ячеек из страницы 3, далее 32 ячейки из страницы 200 со смещением 224,
- пятая строка это 32 ячейки из страницы 201 со смещением 0, далее 256 ячеек из страницы 4, далее 32 ячейки из страницы 201 со смещением 32,
...
- последняя строка (199) это 64 ячейки из страницы 249 со смещением 192, далее 256 ячеек из страницы 199, далее 32 ячейки из страницы 249 со смещением 224.

Страницы 250...255 пока не будут использоваться.

Выходит, что к 20й строке непосредственным способом будут перебраны страницы 0...19, а также 200...204 - всего 25 (10%) и надо в те же 20 строк ещё затолкать рефреш остальных 225 страниц - это по 12 скрытых рефрешей в каждой строке получается. Один RAS-only refresh должен длиться 220-260 нс, соответственно 12 штук будут длиться около 3us, что в-принципе укладывается в 10us строчного синхроимпульса - правда на запись в такую видопамять останется только 7us в строке, что есть 27-32 записей битов с полной адресацией либо если пишем по 8 бит за раз это 230+150*7=1280 нс на байт или 5 байт на строку, плюс в нашем распоряжении будет весь кадровый синхроимпульс, что примерно есть 4 ms куда может влезть 3125 записей байтов плюс 1000 байт записанных в строчных синхроимпульсах это будет 4125 байт за кадр, что есть чуть больше половины кадра, т.е. весь экран можно будет программно заполнить за 1.93 кадра (можно ограничиться 4000 байтами на кадр что есть весь экран за 2 кадра).

P.S. Можно "уши" порубить иначе - каждые 32 пиксела брать из новой страницы - тогда в 20 строках влезут 20+40=60 рефрешей (23%) и за пределами видимой части надо воткнуть ещё 190 рефрешей, что есть 10 скрытых рефрешей в каждой строке - в принципе не такой уж и большой выигрышь, чтобы ради него ломать линейность адресации "ушей"...

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


30 Dec 2021 01:37
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22422
Location: Silicon Valley
Reply with quote
Lavr wrote:
Когда мне эту идею рассказали, я поначалу был в восторге - как я сам до такого не допёр?
Но когда сам всё прикинул и посчитал, пришел к выводу, что идея по меньшей мере трудно
реализуемая, и никакой выгоды не даёт.

Ну да - трудно. А кто сказал, что будет легко? ;)

Можно чисто из спортивного интереса сделать и поглядеть чего из этого получится :)

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


30 Dec 2021 01:39
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
Можно чисто из спортивного интереса сделать и поглядеть чего из этого получится :)

Чисто из спортивного интереса сделать, конечно, можно всё!
Но я в то время пришел к выводу, что "овчинка выделки не стоит"...

_________________
iLavr


30 Dec 2021 01:46
Profile
Admin
User avatar

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

P.S. А из второй РУ5 можно сделать фотокамеру :)
https://hackaday.com/2014/04/05/taking-pictures-with-a-dram-chip/


Attachments:
4164-video.gif
4164-video.gif [ 28.82 KiB | Viewed 9617 times ]

_________________
:dj: https://mastodon.social/@Shaos
30 Dec 2021 01:48
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
А из второй РУ5 можно сделать фотокамеру :)
https://hackaday.com/2014/04/05/taking-pictures-with-a-dram-chip/

Тоже очень старая идея. Когда я её видел первый раз, у автора откуда-то была мс ОЗУ с кварцевой крышечкой.
В противном случае нужна мс в керамике и с металлической крышечкой.

Что-то, мне кажется, и на форуме у нас эта идея упоминалась, там где один наш коллега
предполагал с помощью "РК-86", отключив регенерацию, ловить космическое излучение. :wink:
http://www.nedopc.org/forum/viewtopic.php?p=159717#p159717

_________________
iLavr


30 Dec 2021 02:04
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22422
Location: Silicon Valley
Reply with quote
Пластмассовый корпус вроде можно легко разрезать

И я про использование динамической памяти как матрицы для камеры писал где-то тут в 2004 или 2005 году - это было в книжке по ТТЛ микрухам, которую я тогда купил

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


30 Dec 2021 02:19
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
Пластмассовый корпус вроде можно легко разрезать

Сомневаюсь, честно говоря.... я их как-то сверлил, чтобы уничтожить кристалл и использовать
пластмассу с ногами (DIP14) в качестве носителя 14-выводной микросхемы для поверхностного
монтажа...
Так они и сверлятся плохо, и пустоты над кристаллом я не увидел.
А уж чтоб "легко разрезать" - "меня терзают смутные сомнения" (с) :wink:

_________________
iLavr


30 Dec 2021 02:44
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22422
Location: Silicon Valley
Reply with quote
А если добавить ещё одну РУ5 в параллель, то достаточно просто можно реализовать 4 градации яркости ;)

Attachment:
ShaosLinux-320x200-gray4.gif
ShaosLinux-320x200-gray4.gif [ 6.69 KiB | Viewed 9617 times ]

P.S. Поменял тему обратно в «Игровая приставка на одной РУ5 (и микропроцессоре)»

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


30 Dec 2021 19:31
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Ну, картинки - это забавно и весело... :mrgreen:

Ты хоть немного прикинь схему синхронизации этой РУ5 с видеовыходом и процессором...
И станет не так весело. :-?

Это как любительский компьютер "Радио-86РК" из прошлого века: 29 микросхем! :o
Ай какая прелесть! Для любителей всё упростили по самое нибалуйся! :ewink:

Вот только БИС ВГ75 наша промышленность никак не могла наплодить... :(
И вышла статья:"Если нет ВГ75...", а в ней - подобие ВГ75 на рассыпухе,
и рассыпухи практически с пол-Специалиста, но при том же символьном экране! :ebiggrin:

Я тогда читал и очень смеялся, и радовался, что не связался с "Радио-86РК"! :rotate:

_________________
iLavr


31 Dec 2021 01:09
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22422
Location: Silicon Valley
Reply with quote
Lavr wrote:
Ну, картинки - это забавно и весело... :mrgreen:

Ты хоть немного прикинь схему синхронизации этой РУ5 с видеовыходом и процессором...
И станет не так весело. :-?

Ну проц пишет в регистр из которого сдвигаем в РУ5 в нужном временном слоте, а если проц захочет туда ещё что-то записать, пока все биты оттуда не выдвинулись, его остановят - вот и всё :)
А читать из РУ5 обратно в проц будет нельзя (хотя при желании можно сделать похожую схему со сдвиговым регистром наоброт, но это уже по-моему лишнее усложнение)

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


31 Dec 2021 21:24
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 22 posts ]  Go to page 1, 2  Next

Who is online

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