Разработка и ромхакинг > Ромхакинг

Хаки на любой вкус

<< < (347/385) > >>

MaxWooD:
Ромхакер Chronix восстановил справедливость - добавил для игры Contra Force Arc Hound оригинальный титульник.



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

CaH4e3:
самое смешное что никто не знает как выглядел оригинальный титульник. вот вариант еще лол отбалды https://images.app.goo.gl/PFeLfdFQeXxcdQKM6
т е там можно что угодно придумать хех. а слабо заоптимизировать движок чтобы он меньше тормозил? могу дать "исходники" хех

DGanger:

--- Цитата: CaH4e3 от 17 Декабря 2022, 00:24:45 ---а слабо заоптимизировать движок чтобы он меньше тормозил? могу дать "исходники" хех

--- Конец цитаты ---

CaH4e3, а как вообще считаете, решаемая ли это задача?

Kinbeas:
DGanger,  :lol: :lol:
CaH4e3 не считает, он знает. К тому же ты только подумаешь о каком-то хаке - у него он уже есть.

MaxWooD:
CaH4e3, а вот такой вариант титульника видел? В этом варианте надпись на титульнике взята со скана синей страницы со скринами, из журнала, которая гуляет в сети.


--- Цитата: CaH4e3 от 17 Декабря 2022, 00:24:45 ---что никто не знает как выглядел оригинальный титульник
--- Конец цитаты ---
Возможно, автор этой статейки из журнала (если это статья конечно) видел оригинальный титульник и геймплей игры (если скрины делал), но это всего лишь предположение.

DIMASLiVER:
Возвращаясь к "злосчастной" Contra Force.
Спасибо yousver2 подсказал, как в хекс редакторе редактировать значения.
Так вот, появилась идея и желание чтобы напарники под управлением ПК появлялись не на 5 сек, а на немного больше. В Хексе это адрес "16649", значение меняется без проблем, НО! вот беда, спрайты времени в игре есть только от 0 до 5. Если выставить значение больше 5 то время будет идти как выставлено, но сами цифры будут отображаться кракозябрами.
Кто-нибудь сможет сделать такой хак и добавить спрайты чисел, чтобы увеличить время напарника (хотя бы до 9 сек. - чтобы проще изображение влазило)? Если конечно это реально и не сложно. 

FCEUX:
Подскажите, как чит добавить в ром, и наоборот из измененного рома сделать чит для оригинального. Большое спасибо!

yousver2:
FCEUX, смотря какой чит и в каком виде. Если гейм джини, то во фсеуксе есть конвертер, который показывает реальное место в роме, просто идешь в это место, меняешь значение, там в конвертере тоже показывается с какого на какое менять, и сохраняешься - все, ром готов.
Если код для оперативной памяти, к примеру 0798 или 0444, обычно они от 0000 до 07ff, хотя могут и на 60xx начинаться, если есть расширенная память, то тогда ты не сможешь прописать такой код внутрь рома - тебе нужно ставить точки остановки на эту память, дебажить код, менять и только потом сохраняться - тут без знаний ромхакинга ты сам не сможешь

FCEUX:

--- Цитата: yousver2 от 21 Декабря 2022, 00:33:06 ---Если код для оперативной памяти, к примеру 0798 или 0444, обычно они от 0000 до 07ff, хотя могут и на 60xx начинаться, если есть расширенная память, то тогда ты не сможешь прописать такой код внутрь рома - тебе нужно ставить точки остановки на эту память
--- Конец цитаты ---

С точками останова я разобрался, чит добавил в ром. А как из измененного рома сделать чит?

yousver2:
FCEUX, на ромхакинге полно всяких утилит по созданию патчей - там просто указываешь оригинальный ром, затем указываешь измененный ром и прога сама тебе делает удобный патчик, который применяется двойным щелчком мышки, типа ips.
А зачем тебе именно чит нужен? Патч намного удобней, кликнул 2 раза и применил на том роме, на котором хочешь, гораздо быстрей, чем вводить читы вручную. Если патч не подходит к другому рому, ну значит и читы тоже не подойдут, так как адреса находятся в других местах  :) Просто патч все автоматом делает за тебя, представь, что изменений вдресов в роме больше сотни - ты запаришься читы вводить вручную - сто кодов Game Genie - это жесть

FCEUX:

--- Цитата: yousver2 от 21 Декабря 2022, 06:52:21 ---А зачем тебе именно чит нужен? Патч намного удобней, кликнул 2 раза и применил на том роме, на котором хочешь, гораздо быстрей, чем вводить читы вручную. Если патч не подходит к другому рому, ну значит и читы тоже не подойдут, так как адреса находятся в других местах   Просто патч все автоматом делает за тебя, представь, что изменений вдресов в роме больше сотни - ты запаришься читы вводить вручную - сто кодов Game Genie - это жесть
--- Конец цитаты ---

Мне нужно внести именно одно два однобайтовое изменение в ром тому и патч, просто хотелось понять как это работает. Про ips я знаю, без надобности. Большое спасибо!

Sharpnull:

--- Цитата: yousver2 от 21 Декабря 2022, 06:52:21 ---типа ips
--- Конец цитаты ---
Только делать IPS самому, чтобы не нарваться на оптимизаторов (Lunar IPS и другое дерьмо), которые объединяют близкие изменённые байты из-за чего может произойти редкая ситуация с изменением ненужных байтов в хаке на основе целевого рома.

--- Цитата: FCEUX от 21 Декабря 2022, 10:22:24 ---Мне нужно внести именно одно два однобайтовое изменение в ром
--- Конец цитаты ---
Лучше вообще не использовать Game Genie для NES, это чисто для коротких ненадёжных читов, для запоминания изменений или передачи текстом, лучше обычные "позиция_в_файле:байты_для_вставки" (ABCD: EF 01 23).
Сделать Game Genie на основе двух файлов почти так же как и сделать свой GG:
1) Сравниваете файлы.
2) Высчитываете номер PRG банка изменённого байта.
3) В отладчике во время игры (рекомендую Mesen) смотрите по каким CPU адресам появляется банк, чтобы вычислите CPU адрес байта.
4) Составляете дешифрованный GG - "CPU_адрес?Оригинальный_байт:Новый_байт" (например, 8FFF?A9:60) и переводите в GG.
5) Проверяете чит на коллизии с другими банками, нужно убедиться, что по CPU адресу во время игры не будет других банков с таким же проверочным байтом (например 00 может встречаться часто), иначе эмулятор или программа для вшития GG заденет лишние байты. Если есть коллизия, то всё, такое изменение нельзя представить в виде GG, нужно придумать другой чит. Для проверки можно использовать программы для вшития GG (как Game Genie Guy!, но она кривая, и ucon64), будет видно сколько произошло изменений одного чита, исключаем изменение CHR ROM (потому что программа тупая и будет шарить там). Для NROM коллизий не будет, для MMC3 в CPU $E000-FFFF всегда фиксированный банк + в зависимости от игры также $8000-9FFF или $C000-DFFF, для других мапперов по ситуации.
Повторяете всё для каждого байта. Пункты 2) и 3) можно заменить на установку точек остановки RWX с запасом на нужные адреса.
Как видно, GG это проблема для серьёзных читов/хаков, в редких случаях PRG в адресах CPU $4020-7FFF, куда GG не достать. Может в каких-то эмуляторах догадались иметь читы в виде позиции в файле, а лучше позицию PRG (чтобы исключить трейнеры, заголовок iNES и т. п.), чтобы не жонглировать патчами.
UPD: Кстати, не называйте профили (ник) известными названиями. Теперь при поиске по FCEUX будут выводиться сообщения с обращениями к пользователю FCEUX. Не знаю о чём люди думают, золотые люди которые имеют ники вида dima47813675.

Беларус:

Sharpnull, про Lunar IPS и "другое дерьмо" уж очень интересно, где-нибудь про это писал? Почему портят данные, если они рядом?

Cyneprepou4uk:
perfect_genius, допустим у тебя 3 рядом стоящих байта, например FF FF FF. Ты делаешь хак, где меняешь первый и третий байты на 00, то есть будет 00 FF 00. Lunar IPS сохранит строку 00 FF 00 целиком, так как для него в плане экономии места файла выгоднее записать все 3 байта и указать длину строки 3, вместо того, чтобы для каждого байта 00 указывать отдельный адрес с длиной строки 1.

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

Mr2:

--- Цитата: Cyneprepou4uk от 21 Декабря 2022, 16:50:22 ---Это приводит к тому, что если вдруг ты решишь поменять второй байт FF и создать отдельный патч, то эти 2 патча уже будут несовместимы, если применять их в неправильном порядке, ведь первый патч просто вернет FF как в оригинале.
--- Конец цитаты ---
Это не проблема IPS патча, это проблема исключительно хакера. :facepalm: В IPS патчах распространяется полная модификация игры, следовательно оптимизация байт вполне оправдана.

10 лет назад был выпущен Чит патчер, который идеально подходит для чит кодов. Но видимо его время ещё не пришло, нам интереснее выдумывать свой велик в виде IPS, HEX, а самое оно, это закидывать на форум сотни ромов с парой изменённых байт.  :wall:

MaxWooD:

--- Цитата: Mr2 от 21 Декабря 2022, 18:08:38 ---10 лет назад был выпущен Чит патчер
--- Конец цитаты ---
Есть замечательная программа Game Genie Guy!, чтобы пропатчит ром кодами GG.

Cyneprepou4uk:

--- Цитата: Mr2 от 21 Декабря 2022, 18:08:38 ---Это не проблема IPS патча, это проблема исключительно хакера.
--- Конец цитаты ---

Чушь.

MaxWooD:

--- Цитата: Mr2 от 21 Декабря 2022, 19:52:58 ---нужно генерировать коды
--- Конец цитаты ---
Как понять? Просто вставить код GG не получится?

Mr2:

--- Цитата: MaxWooD от 21 Декабря 2022, 20:28:10 ---Как понять? Просто вставить код GG не получится?

--- Конец цитаты ---
Тут вроде как речь идёт о создании патча:

--- Цитата: FCEUX от 21 Декабря 2022, 10:22:24 ---Мне нужно внести именно одно два однобайтовое изменение в ром тому и патч
--- Конец цитаты ---

То есть автору придётся самому создавать GG коды, а не вставлять уже готовые.

Sharpnull:
[NES] Сапёр / Minesweeper / Mine sweeper из "8-in-1 (Sachen Super Cartridge Version 3)"
Простое исправление меню у вытащенного Сапёра из многоигровки. 3 режима: установленные размеры поля, выбор размера, на 2 игрока. В сети есть ромы для каждого режима отдельно. PRG 16KiB, CHR 8KiB, NROM (mapper 0).

Навигация

[0] Главная страница сообщений

[#] Следующая страница

[*] Предыдущая страница

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