Разработка и ромхакинг > Ромхакинг
[SMD] Rock 'n' Roll Racing -= Ломаем игру=-
<< < (2/112) > >>
AKM1989:
После недолгого копания в РОМе обнаружил:
00019060 На этом адресе обноружил интересную надпись: Sound Images v1.20
00064E00 здесь тоже встречается эта надпись!
Мои догадки: это аудио плеер (потыкав наугад смог отключить звуковое сопровождение, остался только голос), здесь же, кажись, и семплы.

При сохранении и просмотре файла через yy-chr графу отчетливо видно через режим evgeny'я "SEGA".
knotter,
Да, крыса лучше всех. Сам, больше, не пробывал рисовать?
Fever:
Да, до логики мы такими тэмпами не доберёмся...
Я уже говорил про графику машин, но всеравно ищут... зачем?
Тут редактор просто нормальный нужен, чем и занимался, что и сделал, завтра выложу. Пока немного нарытой тех инфы:
1)Машины
Незапакованная графика в конце рома. Начиная с BF500. 6 на 6 тайлов(48 на 48 точек). по 480 байт на кадр. 45 кадров на машину.
2)Аватары
Запакованная графика. 8 на 8 тайлов (64 на 64 точек).
Всё, не могу, засыпаю :zzz:
З.Ы. Что вы хотели на титульном экране изменить?

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

Аватара knotter`a.
knotter:
Еще один портрет:


Добавлено через 11 минут
Что с портретом? Количество цветов не совпадает? Аптечки класные, деньги старые лучше были. у меня мины разных цветов на уровне были: феолетового и желтого.
 
ps/ процесс пошел. не зря стараемяся)

Добавлено через 13 минут
А можно не заменяя старых вставить новых водил?
evgeny:
Че-то не получается толком графику обработать.
До уменьшения цветов вроде нормально,

но после ерунда получается, т.к. цветов не 16, а меньше используется.
 
Пытался обработать, но все не то.

Fever, а как ты узнал, я что 000F16 за вывод графики отвечает?
Кстати Бряки ставятсся, а регистры все же не дампятся.
Fever:
Хех, вот как и обещал RRRmp3. Жаль, что так тихо, но всеравно прикольно ^_^ Работает с Gens 2.11.
Добавлено через пару минут:
Непривычно, пропадает звук мотора(а он там есть???). А вообще неплохо было б сделать музыку во всех менюшках, после побед, ещё где, тока формат нада выбрать погромче, трекерный или миди.
Как всегда затупил, терь с библиотекой.
FEV:
Кто нить разобрался в работе паролей на игру??? Какой символ за что отвечает? Каким образом обработать свой пароль, чтоб модифицировать свою тачку??? Я только чуть разобрался... Мож кто есть продвинутей меня в разгадке работы паролей???
***
Я ещё играя на самой сеге пытался найти какой символ за что отвечает...
Вот, например расчёт цвета:
Теперь: сложность Veteran, игрок Snake Sanders, авто Marauder (black).
Пароль: XQL0 RS2X WS6M
Теперь: сложность Veteran, игрок Snake Sanders, авто Marauder (blue).
Пароль: XLLO RS2Y WS6M
Теперь: сложность Veteran, игрок Snake Sanders, авто Marauder (red).
Пароль: XGL0 RS2V WS6M
Теперь: сложность Veteran, игрок Snake Sanders, авто Marauder (green).
Пароль: XBL0 RS2W WS6M
Теперь: сложность Veteran, игрок Snake Sanders, авто Marauder (yellow).
Пароль: X7L0 RS21 WS6M
Изменения:
Метод 1)[][-4][][] [][][][+1] [][][][]
Метод 2)[][-4][][] [][][][-3] [][][][]
Метод 3)[][-4][][] [][][][+1] [][][][]
Метод 4)[][-4][][] [][][][+5] [][][][]
Ищем новую раскаску: метод 1
Основа: X7L0 RS21 WS6M
X3L0 RS22 WS6M - синий

Ищем дальше: метод 2
Основа: X3L0 RS22 WS6M
XZL0 RS2Z WS6M - синий

Ищем дальше: метод 1
Основа: XZL0 RS2Z WS6M
XVL0 RS20 WS6M - дребедень какаето (удивительно, я этот пароль где-то встречал!).

Искать дальше бесполезно, получим чёрную машинку...
Возмите любой рабочий код, если хотите получить новый цвет мучайте: методы 1 и 2 через раз. Получите нужный цвет, останавливайтесь.
***
GManiac:
FEV,

--- Цитата ---Если кого-то интересует генератор паролей: http://forum.romov.net/viewtopic.php?t=12086
--- Конец цитаты ---
тём(А):
чубайс и неожидано пришедшая зима устроили очередной конец-света в наших краях.
поэтому с опозданием на 2 дня выкладывается.
вощем, вот че получилось из попытки запердолить волжанина в рокнрол
gaz-24 mod
http://br.2s.ru/rrr/gaz24.rar
Te"ma:
Вот замутил вчера несколько ГеймГени кодов только работать они будут
на эмуле Gens так как патчат они оперативку а не ром, хотя незнаю если
есть желание можешь проверить на других емулях.

BHJ9-8AC1 - пульки 9
BHJ9-8ADS - прыжки 9
BHJ9-8AAH - шипики 9
BHJ9-8ADM - Азот 9
XHK9-8ABC - 990 000 бабла
AHJ9-8AFV - 1 круг

P.S. если надо будет могу еще сделать.
Te"ma:

--- Цитата: User;127564 ---Te"ma, патч-коды - коды, изменяющие значения по адресам ОЗУ эмулятора.Внешние проги типа Artmoney - изменяют значения по адресам ОЗУ ПК.
--- Конец цитаты ---


Вообще то как я понял оперативу патчат PAR коды имеющие формат xxxxxx:yyyy, где xxxxxx это адрес ОЗУ приставки а yyyy это изменяемое слово. И адрев находится в диапозоне от ff0000 до ffffff. А ГеймГени Это зашифрованный формат который изменяет значения в диапозоне от 000000 до 3fffff. Но и ГеймГени и PAR являются патч кодами.
Токда получается что мои коды это PAR коды перекодированные в ГеймГени.

Вот еще два GG кода:

XEPT-AAA2 + XEPT-BXA4  - ПЕРВЫЙ ИГРОК начинает играть с 999999 денег

XEPT-AABA + XEPT-BXBC  - ВТОРОЙ ИГРОК начинает играть с 999999 денег

P.S. Активитовать нужно оба кода первый+второй тогда будет 999999 денег,
если активировать только первый то будет 990000 денег, если второй то 9999.

Добавлено через 1 час 17 минут
Кстати на счет этой новой сложности, ввел я его особого отличия от обычной не увидел, но вот только прошел я дивизию В и потом А на первой планете и сразу на землю полетел. Ну а потом титры и зе енд. Может кто потестит этот пароль и потом скажет как у него все было.
Te"ma:
To Ti_
Да я знаю какие символы нужно изменять там их 2 я так этот пароль и получил из стандартного.(там меняется первый символ и четвертый)
А вобше щас думаю написать генератор паролей чтоб и сложность можнобыло выбирать, и цвета, и игроков, и машины дополнительные.
А насчет кодов GG ты неправ этот картридж как ты говоришь изменял только адреса с 000000 по 3fffff что соответствует адресному пространству картриджа (вот эти коды точно пойдут на всех эмулях), а то что я дал в первый раз изменяют адреса в ОЗУ приставки (ff0000 - ffffff) вот они не работают на этом устройстве game genie поэтому и не на всех эмуляторах пойдут можешь сам попробовать.

Добавлено через 15 часов 26 минут
Пароль BHJ9-8AAH для бесконечных шипиков оказался не рабочим он изменял только цифру на экране а сами они уменьшались.          
Вот новый пароль работает на 100%
CMJ9-8AC5 - шипики 9
Если гонять и засыпать все шипами не отпуская кнопку С то уже на втором круге игруха зависает.
Smoke:

--- Цитата: Ti_ ---так искал ида последней версии 5.3 не мог найти. хотел с торенц ру, а он не открывается хад. скачал 5.2 откуда то. datarescue advan ббалабала.  так вроде все норм. но лоадер тут гдето в соседних теме для сеги - так он уменя не пашет выдает ошибку 14001.  вручную что-то вбил сам хз. так вот смотрел щас статы(бонусы) игроков. ток там он джампхреф нет. но указатели они прям прям сверху .   команды  "move.b": 123B 002C, 123B 0027 , 123B 0022, 123B 001D,   т.е. относительные?  не посмотрел как считаются , но вот больше FFFF ведь не вобьеш? а то места пустого может и не быть там, я ваще думал хорошо  бы их добавить еще 1-3мега и туда пихать все новое.
--- Конец цитаты ---
У меня ида 5.0 и лоадер от HardWareMan'a работает. Иногда бывает, что массив данных есть, а Jump to xref нет. Это означает, что место, где написано обращение к этому массиву не дизассемблировано. С лоадером всё проще - почти всё что надо дизассемблируется, если его нет, приходится делать это ручками: надо нажать клавишу "С" напротив недизассемблированной команды - ида если не понимает команду, dc.b вгоняет всё время.
Далее. Видимо здесь move.b ссылается на массив относительно
123B 002C move.b  unk_732E(pc,d0.w),d1 - загрузка в регистр d1 значения адреса относительно PC + значение в регистре d0. В регистре d0 видимо номер гонщика или перса. У каждого перса свой номер. Например при наведении курсора на перса с номером 2 где-то в регистр d0 записывается значение 02, а потом по этой команде уже пишется точный адрес откуда брать данные для конкретного перса: 732E+значение в d0(02) = 7330. Поэтому, если не дописывать массив, а сразу разрешить выбирать новых персов появятся глюки, т.к там после последнего числа уже идет код - всякие 4E, 75 и т.д. Игра видит эти числа, которые не предусмотрены, обрабатывает их сопоставляя данные и виснет.
Чтобы дописать массив придется прыгать в конец рома. Команда jsr занимает 6 байт, а у нас доступно только 4 (123B002C). Значит пишем вместо нее jsr <метка>(4EB9XXXXXXXX) - у нас остается остаток - 2 байта от следующей команды. Эти оставшиеся 2 байта проц скорее всего не поймет, значит пишем вместо них nop(4E71) и так как влезли на другую команду - пишем в месте куда прыгаем наш move.b(123BXXXX) и массив, затем команду на которую заехали. Не забываем про rts(4E75) - возврат с процедуры.

--- Цитата: Ti_ ---и еще у меня получается сделать чтобы на невидимку щелкалось только через "лево", а нажатием "вправо" не выбирается даже если больше 7-ми ставить значение. кто объяснит как сделать.
--- Конец цитаты ---
Видимо в другом месте задается. Попробуй еще поискать - должно быть рядом с процедурой на кнопку "влево"
Smoke:

--- Цитата: Ti_ ---ну эта игра не виснет, там просто статы немного читерские получаются. (тоже самое с машинами и т.д., ток у тачек они наоборот убитые хар-ки).  первая-скорость, вторая -ускорение и т .д.
--- Конец цитаты ---
Это хорошо. Обычно виснет  :)

--- Цитата: Ti_ ---оно задается то , этот кусок кода тут и выкладывали вначале, но вот для "вправо" ставится тока от 1 до 7.  (в ориганале 6, а ставили 7 чтобы выбирался олаф без кода). то есть еще где-то ограничение чтоли.?
--- Конец цитаты ---
Попробуй поставить бряк на адрес процедуры, где прописано нажатие кнопки "вправо". Если сработает - значит правильный адрес, если нет, значит надо в другом месте искать

--- Цитата: Ti_ ---а само адрес PC где? его изменить же тоже надо?
--- Конец цитаты ---
PC - Program Counter, то есть где находится в данный момент процессор. Короче, адрес где у тебя записана команда. В твоем примере это 3FFF00. Теперь прибавляем к этому значению 2С и плюс 2 байта, т.к. 123B занимает 2 байта. Итого 3FFF00+2E=3FFF2E

--- Цитата: Ti_ ---тока я команды вначале написал а потмо таблицу.  ну как там и былотоесть.(на старом месте- 4eb9 003f ff00 4e71)
--- Конец цитаты ---
Всё верно. Принцип в том, что надо просто переместиться в конец рома, а процедуру оставляем такой же(набор команд в ней). А так как мы залезли на соседнюю команду, просто пишем еще и ее в конце. А 4E71 это просто nop - No OPeration, т.е. процессор не делает ничего, его вписываем естественно, для целостности кода
Smoke:

--- Цитата: Ti_ ---да адрес то правильный, тут gmaniac гдето вначале его и разъяснял, что-то там сравнивается с максимумом- 07.  а нужно сделать так чтобы максимум был не 7, а 20скажем.. , а так у меня через 1раз влево попадаем на 8-ого(невидимку), и потом вправо без ограничения.9-ый 10-ый и т.д.
--- Конец цитаты ---
А всё, я понял. Видимо там как-то хитро сделано. Надо будет посмотреть.
А со звуками там будет сложнее. По-любому есть процедура проигрывания звука. Там в ней есть загрузка конфига всех звуков(как со статсами у персов например). И в этом конфиге как раз прописаны адреса звука(скорее всего относительные), его скорость и т.д. Поэтому найти эту процедуру проблематично. Я когда в мк2 искал - весь ром пересмотрел в ида. И на похожие процедуры бряки ставил.
Smoke:

--- Цитата: Ti_ ---там вначале Кабал и еще кто-то менял звуки. , но как вытаскивал не написано.(адреса).а на авики я так поинтер так и не понял какнайти, но там у каждого по 2адреса. из-за вторых палитра и сбивается(они как раз короткие по 21-23h).с моделями тачек вообще косяк - на графику тачек и спрайт взрыва- один итотже указатель., то есть 6-ая машина - спрайт взрыва и перемещается вместе с графой тачек,  а для 7-ой, 8-ой машин графика вообще ниоткуда не читается!  хотя с 1-ой по 6-ой по одинаковому значению к адресу прибавляется., но 6-ую то мы заменить не можем. (мош другие номера тачек попровать?впамяти найти ток и менять?)
--- Конец цитаты ---
Графика идет одним сплошным куском, и выбирая несуществующую по идее 6-ю тачку мы просто заезжаем на другие данные, т.к. ссылки относительные. А при выборе 7-й и последующих видимо вообще на нули заезжаем, по этому графики не видим в игре. Звуки заменяли, а новые не добавляли. Заменить легко - просто засунуть свой звук поверх существующего.
Smoke:

--- Цитата: Ti_ ---да я ее переместил в Роме-графику и потом скопировал продолжил 2 раза. то есть не нули там были. там был повтор графики первых пяти машин для 7, 8 и т.д.  , для 6-ой да - это срабатывало а для остальных нет.
--- Конец цитаты ---
Ага, теперю ясно. Значит ограничение стоит - проверка, если номер тачки больше чем 5, то графика не выводится. Выход один - искать это ограничение. Должно быть около процедуры загрузки графики.

--- Цитата: Ti_ ---а как точный адрес узнавали.
--- Конец цитаты ---
Да можно просто в GoldWave ром открыть задав нужную частоту звучания и битность, и прослушать. Ну и заменить по ходу
Smoke:
Нашел кое-что. Массив по адресу 000054FC (вызов по 5274) - ровно 6 значений. Первое 00, последнее E1. При попытке поставить например F1, в процедуре 63А8 в а0 грузится адрес графики 00103180, больше чем сам ром - там нули естесственно, поэтому графики нет. Также после 6-го числа стоит другой массив и там число первое 0200. Относительно адреса 000054FC это типа 7-я тачка и поэтому графон так и так в ноль уходит.

--- Цитата: Ti_ ---да я ее переместил в Роме-графику и потом скопировал продолжил 2 раза.
--- Конец цитаты ---
Короче попробуй в придачу к этому дописать массив по адресу 000054FC. Должно сработать по идее
Тю, ща смотрел ром в YY-CHR - там даже графика не пожата :)
Smoke:

--- Цитата: Ti_ ---да я про тест на 1машине, 2копии генса запускаем(для1джоя хак, для 2-ого ориг.сплит) и смотрим. (через свой сервак или модифиц.каилерру.)пробуем разные варианты. если на одном компе всё в ажуре будет - то и по сети естевенного тоже.
--- Конец цитаты ---
Ясно. Я думал, что на одном компе не проверить, придется по инету с кем-нибудь коннектиться  :lol:
Наверно, для второго игрока всегда будет сплит, проверки возможно нет никакой. Для включения обычного режима используется адрес 00FFB94C. Если там не 0, то это обычный режим, если какое-либо другое, то сплит-скрин. В роме есть несколько проверок этого адреса(5964, 5988, F2C0, 5E5C, B926, B96A, B5B0, 5582). Надо найти нужную и редактировать ее. Прописать то, что не только первый игрок получает полный экран, но и второй.
Dzenis:
topos84, одним файлом, без пароля http://upwap.ru/469345
evgeny:
вот распаковщик/запаковщик:
http://www.webfile.ws/d/9992
Навигация
Главная страница сообщений
Следующая страница
Предыдущая страница

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