Author |
Message |
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22730 Location: Silicon Valley
|
Вчера в телеге один товарищ высказал идею: и я вспомнил, что я с коллегами по общаге ровно это же обсуждали в 1991 или 1992 году - мы хотели разработать самую дешёвую на тот момент игровую приставку - на одной РУ5 и 580м проце Вот временные характеристики разных версий РУ5: т.е. теоретически можно разогнаться до 14 МГц с лишним и получить NTSC цвета по типу Xorya в эффективном разрешении 160x200 (или ч/б 640x200) - хотя при этом придётся ставить две РУ5х - так что наверное начать надо с 320x200 монохром, которые влезут в одну РУ5:
|
29 Dec 2021 19:48 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Эта идея не нова, и, видимо, посещает многих. Я слышал о ней тоже примерно в те же годы. Но если серьёзно всё посчитать, она практически не работоспособна. По крайней мере мой коллега, который этой идеей просто бредил, реализовать её так и не смог. И тупик, насколько мне помнится, не в чтении РУ5, а в записи в неё.
_________________ iLavr
|
29 Dec 2021 22:27 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22730 Location: Silicon Valley
|
Ну записывать придётся за пределами видимой строки из предварительно заполненного 8-битного сдвигового регистра. Вообще полный цикл будет подлиннее - с ним точно влезем только в 4 МГц: Но вроде можно делать один RAS и много CAS-ов - тогда можем суметь и 7 МГц (но не 14): P.S. Писать тожно можно страницами: P.P.S. Буржуйские 4164B на максималке вроде могут и на 9.5 МГц писать/читать странично...
|
29 Dec 2021 23:21 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22730 Location: Silicon Valley
|
Тут проблема есть, что при страничном доступе мы перебираем только 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-цветный режим забубенить
|
30 Dec 2021 00:40 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Когда мне эту идею рассказали, я поначалу был в восторге - как я сам до такого не допёр? Но когда сам всё прикинул и посчитал, пришел к выводу, что идея по меньшей мере трудно реализуемая, и никакой выгоды не даёт.
Мне не охота лезть в графики и цифры, но хотя бы такой факт: когда в "Специалист" ставили z80 и разгоняли вдвое, не все РУ5-е устойчиво работали... И это притом, что в "Специалисте" в обычном режиме ОЗУ работает лишь на удвоенной частоте процессора. А в этой затее частота будет зело поболее, нежели удвоенная.
_________________ iLavr
|
30 Dec 2021 01:16 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22730 Location: Silicon Valley
|
Ещё одна проблема - рефреш.
Рефреш для каждого адреса 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 скрытых рефрешей в каждой строке - в принципе не такой уж и большой выигрышь, чтобы ради него ломать линейность адресации "ушей"...
|
30 Dec 2021 01:37 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22730 Location: Silicon Valley
|
Ну да - трудно. А кто сказал, что будет легко? Можно чисто из спортивного интереса сделать и поглядеть чего из этого получится
|
30 Dec 2021 01:39 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Чисто из спортивного интереса сделать, конечно, можно всё! Но я в то время пришел к выводу, что " овчинка выделки не стоит"...
_________________ iLavr
|
30 Dec 2021 01:46 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22730 Location: Silicon Valley
|
Да - в то время наверное пришлось бы кучу мелкой логики ставить для обвязки и в итоге получилось бы НЕ дешевле (ну или как минимум НЕ проще), чем с 8ю рушками, а в это время вместо кучки рассыпухи можно взять одну CPLD P.S. А из второй РУ5 можно сделать фотокамеру https://hackaday.com/2014/04/05/taking-pictures-with-a-dram-chip/
|
30 Dec 2021 01:48 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Тоже очень старая идея. Когда я её видел первый раз, у автора откуда-то была мс ОЗУ с кварцевой крышечкой. В противном случае нужна мс в керамике и с металлической крышечкой. Что-то, мне кажется, и на форуме у нас эта идея упоминалась, там где один наш коллега предполагал с помощью "РК-86", отключив регенерацию, ловить космическое излучение. http://www.nedopc.org/forum/viewtopic.php?p=159717#p159717
_________________ iLavr
|
30 Dec 2021 02:04 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22730 Location: Silicon Valley
|
Пластмассовый корпус вроде можно легко разрезать
И я про использование динамической памяти как матрицы для камеры писал где-то тут в 2004 или 2005 году - это было в книжке по ТТЛ микрухам, которую я тогда купил
|
30 Dec 2021 02:19 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Сомневаюсь, честно говоря.... я их как-то сверлил, чтобы уничтожить кристалл и использовать пластмассу с ногами (DIP14) в качестве носителя 14-выводной микросхемы для поверхностного монтажа... Так они и сверлятся плохо, и пустоты над кристаллом я не увидел. А уж чтоб " легко разрезать" - " меня терзают смутные сомнения" (с)
_________________ iLavr
|
30 Dec 2021 02:44 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22730 Location: Silicon Valley
|
А если добавить ещё одну РУ5 в параллель, то достаточно просто можно реализовать 4 градации яркости P.S. Поменял тему обратно в «Игровая приставка на одной РУ5 (и микропроцессоре)»
|
30 Dec 2021 19:31 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Ну, картинки - это забавно и весело... Ты хоть немного прикинь схему синхронизации этой РУ5 с видеовыходом и процессором... И станет не так весело. Это как любительский компьютер " Радио-86РК" из прошлого века: 29 микросхем! Ай какая прелесть! Для любителей всё упростили по самое нибалуйся! Вот только БИС ВГ75 наша промышленность никак не могла наплодить... И вышла статья:" Если нет ВГ75...", а в ней - подобие ВГ75 на рассыпухе, и рассыпухи практически с пол- Специалиста, но при том же символьном экране! Я тогда читал и очень смеялся, и радовался, что не связался с " Радио-86РК"!
_________________ iLavr
|
31 Dec 2021 01:09 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22730 Location: Silicon Valley
|
Ну проц пишет в регистр из которого сдвигаем в РУ5 в нужном временном слоте, а если проц захочет туда ещё что-то записать, пока все биты оттуда не выдвинулись, его остановят - вот и всё А читать из РУ5 обратно в проц будет нельзя (хотя при желании можно сделать похожую схему со сдвиговым регистром наоброт, но это уже по-моему лишнее усложнение)
|
31 Dec 2021 21:24 |
|
|