Просмотр полной версии : Видеокарта для Спека
20 лет как уже, многие задумывались, можно ли улучшить работу видеосистемы Спектрума... Вот вопрос, ни кто не задумывался ли о том, чтоб сделать видеокарту на основе скандаблера RGBI-VGA?)
Суть в том, что для совместимости с программами, чтоб совсем не заморачиваться с их переделкой и адаптацией, старые программы будут просто преображаться в соответствии с частотами VGA монитора. Плюс, за счёт сопроцессора, реализовать удаление (минимизацию) конфликта атрибутов (клэшинга), замыливание и прочее на картинках от старых игр. А в новых программах (вдруг кто-то захочет их делать) уже делать всё по новому...
На чём делать сопроцессор? Вот тут надо думать (что-то железное или софтовое на FPGA)... Было бы интересно услышать предложения, а также аргументы, что это всё не стоит делать)
https://s5o.ru/storage/simple/ru/ugc/92/85/23/21/ruu49fa955064.jpg
SoftLight
03.11.2020, 14:59
PavelZX, про ULAX (https://zx-pk.ru/threads/27710-zx-ulax.html?highlight=ulax) ничего не слышали?
Может объедините усилия с авторами и создадите на FPGA железное решение?
ZX_NOVOSIB
03.11.2020, 15:24
20 лет как уже, многие задумывались, можно ли улучшить работу видеосистемы Спектрума...
не 20, а уже почти 30.
Может объедините усилия с авторами и создадите на FPGA железное решение? Слышал, но не дошло дело разобраться, что это за зверь. Надо почитать переварить информацию...
SoftLight
03.11.2020, 18:35
Слышал, но не дошло дело разобраться, что это за зверь. Надо почитать переварить информацию...
Просто там как-бы большинство вопросов клэшинга и переделки игр и существующего софта уже давно решены и поставлены на поток. Другое дело, что пока это все живет только в виде эмулятора для PC. Но вроде бы авторы что-то говорили про возможность повторения в железе.
вроде бы авторы что-то говорили про возможность повторения в железе
Если есть алгоритм, то вопрос только какими средствами его реализовать. В эмуляторе всё делается CPU (может и GPU, но вряд ли нужна такая мощь) ПК. Если делать всё в FPGA, то вопрос на сколько производительное ядро нужно. Опять же, одно дело если последовательный алгоритм для CPU это одно, а в GPU OpenGL это уже немного другое. Внешний процессор может быть банально дешевле, но всё удовольствие нивелируется необходимостью разводить и изготавливать под это дело плату. Как вариант такую девборду использовать для макетирования:
https://aliexpress.ru/item/1005001529178155.html с ZYNQ 7000. Использовать OS реального времени и программировать на Си)
- - - Добавлено - - -
Мне в другой моей теме уже указывали, на отсутствие реализованных мной проектов. Поэтому сразу пишу, что я больше теоретик, кто не в курсе (а то опять вопросы такие будут)... Я давно смотрю на такой проект: https://andybrown.me.uk/wk/2014/06/01/ase/ думаю, что-то там можно будет подчерпнуть)
Эмулятор ULAX вроде бы один человек делает и там всё-равно игры как-то адаптируются, прежде чем фиксить конфликт атрибутов и добавить что-то новое в раскраску... Потом ещё раз просмотрю тему внимательнее и может пообщаюсь с автором (либо авторами))
Я вижу всё это так, чтоб параллельно как бы, средствами графического ускорителя, можно было отслеживать движения спрайтов и вносить корректировку в раскраску фона. Так же сами спрайты можно будет дополнительно подкрашивать, тоже автоматически, но может давать возможность задавать эти цвета, на свой вкус... Естественно, что быстродействие такого ускорителя не должно сильно влиять на задержку вывода картинки на монитор)
Мне в другой моей теме уже указывали, на отсутствие реализованных мной проектов. Поэтому сразу пишу, что я больше теоретик, кто не в курсе (а то опять вопросы такие будут)...
Вы не теоретик, Вы - сказочник! Главное побольше красивых слов - CPU, GPU, Си, OS реального времени и завернуть это в треп из пустопорожней воды. На выходе - портянки постов, купленные на Алиекспрессе бессмысленные дешевые микрухи и ноль схем и программ. Или это по-вашему Теория Электроники?
В прикладной электронике вообще нет никаких теоретиков, только в фундаметальной разве что остались - в производстве и проектировке кристаллов. А так берете спецификацию на чип, изучаете, делаете то, что Вам нужно. Ума, таланта, упорства хватило - молодец, почет и уважуха! Нет - ну много таких, проходите мимо...
На сию плату есть схема (видел) и наверно ещё что-то.
старые программы будут просто преображаться в соответствии с частотами VGA монитора
только я не понял этой фразы звучащей как речь Остапа Ибрагимовича перед васюкинскими любителями?
Lethargeek
04.11.2020, 05:05
только я не понял этой фразы звучащей как речь Остапа Ибрагимовича перед васюкинскими любителями?
это, видимо, про буферизацию последних кадров с интерполяцией для перевода 50->60 гц
правда, вместе с продолжением выглядит попыткой запрягать телегу впереди лошади
NEO SPECTRUMAN
04.11.2020, 05:36
это, видимо, про буферизацию последних кадров с интерполяцией для перевода 50->60 гц
правда, вместе с продолжением выглядит попыткой запрягать телегу впереди лошади
кормить видео поток какому нибудь SVP и получать 120 ФПС на выходе :v2_lol:
кормить 15 фпс-ные спектрумовские игры SVP и получать 120 ФПС фреймовосте :v2_lol:
Да люблю фантазировать!)
В прикладной электронике вообще нет никаких теоретиков
Мдауж, это уже клиника... Имел ввиду теорию вообще, у меня интересы на электронике не ограничиваются. Сейчас есть сложности с организацией мастерской, много работы по ремонту помещения, нет средств на оборудование. Считать теоретиком в прикладной электронике специалиста, занимающегося десятки лет ремонтом и наладкой разнообразной техники, это что-то...
- - - Добавлено - - -
вместе с продолжением выглядит попыткой запрягать телегу впереди лошади
Да, чтоб не заморачиваться с выбором монитора, сразу предусмотреть возможность использовать наиболее приемлемые для большинства частоты...
Согласен, что самое главное то как реализовать распознавание спрайтов и их перерисовку)
Согласен, что самое главное то как реализовать распознавание спрайтов и их перерисовку)
рассказ есть у Лема, про профессора к которому приходили изобретатели и предлагали изобретения, один пришел и рассказывал про разработанные им стратегии с изменением настоящего через изменение прошлого, на вопрос "а машину времени вы изобрели?", изобретатель возмутился и сказал что не должен же он всем заниматься и это должен сделать кто то другой
NEO SPECTRUMAN
04.11.2020, 12:21
про разработанные им стратегии с изменением настоящего через изменение прошлого,
напомнило
http://lurkmore.so/images/2/2e/PROFIT.jpg
"а машину времени вы изобрели?"
есть и более грубый анекдот про изобретение шоколадного масла из ...на. Но на самом деле эти изобретатели правы. Леонардо Да Винчи и Кибальчич намного опередили время, но почему позже их идеями не воспользоваться? Если появятся копеечные GPU в паре с нейропроцессором то на них можно реализовать какую угодно трансформацию кадров для Спектрума хоть в 4K, хоть в 8K, а пока "стратегии составляйте"
Леонардо Да Винчи и Кибальчич намного опередили время, но почему позже их идеями не воспользоваться
у них идеи были на уровне "как нарисовать сову", по аналогии идея получается - "вот спековская картинка с клэшем, а вот она же без клэша, офигенная идея"
Почему так мало желаешь? Делаешь малопиксельный спрайт, к нему описание во что его конвертировать...и вот оно счастье! :) все карты в меру своих возможностей конвертируют. Правда старые софты придется взламывать под это чудо.
NEO SPECTRUMAN
04.11.2020, 13:30
у них идеи были на уровне "как нарисовать сову", по аналогии идея получается - "вот спековская картинка с клэшем, а вот она же без клэша, офигенная идея"
а как же прикручивание нейронных сетей и прочей ереси?
а как же прикручивание нейронных сетей и прочей ереси?
фраза "прикрутим нейронную сеть" это тоже как "вот кружок - вот сова"
- - - Добавлено - - -
Почему так мало желаешь? Делаешь малопиксельный спрайт, к нему описание во что его конвертировать...и вот оно счастье!
проблема что все хотят конвертировать старые игры, в которых никто ничего не писал в качестве описаний и нет ни исходных кодов да и спрайты в разных форматах
про профессора к которому приходили изобретатели
Я не профессор, а как раз генератор идей: http://suef.ru/rasshiryaya-granitsy/ наивная фантастика написанная мной в 19-20 лет. 3D нанопечать только зарождается сейчас, а тогда (1992 год) я только "фантазировал", о том как будет развиваться современная электроника... С практикой да, есть сложности, не спорю)
- - - Добавлено - - -
а как же прикручивание нейронных сетей и прочей ереси?
Нейросеть, в настоящий момент это просто красивое описание математических моделей, применяющихся при распознавании образов и обработки бигдата. Ни к нейронам, ни к сетям как таковое не имеющее отношение...
Задача состоит в том, что не затрагивая код, распознавать спрайты и модифицировать картинку в реальном времени. Как бонус, распознанные спрайты и тайлы (кусочки фона), можно использовать для создания продолжений популярных игр на новой видеокарте. Повторюсь, я предлагаю совсем не трогать старый код! Можно будет так же обрабатывать игры не только от спека, но и любых других олдскульных платформ. Идея сгенерирована в поддержку проекта "Ковчега", чтоб добавить в него изюминку))
NEO SPECTRUMAN
04.11.2020, 13:55
фраза "прикрутим нейронную сеть"
да после того как
нейроносетефилы на фразу
"да это же тупо набор таблиц"
стали отвечать
"тышо нет это не набор таблиц это нейронные сети!"
я смотрю на них как на гафно
хотя по описанию с картинками это тупо набор таблиц :)
Делаешь малопиксельный спрайт, к нему описание во что его конвертировать...и вот оно счастье!
По сути так, не меняя кода, просто добавив параметров и контента, можно будет преображать любые старые игры визуально)
NEO SPECTRUMAN
04.11.2020, 14:01
математических моделей
да и математические модели это словосочетание придуманное для п****жа
чтобы якобы подчеркнуть уровень интеллектуального развития оно произносящего п***щего
проблема что все хотят конвертировать старые игры, в которых никто ничего не писал в качестве описаний и нет ни исходных кодов да и спрайты в разных форматах
ICE нужен через процессор втыкаемый...на нем можно творить всякие чудеса, дополненный многоканальным осциллом/лог. анализатором. Потом вряд ли одни и те же разработчики сильно по-разному изощрялись с экраном. Работа муторная, не спорю. Но тут уж надо взвешивать что проще: заново софт переписать или взломать его с помощью новейших технических средств.
То, что сейчас выдают за ИИ это и есть адаптивные нейронный сети! В них проблема одна - разработчик до конца не понимает, как это они делают ( в деталях ). Но ведь и педагоги в деталях не знают как обучается человек до 2 лет, пока он плохо знает язык. Затем в развитии естественного интеллекта/мозг ребенка уже подключается другие направления ИИ, которые пока особых успехов не демонстрируют и инвесторами как следует не обабляются. А нейрочипы в природе уже есть. Хотите? Покупайте и разрабатывайте на них. Надеюсь реальный чип (https://www.intel.com/content/www/us/en/products/processors/movidius-vpu/movidius-myriad-x.html)это уже не п*****ь?
NEO SPECTRUMAN
04.11.2020, 14:15
По сути так, не меняя кода, просто добавив параметров и контента, можно будет преображать любые старые игры визуально)
можно то можно но
1. это сверх ресурсоемко
2. будут артефакты тк не всегда можно узнать а от кого это кусок на экране даже людскими мозгами
3. когда будет какой то эффект с искажением битмапа (растягивание, черезстрочное затемнение(как например в робокопе)) весь алгоритм подавиться и нехрена не узнает на экране
- - - Добавлено - - -
с таким же успехом можно написать симулятор второго плеера который будет анализировать что на экране и управлять...
звучит интересно и в принципе это возможно
но реализация затруднительна...
- - - Добавлено - - -
Надеюсь реальный чип это уже не п*****ь?
п***жы
ибо придумано заумное название для какой то фигни
в придачу местами реализация того же ручками работала бы на пару порядков быстрее...
но это жы нейронные сети
это стильно модно молодежно
1. На счёт ресурсоёмкости не спорю, но это как раз задача для современных аппаратных и программных средств решаемая. Как раз и задал соответствующий вопрос в стартовом топике темы, на сколько это может быть востребовано и стоит ли овчинка выделки;
2. Артефакты естественно будут, но может они наоборот станут фичей, а не глюком, с какой стороны посмотреть;
3. Разного рода эффекты (искажение битмапа) чисто визуальные, алгоритм видеокарты его не "увидит", но я могу ошибаться...
NEO SPECTRUMAN
04.11.2020, 14:27
на сколько это может быть востребовано и стоит ли овчинка выделки;
никому эта херня кроме аффтара будет не нада...
за примерами оно можно сходить в темы с уже работающими играми без клешинга и 16/256с....
вот второй плеер возможно был бы интересен и полезен
но он будет или совершенно тупой
тк нужно определять что наносит повреждение (где на экране вообще HP и чье) и чего надо избегать
а это 100500 запусков, типо самообучение и узнавание конкретной игры потом...
или это будут профили для каждой игры
где будут уже известны образцы всех спрайтов
в сочетании с мониторингом содержимого памяти и переменных
такой вариант может быть еще реализуем подручными средствами
или это будут профили для каждой игры
где будут уже известны образцы всех спрайтов
в сочетании с мониторингом содержимого памяти и переменных
Да, примерно так и представляю, что можно делать такие профили к играм, тогда их генерация может быть сделана при помощи любого симулятора (с открытым кодом и дебагингом), с неким нашим дополнением. Тогда на данную видеокарту будет не так много обязанностей возложено и сделает её на много проще.... Вариант с самообучением сложнее, более универсален, к тому же, если добавить в его алгоритм немного случайности, то каждое прохождение игры будет уникальным по видеоряду. Блин, да такая штука заставит всех "страдающих" ностальгией их все переиграть и не по разу))
Lethargeek
04.11.2020, 14:56
Да, чтоб не заморачиваться с выбором монитора, сразу предусмотреть возможность использовать наиболее приемлемые для большинства частоты...
а большинство-то в курсе, что для него "наиболее приемлемо" 60гц? ладно бы еще в 90-е думать так, но сейчас-то телевизоров дешёвых полно, и проблемы с ними совсем другие
да уж. счас к филипсу по скарт подключился, так он картинку криво показывает и частоту как 56 Гц определил. При этом самсунг все хорошо и определяет, и показывает.
какие уж тут нейросети.
Lethargeek
04.11.2020, 17:44
Я давно смотрю на такой проект: https://andybrown.me.uk/wk/2014/06/01/ase/ думаю, что-то там можно будет подчерпнуть)
заглянул туда:
I decided up-front that this would be a sprite-based 2D graphics accelerator. Sprites are graphical objects that the developer can place at arbitrary locations on the screen. They can overlap each other in a predictable Z-order and can have areas of transparency so that they may be non-rectangular.
A frame from a game is assembled from a collection of sprites, some of which will represent the player’s environment, some will represent the player and other game actors and still others will represent transients such as explosions and other effects.
Sprites are the only graphics on the display and each frame is assembled independently by placing each sprite at its configured position in the z-order. This means that additional hardware such as bit-blitters are not required and moving a large sprite around costs the same as moving a small sprite. Radical changes between frames are as cheap as no changes at all.
All the cellphone LCDs that I’ve seen have a default refresh rate of approximately 60 frames per second (fps) so I decided on a target of 30 fps for the main engine. This means that I can spend 1/60s preparing the next frame in a frame buffer and then the next 1/60s sending it to the LCD.
рендерить хардварные спрайты в растровый буфер :v2_crazy: чтобы получить 30 fps в результате... :v2_clap2: пост 2014 года... :v2_dizzy_facepalm:
NEO SPECTRUMAN
04.11.2020, 17:52
чтобы получить 30 fps в результате... пост 2014 года...
Z-order
а если рендерить спрайты с Z buffer-ом
то можно делать всякие освещения сложные перекрытия одного объекта другим
всякие травызелени которые имея всего 2 плана пиксельный и Z
которые будут выдавать типа 100500 вариантов перекрытия объекта помещенного в них
рендерить хардварные спрайты в растровый буфер чтобы получить 30 fps в результате
Не понял фразы... Спрайты могут быть любые, они там грузятся с карты памяти, на старом Спартане сделано что-то вроде сопроцессора для работы с 2D графикой, что в принципе нам и нужно, по сути) Тайминги рассчитаны на имеющийся у автора дисплей, с учётом встроенного в него контроллера...
В общем смысл в том, что в FPGA надо как-то рендерить некоторое количество спрайтов поверх имеющегося видеопотока, с учётом, что этот видеопоток (интерполяцию естественно делать предварительно) надо ещё распознавать на наличие изменений, что само по себе сложно, но не решаемо)
Lethargeek
04.11.2020, 18:47
да там чел вообще походу не понимает, что такое аппаратные спрайты, зачем, откуда, и чем они от блиттера отличаются
ну, и в итоге изобрёл квадратное колесо - у него там по сути блиттер, но ухудшенный по спрайтоворелигиозным причинам
и да, частота самого дисплея там вдвое выше, зачем целый кадр на пересылку тратить - покрыто мраком
Ещё, что нашёл, на вскидку, это проект в FPGA https://www.syntiac.com/fpga64.html там можно глянуть, как реализован VIC-II, чтоб было от чего оттолкнуться, при разработке 2D ускорителя (есть исходники VHDL в старых версиях)... Потом поищу ещё варианты)
- - - Добавлено - - -
https://github.com/zzemu-cn/LASER310_FPGA_DD20/blob/master/rtl/mc6847_vga.v mc6847
- - - Добавлено - - -
https://github.com/MiSTer-devel/Minimig-AGA_MiSTer
Lethargeek
04.11.2020, 20:15
VIC-II - больше замедлитель, чем ускоритель :)
CodeMaster
04.11.2020, 22:41
По сути так, не меняя кода, просто добавив параметров и контента, можно будет преображать любые старые игры визуально)
Тут не надо ничего изобретать. Немного LSD и клешинг пропадает и монохромные игры становятся цветными и даже сюжет становится более интерактивным.
NEO SPECTRUMAN
04.11.2020, 22:44
Тут не надо ничего изобретать.
а так можно легко вылечить клешинг
нужно всего навсего выпилить атрибуты нафик :)
нужно всего навсего выпилить атрибуты
По сути так и должно быть. Обрабатывается отдельно яркостный канал, нейросеть не нужна, просто сравнение по образцу, чтоб распознать фон и спрайты. Цветовые биты обрабатывать уже отдельно, преобразовывая атрибуты в полноцветную раскраску...
Конечно для этого нейросеть не нужна. Нейросеть нужна, когда черно-белые фильмы раскрашивают в естественные цвета с учетом времени и места действия. А для экранов ZX-Spectruma она может помочь только в тех случаях, когда предъявлены раскрашенные образцы спрайтов и необходимо преобразовать маленькое число пикселей в огромное. Это как по черно-белой или обшарпанной цветной фотке портрет нарисовать художнику. Если же придумать "язык описаний спрайтов", то можно обойтись и без адаптивной нейросети с обучением. Но в этом случае весь код предварительно преобразовывается на стороннем десктопе на кросс-средствах под заданный экран, например svga или 4K, возможно в автоматизированном, а не автоматическом режиме. В этом случае и используемая карта на ZX-Spectrume должна генерировать спрайты по высокоуровневому описанию, а z80 должен лишь давать ей "макрокоманды" на перемещения( включая повороты) и преобразования( например если пораженный злодей дематериализуется его спрайт может не просто исчезнуть с экрана и т.п., ну или какой-то объкт поврежден). Понятно какой вычислительной мощностью и памятью она должна обладать.
Задача делится на две части:
Первая -- это захват видеопотока (RGBI) со Спектрума (или другого ретро компьютера, где цвет задаётся атрибутами), отдельная обработка яркостного канала на предмет выявления перемещающихся спрайтов и тайлов фона. Думаю, что изобретать очередной велосипед не стоит и лучше использовать элементы из библиотеки openCV: http://robocraft.ru/blog/computervision/264.html Вопрос только какой процессор будет минимален для данной задачи, использовать ли отдельный корпус, FPGA со встроенным ядром, либо софтверные ядра.
Вторая -- генерация новой цветовой карты (раскраска по новой, выявленных спрайтов и тайлов). Вот нашёл open-source проект https://github.com/maidenone/ORGFXSoC/tree/master/orpsocv2/rtl/verilog графического ускорителя, из которого так же можно выпилить 3D (если ресурсов чипа будет не хватать) уменьшить до минимума разрешение и битность цветовых каналов)
Как бонус, можно будет подумать о увеличении разрешения, замыливания и прочих пост-эфектах, если на это будет хватать ресурсов...
- - - Добавлено - - -
А дальше, если это удастся реализовать, можно подумать о привлечении разработчиков, для использования новой видеокарты для создания реймейков и продолжений старых игр, может даже и что-то новое или портированное с современных платформ можно будет организовать) Естественно, что надо будет решить вопрос с новым графическим редактором, использующим данное железо и может движка для новых демо и игр...
захват видеопотока
Их (видеопотоков) огромное количество с ньюансами. И там аналоговый сигнал, который надо еще правильно снимать. Я помню в 80-е решали задачку получать геометрические параметры зоны расплава тигля по черно-белой картинке с камеры. Траходром был еще тот(правда там конечно еще фильтрация хитрая была), а здесь задача в сотни раз сложнее, особенно если речь идет о разных 8 битных компах. Делай это сразу на PC для начала на максимально доступной тебе мощности с доступной картой обработки видеосигнала. Когда реализуешь, сразу определишься с требованиями к этой части железяки. Может цена сразу выскочит такая, что ни на что другое уже железа не останется.
Другой подход: лопатить коды, а не видеосигналы. Коды, которые эти видеосигналы генерят. Если бы мы ничего не знали о внутреннем устройстве девайсов, генерящих эти видеосигналы, то да. Ничего другого бы и не оставалось, как захватывать видеопоток. А так это совсем не то, что стертый винил оцифровать и отреставрировать( что тоже не всякий сумеет)
И там аналоговый сигнал, который надо еще правильно снимать.
Проблемы с тем, чтоб получить цифровой сигнал вроде бы нет, если это конечно же не закрытая железка, с которой только композит можно снять... Имел ввиду видеопоток вообще, но в итоге это просто череда картинок, передающихся с частотой 25 или 30 Гц (в телевизорах, напомню черезстрочная развёртка была и полный кадр получался из 2), при чём каждая точка уже разложена на биты RGBI. С композитом да, сложнее немного, впрочем получить обратно RGBI не так уж сложно, хотя из-за перекрёстных искажений будут ошибки)
Я недавно пробивал тему простого АЦП на FPGA: https://electronix.ru/forum/index.php?app=forums&module=forums&controller=topic&id=157412&do=findComment&comment=1700666
Так вот, как мне кажется, с наличием битовой RGBI карты, не сложно её преобразовать в отдельную черно-белую и отдельную атрибутную, не вникая в то что там в исходном коде и это как раз легко можно сделать в FPGA...
Если по этой части проекта все "под рукой", то хотелось бы взглянуть на результат. Кстати, какую "лягушку"( в смысле 8-битку) этим препарируете?
Кстати, какую "лягушку"( в смысле 8-битку) этим препарируете?
Тема же про железо спека, так что начать хотел с "ленина", мне тут как раз живую ретро плату подарили рабочую. По мимо того пришли дешёвые, как тут акцентировали уже, процы, ещё z80 один отдельно и 6502, можно что на них сделать другое, реализовав остальное в FPGA. Исходники есть, только развести их в камне... Почему-то не хочу делать всё в эмуляторе и писать программу под ПК, чисто личный такой бзик)
Просто там как-бы большинство вопросов клэшинга и переделки игр и существующего софта уже давно решены и поставлены на поток. Другое дело, что пока это все живет только в виде эмулятора для PC. Но вроде бы авторы что-то говорили про возможность повторения в железе.
Рабочий прототип есть, как только будет готово более подходящее железо и будет прогресс, обязательно проинформируем в теме.
Чисто технически представляю дело так:
Приходит строка RGBI и пишется в буфер, параллельно получаем отдельно чёрно-белую строку в один бит (хотя может 2 бита лучше, если какие-то ещё параметры вылезут) и отдельно строку раскраски в 4 бита на каждую точку, то есть это не яркостный канал (I) сам по себе, а результат вычисления по всем каналам (RGBI), с учётом рядом стоящих точек. В процессе, пока рисуется полу-кадр, идёт определение контуров и параллельное сравнение точки с предыдущим кадром на предмет изменений, то есть ещё генерируется сигнал этих изменений (можно тоже в 2 бита)... В общем, когда дорисовался кадр, видеопреобразователь уже должен знать координаты и контуры изменений на экране, чтоб выполнить перекраску точек)
- - - Добавлено - - -
как только будет готово более
У вас личная почта переполнена, форум не позволил написать напрямую...
У вас личная почта переполнена, форум не позволил написать напрямую...
Я заметил оповещение в почте, ответил в теме ULAX.
ответил в теме ULAX
Написал там, задал вопрос, что в итоге хотите получить в железе... Тут, как мне кажется есть кардинальная разница в подходах. Это я уже больше для всех читающих тему пишу. ULAX предусматривает адаптацию игр, а я решил, что есть и другой путь. Можно получить другую картинку, не вникая в код игры. Получить спрайты и тайлы прям с живой картинки, чтоб потом делать с ними что хочешь)
Это реально круто, что вы делаете, в этом есть некий элемент творчества. Просто я, разобравшись с нюансами игры, уже не захотел бы в неё играть...
Просто я, разобравшись с нюансами игры, уже не захотел бы в неё играть...
Разобраться надо только, с граф. процедурами , для "обезклешки", а для раскраски еще найти графику.
Lethargeek
05.11.2020, 23:23
Можно получить другую картинку, не вникая в код игры. Получить спрайты и тайлы прям с живой картинки, чтоб потом делать с ними что хочешь)
Просто я, разобравшись с нюансами игры, уже не захотел бы в неё играть...
вот как раз подсматривать графику для раскраски или для тренировки нейросетей - куда больший спойлер, чем вникать в код (притом в очень небольшую часть кода)
NEO SPECTRUMAN
05.11.2020, 23:27
или для тренировки нейросетей
давать на вход графику одной и той же игры для спектрума и для сегаМД :v2_lol:
и пусчть "обучаитсо" :v2_lol:
Lethargeek
05.11.2020, 23:50
давать на вход графику одной и той же игры для спектрума и для сегаМД
и пусчть "обучаитсо"
да без разницы, всё равно человек должен провести предварительную сортировку изображений
NEO SPECTRUMAN
06.11.2020, 00:02
да без разницы, всё равно человек должен провести предварительную сортировку изображений
ну подсовывать похожие картинки это не трахаться в дебагере
а так было бы интересно посмотреть на *****результаты
интересно на сколько оно может работать в риалтайме
Lethargeek
06.11.2020, 00:28
ну подсовывать похожие картинки это не трахаться в дебагере
это точно, трахаться с полной каталогизацией картинок дольше приходится :p
как раз подсматривать графику для раскраски или для тренировки нейросетей - куда больший спойлер
всё равно человек должен провести предварительную сортировку изображений
подсовывать похожие картинки
Я вот что думал вначале и пока развиваю тему, ещё не определился с некоторыми моментами:
Всё-таки плясать надо от графического процессора. Ему нужна постоянная память для микрокода, оперативная для текущего описания того что происходит на экране и перезаписываемая для результатов самообучения, если это интеллектуальная система, либо "профилей" для адаптированных отдельно игр... Авторы ULAX лукавят, говоря, что не модифицируют код игры. Да он сам по себе остаётся неизменный, но обрастает таким вот "профилем". Думаю, не смотря на то, что ими сделан решительный фичикат всех возможных хотелок, в железе проект появится не скоро, так как утромбовать всё в FPGA не так уж просто) Но даже в виде эмулятора на ПК работа проделана большая, снимаю шляпу...
Так вот делать отдельный графический процессор в железе лишь для косметики, для которой ещё и потрудится ручками дизайнеру нужно, как-то не так радужно выглядит, впрочем он будет выполнять роль скандаблера, что тоже не плохо) Я немного пофантазирую, с вашего позволения... Делать навороченную графическую систему и миллионы цветов конечно же не стоит, выпадает из стилистики ретро ПК, во первых, а во вторых и вправду слишком затратно по ресурсам)
Что надо, как я думаю. Простые 2Д примитивы, круг, квадрат и треугольник с несколькими параметрами положения от центра тайла, к которому они относятся масштабированием и пропорциями. Без текстур, но может придумать какую-то аналогию шейдерам, чтоб помимо контура и заливки (отдельными цветами из палитры в 65К) можно было ещё какой рисунок внутри изобразить. Анимированные спрайты для персонажей, ну тут понятно, картинка разбитая на фрагменты кадров, с заданием размера кадра, для вычисления смещения. Количество цветов можно ограничить 256 из палитры 65К также, не забыв про прозрачность... Тайлы и спрайты будут иметь Z координату глубины, для просчёта наложения, а разбиение картинки на слои уже можно делать при проектировании новых игр)
А вот теперь самое интересное. Вместо "профилей" для каждой игры, я бы предложил расширяемую библиотеку тайлов и спрайтов, чтоб интеллектуальный графический процессор сам раскрашивал новые, выявляемые ресурсы, одновременно пополняя библиотеку и давая человеку, не вмешиваясь в процесс, просто давать оценку результату. Типа ставим на паузу и спрашиваем, нравится да, хозяин?))
Lethargeek
06.11.2020, 01:46
Авторы ULAX лукавят, говоря, что не модифицируют код игры. Да он сам по себе остаётся неизменный, но обрастает таким вот "профилем".
Нет, лукавство - это подменять вот так вот понятия. Код игры не модифицируется, и точка.
Но для дополнительной раскраски, как при любом подходе, нужно дать и дополнительную инфу.
Вопрос в том - сколько, и насколько долго-трудоёмко это получится.
- - - Добавлено - - -
Что надо, как я думаю. Простые 2Д примитивы, круг, квадрат и треугольник с несколькими параметрами положения от центра тайла, к которому они относятся масштабированием и пропорциями. Без текстур, но может придумать какую-то аналогию шейдерам, чтоб помимо контура и заливки (отдельными цветами из палитры в 65К) можно было ещё какой рисунок внутри изобразить. Анимированные спрайты для персонажей, ну тут понятно, картинка разбитая на фрагменты кадров, с заданием размера кадра, для вычисления смещения. Количество цветов можно ограничить 256 из палитры 65К также, не забыв про прозрачность... Тайлы и спрайты будут иметь Z координату глубины, для просчёта наложения, а разбиение картинки на слои уже можно делать при проектировании новых игр)
это всё если и сработает, то лишь для спрайтов, но не вычисляемой графики
улучшение не должно быть частично примитивнее улучшаемого
А вот теперь самое интересное. Вместо "профилей" для каждой игры, я бы предложил расширяемую библиотеку тайлов и спрайтов, чтоб интеллектуальный графический процессор сам раскрашивал новые, выявляемые ресурсы, одновременно пополняя библиотеку и давая человеку, не вмешиваясь в процесс, просто давать оценку результату. Типа ставим на паузу и спрашиваем, нравится да, хозяин?))
расширяемую вечно в бесконечной ёмкости памяти? для конечной всё равно закончится аналогом "профилей"
Lethargeek
06.11.2020, 05:53
Плюс к тому, не забываем, что на спеке цвет - динамический, то есть разные цвета могут назначаться одинаковому исходному объекту как перед выводом, так и после. При этом в законченном кадре из-за перекрытия объектов часть информации о форме и особенно о цвете (так как атрибутное разрешение намного меньше пиксельного) будет утеряна. То есть статического анализа для правильной раскраски заведомо недостаточно, а динамический невозможен без анализа кода, поскольку вывод часто производится сперва в буфер (или мелкие отдельные буфера), а уж потом происходит переброска на экран уже без утерянной информации.
улучшение не должно быть частично примитивнее улучшаемого
Вот это можно было бы и обсудить. Вы как раз решили со своим проектом, что советчиков вам не надо, может это и правильно. А я наоборот пообщаться хочу (потрепаться, как кто-то может сказать), прежде чем приступить к чему-то большему, чем сбор информации... Просто не раз обращал внимания, что многие бы с удовольствием занялись разработкой игр под ретро ПК, но чтоб не так уж хардкордно это было и средства разработки приятные появились) Но я понимаю разработчиков, что делать графический редактор и игровой движок под полный примитив в виде того что предлагает Спек 48/128 или аналогичные, крайне затруднительно, тем более чтоб на этом же железе вести разработку. Более поздние клоны предлагают только больше цветов (некоторые больше точек) и памяти, но там нет сопроцессоров графики (только звук). Это что касается Спека. Но можно спросить пользователей других ретро платформ, а может и они бы не отказались от такой видеокарты. Разработать народный графический акселератор для современных ПК практически невозможно, но в нашем случае как раз может и стоит овчинка выделки... Но это я так мечтаю пока))
- - - Добавлено - - -
не забываем, что на спеке цвет - динамический, то есть разные цвета могут назначаться одинаковому исходному
Блин, я замахнулся на создание искусственного разума, в перспективе... http://caix.ru А такая задачка просто для разминки, чтоб отвлечься от дум о возвышенном))
я замахнулся на создание искусственного разума
замах судя по всему приличный, а то уже только на этом форуме озвучен замах на три мегапроекта
замах судя по всему приличный
А что мелочится то? Проектом СИМа я плотно занимаюсь уже 5 лет с небольшим, а задумываться о чём-то подобном начал 13 лет назад, не считая конечно же той повести фантастической, что написал 28 лет назад (а намного позже оцифровал и решил понемногу писать продолжение). Для многих форумчан 15 или 30 лет не срок, для реализации своих задумок, так что я ещё очень скромен... Просто генерирую фонтан идей в разных областях постоянно, это в моей природе))
Lethargeek
06.11.2020, 14:02
А такая задачка просто для разминки, чтоб отвлечься от дум о возвышенном))
и даже на разминке уже понятно, что искусственный (да и настоящий) разум не всемогущ и во многих случаях недостающую информацию восстановить не может даже в теории
искусственный (да и настоящий) разум не всемогущ
А я как раз то немного иначе смотрю на это. Человек сам по себе очень слаб, только отдельные индивиды могут длительно контролировать свои чувства, поступать логично и контролировать окружение. Тем более глупо думать о каком-то всемогуществе... Сила людей во взаимодействии, когда они дозируют свои собственные интересы и интересы группы. СИМ, кстати, я разрабатываю как сообщество таких синтетических индивидов, объединённых в разные группы, каждая из которых будет заниматься определённым, интересным им направлением)
Я очень скромен в оценки своих способностей, поэтому не рвусь что-то сделать по быстрому, кому-то что-то доказать...
Lethargeek
06.11.2020, 15:08
а по поводу советов - думаю, никому не нужны советы, как сделать хуже :)
недостающую информацию восстановить
Не обязательно её восстанавливать в полном объёме, можно что-то просто додумать, проявить фантазию)
Lethargeek
06.11.2020, 15:14
можно что-то просто додумать, проявить фантазию)
ага, еще проще запустить аналогичную игру на другой платформе, ничего не изобретая
- - - Добавлено - - -
или даже не совсем аналогичную, но "додумать, проявить фантазию" тысызыть :rolleyes:
никому не нужны советы, как сделать хуже
Это чисто от особенностей характера человека зависит. Кто-то, слушая такие советы, просто откинет их и пойдёт своим путём, а кто-то наоборот повернёт не туда, понадеясь на мнения авторитетов. Фильтрация таких советов не всегда должна полагаться на логику, иногда может помочь банальная интуиция)
- - - Добавлено - - -
ага, еще проще запустить аналогичную игру на другой платформе, ничего не изобретая
- - - Добавлено - - -
или даже не совсем аналогичную, но "додумать, проявить фантазию" тысызыть :rolleyes:
Так большинство игр на мобильных платформах и делают))
Lethargeek
06.11.2020, 15:18
а кто-то наоборот повернёт не туда, понадеясь на мнения авторитетов.
то есть понадеясь, что будет лучше
- - - Добавлено - - -
Так большинство игр на мобильных платформах так и делают))
так и играли бы в мобильные платформы, при чём тут спектрумы?
при чём тут спектрумы
Если ко мне вопрос, то тут возможность совместить электронику и программирование, немного поднять свои скиллы в CPLD/FPGA. Да и нравится ваша компания просто)
Lethargeek
06.11.2020, 15:27
совместить электронику и программирование, немного поднять свои скиллы в CPLD/FPGA. Да и нравится ваша компания просто)
А. Так бы сразу и сказал, что спектрум не главное.
уже только на этом форуме озвучен замах на три мегапроекта
https://zx-pk.ru/threads/32225-kompyuter-iz-alternativnoj-realnosti.html
Это просто идея пока, появилась она раньше, чем её озвучил, но буду ли ей заниматься зависит чисто от того, смогу ли найти единомышленников. Нынче вообще мало кто помнит про то что были такие аналоговые компьютеры. Хотя многие российские военные разработки, по сути, это симбиоз аналоговых и цифровых систем, но это закрытая информация...
Идея видеокарты с распознаванием спрайтов и тайлов, аппаратной отрисовкой в цвете с более высокими возможностями, нежели было изначально у ретро-компов, стала естественным развитием идеи "Ковчега":
https://zx-pk.ru/threads/32274-ne-spekom-edinym-ili-retro-kombajn.html
Нет чёткой ориентации чисто на Спек? Да, потому что суперпопулярность Спека в СНГ это не от хорошей жизни, как я считаю. Очень здорово, что на форуме для Спека представлены другие платформы. Но познакомится с большинством можно только в эмуляторах. Только отдельные энтузиасты из СНГ могут себе позволить иметь несколько разных компьютеров в железе и как-то их сравнивать между собой. Поэтому и задуман "Ковчег", но помимо возможности одновременного запуска пары разных ретро компов, хочется добавить некий элемент, который не просто улучшает отображение старых игр, но позволить создавать продолжения и новые программы. Главное, чтоб не использовать современный ПК)
- - - Добавлено - - -
Да, я мечтатель, генератор идей, причём не только связанных с компьютерами:
http://shal.pw/blog/post/socialnaya-zanyatost-v-nebolshih-gorodah-i-syolah
Но я не только мечтаю, но и что-то делаю, чтоб их реализовать. Уехал из города, оставив всё детям и с нуля обустраиваюсь на селе. Свой дом и земельный участок мне позволит не только возможность вести ЗОЖ, но и обустроить обширную многофункциональную мастерскую...
Lethargeek
09.11.2020, 20:58
Да, я мечтатель, генератор идей,
Но я не только мечтаю, но и что-то делаю, чтоб их реализовать.
вот когда реализация появилась бы, тогда и можно было тему открывать в разделе hardware
а для мечтаний здесь "концепции" предусмотрены
Тему отдельную не буду создавать и поднимать какую-то из старых...
Купил телек с трубкой, не особо старый Rolsen C21R95 http://monitor.espec.ws/section1/topic130257.html посчитал, что для ретро-компа, в классическом виде нужно использовать только телевизор с ЭЛТ. Кстати на этом телеке stereo вход звука и два динамика, соответственно. Разъёма SCART на нём не оказалось, а, вместо него, был распаян AV вход-выход, который я удалил. SCART взял с какого-то хлама и впаял на место. Распаяв 8 резисторов на 100 Ом (взятых от-туда же где был разъём) и удалил 4 перемычки, замыкающие на землю 45-48 выводы видепроцессора TDA9381PS, одна перемычка была под корпусом микросхемы, поэтому пришлось перерезать дорожку между 45 выводом и контактной площадкой перемычки.
Поискав информацию о подключении спектрума, определил, что надо будет обеспечить подачу управляющего напряжения 1-3 вольта на 16 вывод разъёма, чтоб задействовать RGB, это напряжение надо дополнительно фильтровать, чтоб не проникали помехи на телевизор. Есть ещё сложность в том, что синхронизацию мы подаём на видеовход (20 вывод разъёма) и может быть ложная засветка чёрного фона, где её не должно быть. Пока не проверил как будет работать всё, надо искать соединительный кабель, вернее покупать ответный разъём и экранированные провода, чтоб спаять его, так как найти готовый вряд ли удастся)
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot