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

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

Оффлайн 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 »

Оффлайн TolstyLuty

  • Пользователь
  • Сообщений: 111
  • Пол: Мужской
    • Просмотр профиля
На днях решил попробовать нынче модный вайб-кодинг  :biggrin: В результате мучения чатгпт родилась небольшая программа-оболочка для Makefile. Работает как с Coolboy Builder так и Coolgirl Builder.
У меня выдаёт ошибку
Invalid assigment format: ENABLE_SOUNDиз-за пробелов
имеется
-D ENABLE_SOUND = 1должно быть
-D ENABLE_SOUND=1 Добавил команды в батник и собрал

И допишите всё же это
добавил с помощью "pacman -S make"  ошибки нет больше
аналогично отсутствовало по дефолту make.exe
« Последнее редактирование: 28 Апрель 2026, 01:08:24 от TolstyLuty »

Оффлайн JRBVZ

  • Пользователь
  • Сообщений: 596
    • Просмотр профиля
У меня выдаёт ошибку
Invalid assigment format: ENABLE_SOUNDиз-за пробелов
имеется
-D ENABLE_SOUND = 1должно быть
-D ENABLE_SOUND=1 Добавил команды в батник и собрал
Актуальная версия сборщика на гитхабе: https://github.com/JRBVZz/COOLBOY-Make-GUI

Но даже на старой версии у меня такой проблемы нет, файл многоигровки успешно собирается:
313040-0

Возможно, что проблема в Makefile.

Оффлайн TolstyLuty

  • Пользователь
  • Сообщений: 111
  • Пол: Мужской
    • Просмотр профиля
Но даже на старой версии у меня такой проблемы нет, файл многоигровки успешно собирается:
В той версии что прикреплена к форуму было так
313079-0313081-1313083-2
Попробую теперь с гитхаба обновлённую
PS
И ещё, я собираю MINDKIDS_AA6023_submapper_3 (утилита крайняя coolboy-multirom-builder-win-x64), а не Coolgirl как у вас на скрине.

UP
Актуальная версия сборщика на гитхабе: https://github.com/JRBVZz/COOLBOY-Make-GUI
Попробовал, всё та же ошибка

UP
Возможно, что проблема в Makefile.
да, в нём дело, а точнее в пробелах, указанных выше
ENABLE_SOUND ?= -1
ifneq ($(ENABLE_SOUND),-1)
NESASM_OPTS += -D ENABLE_SOUND = $(ENABLE_SOUND)
endif
исправил на
ENABLE_SOUND ?= -1
ifneq ($(ENABLE_SOUND),-1)
NESASM_OPTS += -D ENABLE_SOUND=$(ENABLE_SOUND)
endif
утилита заработала

UP
В сборщике coolgirl-multirom-builder-win-x64 а в Makefile аналогично присутствуют эти пробелы.
Без исправления - аналогичная ошибка.
« Последнее редактирование: 29 Апрель 2026, 08:14:19 от TolstyLuty »

Оффлайн TolstyLuty

  • Пользователь
  • Сообщений: 111
  • Пол: Мужской
    • Просмотр профиля
Но даже на старой версии у меня такой проблемы нет, файл многоигровки успешно собирается:
Разобрался в проблеме

Скачанные сборщики отсюда (именно в Releases)
https://github.com/ClusterM/coolgirl-multirom-builder/releases
https://github.com/ClusterM/coolboy-multirom-builder/releases
не работают по стоку с вашей утилитой - есть пробелы в Makefile.

Но фиксы были сделаны
https://github.com/ClusterM/coolgirl-multirom-builder/commit/1105093ebc9f47b68d9e43e86ea85b3cb0e41f7c
https://github.com/ClusterM/coolboy-multirom-builder/commit/8a317cea3c486ac27b8b9b27f343bbd66a8d810a
Качать надо именно с главных страниц (уже с фиксами)
https://github.com/ClusterM/coolgirl-multirom-builder
https://github.com/ClusterM/coolboy-multirom-builder

или отсюда
https://clusterm.github.io/coolgirl-multirom-builder/
https://clusterm.github.io/coolboy-multirom-builder/
тут нет пробелов в Makefile.
« Последнее редактирование: 29 Апрель 2026, 11:19:01 от TolstyLuty »

Оффлайн JRBVZ

  • Пользователь
  • Сообщений: 596
    • Просмотр профиля
Собственно проблема была озвучена ещё в августе прошлого года, просто в другой теме: https://www.emu-land.net/forum/index.php/topic,80406.msg1650621.html#msg1650621

И решение её тоже там - я выкладывал свой сборщик. Программа лишь передает команды и запускает Makefile, и если он написан с ошибками, то сборка не получится.

Онлайн godun

  • Пользователь
  • Сообщений: 4057
    • Просмотр профиля

Хочу попробовать на данную плату записать бетмен ретурн джокер, видел у китайцев его на точно такой же плате. каким сборщиком собирать? Кулгел? И какую вариацию рома ,хак под врс4 или оригинал  фме7 ?

Оффлайн mutabor

  • Пользователь
  • Сообщений: 432
    • Просмотр профиля
каким сборщиком собирать? Кулгел?
Ты же уже спрашивал на счет этого карика, с тех пор вроде как ничего не поменялось (сборщика нет, если надо - напиши сам или подмени игру в оригинальном дампе).

Онлайн godun

  • Пользователь
  • Сообщений: 4057
    • Просмотр профиля
Сорян, забылся) так а если подменять ром игры в дампе, нужно чтоб маппер игры совпадал с той игрой, которая в дампе карика? Там изначально унром, как бы не логично туда подкидывать ммс3 или другую. Вся информация для работы мапперу же в заголовке

Оффлайн mutabor

  • Пользователь
  • Сообщений: 432
    • Просмотр профиля
так а если подменять ром игры в дампе, нужно чтоб маппер игры совпадал с той игрой, которая в дампе карика?
Естественно. Или изменить маппер в коде менюхи (для этого надо еще найти где он там хранится). И неплохо бы проверить, что подменяемая игра действительно на том маппере, который нужен (например китайцы могут залить MMC3 порт не-MMC3 игры).