CLR(01.04.2020)
Я вот если честно и без обид то немного не пойму, если вся эта затея только ради "устранения клешинга" который сам по себе является пародией текстового режима 32x24 в графическом исполнении то давным давно уже было проще это сделать на эмуляторе в каком нибудь линуксоиде Orange Pi H3 Cortex A7-Quadro-core 1.6GHz 1Gb за 1,2-1,5к рублей. Если это делать в железе за 5к и только ради 5-20 игр в год 30 летней давности то закономерно всплывает вопрос о времязатратах и смысле переделки игр, тратить уйму времени бесплатно только ради того что-бы в игре 1986 года чёрно-белый спрайт с красным ink`ом не подкрашивался зелёным ink`ом элемента фона? бррррррр
Сейчас любая копеечная железяка размером с пачку сигарет в тысячи раз мощнее спектрума и на своём борту имеют 3D видеопроцессоры способные выводить на экран сотни тысяч полигонов в секунду, плата мобилки за 500 рублей подключенная к монитору творит чудеса по отношению к спектруму, любой каприз за ваши гигагерцы...
Так вот я к чему, может ну его нафиг этот клешинг и надо просто дойти до какого нибудь общего знаменателя в работе современного (очень сильно утрирую) zx-spectrum СОВМЕСТИМОГО на базе ПЛИС (в нашем случае) и немного доразвить ветку ПЛИС мутантов?
Ради чего к примеру устранять клешинг в Soldier of Fortune? ради того что на ЧЁРНОМ ФОНЕ иногда попадаешь на площадку лифта или корни телепорта? иииии? что изменится? это графика 1982 года! где предел мечтаний была память в 48 Кб и ЦВЕТНАЯ графика использовалась для работы в ТЕКСТОВОМ режиме, ибо адресацию памяти забубенили именно для удобства вывода СИМВОЛОВ а не спрайтов с пиксельной точностью, я вырос именно на спектруме, самый первый мой спектрум-совместимый я спаял на картонке из микросхем выпаянных с списанных плат на местном АТС, подпаялся к ламповому ЦВЕТНОМУ телевизору, больше пол схемы выдумывал сам под имеющиеся микрухи, было мне тогда 8 лет и я прекрасно понимал принцип работы транзисторов и микросхем.
НО! zx-spectrum изначально задумывался как текстовый цветной терминал, его нутро не предназначено для КОМФОРТНОЙ работы даже с чёрно-белой графикой (хотя она у него и не цветная), тратить по 40-100 тактов не очень быстрого процессора просто что бы вывести ОДИН пиксель на экран? какая графика вы о чём? если бы его надо было делать под графику то работа с экраном была-бы совершенно по другому.
Вот это самый большой и риторический вопрос современности - кто будет переделывать игры, а главное - зачем?
Все эти игры давно играны-переиграны, дяди выросли и заняты делами, молодежи это вряд ли интересно вообще; если так уж сильно хочется поиграть в те же тайтлы без атрибутов - да легко, берём эмуль и находим подходящую версию для msx/atari/c64/amstrad/amiga (если доступна конечно).
Мои игрушки: PowerbookG4 / MacMiniG4 / MacMini i5 / Amiga1260 / Commodore64 / Atari65XE / MSX1 SVI-728 / MSX2 КУВТ2 / MiST / MiSTer / Profi+ / KarabasPro / Speccy2010 / Aspect128 / ZX-UNO VGA 2M / PS3 / PS4Pro+PSVR / PSP / PS Vita / GBC / LDK Game / RG350M / iPhone / iPad / Raspberry Pi (0/3B+/4B/5)
MorphOS / AmigaOS / MacOS / Linux
Я вот сейчас вспомнил, в те далёёёёкие времена я мусолил сигнал M1 ибо никаких талмудов по z80 ещё не было, и тогда я пришёл к выводу что это указывает на действия процессора, читает ли он просто данные или команду, и хотел я поставить по 0 адресу запись байта цвета пикселя в отдельную видеопамять, а по адресу 1 и 2 регистры-счётчики ИЕ7 координат, при записи по 0 адресу счётчики увеличивали адрес, писался пиксель примерно так:
LD L,x
LD H,y
LD A,цвет 0-255
LD (1),HL
LD (0),A вывели цвет, адрес сам увеличился на 1
ноооо, я был мал и я долго воевал с регенерацией ру5, удобоваримой инфы по динамике мне не попадалось и я не смог удерживать регенерацию памятисейчас уже понимаю в чём была проблема
была бы у меня кстати тупо статика на 16Кб возможно впоследствии zx-spectrum имел бы ЦВЕТНОЙ экран 256x192 с 256 цветами на точку и видеоэкрана тупо не было бы в памяти вообще
![]()
во-1, как минимум, уже смысл есть в прошивках для готовых zx-девайсов, которые потянут такое видео
во-2, ты неверно понимаешь суть вопроса, который разбивается на две части: (а) нужен ли вообще клону спектрума новый игровой видеорежим ("профессиональных" было уже достаточно) и (б) если нужен, то как его организовать, чтобы проще было поддерживать софтом - что включает и "борьбу с клэшингом", то есть адаптацию игр стандартного режима (необязательно старых, новые один хрен пишут под всё тот же 6912)
Например, у меня выходит около 30 игр в год - прошу отметить, одновременно с переделками эмулятора, самой концепции, прошлых файлов, а иногда и с багофиксингом самих игр; в принципе, по одной в неделю клепать реально. Причём именно уровень наподобие "что-бы в игре 1986 года чёрно-белый спрайт с красным ink`ом не подкрашивался зелёным ink`ом элемента фона" достижим за минимальное время (в некоторых случаях меньше часа). Куда больше отнимает собственно добавочная раскраска - свой цвет на спрайт (если нет оригинального атрибута), а тем более "цвет на точку".
Сказать, сколько будет длиться переделка игр методами топикстартера, затрудняюсь (он же постоянно передумывает и не доводит рассмотрения до конца), но подозреваю - намного дольше.
см. выше по вопросу новых видеорежимов таких мутантов
Смотря где. Конкретно в SoF, может быть, особо и незачем (хотя местами "плавающий" цвет раздражает), но тот же Jungle Warrior и похожие - уже совершенно другое дело (сам смог пройти только после переделки, раньше тошнило); или случаи, когда в монохроме месиво, как в Redshift. Графика должна быть комфортной, год особой роли здесь не играет.
как давно уже известно всем неленивым, адресацию такую там забубенили по причине скупости дяди Клайва ради экономии на микрухах, а вовсе не каких-то (ха-ха!) удобств
как раз НАДО было, потому что школьные контракты очень хотелось, а там были требования по графике; но не фартануло, не допилили, школы предпочли нормальную от акорна
- - - Добавлено - - -
ну уж, далеко не все переиграны (а в какие-то играть тогда не хотелось именно из-за уродливости раскраски); "подходящую" тоже не особо легко найти - одних просто нет, многие выглядят и/или ощущаются по-другому, и не факт, что лучше даже обычных спековских; а иногда и вовсе под одним названием игры разные и даже разножанровые
- - - Добавлено - - -
...и тормозило бы всё это хуже быкашки![]()
Прихожу без разрешения, сею смерть и разрушение...
нуууу всё же 2 команды быстрее чем самая быстрая процедура расчёта адреса ОДНОГО пикселя в 50-100 тактовя думаю DRAW работала бы в несколько раз быстрее и не был бы гемора с клешингом
По мне так вообще достаточно просто видео ДМА, нуууу и мечта дурака MUL и DIV для 8 и 16 бит.
Последний раз редактировалось Nesser; 01.04.2020 в 18:06.
Nesser, бейсиковые процедуры, включая draw, смысла нет рассматривать вообще, они медленные из-за универсальности и оптимизации по размеру
в быстром эффективном машинном коде расчёт адреса - для отрезка однократная операция, дальше будет изменяться уже сам адрес
Прихожу без разрешения, сею смерть и разрушение...
Я про ассемблер, а как для окружности да ещё и с плавающим шагом заполнения вычислять только 1 адрес?
Это когда независимо от радиуса окружности на саму окружность выделяется к примеру 30 точек.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)