Автор Тема: NES исправление Unemulated дампов - нужна помощь программера!  (Прочитано 6090 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Guyver(X.B.M.)

  • Пользователь
  • Сообщений: 2461
  • Пол: Мужской
  • Уничтожим Кронос!
    • Facebook
    • Twitter
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Нужен человек, который напишет тулзу для конвертации графики в нужный формат или просто подскажет, как привести графику в нормальный вид.

В общем, в сети часто встречаются дампы, которые запускаются и видно что они рабочие, код полностью рабочий. Звук пашет, игровой процесс тоже. Но с графикой творится какая-то беда. Вместо графики - каша. В остальном же ромы прекрасно работают. Решил я посмотреть в чём беда... Для примера взял ром Brave Boy (Ch) (Wxn).nes. Описание процесса напишу ниже.

Когда я открываю ром и смотрю графику (логотип игры для начала решил глянуть), то вижу следующую картину:




Это заставка игры. Она должна помещаться в один экран, в роме же она хранится неправильно и умещается уже на 2 экрана.

Привожу её к более приемлемому виду:



Что мы видим? Каждая строчка графики как бы повторяется 2 раза. И нужно как-то эту графику "сложить", чтобы 2 экрана уместились в один. Как-то так должно получиться:



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

В итоге после сохранения в роме этого экрана мы получим следующее в игре:



Как видим, не всё гладко, оно и понятно, ведь я же это делал не совсем правильно... Но после таких манипуляций уже хоть что-то видно в игре. После исправления ромы будут меньше по весу, так как графики станет в 2 раза меньше. Таких ромов очень много. И графика в них закосячена по одному алгоритму. Как будто каким-то макаром из графики 2bpp получили 4bpp. Если с ним разобраться - можно починить кучу ромов, которые в нынешнем виде для игры непригодны.

В приложении 2 рома - исходный и с пофиксенной почти заставкой. Кто глянет что там да как?

П.С. Я ещё в 2011 году увидел эту проблему, мне как-то зарубежный товарищ Joyel Selvakumar прислал 9 дампов игр Waixing - так там такая же проблема. С тех пор хочется их починить, некоторые до сих пор не задамплены полноценно...
« Последнее редактирование: 26 Январь 2016, 18:36:47 от Guyver(X.B.M.) »

Оффлайн MetalliC

  • Технический консультант
  • Сообщений: 9390
  • Пол: Мужской
  • Demul team / MAME developer
    • Просмотр профиля
это случаем не про эти же игры ?
http://s4.zetaboards.com/PGC_Forums/topic/9098877/1/

Оффлайн Guyver(X.B.M.)

  • Пользователь
  • Сообщений: 2461
  • Пол: Мужской
  • Уничтожим Кронос!
    • Facebook
    • Twitter
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Не помню, надо вспоминать где валяются ромы и смотреть эту тему... Они там решили проблему?

Оффлайн blackbird_ru

  • Пользователь
  • Сообщений: 1232
  • Пол: Мужской
    • Просмотр профиля
Там просто можно разделить на прг-схр, и в схр удалять каждые 16 байтов, не знаю, чётные или нечётные нужно.  А потом опять собрать ром.
Но говорю, там банки не переключаются же (всего их 4 штуки, заставка, персонажи и лабиринт). Это тоже нужно фиксить.

Оффлайн lancuster

  • Пользователь
  • Сообщений: 4256
  • Пол: Мужской
  • A nullo diligitur, qui neminem diligit...
    • Просмотр профиля
Палитра, кстати, тоже сбилась. Там, где сейчас голубой, должен быть просто черный цвет.

Добавлено позже:
Сама надпись белая, меч тоже белый. Как-то так. ;)

Добавлено позже:
К слову. В гуд реестре лежит также пиратская E. T., где нужно тупо прыгать выше и выше. Там такая же проблема.

Оффлайн MetalliC

  • Технический консультант
  • Сообщений: 9390
  • Пол: Мужской
  • Demul team / MAME developer
    • Просмотр профиля
Цитата: Guyver(X.B.M.)
Они там решили проблему?

 <_< ну то есть оно тебе так надо что сам даже темку пролистать не соизволишь ?

вкратце - это не дампы, и не для NES/денди, потому или вообще не работают или кажут кашу вместо грофона.

Оффлайн lancuster

  • Пользователь
  • Сообщений: 4256
  • Пол: Мужской
  • A nullo diligitur, qui neminem diligit...
    • Просмотр профиля
Да, это не дампы. Это рипы со сборников. И ещё - это всё-таки для Денди. Попробуй запустить эти ромы на эмулях других консолей, прежде чем утверждать такое. :)

Оффлайн Guyver(X.B.M.)

  • Пользователь
  • Сообщений: 2461
  • Пол: Мужской
  • Уничтожим Кронос!
    • Facebook
    • Twitter
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Точно нужно удалять каждые 16 байтов? Там не всё так просто, надо именно как-то их "складывать", два тайла, чтобы один получился...

Просто у меня есть ещё ром контры и я могу сравнивать с оригиналом. Если просто удалять - не будет части графики, она исчезнет.

MetalliC, какая разница для чего это, для денди или нет. Если поправить графику - это будет обычный стандартный дендевский ром. Проверено не раз...

Оффлайн MetalliC

  • Технический консультант
  • Сообщений: 9390
  • Пол: Мужской
  • Demul team / MAME developer
    • Просмотр профиля
Цитата: lancuster
Это рипы со сборников

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

Цитата: lancuster
И ещё - это всё-таки для Денди

и еще раз нет, это ромы для "консоли" с софтовым эмулятором типа денди внутри, и не простой а с каким-то доп.фичами и расширениями. какими ? зависит от больной фантазии авторов, в эмуляторе можно-то что угодно добавить, хоть труколор видеорежимы, хоть 256-канальный звук :)

Оффлайн lancuster

  • Пользователь
  • Сообщений: 4256
  • Пол: Мужской
  • A nullo diligitur, qui neminem diligit...
    • Просмотр профиля
Тогда вернемся с того, с чего начали тему - нужно написать конвертер графики. :)

Добавлено позже:
А почему основная графика взята с Осьминога, а не с Храброго Мальчика?
« Последнее редактирование: 27 Январь 2016, 03:47:48 от lancuster »

Оффлайн MetalliC

  • Технический консультант
  • Сообщений: 9390
  • Пол: Мужской
  • Demul team / MAME developer
    • Просмотр профиля
Цитата: Guyver(X.B.M.)
Там не всё так просто, надо именно как-то их "складывать", два тайла, чтобы один получился...

ну да, явно какой-то новый видеорежим. с вдвое большим количеством бит на точку, и соответственно где-то должна быть и в2е большая чем обычно палитра.

смутно вспоминается, но CaH4e3 вроде что-то рассказывал как-то на эту тему, типа что есть игры с более крутым графоном, которого в денди быть не может в принципе. наверное это они и есть.

Оффлайн blackbird_ru

  • Пользователь
  • Сообщений: 1232
  • Пол: Мужской
    • Просмотр профиля
Цитата: Guyver(X.B.M.)
Точно нужно удалять каждые 16 байтов? Там не всё так просто, надо именно как-то их "складывать", два тайла, чтобы один получился...

Без понятия.
Но оригинал картинки бы пригодился, чтобы понять, как должно всё выглядеть то. Может там сложение идёт, умножение, вычитание или ещё что с ними.
И проблема с банками. Вообще ммс3 видимо от балды рому дали, т.к. не вижу там его фич, как и переключения банков для нормального функционирования (только при инициализации один раз а000 дергают).
Вполне возможно что их переключают с помощью их спец. регистра, который выходит из стандартных диапозонов.

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

Добавлено позже:
Цитата: MetalliC
CaH4e3 вроде что-то рассказывал как-то на эту тему, типа что есть игры с более крутым графоном, которого в денди быть не может в принципе. наверное это они и есть.

Тоже вполне возможно, может они что-то прикрутили и это не сжатие графики, а какое-то расширение, мол чтобы цветов было больше в 4 тайлах, оригинал нужно смотреть.

Оффлайн lancuster

  • Пользователь
  • Сообщений: 4256
  • Пол: Мужской
  • A nullo diligitur, qui neminem diligit...
    • Просмотр профиля
Оригинала в сети нет. Можно посмотреть, как и что находится, в тех сборниках, что я выкладывал ранее. Там игра Octopus есть, хак Храброго Мальчика. Может, он внесет какую-то ясность.

Оффлайн MetalliC

  • Технический консультант
  • Сообщений: 9390
  • Пол: Мужской
  • Demul team / MAME developer
    • Просмотр профиля
Цитата: blackbird_ru
Вообщем рипнули неизвестно что, прилепили ммс3 в хедер, а ты думай, что с ромом не так. Так куда больше проблем, чем видно на первый взгляд.

мля, народ, вам тут всем чтоли религия запрещает скачать и посмотреть ?
вот тебе оригинал рома, до того как его "рипали и прелепляли ммц3"
« Последнее редактирование: 27 Январь 2016, 05:21:49 от MetalliC »

Оффлайн blackbird_ru

  • Пользователь
  • Сообщений: 1232
  • Пол: Мужской
    • Просмотр профиля
Цитата: MetalliC
"рипали и прелепляли ммц3"

Цитата: MetalliC
и да, не факт что он правильно расшифровывает и прилепляет ines хидер, хотя и маловероятно.

Ой, не ёрничай.
Маппер там просто так идёт, достаточно в код глянуть.
if (usedefaultmapper)
                            {
                                if (prgsize <= 2 && chrsize <= 1) { mapper = 0; vertmirror = true; }
                                else mapper = 4;
                            }

Кстати, на счёт моей догадки о том, что этот формат схр для того чтобы больше цветов в тайлах было.
Санчех подтвердил.

Цитата
казалось, что кроме второго APU система OneBus имеет еще и расширенный режим работы PPU, в котором графика отображается не в 2-битном формате, а в 4-битном, что увеличивает число одновременно отображаемых цветов в одном тайле.
http://cah4e3.shedevr.org.ru/dumping_2010.php

Вот такие дела.

Добавлено позже:
Так что просто сконвертировать без потери деталей может не получится, если действительно графика игры выходит за предела нес возможностей (просто может не все игры это юзали).

Оффлайн MetalliC

  • Технический консультант
  • Сообщений: 9390
  • Пол: Мужской
  • Demul team / MAME developer
    • Просмотр профиля
мда, из разряда "а мужики-то и не в курсе" :D

Цитата: blackbird_ru
если действительно графика игры выходит за предела нес возможностей

понятно что выходит, т.к. этот OneBus не NES а сферический эмулятор в вакууме.

Оффлайн blackbird_ru

  • Пользователь
  • Сообщений: 1232
  • Пол: Мужской
    • Просмотр профиля
Цитата: MetalliC
мда, из разряда "а мужики-то и не в курсе"

Не все же следят за передовыми китайскими разработками в 8-битной области.
Если всё прекрасно знал, первым постом и написал бы, что не сжатие это или какое шифрование, а так и есть. Править немного бессмысленно, и вообще это сконвертированный автоматически ром и не факт что корректно всё в нём.

Оффлайн MetalliC

  • Технический консультант
  • Сообщений: 9390
  • Пол: Мужской
  • Demul team / MAME developer
    • Просмотр профиля
Цитата: blackbird_ru
Если всё прекрасно знал, первым постом и написал бы

вторым и написал, но фомы неверующие такие фомы неверующие.
Цитата: MetalliC
вкратце - это не дампы, и не для NES/денди, потому или вообще не работают или кажут кашу вместо грофона.


Цитата: blackbird_ru
Править немного бессмысленно, и вообще это сконвертированный автоматически ром и не факт что корректно всё в нём.

согласен, тем паче что учитывая природу этой штуки могут быть и другие сюрпризы, к примеру вкл/выкл этих новых фич или каких-то банкингов/маппингов какой-нибудь командой процессора, которой у обычного 6502/2А03 нет.

Оффлайн lancuster

  • Пользователь
  • Сообщений: 4256
  • Пол: Мужской
  • A nullo diligitur, qui neminem diligit...
    • Просмотр профиля
Качал в нонгуде эти самые ромы .wxn - так у них даже хедера нет. А если даже вставить - ром всё равно не откроется. Вот так.

Добавлено позже:
Походу, это очередная попытка пиратов придумать колесо. На этот раз - квадратное. :lol:

Добавлено позже:
Гайв, вот документация по OneBus, как и что работает: http://clusterrr.com/dump/OneBus.zip
Ссылку дал Кластер.

Добавлено позже:
MetalliC, вот оно что, оказывается: http://www.retroroms.net/modules/newbb/viewtopic.php?post_id=43872&topic_id=6539
Эти ромы ещё до нас расшифровывали. И они пришли к нам именно в таком виде через утилиту WXN Decrypt.
Те же ромы можно найти и в формате *.bin , которых можно открыть только в EmuVT 1.36.
« Последнее редактирование: 28 Январь 2016, 07:05:09 от paul_met »

Оффлайн MetalliC

  • Технический консультант
  • Сообщений: 9390
  • Пол: Мужской
  • Demul team / MAME developer
    • Просмотр профиля
Цитата: lancuster
MetalliC, вот оно что, оказывается: http://www.retroroms.net/modules/newbb/viewtopic.php?post_id=43872&topic_id=6539Эти ромы ещё до нас расшифровывали. И они пришли к нам именно в таком виде через утилиту WXN Decrypt.

татышо ! не может быть !
а ничего, что все это же есть по ссылке с моей первой мессаги в этой теме ? и из первых рук, от чела который разбирал скремблинг и сделал тот wxndecrypt.

странные вы какие-то, мягко говоря.

Оффлайн lancuster

  • Пользователь
  • Сообщений: 4256
  • Пол: Мужской
  • A nullo diligitur, qui neminem diligit...
    • Просмотр профиля

татышо ! не может быть !
а ничего, что все это же есть по ссылке с моей первой мессаги в этой теме ? и из первых рук, от чела который разбирал скремблинг и сделал тот wxndecrypt.

странные вы какие-то, мягко говоря.
Ну, извини. Не заметил. Впредь буду внимательным. :)

Оффлайн Guyver(X.B.M.)

  • Пользователь
  • Сообщений: 2461
  • Пол: Мужской
  • Уничтожим Кронос!
    • Facebook
    • Twitter
    • ВКонтакте
    • Youtube
    • Просмотр профиля
В принципе, цветов в некоторых играх немного, для нес должно хватить. И маппер можно подобрать так, что банки будут переключаться. Только палитру поправить - и всё... В уровне у меня теперь работает вся графика верно. Только заставку осталось подключить правильно, чтобы она свою графику показывала.


Оффлайн MetalliC

  • Технический консультант
  • Сообщений: 9390
  • Пол: Мужской
  • Demul team / MAME developer
    • Просмотр профиля
получается такая история:
- китайцы сделали такие себе NES на стероидах, с расширенными видеорежимами, звуком, адресацией PPU до 32МБ, а в случае VT16 еще и второй 6502 процессор добавили, плюс всякий обвес/периферия.
- переделали NES/FC игры чтоб они использовали эту всю крутотень.

...а вы теперь хотите переделать их взад  <_< мне одному эта затея кажется странной и бестолковой ?

Оффлайн blackbird_ru

  • Пользователь
  • Сообщений: 1232
  • Пол: Мужской
    • Просмотр профиля
Цитата: MetalliC
мне одному эта затея кажется странной и бестолковой ?

Ну если игры действительно интересные, то вполне. Но вот эта одноэкранная аркада явно не стоит усилий.

Оффлайн paul_met

  • Супермодератор
  • Сообщений: 8121
  • Пол: Мужской
  • Похититель эмуляции
    • Youtube
    • Просмотр профиля
Цитата: MetalliC
мне одному эта затея кажется странной и бестолковой ?

Думаю, что не одному. Только разве что ради спортивного интереса.

Оффлайн lancuster

  • Пользователь
  • Сообщений: 4256
  • Пол: Мужской
  • A nullo diligitur, qui neminem diligit...
    • Просмотр профиля
Есть и другие, более интересные игры. Я нашёл в одном сборнике игру Quiz. Вот бы её вынуть и исправить! :cool:

Оффлайн black jaguar

  • Пользователь
  • Сообщений: 1865
    • Просмотр профиля
почему бы тогда не писать эмулятор этого железа? и как эта консоль вообще называется?
не является ли это обычным портированием? со снес на денди точно также можно портировать игры. как червяка джима например

Оффлайн lancuster

  • Пользователь
  • Сообщений: 4256
  • Пол: Мужской
  • A nullo diligitur, qui neminem diligit...
    • Просмотр профиля
Он уже есть. EmuVT1.36. Правда, он далеко не всё читает. Ромы wxn и bin далеко не все работают.

Добавлено позже:
Если не хотите исправлять ромы - тогда напишите к известным эмуляторам поддержку данных мапперов. Санчезу скажите, чтобы вшил в свой эмуль чтение wxn/bin файлов.
« Последнее редактирование: 28 Январь 2016, 21:12:02 от lancuster »

Оффлайн lancuster

  • Пользователь
  • Сообщений: 4256
  • Пол: Мужской
  • A nullo diligitur, qui neminem diligit...
    • Просмотр профиля
Brave Boy можно попробовать исправить, взяв за основу игру octopus. Код там практически одинаковый. Разница только в музыке, графике и отсутствии заставки.
Вот ром.

Оффлайн Doomguard45

  • Пользователь
  • Сообщений: 237
    • Просмотр профиля
Он уже есть. EmuVT1.36. Правда, он далеко не всё читает. Ромы wxn и bin далеко не все работают.

Добавлено позже:
Если не хотите исправлять ромы - тогда напишите к известным эмуляторам поддержку данных мапперов. Санчезу скажите, чтобы вшил в свой эмуль чтение wxn/bin файлов.

FCEUX и так поддерживает маппер OneBus, но без каких либо фич, хотя я смог запустить только со сломанной графикой