но даже 286@6мгц должна быть в разы быстрее, чем
хотя при работе с памятью, наверно, уже не настолько, но всё равно жеж... :v2_cry:
Вид для печати
Подумaл я на счёт графики и графических режимов…
А что, если…
Графику сделать одним режимом, но в несколько слоёв разных режимов, накладываемых друг на друга?
Например, посмотрим на «прогрессивный jpeg»:
https://walnut.team/wp-content/uploa...rogressive.gif
Тем самым, экраны с графикой ZX-Spectrum и MSX уже включаются в видеосистему как частный случай.
При этом, если в атрибуте код «чернил» совпадает с кодом «бумаги», то активные пиксели имеют цвет «чернил», а выключенные становятся прозрачными и под ними виден соседний слой.
При этом вовсе не обязательно соблюдать структуру экрана оригинальных систем.
Так, слой графики ZX-Spectrum не должен обязательно иметь оригинальную дешифрацию и байты могут иметь нормальный линейный порядок. Более того, вместо экрана 256×192 можно иметь 512×288 с возможностью скроллинга.
Пара режимов от меня
Как «Оператор РК», предлагаю режим 2×2 в байте, где младшая тетрада кодирует блок 2×2, а старшая - цвет.В отличии от Ориона и MSX, где клэшинг имеет размер 8×1, тут получаем аккуратный и почти неприметный клэшинг 2×2…Код:┼───┼───┼───┼───┼
│□ ■│■ □│□ □│■ ■│
│ ┼ │ ┼ │ ┼ │ ┼ │ ==> F5 FA F0 FF
│□ ■│■ □│□ □│■ ■│
┼───┼───┼───┼───┼
│□ ■│■ □│□ □│■ ■│
│ ┼ │ ┼ │ ┼ │ ┼ │ ==> F5 FE F0 FF
│□ ■│■ ■│□ □│■ ■│
┼───┼───┼───┼───┼
│□ ■│■ □│■ □│■ ■│
│ ┼ │ ┼ │ ┼ │ ┼ │ ==> F5 FA FA FF
│□ ■│■ □│■ □│■ ■│
┼───┼───┼───┼───┼
│□ ■│■ ■│□ □│■ ■│
│ ┼ │ ┼ │ ┼ │ ┼ │ ==> F1 F3 F0 F3
│□ □│□ □│□ □│□ □│
┼───┼───┼───┼───┼
Так и для ZX-графики с атрибутами можно предусмотреть формат атрибутов 4×4 и 2×2…
и процессор будет колом стоять, пока видеоконтроллер запыхается читать для отображения все слои? это не считая очевидной проблемы с расходом памяти
ну, допустим, чисто технически можно вынести в отдельную видеокарту, но она одна получится сложнее и дороже чем любой реальный восьмибитный комп
вероятно, как амига по цене выйдет, но не по возможностям и удобству
цвет чего конкретно и как конкретно? и как ты себе, например, представляешь программирование попиксельных сдвигов в таком режиме?
и не забывай, что луч движется построчно, а не посимвольно, то есть байт каждого квадрата надо прочитать дважды (либо городить буфер)
Проецировaть графику в общую память - уже ошибка в проектировании в XXI веке. Однозначно, графическую память необходимо отделить от общей. Под графику - любая DRAM пойдёт. А код пусть хранится в SRAM…
Причём, каждый слой - отдельная память…
Система - наращиваемая. То есть, видеосистема наращивается как пирог - поверх одного синрхрогенератора с счётчиками и памятью подключается второй, третий и т.д…
В зависимости от мастерства пользователя.
Изначально - графика хоть 128×64!
То есть, игра сразу выводит человечка во все 4 слоя:Тем самым, на самой дешёвой системе игра будет отображаться в стиле первых систем Atari. А с наращиванием - …
- В слой 128×64 грубый силуэт 8×8
- В слой 256×192 некоторый детали: Пальцы, глаза
- В слой 320×288 ресницы, зрачки, брови
Картинку с хэллоу-кити-пегас-единорог-пони я зря вставил что ли?
А разве картинки псевдографикой недостаточно?
У всех систем байт несёт 8×1 пикселей. Я предложил в байт упаковать 2×2 пикселей + цвет.Да, один и тот же байт читается 2 раза - в чётной и нечётной строке.
Младшие 4 бита формируют графику 2×2, а старшие - их цвет.
То есть:По-моему, кодировать графику будет даже проще…Код:┼───┼
│□ ■│ 0 1
│ ┼ │ ==> ==> ....0001 ==> IRGB0001
│□ □│ 0 0
┼───┼
а, понятно, это компик для подпольных миллионеров, штучной выделки и ручной отладки этого нагромождения плат :v2_dizzy_biggrin2:
не "во все 4 слоя сразу", а поочерёдно, медленно и печально,
да еще со своим расчётом адресов для каждого слоя - совершенно непригодно для игр
и то, что было грубым - грубым останется, то есть непригодно и для картинок
сижу трезвый и нигде никаких единорогов не наблюдаю :v2_unsur:
а как это программировать - не подумал
ну, ё-моё :v2_dizzy_facepalm: цвет ОДИН, а значений у бита ДВА!
то есть ты потратил целый байт на сплошной квадратик низкого разрешения при всего 16 доступных цветах :v2_clap2: :v2_dizzy_facepalm:
я ж спросил, как с этим программировать попиксельный сдвиг хотя бы
ты сначала код напиши попробуй, а потом будешь рассказывать, как всё просто
М1801ВМ2 ЦП в УКНЦ на 8 мгц, и к тому же КР565РУ5Г не могут работать с средним временем ожидания меньше 1 такта этого проца.
( СОЗУ и ПЗУ - могут ).
Кстати, был с 1985 г. и КМОП вариант ВМ2 - 1806ВМ2 - 5 мгц ( используются оба фронта такта 5 мгц ). На нем был сделан калькулятор с Бейсиком Э-МК85.
Образцы калькулятора с 1986 г. шли с ОЭВМ 1013ВМ1-2 мгц на базе 1806ВМ2 с встроенными схемами поддержки внешней клавы, СОЗУ и др.
Это по части именно советских процессоров.
*
Ну раз СССР и Недорого - можно сразу переходить к многопроцессорной графике с наложением слоев видео.
Ведомые графпроцессоры управляют своим собственным видео-ДОЗУ, например 256х256х2 бита ( тайминги вроде осилит КР565РУ5В ).
Пример многопроцессорного ралли :
1-й ВМ80А управляет спрайтом автомобильчика гонщика
2-й - деревьями на обочине
3-й - дорогой
4-й - небом и облаками
5-й - конкурирующим автомобильчиком.
Ну и для ГАИ, разумеется, отдельный проц.
Общая производительность такого ралли - как у ~286 , если не круче, за счет аппаратного наложения спрайтов.
Вот правда в 1000 руб СССР это совсем не влезет ( 1 шт. КР565РУ5В - 45 руб... ).
Хотя, можно назвать "игровой детский комп", тогда бюджет можно раздуть и до ~5 т.р. руб СССР...
( Дотация - 80 %% и более на ТНП для детей ).
https://walnut.team/wp-content/uploa...rogressive.gifOчень внимательно вникали в мою мысль?Цитата:
ну, ё-моё цвет ОДИН, а значений у бита ДВА!
Тем самым, один байт кодирует блок в четыре пикселя 2×2Цитата:
активные пиксели имеют цвет «чернил», а выключенные становятся прозрачными и под ними виден соседний слой.
«I-R-G-B-↙-↘-↖-↗»,
где биты со значением «1» отображаются в цвете IRGB, а биты со значением «0» прозрачны и под ними виден соседний слой.
да при чем здесь это? У нас вот Путин исключит наконец пункт о примате международного права и фсё:v2_dizzy_coder: приватизируй кто что хошь. Ведь в СССР был освоен только ранний Intel и частично DEC, а это капля в море. Причем люди не сильно-то их модернизировали. Ведь и из 8008 возможна модернизация не только 8080, а из 8080 не только z80. И так в любой известной 8битовой архитектуре. Железо устаревшее надо выкидывать, заменяя новым. А вот архитектуры, программы и алгоритмы НИКОГДА!