Автор Тема: Конструктор многоигровых ROM'ов для картриджей COOLBOY  (Прочитано 59258 раз)

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

Оффлайн Cluster

  • Пользователь
  • Сообщений: 67
    • Twitter
    • ВКонтакте
    • Просмотр профиля
Обновление тут.

Наконец-то я довёл до ума и выложил в паблик свой конструктор многоигровых ROM'ов для картриджей COOLBOY (и клонов):

Исходники: https://github.com/ClusterM/coolboy-multirom-builder
Вот тут можно скачать релизы: https://github.com/ClusterM/coolboy-multirom-builder/releases

Пожалуйста, поправьте там мой корявый английский в документации, если кому не сложно.

Возможности:
  • Умеет собирать ROM'ы-многоигровки вмещающие до 768 игр, которые потом можно записать на дешёвые китайские картриджи COOLBOY
  • Автоматически создаёт меню для выбора игр
  • Может автоматически сортировать игры в меню по алфавиту, если нужно
  • Позволяет использовать свою собственную картинку в меню сверху
  • На новых картриджах, которые перезаписываются без пайки, меню сохраняет последнюю выбранную игру и до 15 отдельных батареечных сохранений
  • Поддерживается много разных версий картриджей
  • Меню имеет встроенные аппаратные тесты
  • Меню может показывать информацию о сборке и железе, если при включении зажать SELECT
  • Позволяет добавлять несколько скрытых ROM'ов для запуска комбинациями кнопок или через Konami Code

Принцип работы:
  • Создаём текстовый файл с именами файлов и/или директориями, содержащими ROM'ы. При желании можно указать там же, как игры будут называться в меню.
  • Запускаем утилиту CoolboyCombiner.exe с опцией "prepare", она автоматически распределит данные игр наилучшим способом и создаст файлы "games.asm" и "offsets.xml" (имена могут отличаться). Первый содержит данные для запуска игр, а второй адреса этих игр в итоговом ROM'е.
  • Компилируем "menu.asm", используя nesasm. Я использую свою собственную модификацию nesasm: https://github.com/ClusterM/nesasm. Он создаст .nes файл с меню для выбора игр.
  • После этого нужно совместить меню и сами игры на основе данных из XML файла сгенерированного выше, для этого запускаем "CoolboyCombiner.exe" уже с опцией "combine".
  • Всё.

Рядовому пользователю не нужно сильно в это всё вникать, т.к. набор сопровождается файлом Makefile для утилиты Make и файлом "!build_rom.bat", они автоматизируют процесс. Просто отредактируйте файл "games.list" и запустите "!build_rom.bat" (для пользователей Windows).

Подробнее можно почитать на английском по ссылке выше.

Если кому не жалко, можете поддержать меня донатом: http://clusterrr.com/donation/
А то я кучу времени на всё это убил.

PS А заливать в CoolBoy можно вот этим дампером.
« Последнее редактирование: 04 Декабрь 2022, 20:55:41 от HardWareMan »

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 7421
    • Просмотр профиля
Прикрепил!

Оффлайн bgr

  • Пользователь
  • Сообщений: 472
    • ВКонтакте
    • Просмотр профиля
Эм, мапперы тоже желательно указать.
Только MMC3 и безмапперный поддерживается?

Оффлайн Cluster

  • Пользователь
  • Сообщений: 67
    • Twitter
    • ВКонтакте
    • Просмотр профиля
Эм, мапперы тоже желательно указать.
Только MMC3 и безмапперный поддерживается?
Да, только NROM и MMC3. Мапперы я указал по ссылке. Просто я сначала документацию пишу на кривом английском, а потом уже на русском. И переводить свой же текст на русский не так просто, как может показаться. Так что пока не перевёл.

Оффлайн supremacy

  • Пользователь
  • Сообщений: 2255
  • Пол: Мужской
    • Просмотр профиля
У nesasm зависимостей не хватает. Возможно лучше статически слинковать.

Оффлайн Cluster

  • Пользователь
  • Сообщений: 67
    • Twitter
    • ВКонтакте
    • Просмотр профиля
Виноват, добавил в релиз зависимости. Заодно кое что поправил.

Оффлайн KykyPyky

  • Пользователь
  • Сообщений: 516
    • Просмотр профиля
Отличный проект. Спасибо! :)

Оффлайн RetHunter

  • Пользователь
  • Сообщений: 242
  • Пол: Мужской
    • Просмотр профиля
Алексей, твоё меню с самого начала поддерживало музыку. Почему в сборщик не добавил эту функцию?

Оффлайн Cluster

  • Пользователь
  • Сообщений: 67
    • Twitter
    • ВКонтакте
    • Просмотр профиля
Алексей, твоё меню с самого начала поддерживало музыку. Почему в сборщик не добавил эту функцию?
Оно не поддерживает музыку, были только попытки её туда вставить, весьма неудачные.

Оффлайн postal2201

  • Пользователь
  • Сообщений: 345
    • Просмотр профиля
Off topic
По поводу меню, классно было-бы прикрутить меню от Кластера к меню Unchained Nostalgia(меню с чайками) от VEG.
Пока немного копаю эту тему, но программист 6502 из меня хреновый!  ;) :biggrin:

Оффлайн Cluster

  • Пользователь
  • Сообщений: 67
    • Twitter
    • ВКонтакте
    • Просмотр профиля
Off topic
По поводу меню, классно было-бы прикрутить меню от Кластера к меню Unchained Nostalgia(меню с чайками) от VEG.
Пока немного копаю эту тему, но программист 6502 из меня хреновый!  ;) :biggrin:
Вы не представляете, как часто меня об этом просят :) Сейчас я логику запуска игр постарался максимально отделить от логики самого меню, так что можно попробовать. Тем более с моим NESASM теперь отлаживать проще. Но всё это требует уйму времени...

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24637
    • Просмотр профиля
Мне, кстати, меню вот у этой штуки понравилось. Для всяких дофигаигровок превьюшки очень удобно

Оффлайн Nikooone

  • Пользователь
  • Сообщений: 951
  • Пол: Мужской
    • Просмотр профиля
Системные я так понимаю от вин 7 и выше? а то как то неловко вышло)

Оффлайн Skay

  • Пользователь
  • Сообщений: 4115
  • Пол: Мужской
    • Просмотр профиля
Nikooone, а что с разрядностью системы/приложения?  ;)

Оффлайн Cluster

  • Пользователь
  • Сообщений: 67
    • Twitter
    • ВКонтакте
    • Просмотр профиля
nesasm компилиповался 64-битным msys, соответственно бинарник на выходе тоже 64-битный. Попробую сегодня собрать 32-битную версию. Не думал, что кто-то до сих пор пользуется 32-битными системами.

Оффлайн Nikooone

  • Пользователь
  • Сообщений: 951
  • Пол: Мужской
    • Просмотр профиля
Ой, Алексей не заморачивайся  :) мне проще щас винт уже с 64 битной осью подключить

Оффлайн KykyPyky

  • Пользователь
  • Сообщений: 516
    • Просмотр профиля
По поводу меню, классно было-бы прикрутить меню от Кластера к меню Unchained Nostalgia(меню с чайками) от VEG.
Может лучше об этом попросить самого VEG. Черканул ему в лс.

Cluster, а у тебя нет желания прикрутить еще сборщик для OneBus?

Оффлайн Yoti

  • Пользователь
  • Сообщений: 4415
  • Пол: Мужской
  • Не тро-гай ме-ня
    • Steam
    • Просмотр профиля
Cluster,
64 бита для консольной утилиты это сильно)

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 7421
    • Просмотр профиля
Вот, кстати, да. Если не планируешь работать с десятками гигабайт данных лучше компилировать под х86, чтобы оно работало и там и тут. И вообще, возможно, на ХР (для луддитов).

Оффлайн SAMael

  • Пользователь
  • Сообщений: 6191
  • Пол: Мужской
  • SAMuel Alpian Warrior Glegleddore Gleglezavr
    • Facebook
    • Twitter
    • ВКонтакте
    • Steam
    • Youtube
    • Просмотр профиля
Ну я до сих пор сижу на Хрюше 32бит :lol:

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24637
    • Просмотр профиля
Не ты один :)

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 7421
    • Просмотр профиля
На одном очень древнем форуме есть перец, который на момент ухода меня оттуда (~2013 год) до сих пор на 98й сидел. Как сейчас - я не знаю, но он, похоже, :lol: луддит тот еще.
PS И тот форум не про даунгрейд, потому как есть и такой, там вообще DOS Live CD есть, и можно под арахной выйти в интернетики версии 1.0.

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24637
    • Просмотр профиля
Дело не в идеологии, а в необходимости. Апгрейда как такового давно уже нет. Он сводится к "выбрось свой старый комп, купи новый". Маркетинг рулит. И люди получают неплохие деньги за то, что разводят на деньги других. Только вот что делать, если текущий комп полностью устраивает по функционалу и выполняет то, что от него требуется? Например работа с программатором по LPT. Или сканер BENQ, очень неплохой, кстати, драйверов выше XP не имеет. И что теперь? Чтобы поставить модную неофитскую ОС мне надо выбросить комп, всю периферию, и купить новый комп и новую периферию. И, что самое смешное, новый сканер будет сканировать точно так же, новый программатор будет программировать точно так же... И в чём прикол? В осознании того, что теперь я продвинут и использую "инновационные" технологии?  o_0 Спасибо. :)
лучше компилировать под х86,
Именно так :)

Оффлайн SAMael

  • Пользователь
  • Сообщений: 6191
  • Пол: Мужской
  • SAMuel Alpian Warrior Glegleddore Gleglezavr
    • Facebook
    • Twitter
    • ВКонтакте
    • Steam
    • Youtube
    • Просмотр профиля
Rumata, так оно и есть, теже яйки только в профиль, железо может жить но его рубают на корню.

Оффлайн Nikooone

  • Пользователь
  • Сообщений: 951
  • Пол: Мужской
    • Просмотр профиля
(для луддитов).
не знаю чо эт за слово, но абидна наверно  <_< :lol: я хрюну не изменю еще лет несколько это точно))

Оффлайн Cluster

  • Пользователь
  • Сообщений: 67
    • Twitter
    • ВКонтакте
    • Просмотр профиля
Не холиварьте :) Установил себе 32х-битный msys, перекомпилировал, перевыложил.

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 7421
    • Просмотр профиля
не знаю чо эт за слово, но абидна наверно  <_< :lol: я хрюну не изменю еще лет несколько это точно))
Вика всегда поможет!
Не холиварьте :) Установил себе 32х-битный msys, перекомпилировал, перевыложил.
И это правильно!

Оффлайн RetHunter

  • Пользователь
  • Сообщений: 242
  • Пол: Мужской
    • Просмотр профиля
Оно не поддерживает музыку, были только попытки её туда вставить, весьма неудачные.
Ну 2 из 3х мелодий не работают, а птички играют нормально.
Для проигрывания музыки надо зажать А+В при включении\сбросе.
Вот пример рома:

Оффлайн Cluster

  • Пользователь
  • Сообщений: 67
    • Twitter
    • ВКонтакте
    • Просмотр профиля
а птички играют нормально.
Не знаю, что там "нормально", у меня уши почти кровоточить начинают :)

Оффлайн Free the Goose

  • Пользователь
  • Сообщений: 12
  • Пол: Мужской
    • Просмотр профиля
nesasm компилиповался 64-битным msys, соответственно бинарник на выходе тоже 64-битный. Попробую сегодня собрать 32-битную версию. Не думал, что кто-то до сих пор пользуется 32-битными системами.
Тут не только 32 битными системами пользуется но и виндой XP . Как я .