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

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

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

Оффлайн Nikooone

  • Пользователь
  • Сообщений: 988
  • Пол: Мужской
    • Просмотр профиля
Внятное описание есть в учебнике радиоэлектроники. Ну или в каких-нибудь статьях в Интернете. Первая буква радиоэлемента (Резистор, ДЖампер и т.д.) и его порядковый номер.

Ну да)) прям и не поспоришь  :biggrin:

Оффлайн mutabor

  • Пользователь
  • Сообщений: 402
    • Просмотр профиля
прошил, припаял, включаю  :jumpy: есть меню  :shifty: выбираю любую игру  :facepalm: а происходит условно сброс  :wall:
А оригинальный ром то запускался? Дамп запускается как mapper268.3, т.е. вроде как должно работать, т.е. надо фиксить сборщик. Для начала попробуй отключить сейвы.
И что за загадочные R2(J2) J4 J1?
Даташит на smd133 есть в инете, можешь посмотреть куда идут дорожки на плате. Но по идее должно работать, если конечно ничего не перепаивал.

Оффлайн Nikooone

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

Добавлено позже:
Дамп запускается как mapper268.3
Вот это кстати странно)) вставлял заголовок из постов выше - у мне не поехало) ваше исправление не открывал пока хексом, позже гляну)))
« Последнее редактирование: 14 Июль 2025, 01:36:22 от Nikooone »

Оффлайн JRBVZ

  • Пользователь
  • Сообщений: 460
    • Просмотр профиля
На днях решил попробовать нынче модный вайб-кодинг  :biggrin: В результате мучения чатгпт родилась небольшая программа-оболочка для Makefile. Работает как с Coolboy Builder так и Coolgirl Builder.

295688-0

Для работы требуются установленные .NET 6.0 https://dotnet.microsoft.com/ru-ru/download/dotnet/6.0 и MSYS2 https://www.msys2.org/docs/installer/

Оффлайн Nikooone

  • Пользователь
  • Сообщений: 988
  • Пол: Мужской
    • Просмотр профиля
Прям с языка снял, какой день вынашиваю закинуть идею автору о графическом интерфейсе ПО, с возможностью выбора сабмаппера, выбора файлов на выходе, а то не очень то уж и удобно как мне показалось заставить собрать bin, т.к прошиваю обычным программатором. Ну а про конвертер картинок в заголовок у меня вовсе оперативка кончилась  :D


Добавлено позже:
оболочка для Makefile.
Ну неплохо :thumbup:
« Последнее редактирование: 19 Июль 2025, 00:13:16 от Nikooone »

Оффлайн ded_rubyroid

  • Пользователь
  • Сообщений: 7
    • Просмотр профиля
Подскажите по вот такому картриджу - SMD173C_L4. Я так понимаю что это coolboy.
Читается и пишется дампером от Кластера хорошо. На сколько я знаю coolboy поддерживает только mmc3 маппер. Кластер на гитхабе писал - "COOLBOY supports games with NROM (mapper #0) and MMC3 (mapper #4) mappers only".
Но я вижу что на нём китайцы записали такие игры как Jackal, Contra и т.д, котрые требуют других мапперов.
Вопрос, это китайцы пропатчили игры и записали, или сам картридж поддреживает больше мапперов?
Дамп и фото приложил.
Дампил вот так - famicom-dumper dump --mapper mappers/AA6023Sub3.cs --prg-size 32M --file coolboy.nes --prg-nvram-size 8K --chr-ram-size 256K

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5573
    • Просмотр профиля
это китайцы пропатчили игры и записали
Contra и Jackal в этом дампе на MMC3. Скорее всего все на MMC3.

Оффлайн ded_rubyroid

  • Пользователь
  • Сообщений: 7
    • Просмотр профиля
Contra и Jackal в этом дампе на MMC3. Скорее всего все на MMC3.
Благодарю!  :thumbup:

Оффлайн MS_Logging

  • Пользователь
  • Сообщений: 16
    • Просмотр профиля
На днях решил попробовать нынче модный вайб-кодинг  :biggrin: В результате мучения чатгпт родилась небольшая программа-оболочка для Makefile. Работает как с Coolboy Builder так и Coolgirl Builder.

(Ссылка на вложение)

Для работы требуются установленные .NET 6.0 https://dotnet.microsoft.com/ru-ru/download/dotnet/6.0 и MSYS2 https://www.msys2.org/docs/installer/

⚠️ Ошибки:
/usr/bin/bash: line 1: make: command not found

❌ Код выхода: 127

вот такой результат. )

Оффлайн JRBVZ

  • Пользователь
  • Сообщений: 460
    • Просмотр профиля
Программа не может найти make.exe, посмотри есть ли такой файл в msys64\usr\bin. Если нет, то косяк с установкой msys2

Оффлайн MS_Logging

  • Пользователь
  • Сообщений: 16
    • Просмотр профиля
добавил с помощью "pacman -S make"  ошибки нет больше  :thumbup: