Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - Sharpnull

Страницы: [1] 2 3 4 5 ... 177 Далее
1
Ромхакинг / Вопросы новичков
« : Вчера в 16:25:52 »
Хотел перевести Rayman DS, а там шрифт в формате bin
font16.bin какой-то второстепенный шрифт, можно отредактировать в любом тайловом редакторе, 8bpp, тайлы 8x8px, один символ 16x16px. Основные шрифты могут быть сжаты. И как уже сказали, не путайте "формат" и "расширение" файла.

2
Silent Planet - Elegy of a Dying World - клон Castlevania: Symphony of the Night, выход запланирован на весну 2027 года (Steam). К сожалению, не pixel perfect: героиня не совпадает с пикселями фона, босс в конце трейлера бьёт пикселями под углом, есть гладкие линии/кривые (для HUD/интерфейса ещё нормально), пиксели шрифта получения XP меньше (в таком случае по-моему лучше сглаженный шрифт). Впрочем, SOTN тоже не pixel perfect, всё-таки 3D-игра, несмотря на 2D-графику.

3
Octopath Traveler 0 - разработчики удалили Denuvo.

4
в эмуле есть патч под crc 2F5EB1FF подставь crc от своей может поможет
Там в resources\patches.zip\SLUS-20817_2F5EB1FF.pnach есть отключение Blur, который может связан с проблемой (хотя упоминается Bloom). В GameIndex.yaml есть фиксы:
Поэтому сначала нужно запускать оригинальный образ, проверять как работает, а потом пытаться перенести изменения.

5
Mafia: The Old Country - voices38
Lego Batman: Legacy of the Dark Knight - voices38

6
[PC] Tormentum II выйдет 23 июля 2026 (Steam). 1-я часть мне понравилась, арт вдохновлён Zdzisław Beksiński и H.R. Giger.

7
Ромхакинг / Re: Заказ хака за оплату
« : 20 Май 2026, 16:44:56 »
Да перевод фиг с ним, корявенький, но сойдет. А вот решит ли это проблему с зависанием?
Нет. Я исправил зависание на 5-м уровне дигимона, написал в ЛС.

8
Ромхакинг / Заказ хака за оплату
« : 20 Май 2026, 00:24:39 »
Сама игра https://psxplanet.ru/forum/showthread.php?t=391&ysclid=mpcwahi58m545271664
Ссылка на патч в теме https://www.emu-land.net/forum/index.php?topic=6706.0
Там дерусификатор, он из русского образа делает оригинальный. Я использовал https://www.emu-land.net/forum/index.php/topic,23084.msg470912.html#msg470912 и https://sourceforge.net/projects/rdko/ (RDKO.exe), на выходе образ немного отличается от redump, похоже TrickZter выложил кривой образ на psxplanet. Я скопировал из оригинала (redump) промежутки 832C60-83357F, 10F6570-10F6D0F, 22208060-222085DF в образ из архива "Digimon World 3 [SLUS-01436] [Russian] [Kudos].7z" и у меня получилась контрольная сумма отсюда https://rgdb.info/base/rus-02080. Это конечно не исправит проблемы перевода.

9
При упаковке она меньше упакованного оригинала, но при вставке в ром (1C010) последний на заставке выдаёт абракадабру, хотя оригинальную упакованную графику запускает без проблем. Что я делаю не так?
Адрес только на 1С010, потом код продолжает распаковку подряд без указания адресов. Данные идут так: 1C010-1E780 (tiles), 1E781-1E88B (map), 1E88C-1EB2A (map), вам нужно запаковать 1C010 и 1E88C, сразу после пересжатых данных 1C010 скопируйте 1E781-1E88B, а после сразу пересжатые 1E88C.
А каким алгоритмом пожата?
В основе два алгоритма: RLE и сжатие увеличивающихся на 1 байтов (например, 02 03 04 05 сжимаются). Для тайлов RLE применяется через 3 байта, т. е. байты в позициях 0, 4, 8, ... сжимаются, потом 1, 5, 9, ... и т. д. Для tilemap RLE через 1 байт (0, 2, 4, ... потом 1, 3, 5, ...), а после эти сжатые данные сжимаются 2-м алгоритмом. Кстати, такая же реализация сжатия тайлов (RLE через 3 байта) в [SMS] Ys и [SMS] Rampage, в последнем также через 1 байт как tilemap здесь, но без 2-го алгоритма поверх.
UPD: Исправил опечатки.

10
Скрипты на Python 3 для сжатия и разжатия. Позиции сжатых тайлов в роме: титульник с Press start button - 1C010, EXIT SAVE LOAD - 123A8, LIFE MAGIC - 124FC. Разжать:
comp_gaw_tiles.py "Golden Axe Warrior (UE) [!].sms" out.bin -p 0x1C010 -dПозиция сжатого tilemap для титульника с Press start button - 1E88C. Разжать:
comp_gaw_map.py "Golden Axe Warrior (UE) [!].sms" out.bin -p 0x1E88C -dДля сжатия указать только входной и выходной файлы. После разжатия в консоли выводится размер сжатых данных и промежуток (включая последний байт), чтобы понять влезет ли пересжатое.
UPD: Код разжатия тайлов - 32A, код разжатия tilemap - BD3, в регистре HL адрес на сжатые данные.
UPD2: В v2 уменьшил дублирование в коде и объединил в один файл. Теперь для тайлов и tilemap в 1-м аргументе указать tiles или map:
comp_gaw.py tiles "Golden Axe Warrior (UE) [!].sms" out.bin -p 0x1C010 -d
comp_gaw.py map "Golden Axe Warrior (UE) [!].sms" out.bin -p 0x1E88C -d
comp_gaw.py tiles unc.bin compessed.bin
comp_gaw.py map unc.bin compessed.bin

11
Banjo-Kazooie: Grunty's Revenge

12
Только как ты это понял?
Как обычно. Сравнил оригинал и перевод, чтобы найти сжатые данные, по ним нашёл код разжатия (код с 3A1A, два входа для разжатия в VRAM и RAM, но с 3A40 основной код) и точный адрес начала сжатого. По названию игры сжатие не находится в сети, но попался Nemesis (уже знал о его существовании), решил попробовать, а переводчики скорее всего начинают с перебора известных алгоритмов сжатия. Современный способ: долбиться в дупла Discord-коряги, где прячутся (ром)хакеры и разработчики; там давно всё известно и помогут (на куче форумов людям сложно регистрироваться, следить).

13
распаковывать графику
Используется известное сжатие Nemesis (https://segaretro.org/Nemesis_compression). Чтобы найти начало сжатых данных в (USA) роме, можно поставить breakpoint на выполнение 3A40, в регистре A0 будет адрес. Шрифт 8x8 находится с 1F1C16. Для проверки убрал байты до 1F1C16 и разжал с помощью https://github.com/Clownacy/clownnemesis/releases:
clownnemesis.exe -d 1F1C16.bin 1F1C16_unc.binДля сжатия опция -c. Если модифицировать компрессор, можно автоматически найти все сжатые данные (если ещё не написали похожую программу).

14
PRAGMATA взлом от voices38.

15
Вот список Free (initially commercial): https://www.mobygames.com/game/attribute:2951/include_dlc:false/include_nsfw:true/platform:dos/platform:win3x/platform:windows/release_status:all/sort:date/page:1/. Отфильтруйте нужные вручную. Добавил платформы Windows, Windows 16-bit, DOS, т. к. у ПК разные ОС бывают, можно ещё добавить Amiga и другие. Раз решили составить список, делайте с нормальными названиями (а не кое-как), в алфавитном порядке (в Notepad++ сортировка есть), с указанием платформы (Windows, DOS и т. д.) и года выхода для этой платформы.
Из интересного, есть группа Games with officially released source code (https://www.mobygames.com/group/16219/games-with-officially-released-source-code/), но это не означает, что ресурсы игры распространяются бесплатно.

17
можешь это оформить как пул реквест
Нет, нет желания там регистрироваться. Тем более может вы хотите написать код по-другому.

18
Да в программе есть проблема, что она по какой то причине, некоторые образы не хочет конвертировать
Для исправления разжатия в Manhunt и других нужно в ZSOReadStream.cs изменить:
Решение увидел в https://github.com/ps2homebrew/Open-PS2-Loader/blob/39afed2bed96cfa2b90120f07fb32ffa5bf456c1/pc/ziso.py#L62:
Если ошибка разжатия LZ4 блока, уменьшается длина сжатых данных на 1 байт.
UPD: Исправил на код лучше.
Нужно добавить отмену процесса сжатия/разжатия. Если закрыть программу во время процесса, работа продолжится, а в конце будет ошибка.
UPD2: Сборка для теста, на всякий случай.

19
найти тот древний PCC
Не тот древний, но скомпилировал с помощью pcc-20111206-win32.exe (https://web.archive.org/web/20230608172831/http://pcc.ludd.ltu.se/ftp/pub/win32/) в папке src через командную строку Windows:
"C:\Program Files (x86)\pcc\bin\pcc.exe" -lm -O2 -Wall -Werror dotlabel.c exp68000.c fcomment.c flaggopt.c generate.c info386.c main.c match86.c memind.c multireg.c numbers.c opmodes.c parser.c regass.c simple68.c test.c x_is_c.c -o 682386.exeЗаменил strcasecmp на stricmp для компиляции. Запускаю как 682386.exe -6er TEST1.S 1.s, но результат такой же (пустой файл).

20
Для Windows установить MSYS2, через него установить MinGW x64 или MinGW UCRT x64, для обновления https://www.msys2.org/docs/updating/, для удаления кэша после обновления paccache -rk0. Запустить через ярлык в Пуске MSYS2 MinGW нужной версии, ввести команду cd с путём до Makefile (например, cd C:/682386_1_0/src, косые черты) и нажать Enter, выполнить make. Для очистки от .o и .exe файлов выполнить make clean.
Исправил ошибки компиляции, но лучше сделать без -Wno-format-overflow -Wno-stringop-truncation в Makefile. Программа у меня выдаёт пустой файл на тестовом примере, наверно не рабочая.

21
А в исходной программе есть русские символы? просто я встречал игры с русскими буквами на данном движке.

Не думаю что это все изменения. Файл весит почти в 10 раз меньше оригинала
В самой программе BasiEgaXorz вряд ли предполагалась кириллица, но так получилось, что происходит преобразование из Windows-1251 (сопоставляются 256 символов). Судя по шрифту, изначально используется кодовая страница 437.
Чтобы сделать игру с русскими буквами не требуется поддержка кириллицы в программе для создания игр, в BasiEgaXorz и SGDK есть шрифт по умолчанию для удобства, но для чего-то серьёзного пишут свой код для работы с текстом, чтобы и меньше места занимало, и работало как хочется (больше 2 цветов, 8x16 px и т. д.). В BasiEgaXorz можно отключить системный шрифт (NOLOADFONT) и загрузить свой шрифт во время игры (LoadFont), поэтому модификация basiegaxorz.exe не так уж и нужна.
Он сжал basiegaxorz.exe с помощью "PEiD packer WinUpack v0.39 final -> By Dwing (c)2005 (h1)". Какие у него изменения я не стал пытаться проверить, распаковка таких exe делается через возню.

22
Как ты этого добился?
Он вроде только шрифт в basiegaxorz.exe заменил. В v1.37 с 0xD84B2 находится 1bpp шрифт в виде ASM кода:
Эти байты вставляются в код игры с $59A. В редакторе уже можно было вводить кириллицу, она преобразуется в 8-битную кодировку. Поэтому можно отредактировать шрифт в любое время, а не просить его каждый раз.

24
что у Вас за хаки
Ромы из этой темы.
Не знаю будут ли работать 4 подключенных пада.
У вас с оригинальным хаком от mishra работать не будет. Если вы про мой текст:
я не понял, оригинальный хак mishra в режиме "4" у Hori вроде должен работать также как режим "2", если подключать контроллеры в 1 и 2, в Mesen это так.
Я говорил о том, чтобы проделать действия с тем же хаком, что вы делали в режиме "2", но в режиме "4":
Получается с Hori переключаюсь в режим 2 геймпада и использую 2 пада в мультитапе и 2 встраиваемых контроллера в Famicom

25
Ice Climber
Mario Bros
Тоже самое. Вот для них. Хак от Guyver(X.B.M.) не трогает управление. В моих хаках нет поддержки "Simple" адаптера, для этого нужно код усложнить.
Кстати, я не понял, оригинальный хак mishra в режиме "4" у Hori вроде должен работать также как режим "2", если подключать контроллеры в 1 и 2, в Mesen это так.

26
Но Development downloads версии не видят мой геймпад
Есть вариант с AutoHotkey. Я выкладывал где-то на emu-land универсальный скрипт для переключения меню (прикладываю как hide_menu.ahk, нажатие Ctrl+P), но он не работает с mGBA. Нашёл для переключения fullscreen https://www.pcgamingwiki.com/wiki/AutoHotkey#Borderless_fullscreen_windowed, он с ошибкой, прикладываю рабочий fullscreen_toggle.ahk (нажатие Ctrl+Z). Запустите скрипт (можно просто перетащить его на AutoHotkey64.exe в Проводнике), откройте mGBA, запустите игру, перейдите в полный экран, меню скроется, нажмите Ctrl+Z, появится рамка у эмулятора без меню, уменьшите окно как нужно, для возвращения в оконный режим с меню - 2 раза сменить полноэкранный режим. Для отключения скрипта выйти из AutoHotkey в трее. Для изменения горячей клавиши в текстовом редакторе измените ^z:: в AHK-файл, ^x:: для Ctrl+X, x:: для X и другое в руководстве. UPD: Чтобы сразу задать размер и положение окна после применения скрипта, вместо ;WinMove(0, 0, A_ScreenWidth, A_ScreenHeight, WindowID) можно написать WinMove(100, 100, 640, 480, WindowID).

27
Можно ли скрыть строку меню (Файл, Эмуляция, Аудио/Видео...)?
Ctrl+M в последних версиях (Development downloads). UPD: Или через меню "Аудио/Видео". Об этом просили с 2019 года, добавили 6 октября 2025.

28
Пишут, что взлом от voices38 потребляет больше RAM из-за копирования exe, т. е. на 500+ МБ.

29
Посмотрел Balloon Fight v1.2. Поддержка Four Score (NES) и 2-Player Adapter (Famicom), т. е. режим "2" у Hori 4 Players Adaptor и работает как "Simple" адаптер: 1 и 2 контроллеры какие были у Famicom, а 3 и 4 контроллеры из 1 и 2 портов Hori 4 Players Adaptor. Изменил ром для 4-Player Adapter (Famicom), порты 1-4 у Hori. Или можете просто переключить на режим "2" у Hori.

30
Это список внимательно посмотрите https://www.mobygames.com/game/genre:sci-fi-futuristic/genre:shooter/include_dlc:false/include_nsfw:false/platform:zx-spectrum/release_status:all/sort:date/page:1/, когда нельзя будет перейти на следующую страницу, выберите в From год 1987, в Until ничего.

Страницы: [1] 2 3 4 5 ... 177 Далее