Comments 76
А вечером/ночью желательно иметь рядом включеную настольную лампу.
Особенно — по СанПиН.
Интересно, почему в "санпиновской форме" у меня дико болят глаза. Всю жизнь (за клавиатурами больше 40 лет) сижу за мониторами без бокового света.
Понравился пост.
Из вариантов «под рукой» лучше всего подходит статическая память (используемая как кэш-память), также взятая со старых материнок.
Кстати, раз уж упомянули части от старых компьютеров, можно вспомнить и вот этот проект:
https://habr.com/ru/articles/406193/
Сейчас, конечно, ПЛИС достать проще и дешевле, чем такую карту и слот для неё, но всё же.
Да, с видеокартой ISA у меня тоже была идея сделать. Но, как правильно вы заметили, достать их сейчас сложнее (хотя у меня есть их некоторое количество), их осталось мало и они пользуются спросом у любителей старых ПК и спектрумов. Кроме того, как указано в той статье, их настройка - весьма непростое дело, там огромное количество регистров и нужно достаточно глубоко погружаться в аппаратуру и принципы формирования изображения. Кстати, там настолько все гибко сделано, что видеокарту VGA можно настроить и на вывод изображения с частотами ТВ-стандарта. Мне встречался и такой проект.
Тому посту шесть лет уже, за это время численность таких видях всё же сократилась. И если у энтузиастов типа меня они ещё есть, то сомневаюсь, что у простого обывателя такая тоже найдётся.
Кстати, там настолько все гибко сделано, что видеокарту VGA можно настроить и на вывод изображения с частотами ТВ-стандарта. Мне встречался и такой проект.
Во времена MS-DOS были специальные драйверы для перевода видеокарты в этот режим. И с помощью специального переходника (например, на К155ЛП5 я собирал) можно было подрубить ПК к композитному входу обычного телевизора.
то сомневаюсь, что у простого обывателя такая тоже найдётся.
Тут Avito может помочь. :)
И с помощью специального переходника (например, на К155ЛП5 я собирал) можно было подрубить ПК к композитному входу обычного телевизора.
Только вот цвета не должно быть без кодера PAL/SECAM/NTSC. Впрочем, если цветоразностные сигналы видеокарта сможет сформировать каким-либо способом, то эта проблема решаемая и без кодера (кстати, для ZX был сделан даже кодер на обычной ПЗУ для заданных цветов из палитры).
Тут Avito может помочь. :)На Авито барыги уже просекли фишку с коллекционерами, и теперь ISA/VLB/PCI VGA видеокарты доступны только по оверпрайсу.
Да и честно говоря, рука не поднимается уничтожать рабочую железку. И кстати, тот же bluepill STM32F103T8U6 может вполне формировать VGA сигнал, как монохромный, так и цветной.
Да и честно говоря, рука не поднимается уничтожать рабочую железку.
Уничтожать? :O Нет, что вы! Она подключается по её родному ISA-разъёму и совершенно не страдает. Там просто эмулируется шина данных и шина адреса и всё.
И кстати, тот же bluepill STM32F103T8U6 может вполне формировать VGA сигнал
Может, конечно. У меня и ATMEGA8 это умела в 256 цветов. Но специализированная видеокарта это сделает всё же лучше.
Когда то очень давно я формировал видеосигнал (пцтс) с помощью AT89C2051. Делал генератор испытательных сигналов для телевизоров. Приходилось считать каждый такт.
Проблема с использованием микроконтроллера в том, что кроме вывода изображения он не сможет ничем больше заниматься.
Проблема с использованием микроконтроллера в том, что кроме вывода изображения он не сможет ничем больше заниматься.
Сколько останется свободного времени у микроконтроллера, зависит разрешения которое он формирует. У AVGA как минимум хватало времени на обработку игровой логики. Да и никто не мешает, если идет речь о специализированной видеокарте, создать специализированную видеокарту на базе микроконтроллера или FPGA.
Уничтожать? :O Нет, что вы! Она подключается по её родному ISA-разъёму и совершенно не страдает. Там просто эмулируется шина данных и шина адреса и всё.Эмулируя ISA мы добавляем еще один слой абстракции, и теряем на этом часть и так небольшой, по нынешним временам, производительности микроконтроллера, попутно создавая лишнюю точку возникновения «призраков в машине».
Может, конечно. У меня и ATMEGA8 это умела в 256 цветов. Но специализированная видеокарта это сделает всё же лучше.Согласен что специализированная видеокарта лучше, и ещё будет лучше чтобы она была достаточно компактна по сравнению с тем к чему её подключают, и не требовала героического преодоления собственноручно созданных проблем.
Эмулируя ISA
Так ISA — это просто обычные внутренние шины компьютера. Ничего там эмулировать не нужно от слова совсем. Какая эмуляция нужна самым обычным шинам данных, адреса и управления? Да никакой же. Точно так же к МК подключается память с параллельным интерфейсом (все те же ШД, ША, ШУ).
Так ISA — это просто обычные внутренние шины компьютера. Ничего там эмулировать не нужно от слова совсем. Какая эмуляция нужна самым обычным шинам данных, адреса и управления? Да никакой же. Точно так же к МК подключается память с параллельным интерфейсом (все те же ШД, ША, ШУ).Но дьявол скрывается в деталях, выдержкам из вашей статьи
Для некоторых видеокарт нужно подключить -5 В и -12 В (их придётся вам откуда-то взять — например, из источников TracoPower) и сигнал OSC (14.318 МГц) — его можно генерировать простейшим генератором на К155ЛН1. Другим видеокартам эти линии не требуются. Тут уж как повезёт. В общем, если на видеокарте соответствующая ножка на ISA висит в воздухе — её точно можно не подключать. Имейте в виду, потребление видеокартой по линии +5В довольно существенное — если вы будете использовать для питания что-то типа LM7805, то обязательно поставьте её на радиатор (лучше с вентилятором).
Дальше у нас возникает вопрос, вот мы благополучно присоединили видеокарту к МК и запитали её. Но что дальше? Видеокарта то не проинициализирована!
Осталось дело за малым — как-то инициализировать видеокарту и начать с ней работать. В интернете есть подобные проекты — я нашёл один (ссылка), откуда и взял код инициализации видеокарты Trident 9000i. В той же программе из интернета есть и код инициализации для Trident9000C, но в комментариях указано, что он не работает. Я проверил. Действительно не работает — на экране мусор и видеокарта не реагирует на запись данных в ОЗУ.Мы решая одну проблему, благополучно порождаем другую.
Если же у вас есть желание запустить любую имеющуюся видеокарту ISA, то для этого вам следует в интернете найти BIOS требуемой видеокарты (скажем, тут) и с помощью IDA дизассемблировать его. Там обычный X86 код. Только начинается он не с 0 адреса — там сигнатура (2 байта) и контрольная сумма (1 байт). Итого, начинать надо с 3-его байта. И последовательно выяснить в какие порты что нужно записать, чтобы карта заработала. Скажу честно, мне терпения не хватило, чтобы понять, что не так с Trident9000C.И в этот момент возникает крамольная мысль, а может проше в МК запилить эмулятор х86, и с помощью него заставить BIOS проинициализировать видеокарту?
WARNING!
Сразу чтоб прервать холивар и бурление поднимаю руки и прямым текстом говорю «Это не наезд!». Вы в своей статье искали возможность задействовать старую ISA VGA, просто потому что она у вас была под руками. В этой же статье ищут возможность подключения МК к монитору.
Мне кажется что видеокарта для подключение к монитору VGA должна быть компактной и не требовать множества костылей для реализации.
P.S. Рекомендую обратить внимание на канал James Sharman на ютубе, где он на дискретной логике создал и процессор, и видеокарту способную выводить изображение на VGA
Вот его плейлист VGA From Scratch
Предупреждаю — в плейлисте жесткий технопрон, фулл хардкор, фиг оторвешься пока не досмотришь. ;))
Но дьявол скрывается в деталях,
Разве подача питания — детали? Как без питания что-то будет работать? Да, отрицательное многим картам можно не подавать. Но что мешает вам его реализовать независимо от того, нужно конкретной карте оно или нет?
Видеокарта то не проинициализирована!
Мы решая одну проблему, благополучно порождаем другую.
Для того, чтобы этой проблемы не было, возьмите на авито ту карту, инициализация которой известна. ;) Ну или попрактикуйтесь в асме x86 c IDA.
В этой же статье ищут возможность подключения МК к монитору.
Ну тут уже на ваш вкус: https://habr.com/ru/articles/495542/
И в этот момент возникает крамольная мысль, а может проше в МК запилить эмулятор х86,
Пробовали, кстати, написать эмулятор x86? Я попробовал, мне не понравилось.
Мне кажется что видеокарта для подключение к монитору VGA должна быть компактной и не требовать множества костылей для реализации.
Так это никакие не костыли. Это штатный запуск карты.
Разве подача питания — детали? Как без питания что-то будет работать? Да, отрицательное многим картам можно не подавать. Но что мешает вам его реализовать независимо от того, нужно конкретной карте оно или нет?Подача всех напряжений питания на ISA это не детали, это реализация ISA шины. Другое дело что для современных МК логический уровень сигналов это 3.3в, и часто они часто не толерантны к 5в, и тут приходится городить согласование. Вот это уже и есть, те самые «детали». Но главной «деталью», является то что после подачи питания видеокарта продолжает быть «кирпичом».
Для того, чтобы этой проблемы не было, возьмите на авито ту карту, инициализация которой известна. ;)«Если к вам пришли гости, а у вас совсем ничего нет, попросите кухарку сходить в погреб, пусть принесет фунт масла, два фунта ветчины, дюжину яиц...» — Елена Молоховец
Ну или попрактикуйтесь в асме x86 c IDA.BTW гдето в завалах должна валяться SVGA VLBus на цитруслоджик (Cirrus Logic) CL-GD5428. Как думаете, она только на ISA заведется? Или прийдется VESA Local Bus к МК прикручивать? 8D
Ну тут уже на ваш вкус: habr.com/ru/articles/495542Видел, и даже лежит в закладках. Более того к этой статье я написал не один развернутый комментарий;)
Пробовали, кстати, написать эмулятор x86? Я попробовал, мне не понравилось.Когда то, давным давно, пытался написать эмулятор х86. Но потом встретил Bochs, полистал его сырки, и решил что мне на самопальном велосипеде не догнать этот паровоз ;)) В дальнейшем знакомство с исходниками DOSBox укрепило меня в этом мнении.
Так это никакие не костыли. Это штатный запуск карты.IMHO модуль сопряжения МК с монитором (видеокарта) должен быть готов сразу после включения или Cold Reset и не требовать множества лишних телодвижений. Грубо говоря устанавливать текстовый режим 80х25 и устанавливать курсор в позицию 0, 0.
Еще раз, всё сказанное выше это не наезд и не принижение вашей работы.
Грубо говоря я хотел бы чтобы существовал дисплейный модуль подключаемый к МК по последовательной или параллельной шине, поддерживающий текст/графику/цвет/рисование линий/заливку/копирование графических областей с логическими операторами. Что то наподобие VDP Yamaha V9958 на современный лад 8)
Извините что мой комментарий как-то задел вас,
Не задел. :) Но вам стоит учесть, что текст не передаёт невербалику (интонации там всякие). Поэтому текстовое общение всегда при прочтении выглядит агрессивным. Чтобы оно таковым не выглядело, пытаются имитировать смайликами всё, что текст не передаёт.
Другое дело что для современных МК логический уровень сигналов это 3.3в, и часто они часто не толерантны к 5в, и тут приходится городить согласование.
Да разве это проблема для инженера-электроника? Этих схем воз и маленькая тележка. А кроме того, у современных МК очень часто достаточный набор как раз толерантных к 5В ножек.
Но главной «деталью», является то что после подачи питания видеокарта продолжает быть «кирпичом».
Хех! :) Когда я на алике покупаю дисплей (или выковыриваю из устройства, что интереснее), он тоже после подключения 100% кирпич. И та ещё морока найти, как же он заводится. Так что, это, обычно, не такая уж и проблема.
Если к вам пришли гости,
У меня, кстати, был выбор из видеокарт (у меня их много было) и я выбирал ту, для которой уже есть код инициализации. :) С авито вопрос только в цене (думаю, можно найти довольно дёшево, если поискать).
Как думаете, она только на ISA заведется?
А вы её воткните в ISA и посмотрите, достаточно ей ISA или она только VLB.
В дальнейшем знакомство с исходниками DOSBox укрепило меня в этом мнении.
Это было очень разумное решение. :)
Грубо говоря устанавливать текстовый режим 80х25 и устанавливать курсор в позицию 0, 0.
Да ну, текстовый не интересно вовсе.
Грубо говоря я хотел бы чтобы существовал дисплейный модуль подключаемый к МК по последовательной или параллельной шине, поддерживающий текст/графику/цвет/рисование линий/заливку/копирование графических областей с логическими операторами. Что то наподобие VDP Yamaha V9958 на современный лад 8)
Вообще, я так и не придумал, где бы всё это использовать. И не видел ни одного проекта, где дело бы шло к практическому применению.
Не задел. :) Но вам стоит учесть, что текст не передаёт невербалику (интонации там всякие). Поэтому текстовое общение всегда при прочтении выглядит агрессивным. Чтобы оно таковым не выглядело, пытаются имитировать смайликами всё, что текст не передаёт.Так смайлики были :) (хотя это не приветствуется правилами Хабра)
Плюс был написан дискламер в конце комментария ;)
Да разве это проблема для инженера-электроника? Этих схем воз и маленькая тележка. А кроме того, у современных МК очень часто достаточный набор как раз толерантных к 5В ножек.К сожалением в каждой новой итерации МК этих выводов становится всё меньше и меньше :(
Хех! :) Когда я на алике покупаю дисплей (или выковыриваю из устройства, что интереснее), он тоже после подключения 100% кирпич. И та ещё морока найти, как же он заводится. Так что, это, обычно, не такая уж и проблема.А иногда возникает морока с тем что в документацию забыли внести исправления для новой железки. И человек бьется, пытаясь запустить железку в точности по мануалу. А она не стартует. И техподдержка косплеит из себя советского партизана на допросе в гестапо утверждая что «Ошибка на вашей стороне, у нас всё работает». Но потом выясняется чтобы всё заработало нужно перерезать одну маленькую дорожку, и будет вам счастье.
У меня, кстати, был выбор из видеокарт (у меня их много было) и я выбирал ту, для которой уже есть код инициализации. :) С авито вопрос только в цене (думаю, можно найти довольно дёшево, если поискать).У меня в своё время было очень много видеокарт, но у меня их выцыганили господа интернетчики для сборки своего интеллектуального роутера под Freesco. А на юлито барыги вообще совесть потеряли и ломят такие цены, что мысль о альтернативе становится всё актуальнее. Как в прочем и на али.
А вы её воткните в ISA и посмотрите, достаточно ей ISA или она только VLB.Я то думаю что не заведется, потому что VLB напрямую подключена к 486.
Это было очень разумное решение. :)Но иногда «желаешь странного» (с)
Да ну, текстовый не интересно вовсе.Всем хочется разного;) Кстати между прочим, большинство советских самодельных компьютеров имело в наличии только графический режим, а текстовый эмулировало графикой.
Вообще, я так и не придумал, где бы всё это использовать. И не видел ни одного проекта, где дело бы шло к практическому применению.К примеру задействовать свой старый монитор, который не поднимается выкинуть рука, для многочисленной отображения отладочной информации. ;)
Так смайлики были
У меня — почти не было. Потому вы и решили, что меня что-то задело. :)
А на юлито барыги вообще совесть потеряли и ломят такие цены
На авито годами лежат вещи по цене "непродажи". Надо просто ловить момент, когда появляется нужное по удачной цене.
Я то думаю что не заведется, потому что VLB напрямую подключена к 486.
Я бы проверил (у меня есть VLB-карта и плата для неё), но всё это было куда-то положено и чем-то задвинуто. :)
Кстати между прочим, большинство советских самодельных компьютеров имело в наличии только графический режим, а текстовый эмулировало графикой.
Думаю, массовых (так как их как раз и большинство) самодельные советские (не клоны всяких спектрумов!), обычно, были клонами РК-86, а там всё-таки только текстовый режим на КР580ВГ75. А Орион-128 и подобные были менее распространены.
К примеру задействовать свой старый монитор, который не поднимается выкинуть рука, для многочисленной отображения отладочной информации.
Как поаказала практика, для этого вполне достаточно UART.
На авито годами лежат вещи по цене «непродажи». Надо просто ловить момент, когда появляется нужное по удачной цене.Это как повезет, как фишка ляжет. Когда не нужно, отбиваешься от предложений «хоть задаром». Но когда тебе потребовалось, выходит народная индейская изба — фигвам называется. :(
Я бы проверил (у меня есть VLB-карта и плата для неё), но всё это было куда-то положено и чем-то задвинуто. :)Знакомое чувство, когда помнишь что точно есть, но где оно скрывается буй и бакен его знает.
Думаю, массовых (так как их как раз и большинство) самодельные советские (не клоны всяких спектрумов!), обычно, были клонами РК-86, а там всё-таки только текстовый режим на КР580ВГ75. А Орион-128 и подобные были менее распространены.Навскидку, как минимум «Специалист», «Вектор-06ц», «Ириша» не являлись клонами РК86. Да и по массовости РК-86 как самодельного (радиолюбительского) компьютера есть вопросы, не факт, что если откинуть заводские клоны его не обойдет тот же «Специалист».
Да и ВГ75 в РК-86 была дефицитом, причем настолько что в «Радио» была опубликована статья где предлагалась схема функционального аналога на девятнадцати микросхемах, причем аналог был не полон и требовалось допиливать ПЗУ и части софта.
Как поаказала практика, для этого вполне достаточно UART.Достаточно, но люди иногда желают «странного» ;)
«Специалист», «Вектор-06ц», «Ириша» не являлись клонами РК86.
Эти компьютеры не были очень уж известны. Единственное, Специалист и его клоны были более-менее распространены. Но Моделист-Конструктор уделял не очень много внимания Специалисту, что сказалось на распространённости.
не факт, что если откинуть заводские клоны
Но тогда придётся откинуть у того же Специалиста всё, что выпущено кооперативами (а это большинство моделей) и несколько заводских вариантов (ЛИК, ДОН, EUREKA). Но даже с ними, непрерывный пиар РК-86 все 80-е на страницах журнала Радио, сделал РК-86 вне конкуренции.
Зачем "кодер PAL/SECAM/NTSC"?
Там прямо R, G и B плюс вертикальная и горизонтальная синхронизация - любой даже телевизор, не то что монитор понимает.
Композитный вход телевизора (тот самый "тюльпан") - это вовсе не R,G,B,Synchro. Это телевизионный сигнал, не перенесённый на сетку каналов. И да, речь шла именно о композитном входе телевизора ("подрубить ПК к композитному входу обычного телевизора.").
Такой сигнал требует кодирования в PAL/SECAM/NTSC.
В современных телевизорах нет rgb - видеовход стандарта YPbPr.
У китайцев существует недорогая ардуиноподобная плата с HDMI, ПЛИС и процом - Tang Nano 4K - https://wiki.sipeed.com/hardware/en/tang/Tang-Nano-4K/Nano-4K.html
EGA (не любую) без драйверов можно в этот режим DIP-переключателями перевести.
можно вспомнить и вот этот проект:
У меня ещё и так проект был. :) https://habr.com/ru/articles/495542/
Масштабный подход.
Я для вывода изображения на VGA монитор с контроллера использовал дешевый USB переходник DisplayLink: https://github.com/iliasam/STM32_DisplayLink
Раньше переходников USB 2.0 было много на AliEхpress, сейчас именно 2.0 найти сложно.
Весьма интересно.
Кстати, именно поэтому получил распространение текстовый режим 80х25, в котором 5 строк были попросту выброшены.
Откуда это, позвольте спросить, они были "выброшены"? С чего вдруг количество знакомест должно было рассчитываться с поправкой на не существовавшее тогда 640x480?
Да, я неудачно выразился. 5 строк выброшены по отношению к 30-строчному режиму. К разрешению по вертикали это имеет слабое отношение, поскольку тогда чаще использовались символы с разрешением по высоте 8 и 14 пикселей, а не 16.
Да нет же :) 30-строчного режима никогда и не существовало, я именно об этом. Их изначально было 24 либо 25, вы совершенно верно написали, что это связано с наиболее рациональным использованием видеопамяти.
А если заменить FLASH на FRAM (например FM1808)? Скорость у FRAM будет как у RAM, плюс можно будетдобавить возможность обновлять знакогенератор как в RAM.
Можно, почему бы и нет. Вообще и сейчас ничто не мешает добавить возможность обновлять ПЗУ знакогенератора. В регистре управления есть незадействованные биты, по одному из которых можно коммутировать линии ПЗУ на микроконтроллер аналогично тому как это происходит с ОЗУ во время записи образа экрана. Единственное, запаса логических ячеек почти не осталось, необходимо применять EPM570.
Ну, значит в подразделении Mali от ARM, Imagination Techonologies и Broadcom тоже по вашему мнению деграданты, ведь мобильные гпу только-только догоняют десктопные? :
Да, вот девайсы от Эпыл, в которых количество кнопок и настроек сведено к минимуму, чтобы пользователь ненароком не перегрузил себе мозг избытком информации - это вершина прогресса. А когда человек не просто самостоятельно закопался в принцип формирования изображения, его схемотехнику и низкоуровневые алгоритмы, а и сам построил действующую модель видеокарты - это деградация как она есть. Главное - не перепутать.
Тут больше смысл в понимании работы на низком железном уровне.
ведь мобильные гпу только-только догоняют десктопные?
Но если честно. Пусть догоняют. М1 догнал же. Где то была интересная статья. Кол-во MIPS на ватт у мобильных чипов всегда было больше. Их ограничивает только батарея и TDP.
девайсы от Эпыл,
всегда были бабушкофонами. За это я их и не люблю. У них нет развития. Эпл определило само понятие "развитие". "Я думаю за вас"!
а и сам построил действующую модель видеокарты - это деградация как она есть.
вы не поверите, но да! Это все равно, что построить вертолет Архимеда.
Тут больше смысл в понимании работы на низком железном уровне.
Эту всякомуть я изучал в 90-х по схемам спектрума "Ленинград" Зонова. И не только это. Еще XORки Bill Gilbert, хакинг "Пентагоном" RAM. А в схеме те же самые тайминги, только там еще подмешивается обновление DRAM. Ну и тайминги для SECAM, а не VGA. в принципе неважно, разница в частотах. Просто ТЕ инженеры (хотя они и еще учились) смогли создать такие немыслимые вещи, достаточно сложные для проектирования и понимания. Сейчас, через 30 лет это кажется чем то детским.
Я был вахуе, когда нативно вывели видеосигнал с ардуино, это да. Неважно, что она ничего не умела делать кроме этого, но это было круто. И всякие подобные революционные решения меня радовали. Но это пройденный этап и статья меня не удивила. Меня удивило бы то, как вывели HDMI нативно с чипа и это было бы а@енно! Причем это не занимало бы площадь спектрума, а было бы сравнимо со спичечным коробком (как в старые добрые 70-е). Вы не поверите, но в 60-е молодежь представляла, что через х0 лет человечество будет бороздить просторы Альфа Кентавра, но мы до сих пор воюем и роняем КА на луну.
Извините, не могу сразу отвечать, на меня действуют дебильные правила хабра. Но потом могу и забыть. Не хабром единым....
Это не спрайты, а тайлы, как в ПК8000, MSX и NES?
Нет, это все же ближе к спрайту. Спрайт может быть использован повторно неограниченное число раз с разной расцветкой и атрибутами. Тайл - просто кусочек заранее заготовленной мозаики. Примерно так себе я все это представляю.
У меня спрайт ассоциируется с возможностью плавного перемещения поверх неподвижного фона, в т.ч., из тайлов, здесь предусмотрена такая функция?
У девайса нет игрового функционала в принципе, он изначально не предусматривался. Я надеялся что предполагаемое назначение устройства и его возможности у меня получилось достаточно подробно описать в статье.
Дело не в игровом/неигровом предназначении видеоадаптера. Почему-то привык, что тайловая графика реализуется в текстовом режиме при возможности переопределения знакогенератора. А спрайт - то, что подвижно. Другое дело, что на платформе ПК8000, где аппаратных спрайтов нет, тайлы часто применяют в качестве резко перепрыгивающих спрайтов. Но если пассатижи применять в качестве молотка, что тоже иногда практикуется, они от этого в молоток не превратятся.
Так тайл по сути своей рассчитан на сколько угодно кратное повторение с разными атрибутами
Как "поиграться" - прикольно, но на практике сейчас для такого даже CLPD не надо. Найди только микроконтроллер с ядрами пожирнее и параллельной шиной потолще. Из рассыпухи - только обвязка МК и резисторы.
Видел примеры VGA в софте для ESP32 и RP2040.
К слову сказать, уложиться в 256 спрайтов — задача не из легких, именно поэтому изображение выглядит больше как детский рисунок.
У вас там 8 цветов, значит укладываться нужно было в 512 символов, а с учетом инверсии минимум в 1024, и это без оптимизации. Поэтому рисунок и впрямь детский.
За специально подготовленное изображение спасибо художнику A_Foxli.
Посмотрел на его работы. Удивительно что предыдущий абзац озвучил не он и что именно он выдал этот рисунок.
Не понял, как вы посчитали. В спрайте кодируется битовая маска изображения, а их - всяких разных в кодовой таблице может быть только 256. Один и тот же спрайт может выводиться разными цветами. Но всего их - 256, одна кодовая таблица. В принципе, никто не мешает занять несколько кодовых таблиц, места в ПЗУ достаточно. В исходном изображении, например, было 400 с чем то уникальных спрайтов, в две кодовые таблицы поместилось бы.
В любом случае, даже в 255 символов можно даже примитивное видео закодировать. На ZX Spectrum так BadApple реализовали
Один кадр можно закодировать, все видео - маловероятно. Но, если вы уверены, то попробуйте, обещаю опубликовать ваш результат.
Не я лично это делал, но видел реализацию, описание с формулами здесь https://hype.retroscene.org/blog/360.html
Кстати живя в НН нет знакомства с местной демосценой?
Это вы ещё Сегу какую-нибудь не видели ...
Для полноты картины подброшу что когда то давно существовали проекты самодельных видеокарт на ПЛИС которые 3D могли (треугольники с заливкой). Но до логического конца вроде не довели.
Как для поиграться - круто. но опроса в конце совсем не понял... Зачем оно мне да ещё и в количестве более 1 штуки?!
Вообще тема интересная, но что во что гаразд - не радует. И это не только по сабжу, это вообще по самодельным компам на Z80 и пр поделкам. Обычно все ограничивается последовательным портом и все. Но хотелось бы графики, игр! И не на плисе, а на каком то ширпотребовском девайсе - малинка пико, стм какойто с встроенной графикой и тд
Из того, что я видел в инете это были такие варианты:
стм проц с граф поддержкой и звуком - Colour Maximite 2. Игры уровня денди можно писать на бейсике. как по мне очень перспективно, если хочется получить игровую консоль и поучиться писать игры (внутри проц стм на 400МГц)
AgonLight2 - eZ80 проц на 33МГц, плюс CP/М, плюс ESP32 для видео, котороый много чего умеет. Подключен по скоростной шине, не дма, но все же. Цена гуманная, в продаже на тини есть. Самый доступный проект и перспективы есть. Присматриваюсь к нему, хочу купить.
для RC2014 компа на базе Z80 делали видюху на базе чипа от параллакса (многоядерный контроллер). якобы умеет спрайты и тд
геймдуино проект, очень впечатлила демо КобрыМК2 из элиты, но похоже, что проект скис, развития не видно
ESP32 VGA32 от ЛилиГО с библиотекой FabGL - готовый девайс с али. есть прошивки с эмулем спекки, сп\м, форта и бейсика.Купил зимой. никак руки не дойдут пощупать.
Хотелось бы стандартизации, акселерации и совместимости, чтобы портировать игры со спекки (и не только) на такие девайсы, но при этом обращение к акселератору было одинаково на разных платах с разными процами. Ведь это же прикольно! все фо фан!
Спектрумов с расширенными режимами понаделали немало, с давних лет, и все они остались нестандартными стандартами, но в целом - такие же ширпотребные как и перечисленные, взял и купил готовое устройство (плату) и софта на них всяко побольше уже понаделано.
Даже и портировать не надо, работает в режиме совместимости, ну а в целом же любое портирование со спектрумов будет означать полное пересоздание игры
Да и на плис давно уже сделали tang, ну и в в общем то MiST (были бы деньги на него) - тоже самое, можно заказать, купить и даже VGA монитор не искать, но тоже своеобразные стандарты.
А вот на любом PC есть поддержка VESA, Direct X, Open GL, ну и более древние, и это вот как раз соответствует "было одинаково на разных платах с разными процами" и каков результат? Пока некоторые рождают новые стандарты (которые сейчас уже в принципе очень мало кому нужны) ПК просто работает, и им же пользуются чтобы эти стандарты рождать.
Есть 5-ти дюймовые 854х480, 16М-цветные графические экраны с полной видеопамятью на борту.
Легко вешаются на любой STM-подобный микропроцессор, спокойно работает от батарейки.
Контроллер ILI9806G, очень примерно от 2500 руб.
Например, https://aliexpress.ru/item/32674132797.html?sku_id=10000000263874528
После написания основной части планируемой логики работы ПЛИС, оказалось что объем использованных логических ячеек ненамного превысил только половину от имеющихся
Следующим логическим шагом, встроить туда какой нибудь @VT100 или кто там следующий цветной. Вот от такого с UART я бы наверное не отказался.
ps у самого многолетний, вялотекущий проект превращение плазмы MC6205 в терминал, уже сбился какая итерация:)
Такая идея тоже была. Только реализовать не терминал целиком, а терминальный режим вывода с автоматической прокруткой экрана. Это было бы удобно в некоторых случаях. Логику терминала все же проще реализовать на МК. Той же меги8 вполне для этого хватит. И UART уже есть на борту.
Ой-ой! А можно не подвергать меня цифровому распылению? Ведь я — котик, у меня лапки.
Его необходимость обусловлена тем, что доступ к микросхеме ОЗУ предоставляется только в момент обратного хода кадровой развертки.
Зачем? В том же Специалисте из 80-х видеогенератор читал из памяти два раза и ЦПУ мог его прерывать: в первом цикле — всегда, во втором цикле — только если в первом видеогенератор уже прочитал значение. И всё это было на элементарной дискретной логике (Специалист один из простейших ПК того времени). Скорости ваших ОЗУ должно хватить. Плюс, добавить небольшой FIFO-буфер.
VGA 640×480@60 — 25.175 МГц pixel clock — это ~2.8 МГц symbol clock (при 9 пикселях на символ по горизонтали). Удваиваем как в Специалисте, получаем ~178.7 нс на цикл: если у вас ОЗУ из кеша, то там оно намного быстрее и можно смело восемь раз читать (~44.7 нс на чтение ОЗУ) — и писать можно уже в 7-ми из 8 циклов (~19.6 мегасимволов в секунду). Плюс FIFO на 8 — 16 записей.
В общем, для целевых устройств, микроконтроллеров, можно вообще отказаться от BUSY.
P.S. Выше, где говорится про чтение символа, имеет ввиду чтение как кода символа, так и его атрибутов (если они поддерживаются), то есть в наиболее востребованном режиме — установить текущие атрибуты один раз, потом записать строку или блок символов — собственно символы можно писать в два раза быстрее.
Видеокарта VGA для микроконтроллера