Разработка и ромхакинг > Ромхакинг и программирование
Сhecksum в играх (проверить и исправить)?!
(1/1)
Maksim86:
Здравствуйте! Подскажите пожалуйста -

1. Как исправить Сhecksum в игре Disney's Aladdin II (SMD) - показывает Сhecksum incorrect, а после Fix-a, при включении появляется красный экран. Можно ли исправить Сhecksum в этой игре с Incorrect на Ok?

Программы скачивал отсюда:
https://www.romhacking.net/utilities/342/
https://www.romhacking.net/utilities/499/
https://www.romhacking.net/utilities/1479/
https://www.romhacking.net/utilities/1343/

2. Интересует проверка и возможность исправления Сhecksum в ромах следующих консолей, (список ниже, после дефиса напишите варианты проверки ромов, если они есть).

Atari Jaguar -

Commodore 64 -

Commodore Amiga -

Dendy (NES) -

Game Boy Advance -

MAME (игровые автоматы) -

Nintendo 64 -

Nintendo DS -

Sega DreamCast -

Sega Game Gear -

Sega Master System -

Sega Saturn -

TurboGrafx-16 -


Для тех, кто не знает:

Checksum (контрольная сумма) - полученная из блока цифровых данных с целью обнаружения ошибок, которые могли возникнуть при ее передаче или хранении.
Yoti:
Работает - не трогай.
Rumata:

--- Цитата: Maksim86 от 04 Сентябрь 2020, 22:26:04 ---Для тех, кто не знает:
--- Конец цитаты ---
Сумма - это не база, а сумма. В первом приближении просто сумма всех байт в файле.
И самое интересное: программа подсчёта суммы и сама сумма находится в самом файле. В принципе Сега даёт стандартный алгоритм и место хранения суммы. Но многие разработчики используют свои. И при попытке сделать "как надо" в реальности ты всё рушишь и получаешь тот самый красный экран.
Как уже было сказано: не чешется - не чеши
Sharpnull:
Есть uCON64 (https://sourceforge.net/projects/ucon64/), поддерживает исправление сумм: GBA, NDS, N64, SNES, GEN, GB/GBC, SMS, WS/WSC/SC. В архиве readme.html, там список аргументов. Если просто передать ром, то будет написано "Checksum: Bad" для неправильной суммы. Для исправления:

--- Код: ---ucon64 РОМ_ФАЙЛ --chk
--- Конец кода ---
Файл будет изменён и оригинальный файл сохранится как .bak файл.
MetalliC:
Maksim86, для начала стОит понимать что ты делаешь и зачем.
в оригинальных ромах, типа сетов no-intro, ничего исправлять не нужно. и зачастую при помощи прог для вычисления-изменения сумм ты наоборот испортишь ромы.

эти утилиты стоит применять лишь для всяких ромхаков или переводов, и то, лишь если известно что игра использует "стандартный" алгоритм контрольной суммы.
MetalliC:
Maksim86, нене, ты скажи зачем ты делаешь то что пытаешься делать ?

правильная сумма - это та которую туда решили прописать разработчики игры, а не та которую насчитал какой-то Вася или Максим.
SeregaZ:
да тут видимо совсем тяжелый случай...

для того, чтобы не запускать командную строку каждый раз и парится там с путями - можно сделать следующее:
1. убедится что в Моем Компьютере (Windows жеть правда?) показывает файлы с расширением файлов. типа "текстовой блокнот.txt", "резюме.docx", "моя фотка.jpg"... и так далее.
2. зайти в папку с этой программой.
3. создать текстовой документ и вбить в него название программы и добавить в конце pause 0.

--- Код: ---uCON64
pause 0
--- Конец кода ---
4. сохранить. после нажать переименовать. и сделать вместо "текстовой блокнот.txt" что-то типа "start.bat"

после запускаем этот start.bat и он должен запустить эту программу и показать черное окошко. там может быть будет список команд, или будет писать что не верная команда типа...

после уже можно положить в эту-же папку ром. и дальше уже смотреть в документации каким образом сообщать этой программе параметр с ромом и какие там нужны команды. может там должно стать что-то типа uCON64 igra.bin

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

--- Цитата: Maksim86 от 06 Сентябрь 2020, 00:03:23 ---Я все понимаю, например при проверке игр Сеги программой FixCheckSum.exe, конкретно показывает OK или Incorrect, почти во всех играх после фикса этой программой показывает OK. Так вот я хочу, что бы везде было OK. Это говоря и об обычных ромах и о хакнутых.
--- Конец цитаты ---
давай я тебе скомпилю программку вида

int main(int argc, char **argv)
{
  printf("ROM checksum is OK!\n");
  return 0;
}

так, чисто для успокоения и релакса
SeregaZ:
как тут не вставить Фишборна, с его мемной фразой: самбоди гив дис мэн а ган... ту застрелится :)

нахрена ты засунул программу в папку с русскими буквами? то есть смотри там указано Максим в пути. консоль не то чтобы совсем не работает, но мягко говоря не любит русские буквы в пути. зайди на диск С, создай папку типа: TEST. туда ложи как саму программу, так и ром.

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

--- Цитата: Maksim86 от 06 Сентябрь 2020, 00:03:23 ---Ребята спасибо всем, я понимаю, как запустить cmd и включить программу, но дальше что? Как правильно написать команду? Покажите, если не трудно в виде скрина или просто напишите буквами, на примере любой игры для Super Nintendo.

--- Конец цитаты ---
Вот, без командной строки и с русскими буквами. :)
Для Super Nintendo.
Навигация
Главная страница сообщений

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