Форум Magic Team
Разное => Программирование => Тема начата: TrickZter от 15 Марта 2011, 13:09:21
-
Выкладываю для теста простенькую, но иногда необходимую тулзу ;D
Что она делает? Она меняет размеры файлов, в любую сторону: уменьшения/увеличения. Выглядит она вот так:
(http://img848.imageshack.us/img848/6366/61919004.jpg)
В поле "File name" отображается имя изменяемого файла. При открытии файла в поле "Size in bytes" вносится текущий размер файла. Чтобы изменить размер файла нужно в этом поле ввести новый размер или же ввести величину изменения файла с соответствующим знаком, после чего нажать кнопку "Resize". Перед тем как окончательно изменить размер файла программа выдаст сообщение с текущим и будущим размером файла. Если вы заметите, что допустили ошибку, то можно будет просто нажать кнопку "No" и размер файла не изменится.
У тулзы три основные фишки: 1) она понимает 16-ричные размеры, 2) можно в конце добавлять kb/mb/gb/кб/мб/гб (без разницы в верхнем или нижнем регистре), 3) можно задавать не только итоговый размер, но и изменение размера файла. Примеры:
$10000 - размер файла станет 65536 байт
10mb - размер файла станет 10485760 байт
-33 Кб - размер файла уменьшится на 33792 байт
+$10 гБ - размер файла увеличится на 17179869184 байт (16 ГБ)
Примечание: наличие или отсутствие пробелов (где бы то ни было) не имеет никакого значения. Можно даже так записать: - 3 3 к б
Если есть какие-то предложения по усовершенствованию тулзы, то говорите их здесь :)
Сама тулза во вложении:
EDIT:
Тулза теперь там: http://magicteam.net/utils.htm#MFR
-
Забираю :)
Может пригодится... ...когда-нибудь :)
-
VK, не пали контору LOL
-
VK, не пали контору LOL
Понял, исправил :)
-
Новая версия тулзы теперь поддерживает drag and drop (перетаскивание файлов на окно программы) :) Тулза зарелизена:
http://magicteam.net/utils.htm#MFR
-
Я одного понять не могу. А РОМ'ы после таких изменений работают?
-
Расскажите тёмному - зачем это делать? В смысле размер изменять. Знаю что иной раз разработчики дутые файлы делают, и для уменьшения сия программка поможет. Но вот увеличение... Зачем?
-
Чтобы все уместить в ром. Например переведенный текст. Если пойнтеры 4-байтные - идеальный вариант все кинуть в конец рома на это самое расширенное место
-
А РОМ'ы после таких изменений работают?
Работают. Правда на родном железе (да и в эмуляторах) есть ограничения на размер файла, так что за его пределы лучше не вылезать. Например на Сеге-Меге максимально допустимый размер файла - 4 МБ, хотя на эмуляторах можно и до 8 расширить.Расскажите тёмному - зачем это делать? В смысле размер изменять. Знаю что иной раз разработчики дутые файлы делают, и для уменьшения сия программка поможет. Но вот увеличение... Зачем?
Например, если текст не влезает. Английский и особенно японский текст занимает меньше места, чем русский, поэтому не всегда удаётся запихнуть текст в его изначальные рамки. Аналогичные проблемы бывают со шрифтами и другой графикой.
-
А, ясно, спасибо. :)
-
молодец TrickZter, еще бы как мы говорили, хекс редактор типа goldFinger ))) было бы вообще кул, а то на семерке ты сам знаешь в голде не влезает один байт в строчку)))
-
Здравствуйте.
Столкнулся с проблемой недостатка места в РОМе для вставки текста.
Размер РОМа 00040000, с помощью программы увеличить возможно, однако смущает момент, что максимальное смещение которое встречается в РОМе составляет 24010, пойнтеры 2 байтовые, даже при максимальном значении пойнтера FFFF + 24010 = 3400F получается адрес, который меньше размера РОМа. Правильно ли я понимаю, что увеличение РОМа в данном случае бесполезно и нужно создавать свой словарь для того, чтобы текст уместился в существующие границы ?
-
А под какую платформу игра?
-
NES
-
Расширение ромов NES - очень обширная тема. Сложности связаны, в основном, с мапперами. Вот здесь (http://www.romhacking.net/forum/index.php?topic=19026.0) попытались объяснить основы.
-
Спасибо, почитаю
[Дата добавления: 11 Ноября 2020, 22:51:38]
Почитал, но без примеров это довольно сложный технический документ и как это реализовать не понятно
-
Расширение ромов NES - очень обширная тема. Сложности связаны, в основном, с мапперами. Вот здесь (http://www.romhacking.net/forum/index.php?topic=19026.0) попытались объяснить основы.
Здравствуйте.
В продолжение темы: выяснил что у моего РОМа MMC1 маппер, а PRG-ROM 16x16 Кб (256 Кб).
Если я правильно понял, для увеличения доступного размера в РОМе неообходимо сделать его 512 Кб ?
В статье указывается, что данный маппер имеет какую-то свою особенность переключения банков памяти, не такую как описано в статье. Есть ли где-то информация по данному случаю ?
-
Да, MMC1 можно расширить до 512. Удваиваешь количество банков, и добавленные можно использовать как захочешь. Но чтобы использовать их в игре нужно делать свою ассемблерную вставку, которая переключит нужный тебе добавленный банк, потом использует его данные (распакует/скопирует текст или графику), а затем переключится обратно и вернется к исходному коду игры.
-
Да, MMC1 можно расширить до 512. Удваиваешь количество банков, и добавленные можно использовать как захочешь. Но чтобы использовать их в игре нужно делать свою ассемблерную вставку, которая переключит нужный тебе добавленный банк, потом использует его данные (распакует/скопирует текст или графику), а затем переключится обратно и вернется к исходному коду игры.
А хоть где-то можно посмотреть образец этого чуда или путь только один ... погружаться в азы ассемблера ? :)
-
Ну да, без ассемблера ты не сможешь использовать добавленные банки. Начать чтение можно вот с этого (https://wiki.nesdev.com/w/index.php/MMC1).