Разработка и ромхакинг > Ромхакинг и программирование
SMD roms Builder (программа-конвертор ROM to EXE)
(1/1)
Tyzuff:
Привет. Захотелось написать программу для конвертирования файлов ROM в *.exe. При конвертировании (ниже употребляется термин "компиляция" - это равноценные понятия), ром объединяется с эмулятором, таким образом, мы получаем самостоятельное приложение, работоспособное на любом компьютере, в том числе и без установленного эмулятора.
Как пользоваться? Просто выберите файл образа рома с расширением *.rom или *.bin и нажмите кнопку "конвертировать". Скомпилированный файл будет иметь имя, как у выбранного рома.
Программа отлажена, протестирована и на сто процентов безопасна.

Что планируется добавить:
* Возможность изменять иконку скомпилированного рома;
* Возможность позволить юзеру самостоятельно указать папки для сейвов и скриншотов;
* Возможность при компиляции выбрать свой эмулятор (в билдер на данный момент встроен эмулятор GENS).


Программа была обновлена. Новая версия: 1.18. Спешите скачать!

Обновленная ссылка для скачивания: http://www.fayloobmennik.net/5529704

Автор рассудил, что небезопасно извлекать стаб и эмулятор во временную директорию: это может обернуться испорченным настроением, т.к. некоторые программы удаляют содержимое этой папки после перезагрузки. Теперь стаб распаковывается в APPDATA, в папку, с именем стаба без расширения, например для файла 'COMIX_ZONE.exe' папка будет называться COMIX_ZONE. Стаб не перезаписывает уже существующие файлы, в т.ч. файл настроек эмулятора, однако, чтобы избежать неприятностей, следите, за тем, чтобы имена скомпилированных ромов были уникальными, иначе возможно противоречивое поведение. Этот дефект в скором времени будет исправлен.

Эйл:

--- Цитата: Tyzuff от 12 Ноябрь 2015, 23:44:06 ---Привет.Программа отлажена, протестирована и на сто процентов безопасна.

--- Конец цитаты ---

Virustotal так не думает.  :ohmy:
Razor:

--- Цитата: Tyzuff от 12 Ноябрь 2015, 23:44:06 ---Программа отлажена, протестирована и на сто процентов безопасна.

--- Конец цитаты ---
Avast так не думает. :ohmy:
Roket:

--- Цитата: Tyzuff от 12 Ноябрь 2015, 23:44:06 --- Программа отлажена, протестирована и на сто процентов безопасна.
--- Конец цитаты ---
Eset ругается матом. :?
s1nka:
Подозреваю, что человек не специально.

Tyzuff, в архиве лежит Project1.exe. Есть подозрение, что на Delphi написана прога, но все же не поленись и передай Project1.dpr во что-то более читаемое.
Tyzuff:
Я сейчас все объясню.

Как работает билдер? Он извлекает из себя другую небольшую программу - стаб, и помещает в ее ресурсы выбранный Вами ром-файл.
Стаб содержит в себе эмулятор GENS, ужатый упаковщиком UPX, для того, чтобы максимально уменьшить "вес" стаба. UPX был выбран намеренно, как самый "нейтральный" упаковщик. Мне непонятно, почему так реагируют Ваши антивирусы   :? :-\ Но, будучи честным человеком, я принял решение опубликовать исходники: (см. ссылку), чтобы Вы могли убедиться в отсутствии в них вредоносного кода. Только сильно не пинайте, это всего лишь эскиз. Потом перепишу на WinApi  :)

http://Ссылка удалена модератором: copyright violation


p.s.
Прошу не полагаться лишь на антивирус. Они с течением времени становятся все хуже и глупее. Если хотите обезопасить себя - скачайте и установите виртуальную машину или песочницу.
s1nka:
Tyzuff, Красавчик. Всё правильно сделал.

з.ы. если хочешь развивать идею, то лучше переселится на какой-нибудь контроль версий, например github.com.
Dyons:

--- Цитата: Tyzuff от 13 Ноябрь 2015, 17:15:27 ---Как работает билдер? Он извлекает из себя другую небольшую программу - стаб

--- Конец цитаты ---
вот поэтому антивирусы и матюгаются
Tyzuff:

--- Цитата: Dyons от 13 Ноябрь 2015, 18:28:35 ---вот поэтому антивирусы и матюгаются

--- Конец цитаты ---

К слову, любой установщик (установочный дистрибутив) это делает.  :) Это вовсе не криминал. 
Кстати. На вирустотале все более менее хорошо себя зарекомендовавшие антивири промолчали, false-positive было только у авирки и прочей дряни.
DW Lyubitel:
Если будут в будущем такие обработанные ромсеты, то респект.
Казалось бы, мелочь, а сколько экономит усилий ретрогеймерам, для которых главное - удовольствие  :lol:
Это если места на винте на обработанные ромсеты хватает. Зато реально видеорай получается.
worm:

--- Цитата: Tyzuff от 12 Ноябрь 2015, 23:44:06 ---получаем самостоятельное приложение, работоспособное на любом компьютере

--- Конец цитаты ---
Не на любом компьютере стоит виндуза)

Я уж думал, тут предлагают полный перенос 68k to x86 а-ля nes to smd, а оказалось всего лишь отдельный эмулятор для каждого рома... :neznayu: ну... если доставляет - делай, хотя зачем, я не понимаю.
Камнями попрошу не кидаться - я всего лишь поделился личным мнением.
cptPauer:

--- Цитата ---Прошу не полагаться лишь на антивирус. Они с течением времени становятся все хуже и глупее.
--- Конец цитаты ---
Первое что приходит на ум - такие сборки можно давать людям боящихся слова эмулятор. Но именно у таких людей, как правило, и стоит Каспер или Аваст. Они не смогут их запустить или будут боятся.

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

Т.е. целесообразность проги теряется, имхо, пока у большинства неопытных юзверей он детектится как вирь.


--- Цитата ---сколько экономит усилий ретрогеймерам, для которых главное - удовольствие  :lol:
.. Зато реально видеорай получается.
--- Конец цитаты ---
На GENS это больше про садомазо  :lol: Пожалейте свои уши


--- Цитата ---хотя зачем, я не понимаю.
--- Конец цитаты ---
Кстати, можно делать так:
Создать ярлык Fusion на рабочий стол. Потом зайти в свойства ярлыка и дописать, к примеру "D:\Emul\Fusion.exe" d:\ROMS\battletoads.bin, потом ярлык переименовать как душе угодно и сменить иконку, если нужно.
Вот и всё, прям аки отдельная игра и без всяких костылей. Запуск в 1 клик.

Можно так и для MAME и др. эмулей, там даже побольше всяких параметров, вроде настройки разрешения и пр.
Tyzuff:

--- Цитата: cptPauer от 14 Ноябрь 2015, 03:27:20 ---Первое что приходит на ум - такие сборки можно давать людям боящихся слова эмулятор. Но именно у таких людей, как правило, и стоит Каспер или Аваст. Они не смогут их запустить или будут боятся.

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

Т.е. целесообразность проги теряется, имхо, пока у большинства неопытных юзверей он детектится как вирь.
На GENS это больше про садомазо  :lol: Пожалейте свои уши
Кстати, можно делать так:
Создать ярлык Fusion на рабочий стол. Потом зайти в свойства ярлыка и дописать, к примеру "D:\Emul\Fusion.exe" d:\ROMS\battletoads.bin, потом ярлык переименовать как душе угодно и сменить иконку, если нужно.
Вот и всё, прям аки отдельная игра и без всяких костылей. Запуск в 1 клик.

Можно так и для MAME и др. эмулей, там даже побольше всяких параметров, вроде настройки разрешения и пр.

--- Конец цитаты ---

Под линукс можно скачать Wine, многие так и делают.  Каспер не считает мои приложения вирусом. Что касается всего остального, не нравится - не пользуйтесь. :)
Камнями попрошу не кидаться.
worm:
Ну вот, обиделся... я же сказал, что это только мое мнение. :)

--- Цитата: Tyzuff от 14 Ноябрь 2015, 12:39:35 ---Под линукс можно скачать Wine, многие так и делают.

--- Конец цитаты ---
Использовать wine вместо того, чтобы пользоваться нативным эмулятором?
А Вы любитель таких странных подходов :lol: Я думаю, Вам бы подошла Java в качестве платформы, там как раз используются похожие методы. Вижу, первый камень с гравировкой "Java or die" уже летит) но я не собираюсь никого провоцировать, опять же. Ваше мнение может в корне отличаться от моего, каждому свое.
Tyzuff:
По многочисленным жалобам пользователей, по причине небольшого количества скачиваний, развитие проекта приостановлено.
В качестве альтернативы, можете воспользоваться пакетом инсталлятора Inno setup. Попробуйте.

1. Скачиваем Inno Setup. Он очень прост в изучении, не надо лениться. СКАЧАЙТЕ! http://www.jrsoftware.org/download.php/ispack.exe
2. В редакторе скриптов выбираем наш ром и эмулятор, указываем командную строку, чтобы при запуске эмулятор подгружал ром.
3. Компилируем установочный пакет.

~Вуаля!~

Теперь этот пакет можно распространять, как обычную игру для компа.
MASTERMAX:
Tyzuff, ты не обижайся, но практическое применение подобного рода программ для эмуляции равно 0, если честно я сколько не пытался так и не смог придумать где это было бы полезно. Но что бы не быть голословным я объясню почему:

--- Цитата: DW Lyubitel от 13 Ноябрь 2015, 19:53:09 ---Казалось бы, мелочь, а сколько экономит усилий ретрогеймерам, для которых главное - удовольствие  :lol:

--- Конец цитаты ---
Как, правильно. подметил товарищ DW Lyubitel, экономия усилий для ретрогеймера. Я вот лично для себя вижу экономию в том что бы ОДИН раз настроить эмулятор и играть, редко когда приходиться использовать разные настройки, а для большинства игр вообще никогда. И вот тут "прокол" таких программ заключается в том, что для каждого рома, пришлось бы каждый раз настраивать эмулятор под себя - управление/фильтры и т.д. А если переустановить систему так и вообще все теряется и надо ставить все это дело по новой и опять настраивать... Ну если конечно пользователь не знает что есть какая-то APPDATA которую можно скопировать и после переустановки закинуть обратно, но мне бы было лень это делать, зная что я могу просто открыть генс который у меня где-то на диске уже настроенный и в нем открыть ром.
Дальше, так как стаб распаковывается в APPDATA (да и вообще не важно куда) он занимает место, это помимо того что у нас есть сам exe файл, который занимает порядком ~2.4 мб, то мы еще получаем где-то в системе на диске распакованный стаб, который занимает ~2.2 мб (меньше чем сам ехе файл, хы). В итоге мы храним по сути одни и те же файлы(только с видом в профиль) у себя на винте. Конечно никто не играет в 100500 игр сразу, и от силы может набраться игр до 20, но уже 20 таких вот ехе + распакованный стаб для них будут занимать в 2-ое больше чем изначально занимал бы 1 эмуль и 20 ромов. Т.е. меня все еще беспокоит вопрос экономии места, хотя казалось бы объемы у нынешних винтов не маленькие.
В итоге получается больше всего пользы от этой штуки только у тебя Tyzuff. И заключается она в практике по программированию,  изучить там синтаксис или возможности языка или еще что, это несомненно похвально, но в остальном же подобного рода программы для эмуляции не практичны, и заменить их работу(если кому-то страшно нажимать в генсе File->Open ROM) можно например способом который описал cptPauer или каким-то простецким bat файлом.

--- Цитата: Tyzuff от 15 Ноябрь 2015, 12:33:09 ---Скачиваем Inno Setup. Он очень прост в изучении, не надо лениться. СКАЧАЙТЕ!

--- Конец цитаты ---
Зачем пользователю который уже например скачал эмулятор и ром и сидит себе играет, качать этот Inno Setup и что-то там "химичить"?

--- Цитата: Tyzuff от 15 Ноябрь 2015, 12:33:09 ---По многочисленным жалобам пользователей, по причине небольшого количества скачиваний, развитие проекта приостановлено.

--- Конец цитаты ---
Ты только не сочти за жалобу или троллинг, я просто описал почему не практично всем этим заниматься с моей точки зрения, как пользователя. И к тебе у меня претензий/придирок нет.
Могу посоветовать просто забить на этот проект совсем, если хочется покодить то лучше сделай какой-то редактор уровней для любимой игры или плагинчик какой-то напиши для эмулятора или утилиту сделай (вот в пример Chief-net IPS простая и в то же время полезная утилита).
В общем надеюсь мне удалось донести свою мыслю :)
krocki:
Если ругаются ваши антивиры, нужно просто разжать файл EXE от UPX'а, у меня та же шняга была, когда сжимал модули - моя авирка ругалась. Просто при сжатии файла где то образуется код аналогичный подобному трояну, вот и всё...по сути ничего страшного и собенного. <_<
Yoti:
krocki,
ага. Сначала скачать, потом сделать, потом разжать... А может проще сразу запустить эмулятор?
krocki:
Yoti, Я просто указал причину недуга, а остальное уже зависит от автора сборки этого детищя. Как по мне смысл этого всего нет для ПК, за исключением разве что если для телефонов с Android системой с делать. <_<
Tyzuff:
Спокойно, спокойно. Хватит флудить. Я никому ничего не навязываю.

Навигация
Главная страница сообщений

Перейти к полной версии