Автор Тема: [ALL] Вопросы новичков  (Прочитано 20065 раз)

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

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2506
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
[ALL] Вопросы новичков
« Ответ #270 : 23 Август 2024, 20:53:49 »
а что есть такого в оригинале, чего не разобрано в сборщике?

Оффлайн bgr

  • Пользователь
  • Сообщений: 477
    • ВКонтакте
    • Просмотр профиля
[ALL] Вопросы новичков
« Ответ #271 : 23 Август 2024, 21:16:54 »
Sharpnull, а разве на ромхакинге выложен плохой упаковщик? В комплекте с редактором SoR2

Добавлено позже:
Turbo2000, выкладывай, если в интернете нет :)

Оффлайн Turbo2000

  • Пользователь
  • Сообщений: 102
  • Пол: Мужской
    • Просмотр профиля
[ALL] Вопросы новичков
« Ответ #272 : 24 Август 2024, 08:18:33 »

Добавлено позже:
Turbo2000, выкладывай, если в интернете нет :)
Лично не нашел, сделаю библиотеку:)

Добавлено позже:
а что есть такого в оригинале, чего не разобрано в сборщике?
Ничего, просто интересно, нет же исходников и инструментов, как это было разобрано, только результат и структура для сборки
« Последнее редактирование: 24 Август 2024, 08:25:19 от Turbo2000 »

Оффлайн Turbo2000

  • Пользователь
  • Сообщений: 102
  • Пол: Мужской
    • Просмотр профиля
[ALL] Вопросы новичков
« Ответ #273 : 24 Август 2024, 17:23:57 »
Turbo2000, выкладывай, если в интернете нет
Сделал либу https://github.com/DramaDesu/ym-smdtools
Пока не устанавливается (поддержка разных пакетных менеджеров), но сделаю устанавливаемой

Добавлено позже:
Единственное, там 20-е плюсы, могу, если что снизить версию, но придется от некоторых вещей отказаться

Добавлено позже:
Можно еще повозиться с оптимизациями алгоритма распаковки, чтобы оптимизировать бранч-предикты, но лень, запутанный код

Оффлайн Turbo2000

  • Пользователь
  • Сообщений: 102
  • Пол: Мужской
    • Просмотр профиля
[ALL] Вопросы новичков
« Ответ #274 : 27 Август 2024, 00:32:41 »
Всем привет!
Кто-нибудь находил порт или декомпиляцию драйвера Ancient Music   
Driver для сеги?

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2506
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
[ALL] Вопросы новичков
« Ответ #275 : 27 Август 2024, 01:03:45 »
походу там только две игры:
Streets of Rage 3 (Bare Knuckle III)   Ancient Music Driver MD v1.00 (Hideki Koyama)
Beyond Oasis (The Story of Thor)   Ancient Music Driver MD v1.06 (Hideki Koyama)

Оффлайн Turbo2000

  • Пользователь
  • Сообщений: 102
  • Пол: Мужской
    • Просмотр профиля
[ALL] Вопросы новичков
« Ответ #276 : 29 Август 2024, 23:47:57 »
походу там только две игры:
Streets of Rage 3 (Bare Knuckle III)   Ancient Music Driver MD v1.00 (Hideki Koyama)
Beyond Oasis (The Story of Thor)   Ancient Music Driver MD v1.06 (Hideki Koyama)
Да, так и есть, в общем, скорее всего и не будет реализации драйвера, если только все это сэмулировать

Оффлайн onimush

  • Пользователь
  • Сообщений: 467
    • Просмотр профиля
[ALL] Вопросы новичков
« Ответ #277 : 30 Август 2024, 07:56:04 »
Тут человек утверждает что contra force тормозит из-за того что пилилась под mmc3 во вторую очередь а в оригинале должна была работать с маппером vrc6. Скажите, насколько его аргументы легитимны, и насколько трудно переписать игру под vrc6 или mmc5 получив спустя 30 лет наконец-то dev intended геймплей?  :)


Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 4999
    • Просмотр профиля
[ALL] Вопросы новичков
« Ответ #278 : 30 Август 2024, 14:10:27 »
насколько трудно переписать игру под vrc6 или mmc5
На MMC5 не сложно, разницы не заметил: https://www.emu-land.net/forum/index.php/topic,66302.msg1604008.html#msg1604008.

Оффлайн bgr

  • Пользователь
  • Сообщений: 477
    • ВКонтакте
    • Просмотр профиля
[ALL] Вопросы новичков
« Ответ #279 : 30 Август 2024, 15:12:15 »
Turbo2000, Хрен знает о чем вы и что вам нужно, но блад сортировал драйвер для Соника, можете ему написать.
Да и честно, хз как вы ищете, мне это видео сразу выпало.
https://www.google.ru/url?sa=t&source=web&rct=j&opi=89978449&url=https://www.youtube.com/watch%3Fv%3DeV3c_W5lKfQ&ved=2ahUKEwiypLat15yIAxX-GBAIHb4uB_wQwqsBegQIEhAG&usg=AOvVaw3Vk9sxF53SieX5JB4SL1VV

Оффлайн Turbo2000

  • Пользователь
  • Сообщений: 102
  • Пол: Мужской
    • Просмотр профиля
[ALL] Вопросы новичков
« Ответ #280 : 30 Август 2024, 20:52:41 »
Turbo2000, Хрен знает о чем вы и что вам нужно, но блад сортировал драйвер для Соника, можете ему написать.
Да и честно, хз как вы ищете, мне это видео сразу выпало.
https://www.google.ru/url?sa=t&source=web&rct=j&opi=89978449&url=https://www.youtube.com/watch%3Fv%3DeV3c_W5lKfQ&ved=2ahUKEwiypLat15yIAxX-GBAIHb4uB_wQwqsBegQIEhAG&usg=AOvVaw3Vk9sxF53SieX5JB4SL1VV
О, круто, видел этот хак. (Не сразу оценил, что это так классно)
Но я ищу порт, точнее эмуляцию драйвера на пк, что-то похожее, что писали ребята для GEMS.

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2506
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
[ALL] Вопросы новичков
« Ответ #281 : 30 Август 2024, 21:53:43 »
ну... я пошел из далекого далека в подобном пути :) благо что все данные были давно разобраны до меня r57shell'ом и мне оставалось только вникнуть. во первых нужны эмуляторы обоих чипов - ямахи и psg'шного. с ямахой товарищ Valleybell делал какую-то программу для тестов инструментов и для неё была уже готовая dll'ка. ей просто шлешь регистры и она звучит. с PSG было сложнее. благо отозвался товарищ Shiru и дал порулить сурсами, кажется на java чтоль... или это была флеш... блиииин. надо же забыл! помница это была эмуляция кода для проигрывания в браузере. дальше, поскольку сам я сирота, подключился один буржуйский товарищ wilbert и помог портировать из того языка в мой, но добавив еще ассемблерный код... я итак то не понимал что там творится в коде, а уж с этими вставками асма - вообще темнота :) он там докрутил возможность увеличить количество ядер. и что-то там еще поверх оригинального кода Shiru... возможно переключение стерео. забыл блин. причем с wilbert'ом тоже познакомились комично... пока у меня ядра для PSG не было - я нашел пример кода на своем языке с генератором тонов. а кто сказал что он может генерировать только одну частоту? вот сделал парсинг VGM'ки, чтение нот в нем когда стартует какая нота когда заканчивается... а чтобы получить хотябы два канала - а генератор был для стерео, то получается один канал играл в левом ухе, а второй в правом :) так вот по итогу у меня было два ядра обоих чипов. примерное понимание как играет драйвер у меня было и худо бедно крит через раз родил хоть какое-то проигрывание мелодий и спецэффектов. радости было полные штаны. а потом уже был Valleybell'овский GEMSPlayer и Sharpnull его портировал из одного языка в другой и из консольной программы перевел в дллку, которой можно просто слать образы в памяти банков GEMS и запускать проигрывание. тут уже играет на 99% точно и без вылетов, не то что у меня было весьма далекое по качеству звучания и тем более вылетов :) по итогу общими трудами у нас эпическая онлайновая база GEMS треков и спецэффектов из большинства GEMS игр :)

Оффлайн bgr

  • Пользователь
  • Сообщений: 477
    • ВКонтакте
    • Просмотр профиля
[ALL] Вопросы новичков
« Ответ #282 : 31 Август 2024, 01:31:52 »
У меня долгое время пылился хард от компа, тк материнка сгорела.
Всё, что я пытаюсь не пашет с различными ошибками, даже предъявляет за отсутствующие плагины, я их скачиваю, помещаю в папку с экзешником и всё равно не пашет.

Кто-нибудь, подскажите софт под 7 винду для хакинга сеги.
Уже установлен хекс, тайл-редактор, эмульгатор от р-шела, да и всё.

Какая версия иды подойдёт?

Сейчас нет нормального софта, чтобы расширить rom? Знаю, что можно самому с помощью хекса и блокнота, но хочется автономности, по кнопке. Ну или Хекс с такой функцией, чтобы по факту дописывать ром?

На ромхакинге актуальная версия шеловского эмуля? А то я там вроде качал и чет мнение, что не всё функции работают в полной мере🤔

Оффлайн perfect_genius

  • Пользователь
  • Сообщений: 1144
    • ВКонтакте
    • Steam
    • Просмотр профиля
[ALL] Вопросы новичков
« Ответ #283 : 31 Август 2024, 01:53:50 »
Какая версия иды подойдёт?
Это уже сюда: Smd IDA Tools - Sega Mega Drive reversing helpers
Если нужны простые инструменты для простых хаков, то предложу свой ROM glitcher.
Попробуй конкретизировать что ты хочешь ломать-менять в играх Сеги.

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2506
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
[ALL] Вопросы новичков
« Ответ #284 : 31 Август 2024, 02:37:44 »
поэтому то я и толкую что эта ваша Ида это моветон :) в наш век, когда космические корабли типа Буран пылятся в пыли разваленных ангаров Байконура, все давным давно должно быть само в себе, без этих танцев с бубном со всякими плагинами и прочей танцевальной лабутнёй. причем портабельно. чтоб без всяких установок. на любой винде. тырк и все сразу работает. вот что надо. а не это вот всё. причем чтоб сразу и разобрал и собрал и чтоб все без запинок.

Оффлайн Turbo2000

  • Пользователь
  • Сообщений: 102
  • Пол: Мужской
    • Просмотр профиля
[ALL] Вопросы новичков
« Ответ #285 : 01 Сентябрь 2024, 14:56:37 »
Какая версия иды подойдёт?
Последняя версия планига работает с 8.3 (Если точно Version 8.3.230608 Windows x64 (32-bit address size))

Добавлено позже:
Там есть реализация условных брейкпоинтов и трейсов, неочень удобно, и есть баги, но может помочь

Добавлено позже:
ну... я пошел из далекого далека в подобном пути :) благо что все данные были давно разобраны до меня r57shell'ом и мне оставалось только вникнуть. во первых нужны эмуляторы обоих чипов - ямахи и psg'шного. с ямахой товарищ Valleybell делал какую-то программу для тестов инструментов и для неё была уже готовая dll'ка. ей просто шлешь регистры и она звучит. с PSG было сложнее. благо отозвался товарищ Shiru и дал порулить сурсами, кажется на java чтоль... или это была флеш... блиииин. надо же забыл! помница это была эмуляция кода для проигрывания в браузере. дальше, поскольку сам я сирота, подключился один буржуйский товарищ wilbert и помог портировать из того языка в мой, но добавив еще ассемблерный код... я итак то не понимал что там творится в коде, а уж с этими вставками асма - вообще темнота :) он там докрутил возможность увеличить количество ядер. и что-то там еще поверх оригинального кода Shiru... возможно переключение стерео. забыл блин. причем с wilbert'ом тоже познакомились комично... пока у меня ядра для PSG не было - я нашел пример кода на своем языке с генератором тонов. а кто сказал что он может генерировать только одну частоту? вот сделал парсинг VGM'ки, чтение нот в нем когда стартует какая нота когда заканчивается... а чтобы получить хотябы два канала - а генератор был для стерео, то получается один канал играл в левом ухе, а второй в правом :) так вот по итогу у меня было два ядра обоих чипов. примерное понимание как играет драйвер у меня было и худо бедно крит через раз родил хоть какое-то проигрывание мелодий и спецэффектов. радости было полные штаны. а потом уже был Valleybell'овский GEMSPlayer и Sharpnull его портировал из одного языка в другой и из консольной программы перевел в дллку, которой можно просто слать образы в памяти банков GEMS и запускать проигрывание. тут уже играет на 99% точно и без вылетов, не то что у меня было весьма далекое по качеству звучания и тем более вылетов :) по итогу общими трудами у нас эпическая онлайновая база GEMS треков и спецэффектов из большинства GEMS игр :)
Да, за это вам всем благодарен, у меня есть переписанная версия с поддержкой нескольких чипов одновременно, единственное, что можно играть несколько сиквенций только из одного банка (в смысле, текущего)

Добавлено позже:
Сейчас нет нормального софта, чтобы расширить rom? Знаю, что можно самому с помощью хекса и блокнота, но хочется автономности, по кнопке. Ну или Хекс с такой функцией, чтобы по факту дописывать ром?
Вся сложноть упирается, в портабельность, и куда бы подлезть в роме, чтобы не сломать текущие адреса. А в конец, сколько угодно можно писать, все зависит от нужд хака
« Последнее редактирование: 01 Сентябрь 2024, 16:55:29 от Turbo2000 »

Оффлайн MaxWooD

  • Пользователь
  • Сообщений: 1075
    • Просмотр профиля
[ALL] Вопросы новичков
« Ответ #286 : 09 Октябрь 2024, 21:50:06 »
Уважаемые форумчане, подскажите советом пожалуйста.
Разбираюсь с графикой в The Fantastic Adventures of Dizzy. Как выяснилось нужная мне графика пожата (используемые предметы в игре).
Есть утилита Dizzy Pack/Unpack, как я понял она используется для извлечения, распаковки, упаковки и вставки назад в РОМ графики. Данную утилиту изначально разрабатывал Chronix, а потом модифицировал поляк ffgriever.
В файлах программы есть пример, и как я понял программа распаковывает графику из определённого адреса в РОМе, который нужно прописать в настройках. А какой командой и как упаковать эту графику назад в РОМ?
И еще вопрос, как понять по какому адресу находится сжатая графика?
Игрался вручную с разными адресами, но на выходе не очень много графики получается найти.

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 4999
    • Просмотр профиля
[ALL] Вопросы новичков
« Ответ #287 : 09 Октябрь 2024, 23:11:49 »
И еще вопрос, как понять по какому адресу находится сжатая графика?
Поставить breakpoint на запись в PPU $0000-1FFF или CHR RAM, виден код и откуда взялось. В 1-й версии игры (Fantastic Adventures of Dizzy, The (USA) (Unl).nes на emu-land) можно поставить breakpoint на выполнение CPU $DC62, там LDY #$00 и ниже LDA ($2B),Y, где Mesen пишет CPU адрес, посмотреть какой PRG адрес и добавить 0x10 для распаковщика, в $31 видно кол-во тайлов для распаковки. Выше по коду видно, что каждый сжатый кусок определяется данными с CPU $DA9F по 5 байт: сначала 2 байта CPU адрес на данные, 1 байт - начальный индекс тайла, 1 байт - кол-во тайлов для распаковки, 1 байт - старший бит (7-й, &0x80) указывает на PPU $0000 или PPU $1000, младшие 4 бита (&0x0F) на PRG банк, поэтому для примера F6 9E CF 08 07: CPU $9EF6, PPU $0CF0 (индекс тайла 0xCF), 8 тайлов, PRG банк 7. UPD: Здесь адрес в файле 0x10 + (0x9EF6 - 0x8000) + 7 * 0x4000, поэтому можно легко написать скрипт, который пройдёт по массиву и распакует все тайлы.
В example.bat 2-й строка - пример сжатия. Конечно нужно убедиться, что влезет.

Забавный польский язык: Oj bida, bida..., Blad na linii nr, Mamy problem.
« Последнее редактирование: 10 Октябрь 2024, 00:56:16 от Sharpnull »

Оффлайн Alex KO

  • Пользователь
  • Сообщений: 18
  • Пол: Мужской
    • Просмотр профиля
[ALL] Вопросы новичков
« Ответ #288 : 06 Ноябрь 2024, 21:14:28 »
Здравствуйте, форумчане. У меня есть вопрос. Есть хак на игру Krion Conquest/Magical Doropie под названием Magical Rockman. И там у мегамена поменян цвет во всех режимах атаки. Я пытаюсь сделать свой хак на эту игру, но я смог поменять цвет персонажа только при загрузке нового уровня. Когда я нажимаю на Старт для выбора атаки шариками или полёта на метле, а потом возвращаюсь на нормальную атаку, то персонаж меняет цвет на такой, какой у него был до программирования цветов. Как мне поменять цвета в этой игре, чтобы можно было даже после переключения режимов атаки оставить цвет. И если это как-то связано с PPU-памятью, то где там залезть, чтобы поменять палитру

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 4999
    • Просмотр профиля
[ALL] Вопросы новичков
« Ответ #289 : 06 Ноябрь 2024, 21:41:29 »
Когда я нажимаю на Старт для выбора атаки шариками или полёта на метле, а потом возвращаюсь на нормальную атаку, то персонаж меняет цвет на такой, какой у него был до программирования цветов.
В (J) версии палитра после нажатия Start в PRG $FC8C-FC8F (в файле + 16 байт от заголовка): 35 16 0F 0F. Легко найти, в Mesen поставить breakpoint на запись в PPU $3F12 или Palette RAM $12 и посмотреть в коде откуда читается, это основы ромхакинга. Если так сложно, то в данной игре часть палитр лежит в обратном порядке, поэтому открыть Palette Viewer, посмотреть значения цветов для нужной палитры - 0F 0F 16 35, записать в обратном порядке - 35 16 0F 0F, поиск 35 16 0F 0F по PRG ROM даёт только одно совпадение, о котором написал выше.

Оффлайн Alex KO

  • Пользователь
  • Сообщений: 18
  • Пол: Мужской
    • Просмотр профиля
[ALL] Вопросы новичков
« Ответ #290 : 07 Ноябрь 2024, 20:42:01 »
В (J) версии палитра после нажатия Start в PRG $FC8C-FC8F (в файле + 16 байт от заголовка): 35 16 0F 0F. Легко найти, в Mesen поставить breakpoint на запись в PPU $3F12 или Palette RAM $12 и посмотреть в коде откуда читается, это основы ромхакинга. Если так сложно, то в данной игре часть палитр лежит в обратном порядке, поэтому открыть Palette Viewer, посмотреть значения цветов для нужной палитры - 0F 0F 16 35, записать в обратном порядке - 35 16 0F 0F, поиск 35 16 0F 0F по PRG ROM даёт только одно совпадение, о котором написал выше.
Спасибо Вам большое. Разобрался с этим. Теперь можно продолжать работать над сиквелом игры "Riddler:Escape from Arkham". А может и там подправлю графику персонажа и боссов, а то такое ощущение, что их пожевало. Кстати, то, что Вы написали, работает и с американской версией. Надеюсь, что я в этом преуспею, как с хаками "Iron Fist:The Living Weapon"(хак Fist of the North Star) и "Punisher:War Zone"(хак Crossfire).

Оффлайн Dark Knight

  • Пользователь
  • Сообщений: 21
  • Тёмный рыцарь
    • Просмотр профиля
[ALL] Вопросы новичков
« Ответ #291 : 19 Ноябрь 2024, 19:24:22 »
Приветствую всех. Как я понял, поинтеры отвечают за длину строки в тексте игр(например, NES). Размер буквы также может зависить от поинтера или это уже что-то другое может быть?

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 4999
    • Просмотр профиля
[ALL] Вопросы новичков
« Ответ #292 : 19 Ноябрь 2024, 20:42:44 »
поинтеры отвечают за длину строки в тексте игр(например, NES).
Нет. Ромхакеры под "поинтерами" (они же указатели) имеют в виду адрес, хранящийся в роме или образе. Этот адрес может указывать на любые данные или код для перехода. Программа (игра) может по-разному интерпретировать байты, которые превращаются в реальный адрес. Классическое хранение два байта адреса подряд, сначала младший или наоборот. Оптимизированное хранение, когда сначала массив младших (или наборот) и потом старших байтов адреса. Рядом может быть номер PRG/CHR банка. Могут храниться смещение или индекс, которые превращаются в адрес, тогда уже не "указатель". Адреса могут быть как в адресном пространстве процессора (CPU) так и PPU (где графика, nametable, палитры). В адресе может быть дополнительная информация, например, у PPU адреса два старших бита не используются.
Поэтому, открываете Mesen и разбираете код, чтобы узнать необходимое.
UPD: Если говорить о частных случаях, когда адреса указывают подряд на текст или другие данные, то разность следующего адреса с текущем - размер данных (строки, текста).
UPD2: Также адрес может быть задан кодом (LDA #$xx). В любом случае, чаще всего подойдёт поиск байтов стоящих друг от друга на расстоянии от 0 до 256 байт, программы есть.
« Последнее редактирование: 19 Ноябрь 2024, 22:52:35 от Sharpnull »

Оффлайн perfect_genius

  • Пользователь
  • Сообщений: 1144
    • ВКонтакте
    • Steam
    • Просмотр профиля
Re: [ALL] Вопросы новичков
« Ответ #293 : 20 Ноябрь 2024, 12:15:04 »
поинтеры отвечают за длину строки в тексте игр(например, NES)
Указатели - это часть любого кода, любой системы, и они указывают на что угодно - на код, данные, другие указатели.
В случае текста простой случай:
Данные в роме: "Привет мир!Отличный день.Хо..."
Список указателей (в скобках позиция-буква, на которую указывает):
0 (П)
11 (О)
25 (Х)
Код забирает данные подряд, на начало которых указал указатель, пока не дойдёт до позиции другого указателя. Понятно, что если не найти этот список указателей в роме, то будешь ограничен длиной этих фраз.

Размер буквы также может зависить от поинтера или это уже что-то другое может быть?
Каждый код (программа или игра) уникален и там может быть что угодно.
Графика больших и маленьких букв часто идут в отдельных рядах, тогда да - первый указатель может быть из ряда больших букв, а остальные будут из ряда маленьких.

программы есть.
Такие программы автоматически находят указатели на тексты? И на какие платформы встречал?

Оффлайн Dark Knight

  • Пользователь
  • Сообщений: 21
  • Тёмный рыцарь
    • Просмотр профиля
Re: [ALL] Вопросы новичков
« Ответ #294 : 20 Ноябрь 2024, 16:20:57 »
Каждый код (программа или игра) уникален и там может быть что угодно.
Графика больших и маленьких букв часто идут в отдельных рядах, тогда да - первый указатель может быть из ряда больших букв, а остальные будут из ряда маленьких.
Я столкнулся в Obitus (SNES) с тем, что буквы разного размера. Немного туплю куда копать, чтоб решить проблему со вставкой русских букв :lol:

Оффлайн perfect_genius

  • Пользователь
  • Сообщений: 1144
    • ВКонтакте
    • Steam
    • Просмотр профиля
[ALL] Вопросы новичков
« Ответ #295 : 20 Ноябрь 2024, 16:42:56 »
буквы разного размера
Покажи скриншот тогда.

Оффлайн Dark Knight

  • Пользователь
  • Сообщений: 21
  • Тёмный рыцарь
    • Просмотр профиля
[ALL] Вопросы новичков
« Ответ #296 : 20 Ноябрь 2024, 16:57:36 »

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 4999
    • Просмотр профиля
[ALL] Вопросы новичков
« Ответ #297 : 20 Ноябрь 2024, 17:05:00 »
Я столкнулся в Obitus (SNES) с тем, что буквы разного размера. Немного туплю куда копать, чтоб решить проблему со вставкой русских букв
Так и нужно спрашивать, а не ходить вокруг да около ещё и спрашивая про другую платформу. В Obitus ширины символов для шрифтов: D4D6B-D4DC6 (который 16x9), D4DC8-D4E23 (который 16x8), D4E25-D4E80 (ещё какой-то 16x8).
Такие программы автоматически находят указатели на тексты?
Не знаю, я про "позиция в файле -> адрес".
« Последнее редактирование: 20 Ноябрь 2024, 17:17:18 от Sharpnull »

Оффлайн Dark Knight

  • Пользователь
  • Сообщений: 21
  • Тёмный рыцарь
    • Просмотр профиля
[ALL] Вопросы новичков
« Ответ #298 : 20 Ноябрь 2024, 17:20:06 »
Sharpnull, извини за вопрос. А как ты выяснил смещение?

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 4999
    • Просмотр профиля
[ALL] Вопросы новичков
« Ответ #299 : 20 Ноябрь 2024, 17:47:36 »
как ты выяснил смещение?
В Mesen посмотрел недавно прочитанные байты. Можно было бы поискать последовательность ширин, т. к. визуально ширина известна, а символы кодировки идут последовательно.
Один из следующих ваших вопросов будет: как написать "Лицензировано Nintendo", ведь латиница будет заменена. Ответ: нужно расширять кодировку, а значит добавлять новые символы и изменять код.