Разработка и ромхакинг > Ромхакинг и программирование
Как нужно взламывать игры на Sega.
<< < (2/3) > >>
marsel84:
Да нет, не могила. Скорее, темный лес. Главное, опыт работы. Вот с Photoshop тоже сначала все борются, а потом используют все его функции.
У многих игр соньки графика, музыка, картинки лежат на показ - бери и меняй. Но это баловство, ничего серьезного. А вот если порыться в кодах, поправить геймплэй - вот это будет победа над собой:) Сложно конечно, но возможно.

--- Цитата ---А вот у проги CD IMAGE точно ламерский интерфейс. Непонятно даже как удалять,или добавлять данные к образу диска
--- Конец цитаты ---
А че там понимать? Правая кнопка мыши -> меню -> извлечь/заменить. Делов то!
KABAL:
На 100 % согласен с тобой,что самое главное что можно сделать в игре это не перерисовать графику новую поверх старой,и не заменить старую музыку на новую,а внести что-то новое,а именно: написать ссылки и создать новые звуки,добавить новые возможности в игре и создать свою графику.
Кстати о сжатой на SEGA графике:
Посмотреть что там нарисовано без программы,которая делала её практически невозможно.Но вот создать свою графику под это сжатие можно,достаточно YY-CHR - ещё раз говорю,что это супер программа.
А прикол весь в следующем:
Строится графика так:
1) В видеобуфер приставки распаковывается графика,которая берётся с определённой ссылки в роме,в зависимости от CFG.
2)CFG - описание,как надо открыть графику,сколько блоков 64 на 64 точки её распаковать в видеобуфер и с какой ссылки брать графику.
Так вот,достаточно написать CFG, сделав так, чтобы эти блоки графики 64*64 точки брались без сжатия и построить необходимую форму под то,что хочешь туда врисовать.А после воспользоваться самой крутейшей из программ,создающих графику - YY-CHR и врисовать туда что хочешь. И не надо,как я видел кто-то где-то писал,создавать свою прогу для редактирования сжатой графики.
marsel84:
Заинтриговал...
Надо бы попробовать че-нить сотворить с моей любимой игрухой - Altered Beast. Как раз для начинающих.

Кстати, Kabal, а вот почему у тебя в HackUMK3 новые бойцы в меню без картинок? Этого нельзя чтоли сделать? Не мог бы ты немного рассказать, как делал это меню?
И почему нельзя вставлять персонажей из других частей?
KABAL:
Можно.Работаю над моделью BARAKA.
GManiac:

--- Цитата ---Надо бы попробовать че-нить сотворить с моей любимой игрухой - Altered Beast. Как раз для начинающих.
--- Конец цитаты ---
Пропатчь файл Altered Beast (JU) (REV 02) [!].bin :D
KABAL:
В меню не вставил иконки других бойцов,потому что не было времени и если вставить иконки в сжатом формате - заглючит квадрат выбора бойца.
А координаты иконок и координаты квадратов выбора бойцов задаются двумя координатами - X и Y в зависимости от порядкового номера.
balin_victor:
Приведи пожалуйста небольшой пример изменения координаты иконки (т.е. как ты сам делаешь в Вин Хексе). Как например сместить Нуб Сейбота на клетку правее или сделать клетку еще одного Шао Кана правее клетки Нуба. Понимаю, что многого прошу, но не мог б ты привести прямо кусок кода, чтобы было проще разбираться.
AKM1989:
Kabal_MK
А не мог бы ты немного подробнее описать процесс редактирования графики в ромах (в том же UMK3)?
Буду просто офигенно благодпрен!
Mortal Hero:
Извините ...А не кто не может подсказать ссылки на проги указанные выше ? ну там WinHex и т.д. Зараннее спасибо
AKM1989:
TO Mortal Hero
А тебе прям все так просто надо?
Заходи в Рамблер или на Яндекс и ищи!
Mortal Hero:
Да самое лучшее занятие самому искать. Так интересней и надёжней! Спасибо за напутствие!
.::3Bepb::.:
тока сегодня зашел на тему, появился такой вопрос к KABALу:
неужели ты все это проделывал без таблиц, изменяя значения "от балды"
AKM1989:
Kabal! Я не понимаю! Ты создал тему, а сам на ней раз в месяц появляешься! Я понимаю, ты занят своим хаком, но все-таки мог бы по чащще ходить сюда! Ты ведь рассказываешь нам как взламывать игры, а не мы тебе!
.::3Bepb::.:
а где можно нарыть таблицу кодов и адресов сеги?
весь инет облазил - НЕТУ, блин!
.::3Bepb::.:
если тема еще не загнулась:
1 кодек для сжатой графики есть в сеге для вывода оной на экран.
2 где-то на форуме я видел ссылку на исходники Генса (найду, напишу)
3 следовательно можно взять кодек из исходника и заставить его раскодировать в файл, а не в оперативку
я бы сделал это сам, но я знаю пока только Бейсик(а вот смеяться не надо, (самому стыдно))
.::3Bepb::.:
вот исходник , он под линух, но роли это не играет
.::3Bepb::.:
Цвета:
В компьютере при 32х битном режиме формат цвета выглядит так: ARGB, где
A-степень прозрачности(альфа),
R – степень интенсивности красного цвета,
G - степень интенсивности зеленого,
B - степень интенсивности синего .  
Но есть одна особенность, обозначение цвета на низком уровне выглядит по-другому: ABGR, То -есть при А=11, R=FF, G=C8, B=D1 (значения взяты «от балды») обозначение цвета будет не 11FFC8D1, а 11D1C8FF.
Как дело обстоит на сеге?
Как я понимаю, при 16 разрядах на значение цвета уходит пол байта, т.е ARGB выглядит не aaxxyyzz, а так axyz при этом a-"булево" значение, означает прозрачен(0), или не прозрачен(1 или F ??) слой.
SEGA держит 3 слоя, как определить, с каким слоем работаю?


Дай пример как рассчитывается уровень жизни бойца.
Как на Сеге выглядит число 1234h: 1234 или 3421?

В компьютере нулевой байт, ничего не означающий, получил применение как разделитель. Каждый раз встречая 00 проц понимает, что это конец строки.
Как строки отделяются друг от друга в сеге?

Опиши файл конфига палитры машинным яыком.

Сделай, цитаты, как про Nightwolf’a, можно скриншотом, можно без подписей, что куда адресовывается, только подпиши, что это меню, это саб-зиро и т.д.

К какому размеру памяти может адресовываться процессор?

Проблема декомпиляции сеговых ромов состоит в следующем:
Команда, которая на общепонятном языке звучит как mov bx,ax  в любом, уважающем себя компьютере выглядит таким образом: 8BD8 . То есть, каждый раз натыкаясь на 8BD8, IDA будет упорно вдалбливать в листинг mov bx,ax в то время, как это значит совсем другое.(спросите Кабала, он скажет)


Меня не интересует взлом как таковой, просто есть у меня пара задумок, игр, некоторые из них принципиально(для меня) должны быть на Сеге. А взлом поможет мне понять структуру рома и принцип написания игры.

Несмотря на то, что я тут вешал, дизасм и асм, писать в ассемблере глупо по нескольким причинам:
1)   Писать придется больше (сравнение ром 4 мБ , листинг 45 мБ)
2)   Скомпилированный файл будет больше, чем написанный непосредственно в коде(10-20%)
3)   Прога будет работать медленнее(10-20%)
4)   Асм мне так и не удалось запустить(наверное это надо было писать вначале :))
Наверное должен появиться вопрос, а нафига тогда это надо??
Ответ простой: Команда 4EF9 0011 22D4 (взято наобум) непонятна, дизасмнутая, будет выглядеть так: jmp $0011 22D4.
jmp – это jump, т.е понятно что 4EF9 это ссылка
Логика ясна, я думаю. Правда дизасм, мне кажется глючный.

Добавлено
с дизасмом все в порядке, просто люди, которые повесили его в разделе сега заслуживают страшной смерти, так как это прога для разбора дендивских ромов.
Гамбитыч:
Kabal_MK, я очень извиняюсь за жуткий оффтоп, но у меня нет другого выбора... Я тебе несколько раз писал в личку насчет интервью, но не услышал ни ответа, ни привета. Не хочу навязываться, но очень хочу получить ответ. Не пойму в чем дело... Прошу тебя, ответь в личку. Еще раз, сорри.

З.Ы. Прошу модераторов не удалять этот пост.
KABAL:
TO GAMBIT: я тебе в личку ответил.

Дай пример как рассчитывается уровень жизни бойца.
Есть команда "отнять" и "прибавить": 0A 79 00 01 00 FF  00 28, где 0A 79 - эта команда "прибавить", 00 01 - значение, которое надо прибавить, 00 FF 00 28 - адрес в оперативке, куда прибавить, соответственно, чтобы отнять 00 01 - то прибавлять к имеющемуся значению в оперативке нужно FF FF.

А строки никак конкретно не разделяются. Разделителем служит то, что принято за разделитель в программе, расшифровывающей текст например, там в MK, да и много где, конец строки - 00.
А программа читается до определённого момента, есть точка, или команда окончания записи части программы (возврат обратно) - 4E 75.

Палитра RAYDEN MK 2: 0040 0000 0222 0666 0AAA 0EEE 0446 088A 0CCC 0CA0 0A80 0860 0640 0420 00EE 000E - для первого игрока.

Процессор обращается к оперативке от 00 FF 00 00 до адреса 00 FF FF FF.

В SAVE эти адреса смещены - никогда бы этого не узнал, если бы на SEGA не было бы у меня взломщика кодов - там задавались координаты в оперативке + присваемое значение (команда выглядит как 33 FC).
Так вот координата начала оперативки в SAVE в HEX виде выглядит 2478 = 00 FF 00 00; ещё пример - 2578 = 00 FF 01 00; и.т.д.,т.е. нужно к строкам в HEX виде прибавлять значение 2478 к координатам оперативки в 16 - ричной системе исчисления, чтобы найти координаты строк оперативки в SAVE: типа того: 00 FF 12 24 - где это в SAVE ?  Ответ: 12 24 + 24 78 = 36 9С.

А тему не посещал из-за того, что её переместили !!!!!!!!!!!!!!!!!!!
Чувак:
Алё!! Народ!! Если тема не загнулась то я поддерживаю зверя.
А вы Кабал Кабалыч почашче на форуме появлались
Навигация
Главная страница сообщений
Следующая страница
Предыдущая страница

Перейти к полной версии