MD ROM Maker
2015-7-26 14:31 Sega
Для прошивки игр в картриджи Sega MegaDrive не нужно делать ничего особенного. Скачиваем ром в интернете, загружаем в софт программатора, если нужно, выполняем операцию swapbyte, и прошиваем в ПЗУ. Поэтому программа для нарезки ромов, подобно Nes ROM Maker, не нужна, т.к. нарезать ничего не нужно. Но всё же, в один прекрасный момент, меня попросили написать программу для склеивания ромов друг за другом для создания многоигровых картриджей. Ничего сложного нет - написал, но добавил некоторые функции, которые могут кому-то пригодиться. Об этой чудесной программе, которую я, скромно, назвал MD ROM Maker, расскажу в этой статье.
1. Главное окно программы. В нем можно поискать нужный файлы для работы, просмотреть информацию из заголовков файлов, выбрать нужное действие. Когда хакеры модифицируют ромы, не всегда вспоминают о том, что нужно исправлять затем контрольную сумму, прописанную в заголовке рома. Чтобы исправить этот незначительный косяк, в программе есть кнопка [Checksum]. Она становится активной, если контрольная сумма файла отличается от той, которая прописана в заголовке. Есть возможность конвертировать ромы в формате *.BIN в формат *.SMD и обратно, для этого есть кнопка [BIN2SMD] / [SMD2BIN]. При желании можно удалить выделенный файл кнопкой [Delete].
2. Окно создания многоигровых ромов [Multi]. В окне создания многоигромых ромов есть список игр, и их последовательность будет соответствовать их физическому расположению в конечном многоигровом роме. Можно добавлять новые ромы кнопкой [+], удалять не нужные - [-], перемещать ром в списке вверх [Up] и вниз [Dn]. В окне есть анимированная карта конечного многоигрового рома. Красными квадратиками обозначаются блоки кратные размеру оригинального рома. Синим цветом - пустота, заполненная байтом 255 (FF). При выборе рома в списке, он подсвечивается на карте рома. Карта сделана для небольшой визуализации работы программы. Ничего больше на данном этапе не происходит, т.е. никакие меню или модификации в ром не добавляются, только оригинальные ромы. Поскольку в картриджах для Sega MegaDrive обычно используется 16-битное ПЗУ, софт многих программаторов для правильной прошивки 16-битных ПЗУ требует выполнения операции SwapByte (соседние байты меняются местами). Чтобы не выполнять лишних действий в ПО программатора, имеется галочка SwapByte, которая выполнит эту операцию на стадии создания конечного многоигрового рома. Галочка Fix CRC, автоматический исправит контрольные суммы во всех загруженных ромах конечного рома.
3. Окно модификации таблицы частот GEMS [Fix GEMS]. Как-то давно, один хакер с http://elektropage.ru с ником r57shell, написал консольную утилиту, для модификации частот звукового движка GEMS. Я написал GopherGemsFix, которая на основе исходного кода от r57shell в графическом режиме позволяла выбрать ром и модифицировать таблицу частот GEMS. Другими словами я написал GUI консольной утилиты r57shell. Далее как раз из GopherGemsFix и получилась MDROMMaker, поэтому функция [Fix GEMS] перешла в новую версию программы. В окне программы можно выбрать исходный ром и конечный модифицированный ром. В программу уже забиты некоторые готовые настройки множителей. По-умолчанию выбран пресет для Sega Gopher. Эта функция изначально и придумывалась для Sega Gopher, т.к. в этой портативной Sega, кривые звуки, но с помощью этой программы их можно пофиксить, и звук станет просто офигенным!
4. Окно списка игр использующих звуковой движок GEMS [SE List]. Просто список.
Если есть какие-то идеи, предложения по поводу программы, пишите на почту.
Описание форматов ромов.
Скачать программу можно ниже.
Теги: Maker ROM Sega MegaDrive Sound CheckSum контрольная сумма исправление звук многоигровка bin2smd конвертер