Автор Тема: Сhecksum в играх (проверить и исправить)?!  (Прочитано 1686 раз)

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

Оффлайн Maksim86

  • Пользователь
  • Сообщений: 430
    • Просмотр профиля
Здравствуйте! Подскажите пожалуйста -

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

Программы скачивал отсюда:

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 (контрольная сумма) - полученная из блока цифровых данных с целью обнаружения ошибок, которые могли возникнуть при ее передаче или хранении.
« Последнее редактирование: 12 Сентябрь 2020, 09:16:07 от Maksim86 »

Оффлайн Yoti

  • Пользователь
  • Сообщений: 4416
  • Пол: Мужской
  • Не тро-гай ме-ня
    • Steam
    • Просмотр профиля
Сhecksum в играх (проверить и исправить)?!
« Ответ #1 : 05 Сентябрь 2020, 00:19:49 »
Работает - не трогай.

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24640
    • Просмотр профиля
Сhecksum в играх (проверить и исправить)?!
« Ответ #2 : 05 Сентябрь 2020, 00:49:09 »
Для тех, кто не знает:
Сумма - это не база, а сумма. В первом приближении просто сумма всех байт в файле.
И самое интересное: программа подсчёта суммы и сама сумма находится в самом файле. В принципе Сега даёт стандартный алгоритм и место хранения суммы. Но многие разработчики используют свои. И при попытке сделать "как надо" в реальности ты всё рушишь и получаешь тот самый красный экран.
Как уже было сказано: не чешется - не чеши

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 4999
    • Просмотр профиля
Сhecksum в играх (проверить и исправить)?!
« Ответ #3 : 05 Сентябрь 2020, 22:47:46 »
Есть 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

  • Технический консультант
  • Сообщений: 9372
  • Пол: Мужской
  • Demul team / MAME developer
    • Просмотр профиля
Сhecksum в играх (проверить и исправить)?!
« Ответ #4 : 05 Сентябрь 2020, 23:23:11 »
Maksim86, для начала стОит понимать что ты делаешь и зачем.
в оригинальных ромах, типа сетов no-intro, ничего исправлять не нужно. и зачастую при помощи прог для вычисления-изменения сумм ты наоборот испортишь ромы.

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

Оффлайн MetalliC

  • Технический консультант
  • Сообщений: 9372
  • Пол: Мужской
  • Demul team / MAME developer
    • Просмотр профиля
Сhecksum в играх (проверить и исправить)?!
« Ответ #5 : 05 Сентябрь 2020, 23:29:25 »
Maksim86, нене, ты скажи зачем ты делаешь то что пытаешься делать ?

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

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2508
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
Сhecksum в играх (проверить и исправить)?!
« Ответ #6 : 05 Сентябрь 2020, 23:31:15 »
да тут видимо совсем тяжелый случай...

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

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

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

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

Оффлайн MetalliC

  • Технический консультант
  • Сообщений: 9372
  • Пол: Мужской
  • Demul team / MAME developer
    • Просмотр профиля
Сhecksum в играх (проверить и исправить)?!
« Ответ #7 : 06 Сентябрь 2020, 06:08:35 »
Я все понимаю, например при проверке игр Сеги программой FixCheckSum.exe, конкретно показывает OK или Incorrect, почти во всех играх после фикса этой программой показывает OK. Так вот я хочу, что бы везде было OK. Это говоря и об обычных ромах и о хакнутых.
давай я тебе скомпилю программку вида

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

так, чисто для успокоения и релакса

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2508
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
Сhecksum в играх (проверить и исправить)?!
« Ответ #8 : 06 Сентябрь 2020, 11:26:58 »
как тут не вставить Фишборна, с его мемной фразой: самбоди гив дис мэн а ган... ту застрелится :)

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

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

Оффлайн McSIM

  • Пользователь
  • Сообщений: 583
  • Пол: Мужской
    • Просмотр профиля
Сhecksum в играх (проверить и исправить)?!
« Ответ #9 : 06 Сентябрь 2020, 14:58:54 »
Ребята спасибо всем, я понимаю, как запустить cmd и включить программу, но дальше что? Как правильно написать команду? Покажите, если не трудно в виде скрина или просто напишите буквами, на примере любой игры для Super Nintendo.
Вот, без командной строки и с русскими буквами. :)
Для Super Nintendo.