Игровая приставка на одной РУ5 (и микропроцессоре)

Публичный форум для http://www.nedopc.org/nedopc

Moderator: Shaos

User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Игровая приставка на одной РУ5 (и микропроцессоре)

Post by Shaos »

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

Вот временные характеристики разных версий РУ5:
RU5.jpg
т.е. теоретически можно разогнаться до 14 МГц с лишним и получить NTSC цвета по типу Xorya в эффективном разрешении 160x200 (или ч/б 640x200) - хотя при этом придётся ставить две РУ5х - так что наверное начать надо с 320x200 монохром, которые влезут в одну РУ5:
ShaosLinux-320x200-mono.gif
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Игровая приставка на одной РУ5 (и микропроцессоре)

Post by Lavr »

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

Re: Игровая приставка на одной микросхеме динамической памят

Post by Shaos »

Lavr wrote:Эта идея не нова, и, видимо, посещает многих. Я слышал о ней тоже примерно в те же годы.
Но если серьёзно всё посчитать, она практически не работоспособна.
По крайней мере мой коллега, который этой идеей просто бредил, реализовать её так и не смог.
И тупик, насколько мне помнится, не в чтении РУ5, а в записи в неё.
Ну записывать придётся за пределами видимой строки из предварительно заполненного 8-битного сдвигового регистра.

Вообще полный цикл будет подлиннее - с ним точно влезем только в 4 МГц:
RU5_timings.jpg
RU5_diagrams.jpg
Но вроде можно делать один RAS и много CAS-ов - тогда можем суметь и 7 МГц (но не 14):
4164_page_mode.png
P.S. Писать тожно можно страницами:
4164_page_mode_write.png
P.P.S. Буржуйские 4164B на максималке вроде могут и на 9.5 МГц писать/читать странично...
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Игровая приставка на одной микросхеме динамической памят

Post by Shaos »

Тут проблема есть, что при страничном доступе мы перебираем только 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-цветный режим забубенить :)
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Игровая приставка на одной микросхеме динамической памят

Post by Lavr »

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

Мне не охота лезть в графики и цифры, но хотя бы такой факт: когда в "Специалист" ставили
z80 и разгоняли вдвое, не все РУ5-е устойчиво работали...
И это притом, что в "Специалисте" в обычном режиме ОЗУ работает лишь на удвоенной частоте
процессора. А в этой затее частота будет зело поболее, нежели удвоенная.
iLavr
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Игровая приставка на одной микросхеме динамической памят

Post by Shaos »

Ещё одна проблема - рефреш.

Рефреш для каждого адреса 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 скрытых рефрешей в каждой строке - в принципе не такой уж и большой выигрышь, чтобы ради него ломать линейность адресации "ушей"...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Игровая приставка на одной микросхеме динамической памят

Post by Shaos »

Lavr wrote:Когда мне эту идею рассказали, я поначалу был в восторге - как я сам до такого не допёр?
Но когда сам всё прикинул и посчитал, пришел к выводу, что идея по меньшей мере трудно
реализуемая, и никакой выгоды не даёт.
Ну да - трудно. А кто сказал, что будет легко? ;)

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

Re: Игровая приставка на одной микросхеме динамической памят

Post by Lavr »

Shaos wrote:Можно чисто из спортивного интереса сделать и поглядеть чего из этого получится :)
Чисто из спортивного интереса сделать, конечно, можно всё!
Но я в то время пришел к выводу, что "овчинка выделки не стоит"...
iLavr
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Игровая приставка на одной микросхеме динамической памят

Post by Shaos »

Да - в то время наверное пришлось бы кучу мелкой логики ставить для обвязки и в итоге получилось бы НЕ дешевле (ну или как минимум НЕ проще), чем с 8ю рушками, а в это время вместо кучки рассыпухи можно взять одну CPLD :)

P.S. А из второй РУ5 можно сделать фотокамеру :)
https://hackaday.com/2014/04/05/taking-pictures-with-a-dram-chip/
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Игровая приставка на одной микросхеме динамической памят

Post by Lavr »

Shaos wrote: А из второй РУ5 можно сделать фотокамеру :)
https://hackaday.com/2014/04/05/taking-pictures-with-a-dram-chip/
Тоже очень старая идея. Когда я её видел первый раз, у автора откуда-то была мс ОЗУ с кварцевой крышечкой.
В противном случае нужна мс в керамике и с металлической крышечкой.

Что-то, мне кажется, и на форуме у нас эта идея упоминалась, там где один наш коллега
предполагал с помощью "РК-86", отключив регенерацию, ловить космическое излучение. :wink:
viewtopic.php?p=159717#p159717
iLavr
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Игровая приставка на одной микросхеме динамической памят

Post by Shaos »

Пластмассовый корпус вроде можно легко разрезать

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

Re: Игровая приставка на одной микросхеме динамической памят

Post by Lavr »

Shaos wrote:Пластмассовый корпус вроде можно легко разрезать
Сомневаюсь, честно говоря.... я их как-то сверлил, чтобы уничтожить кристалл и использовать
пластмассу с ногами (DIP14) в качестве носителя 14-выводной микросхемы для поверхностного
монтажа...
Так они и сверлятся плохо, и пустоты над кристаллом я не увидел.
А уж чтоб "легко разрезать" - "меня терзают смутные сомнения" (с) :wink:
iLavr
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Игровая приставка на одной РУ5 (и микропроцессоре)

Post by Shaos »

А если добавить ещё одну РУ5 в параллель, то достаточно просто можно реализовать 4 градации яркости ;)
ShaosLinux-320x200-gray4.gif
P.S. Поменял тему обратно в «Игровая приставка на одной РУ5 (и микропроцессоре)»
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Игровая приставка на одной РУ5 (и микропроцессоре)

Post by Lavr »

Ну, картинки - это забавно и весело... :mrgreen:

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

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

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

Я тогда читал и очень смеялся, и радовался, что не связался с "Радио-86РК"! :rotate:
iLavr
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Игровая приставка на одной РУ5 (и микропроцессоре)

Post by Shaos »

Lavr wrote:Ну, картинки - это забавно и весело... :mrgreen:

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