PDA

Просмотр полной версии : Игры без клешинга атрибутов для "Meteor Graphics"



zx-kit
29.09.2015, 05:23
Давайте начнем модернизацию игр для устранения клешинга атрибутов для нового видеорежима "Meteor Graphics". Посмотрел код игры "Three weers in paradise". Доработать можно. Попрограмму вывода дизассемблировал и прокомментировал.

Рисуется в буфер с адреса 5B00. Размер спрайта 3 байта в ширину, но с учетом сдвига на несколько пикселов занимает 4 байта в буфере. Сохраняется 4 байта под спрайтом. Потом 4 байта маски сдвигается и накладывается на буфер. Потом 4 байта спрайта сдвигается и накладывается в буфер. Так 32 линии спрайта.

Доработать можно. Видеокарта расчитана для записи байта маски и байта спрайта. А тут по 4. Надо маску после сдвига сохранить в 4 ячейки памяти. После сдвига спрайта в регистрах записывать в видеокарту один байт маски из памяти, другой байт спрайта из регистра. Так запишем 4 пары маска-спрайт.

Остается вопрос, где в игре восстанавливается буфер. Тогда можно будет вместо оригинальной подпрограммы вывода и восстановления написать новую подпрограмму и добавлять в игру с помощью POKES.

Конечно проще новые режимы видеокарты "Meteor Graphics" использовать в новых играх с исходными кодами. Но старые тоже надо попытаться раскрасить. Есть предложения по другим играм, где устранение клешинга атрибутов улучшило бы игру ?

drbars
29.09.2015, 12:53
1) Что за "Meteor Graphics" ?
2) Какой эмулятор поддерживает?
3) Есть ли поддержка в baseconf для ZXEVO ?
4) Опциональная поддержка для фирменных машин?

jerri
29.09.2015, 12:58
1) Что за "Meteor Graphics" ?
2) Какой эмулятор поддерживает?
3) Есть ли поддержка в baseconf для ZXEVO ?
4) Опциональная поддержка для фирменных машин?

1 новая видеокарта
2 никакой
3 нет
4 сомнительно

пока ничего нет

ZX_NOVOSIB
29.09.2015, 15:58
В плане устранения клэшинга мне интересней всего - все части диззи :)

А монохромные игры сложней раскрасить под эту карту, чем в цветных клэшинг убрать? Что проще?

drbars
29.09.2015, 17:05
Был эмулятор (старый уже) Spec256 (http://www.emulatronia.com/emusdaqui/spec256/) назывался. Там были в комплекте 10 игр под него.
Надо делать то, что уже реализовано. И спецификация была по доработке. Никакого клешинга.

http://s020.radikal.ru/i707/1509/cf/f377cb656464.png
http://s011.radikal.ru/i315/1509/e9/9971fef78814.png
http://s018.radikal.ru/i522/1509/2a/728a4894c36b.gif

Сделайте карту, с такой поддержкой для фирменного ZX... Цены вам не будет!

rsorc
29.09.2015, 17:11
Насколько я помню, в этом эмуле - 8-мь процессоров z80

drbars
29.09.2015, 17:13
rsorc, что сейчас мешает в плис это затолкать всё?
Идея лежит на вижу, ан нет изобретём велосипед снова что ли?

zx-kit
29.09.2015, 20:03
1 новая видеокарта
2 никакой
3 нет
4 сомнительно

пока ничего нет

Тут замкнутый круг. Появится видеокарта - скажут где игры ? Начнешь делать игры - скажут где эмулятор ? Придется все делать одновременно. К тому же доработка реальных игр поможет доработать принцип работы видеокарты.

sergio78
29.09.2015, 20:43
Тут замкнутый круг. Появится видеокарта - скажут где игры ? Начнешь делать игры - скажут где эмулятор ? Придется все делать одновременно. К тому же доработка реальных игр поможет доработать принцип работы видеокарты.
это всё не так. во первых накой нужна ещё одна денди? 1.5 человекам в плохо сделанную переделку какой то 1 спектрумовской игры немного подолбить. если она ещё вообще появится такая. пока все эти чудо графические доработки оригинального ZX всегда проваливались, в том числе и известная многим в узких кругах, ula+. никто ничего писать, дорабатывать серьёзно не собирается и не будет.
Ну и во вторых zx клешинг-божественнен и не повторим. нету другого такого кома на свете. А всевозможные махинации с ним, как комбинаций в шахматах, ещё не на одно поколение людей хватит. так что, данная видеокарта представляет из себя только исключительно железячно паяльный интерес, так же она найдёт достойное место, на полке любителей железного антиквариата, а в играх и софте изночально ясно, что всё будет очень грустно. :v2_dizzy_vodka3:

Reobne
30.09.2015, 05:20
rsorc, что сейчас мешает в плис это затолкать всё?
Идея лежит на вижу, ан нет изобретём велосипед снова что ли?
Это что претензия? :)
Spec256 уже давно изобретён, но застрял на стадии эмулятора.
Видимо что-то мешает.

Что нам-то делать?
1. Верить в Spec256 и сидеть ждать, когда кто-то гениальный его сумеет запихать в карточку.
2. Поискать другое решение. Более реальное в реализации.

zst выбрал второе.
drbars выбрал первое, и в претензии на zst, что тот выбрал второе. Может я что не понимаю, но претензии ни к чему хорошему не приведут.

drbars
30.09.2015, 07:32
Я думаю сейчас уже ничего не мешает, лет 10 назад может быть.
Создание такой карты, на которую уже есть эмулятор и редактор графики упростило бы основную задачу для которой задумалась карта - борьба с клешингом.

Для всего остального есть NES, или спрайтовые конфы zxevo.

Reobne
30.09.2015, 07:50
Создание такой карты, на которую уже есть эмулятор и редактор графики упростило бы основную задачу для которой задумалась карта - борьба с клешингом.
Возможно, но почему из-за этого путь zst порицаем?
Лучше, не стесняясь, сделать тему (или найти старую): "А не пора-бы сделать аппаратный Spec256?". Хотя-бы во флейме.

Метеор Графикс НЕ требует обязательно перерабатывать ресурсы игры, НО требует преработать код игры. То есть это немного другой подход. Художники своё слово сказали, процент переработанных игр не очень высок. Попытаемся дать слово хакерам_адаптации.

jerri
30.09.2015, 09:49
Тут замкнутый круг. Появится видеокарта - скажут где игры ? Начнешь делать игры - скажут где эмулятор ? Придется все делать одновременно. К тому же доработка реальных игр поможет доработать принцип работы видеокарты.

Тебе рассказать как было с ТС конфой?

была PentEvo в которую можно было записать любое железо
в неё записали АТМ 2 и всё
но умный ТСлаб придумал что записывать можно не только спектрумы но и поддержку спрайтов, тайлов, ДМА и прочее

1 придумал возможности
2 расписал порты и способы управления
3 собрал в верилоге прототип
4 загрузил в Эву и попробовал.
далее ТСЛаб знал что железо без программ мертво
а как писать программы если их работу увидеть нельзя?
5 допилил он Унрил
и написал знаменитый тест с шариками.
6 и заработало оно в унриле.
и дальше можно уже было сравнивать что в унриле и что на реальном железе
7 а дальше конфа только улучшалась и обезглючивалась
изначально можно было 42 спрайта, а потом стало 85
изначально было 64 цвета, сейчас 6318
появился блиттер

НО! большинство программ появилось когда появился Анрил с поддержкой ТСконфы. А Эва куда её можно залить была изначально.

troosh
30.09.2015, 09:58
Spec256 требует в 8 раз больше трафика от памяти как к процессору, так к диплейному контроллнру. На 8-ми отдельных реальных z80 весьма грамозко получилось бы, но на самом деле там не нужно 8 полноценных прцессоров (в сиесле ресурсов FPGA нужно меньше), можно исполнение инструкций делать на одном ядре у которого все 8-ми битные регистры по типу SIMD (MMX) 8 раз по 8 бит. Ну и в памяти каждое такое слово из 64 бит положить рядом, а не с разносом в 128к и более.

Проблема с адаптацией игр по Spec256 в том, что нужны такие игры, где графика никак не сжатая + нужны фанаты художники... Зато можно было как раз начать с портировпнием этих игр на МетеорГфикх

Raydac
30.09.2015, 10:07
мечта каждого автора что бы написать идею и толпень тут же начнет писать эмули и адаптить игры, но это не работает, так что хочешь что бы кто то что то адаптил, то пиши эмуль и сам адапть, на десятой игре может кто проникнется и решит что тоже надо что то заадаптить

s_kosorev
30.09.2015, 10:58
Т.е. что бы пропихнуть железо в массы, нужно уметь хорошо программировать на Verilog, уметь разводить платы, уметь круто писать на с++ что бы доработать эмулятор, уметь писать под спектрум на ассемблере и все в одном человеке?

---------- Post added at 10:58 ---------- Previous post was at 10:58 ----------

Спектрум тогда труп в плане расширения возможностей

jerri
30.09.2015, 11:08
Т.е. что бы пропихнуть железо в массы, нужно уметь хорошо программировать на Verilog, уметь разводить платы, уметь круто писать на с++ что бы доработать ассемблер, уметь писать под спектрум на ассемблере и все в одном человеке?

А ты думал что за идею на платформе которая не является коммерческой уже 25 лет тебе памятник поставят?

ZX Evolution (http://speccy.info/ZX_Evolution) 3 человека делали
и то косяков накосячили...


Спектрум тогда труп в плане расширения возможностей

да как бы давно уже :) то что предлагается это по сути для фана

s_kosorev
30.09.2015, 11:17
по сути для фана
понятно что для фана, но на лицо нужна группа единомышлеников, умеющие исполнить все этапы, из того что наблюдаю, честно говоря группы не видно, есть идея одного человека и пара сочувствующих, которые акцентируют внимание что идея одного человека и молитесь что бы не передумал

Reobne
30.09.2015, 11:20
молитесь что бы не передумал
Вопрос не в молитесь/не_молитесь, а в гнобите/не_гнобите. Гнобить не нужно, ибо бесполезно, имхо. :)

ZX_NOVOSIB
30.09.2015, 11:37
Проблема с адаптацией игр по Spec256 в том, что нужны такие игры, где графика никак не сжатая
Надо набросать список таких игр.

+ нужны фанаты художники
Художников найти проще чем кодеров (хакеров_адаптации), разве нет?

Художники своё слово сказали, процент переработанных игр не очень высок. Попытаемся дать слово хакерам_адаптации.
Художники свое слово еще не сказали, так как пентева - это атм, а атм - не спектрум. А если сделать универсальную видюху, то это будет спектрум, и художники подтянутся. ;)

troosh
30.09.2015, 11:39
Т.е. что бы пропихнуть железо в массы, нужно уметь хорошо программировать на Verilog, уметь разводить платы, уметь круто писать на с++ что бы доработать эмулятор, уметь писать под спектрум на ассемблере и все в одном человеке

На самом деле практика показывает, что достаточно найти одного второго такого как ты, который будет дополнять твои навыки, а главное вы будете взаимно мотивировать друг друга не бросать начатое. Такие группы из двух человек могут быть достаточно устойчивыми, а увеличение числа участников может сказывать как положительно, так и отрицательно (ничего не гарантирует в общем), но в большой компании веселей.

Когда второго такого не найти, то некоторым выходом может быть диссоциативное состояние. ;)




Спектрум тогда труп в плане расширения возможностей
да как бы давно уже :) то что предлагается это по сути для фана

В плане обучения, понимания железа и основ программирования спектрум можно сказать идеален, - все такие разработки появляются когда познан dzen и хочется из спека сделать что-то большее.

Совершено не понимаю, зачем укорять и отговаривать кого-то от творчества. Напротив, помогать/поддерживать нужно хотя бы морально. Но и понимать нужно, что коммерческий выход тут минимальный, скорее тут бы хоть как-то отбить затраты (но полученный опыт безценен по любому).

И таки да, графика у Спектрума уникальна, куда бы не двинуться, это будет нечто большее, но уже не Спектрум для ценителей оригинала (такие тоже нужны)...

ZX_NOVOSIB
30.09.2015, 11:42
Талантливый художник даже на разрешении 256*192 сможет творить чудеса, при условии что ему дадут поллитрупалитру в 256 цветов.

Хотя как по мне, клэшинг убрать - и уже счастье )

jerri
30.09.2015, 11:51
понятно что для фана, но на лицо нужна группа единомышлеников, умеющие исполнить все этапы, из того что наблюдаю, честно говоря группы не видно, есть идея одного человека и пара сочувствующих, которые акцентируют внимание что идея одного человека и молитесь что бы не передумал

Для того чтобы написать свою конфу ТСлабу пришлось научиться работать в Верилоге. это так... к слову.

Паять/разводить это да нужен опытный разработчик. чтобы потом не удивляться.
Да и разработка видеокарты нужна с запасом.
Для завтрашних игр обычно :)

troosh
30.09.2015, 11:56
Надо набросать список таких игр.


Как бы вот от автора концепта: http://www.emulatronia.com/emusdaqui/spec256/download-eng.htm


phantis | 1987 Dinamic
jet pac | 1983 Ultimate
game over | Dinamic
game over 2 | Dinamic
solomon's key | 1987 Probe
abu simbel | 1987 Dinamic
army moves 1 | 1986 Dinamic
army moves 2 | 1986 Dinamic
cybernoid | Hewson
sabre wulf | Ultimate
knight lore |Ultimate
underwurlde | Ultimate

+ недоделанная "Gunnrunner" http://www.emulatronia.com/emusdaqui/spec256/ayudanos-eng.htm


А также, по наводке с описания эмулятора EmuZWin, ещё есть игры с сайта, который у меня не открывается сейчас, потому даю ссылку из архива: http://web.archive.org/web/20141201004424/http://www.yantragames.com/ZX256.html
Там такие игры:


Head Over Heels
Cybernoid II
Atic Atac
Dizzy I
Dizzy II
Exolon
Mad Mix 2
Pac Mania
Gun Runner
Bubbler
Highway Encounter
Chuckie Egg
Scooby Doo
Bruce Lee

jerri
30.09.2015, 12:38
troosh,Но делать всё на халяву уже не в силах, кушать бывает тоже хочется...

http://www.youtube.com

Вот именно на этом всё и заканчивается.
Работа должна приносить средства. Еду, одежду, деньги.

кстати а почему спрайты помаргивают в правом нижнем экранчике?

troosh
30.09.2015, 13:18
По поводу uGFX (http://zx-pk.ru/showthread.php?t=25605), проект скорей всего будет закрыт. От создания ещё десятка подобных как эта тема, ничего не изменится, по опросу видно, что не нужно это...

MVV, я совершенно не хотел своими словами спровоцировать тебя на депрессию, но видимо так получилось.. Сам оказывался с ситуациях когда понимал, что какая-то интересная лично мне работа не принесет дохода, а бросить её было сложно.

Что касается устройство с ZX-Bus шиной, - мне кажется нет достаточного числа пользователей готовых оплачивать разработку. Этим определенно стоит заниматься не как основной работой, а как интересным дополнением, если основная позволяет.

Если уже интересно что-то сделать на FPGA, то мне кажется стоит смотреть в сторону SDR, всё же радиолюбителей по всему миру поболее, чем спектрумистов. Ну или прибиться к какой-либо fabless компании, с твоим-то опытом по FPGA.

Reobne
30.09.2015, 14:07
по опросу видно, что не нужно это...
Опрос - ерунда. Проведём опрос "Нужны-ли вам гайки резьбой М6?" 99% скажут нет. А они таки нужны.

---------- Post added at 18:07 ---------- Previous post was at 18:02 ----------

Лучше спросить самого себя: "Мне это нужно?"

Raydac
30.09.2015, 14:08
что точно не работает на данном сайте это призывы в стиле "давайте сделаем". это еще andrews доказал

Rindex
30.09.2015, 14:19
что точно не работает на данном сайте это призывы в стиле "давайте сделаем". это еще andrews доказал

И правильно, балаболить умеют все. Здесь работает - я вот сделал, пробуйте. Это Mick доказывал и не раз.

Bedazzle
30.09.2015, 15:24
Надо набросать список таких игр.

Heavy on the magick графика непакованая.

jerri
30.09.2015, 15:58
Heavy on the magick графика непакованая.

спорное утверждение... она там преобразованная
для повышения скорости удвоения по горизонтали

ZX_NOVOSIB
30.09.2015, 16:09
Heavy of the magick ужасная в плане графики игра. У спека и так разрешение 256х192, а автор ещё и искусственно разрешение занизил, заквадратил всё, это полный фейспалм.

Reobne
30.09.2015, 16:37
ZX_NOVOSIB, И ты, Брут! :) Нормальное у спека разрешение, и графика в игре хорошая, особенно в плане оригинальности. :) ИМХО против ИМХО. :)

---------- Post added at 20:37 ---------- Previous post was at 20:32 ----------

Переделывать Heavy of the magick не так интересно, игра выходила на других платформах, и там графика была полноцветнее.

Bedazzle
30.09.2015, 20:18
Heavy of the magick ужасная в плане графики игра. У спека и так разрешение 256х192, а автор ещё и искусственно разрешение занизил, заквадратил всё, это полный фейспалм.

Тут можно вспомнить всем известные шахматы - неважно, из какого материала сделаны фигурки, т.к. важна идея и геймплей.
В HOTM, когда начинаешь играть, совершенно не замечаешь квадратов. К тому же, анимация ГГ сделана весьма достойно.

И если уж идти дальше, то это ещё надо умудриться запихать 15кб графики в память 48го, когда 15 кб отдано под код.


Переделывать Heavy of the magick не так интересно, игра выходила на других платформах, и там графика была полноцветнее.

Точнее, выходила на одной-единственной кроме спека платформе, родственном CPC.
К тому же, обещали два продолжения, ни одно из которых не вышло. :) Это одна из причин, почему я её ревершу уже некоторое время.

zx-kit
01.10.2015, 05:05
Тебе рассказать как было с ТС конфой?

была PentEvo в которую можно было записать любое железо
в неё записали АТМ 2 и всё
но умный ТСлаб придумал что записывать можно не только спектрумы но и поддержку спрайтов, тайлов, ДМА и прочее

1 придумал возможности
2 расписал порты и способы управления
3 собрал в верилоге прототип
4 загрузил в Эву и попробовал.
далее ТСЛаб знал что железо без программ мертво
а как писать программы если их работу увидеть нельзя?
5 допилил он Унрил
и написал знаменитый тест с шариками.
6 и заработало оно в унриле.
и дальше можно уже было сравнивать что в унриле и что на реальном железе
7 а дальше конфа только улучшалась и обезглючивалась
изначально можно было 42 спрайта, а потом стало 85
изначально было 64 цвета, сейчас 6318
появился блиттер

НО! большинство программ появилось когда появился Анрил с поддержкой ТСконфы. А Эва куда её можно залить была изначально.

ТСЛаб, конечно молодец. Но не все могут пройти путь героя, как он. Да и нужно ли это делать ? Я тоже в некоторой степени владею Verilog, схемотехникой, развожу платы, программирую на ассемблере Z80 и C++ в QT. Я могу начать изучать эмулятор Xpeccy на QT, лет через 5 у меня может получится добавить поддержку видеорежимов Метеор. Конечно, есть поговорка, что если хочешь все сделать хорошо - сделай это сам. Так сделал ТСЛаб. Но обычный человек все сделать не сможет.

У меня лучше получается придумывать новое, дорабатывать старое, находить решение какой-нибудь задачи. Это мне интересно, поэтому легче. Я могу этим заниматься часами. Другие навыки у меня не так хорошо прокачены. Кому-то раз плюнуть написать прошивку на Verilog или добавить поддержку режимов в эмулятор или быстро найти подпрограмму рисования спрайтов и доработать ее. На мой взгляд, надо каждому делать то, что у него лучше получается.

Я нашел решение, как можно устранить клешинг в новых и старых играх. Без аппаратных спрайтов и блиттера. Так поддержите меня. Помогите, кто чем может. Будет у Спектрума новая возможность. Никто не говорит, что она единственно правильная. Но кому-то она точно подойдет и будет удобна в применении.

Я сейчас делаю самый простой вариант устранения клешинга в старых играх. Я начал изучать код одной игры с явным клешингом. Наверно у меня получится самому доработать код для нового режима. И я об этом уже писал, как я это буду делать.

Давайте не будем героями-одиночками, а начнем вносить каждый посильный вклад в общее дело. Я бы лучше занялся основной работой надо улучшением и оптимизацией режимов, чем допиливанием эмуляторов. У меня мозг под такие задачи заточен.

jerri
01.10.2015, 09:03
zst, а я разве против?
если есть желание делать можно.
если есть возможность то делать нужно.

могу подсказать какие то моменты в программной части
могу подсказать что где находится в программах которые я ковырял.

zx-kit
01.10.2015, 16:20
могу подсказать какие то моменты в программной части
могу подсказать что где находится в программах которые я ковырял.
Спасибо ! Для адаптации игр для режимов "Meteor Graphics" надо знать:
1. Название игры и где скачать безглючную версию.
2. Краткое описание принципа построения изображения в игре.
3. Адрес начальных подпрограмм, куда можно добавить команды настройки видеокарты.
4. Адрес подпрограммы рисования главного героя (ГГ).
5. Адрес подпрограммы стирания ГГ.
6. Адрес подпрограммы прерываний.
7. Адрес и размер свободного места в ОЗУ.

abelenki
01.10.2015, 16:23
Спасибо ! Для адаптации игр для режимов "Meteor Graphics" надо знать:
1. Название игры и где скачать безглючную версию
http://www.worldofspectrum.org/games/index.html

zx-kit
01.10.2015, 16:31
http://www.worldofspectrum.org/games/index.html
Это я знаю. Мне понравилась Dizzy XII: Underground (http://www.worldofspectrum.org/infoseekid.cgi?id=0015212)

http://s009.radikal.ru/i309/1510/5d/08cc99a3db1a.gif (http://radikal.ru/big/876b3274492c43a6ab11ec9ab16808ec)

К ней есть доступ для свободного скачивания (http://www.worldofspectrum.org/pub/sinclair/games/d/DizzyXII-Underground.tap.zip) и в ней дикий клешинг.
Перекрасить DIzzy в белый цвет без клешинга наверно получится, а вот ручки и ножки в красный цвет покрасить без переделки спрайтов не получится.
Может автор игры есть на форуме ?

ZX_NOVOSIB
01.10.2015, 17:03
К ней есть доступ для свободного скачивания
Доступ для свободного скачивания есть абсолютно для всех игр.
Здесь: http://zxdenied.ru
И здесь: http://vtrdos.ru

Lethargeek
01.10.2015, 21:30
zst, а можно где-нибудь прочесть понятно одним куском, что ты там понаворотил против клешинга?

shurik-ua
01.10.2015, 22:45
а можно где-нибудь прочесть понятно одним куском
присоединяюсь к вопросу.
ибо хорошая дока - это уж пол дела )

zx-kit
02.10.2015, 06:04
присоединяюсь к вопросу.
ибо хорошая дока - это уж пол дела )
На днях соберу, что есть для текущей концепции в один PDF - файл и выложу в теме про новые режимы графики. Только у меня уже почти исчерпан лимит на выкладывание файлов.

zx-kit
03.10.2015, 07:09
Пример доработки подпрограммы рисования спрайта к игре "THREE WEEKS IN PARADISE" для видеокарты "Meteor Graphics":