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

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 »

Оффлайн beliK

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

Оффлайн beliK

  • Пользователь
  • Сообщений: 161
  • Пол: Мужской
    • Просмотр профиля
Похоже игра при запуске портит 2 байта в PRG RAM
надо ковырять картридж либо игру... :)

Оффлайн dssoft

  • Пользователь
  • Сообщений: 1165
    • Просмотр профиля
Это сохранение, вообще-то. Где же ему еще сохраняться кроме как в prg ram.
Сейчас еще раз погонял, у меня звезд на старте нет. Какая маркировка микросхемы prg ram? И можете выложить ее слитое содержимое?

Оффлайн beliK

  • Пользователь
  • Сообщений: 161
  • Пол: Мужской
    • Просмотр профиля
AS7C3256-20-sram
и её содержимое после запуска игры
и файл PRG RAM из эмулятора

Оффлайн dssoft

  • Пользователь
  • Сообщений: 1165
    • Просмотр профиля
savegame3 это содержимое с висящей игрой?
Забавно, это память на 32к, возникает вопрос куда они посадили лишние адреса.

Оффлайн beliK

  • Пользователь
  • Сообщений: 161
  • Пол: Мужской
    • Просмотр профиля
savegame3 это содержимое с висящей игрой?
Забавно, это память на 32к, возникает вопрос куда они посадили лишние адреса
Даже не знаю, возможно маппер как то их использует...
главное, что другие игры работают и сохраняют (Кирби, Зельда, SMB3 (хаченый))

savegame3 это содержимое с висящей игрой?
верно

Оффлайн dssoft

  • Пользователь
  • Сообщений: 1165
    • Просмотр профиля
Загрузил ваш файлик, поиграл, изменились три байта:
Сравнение файлов 222.bin и SAVEGAME3
00000000: 00 E0
00000001: 20 E0
00000400: FB 07

Оффлайн beliK

  • Пользователь
  • Сообщений: 161
  • Пол: Мужской
    • Просмотр профиля
тут без Кластера не разобраться

Оффлайн dssoft

  • Пользователь
  • Сообщений: 1165
    • Просмотр профиля
Тут телепат нужен, а не кластер. Кстати, картридж-то у вас какой? Где это так китайцы на 32к расщедрились?

Оффлайн beliK

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

Оффлайн dssoft

  • Пользователь
  • Сообщений: 1165
    • Просмотр профиля
Надеюсь, две лишние ноги адреса куда-то посадили, в воздухе не висят?

Оффлайн beliK

  • Пользователь
  • Сообщений: 161
  • Пол: Мужской
    • Просмотр профиля
что к чему я не помню уже, паял его по видосу Кластера года 3 назад, а щас вот захотел поиграться и достал, как раз сборщик крутой появился, но как всегда, у китайцев косяки да костыли...


Добавлено позже:
две лишние ноги адреса куда-то посадили, в воздухе не висят?
завтра прозвоню их

Оффлайн Rafael

  • Пользователь
  • Сообщений: 4
    • Просмотр профиля
Плата картриджа 150 в 1 (дешевая версия). Он прошивается?
« Последнее редактирование: 17 Январь 2020, 22:28:44 от Rafael »

Оффлайн kosmo

  • Пользователь
  • Сообщений: 163
    • Просмотр профиля
Rafael, Прошивается. Но надо поднимать ноги у флешки, как описано в этой теме выше. 13 (WE#) на TDO (дампера), а 34 (ОЕ#) на ТСК (дампера)/


Оффлайн kosmo

  • Пользователь
  • Сообщений: 163
    • Просмотр профиля
Benaff, Это вот этот что ли?
Спору нет, меню красивое. Я себе такой картридж оставил, только подшаманил его немного на жизни и осветлил Кот Феликс. И ещё парочку картриджей с меню от Кластера. Только картриджи не такие дорогие, на капле и успел до подорожания их приобрести.

Оффлайн Benaff

  • Пользователь
  • Сообщений: 53
    • Просмотр профиля
enaff,
И меню и набор игр, и плата.
Качественный Китай  :)

Оффлайн max5775

  • Пользователь
  • Сообщений: 536
    • Просмотр профиля
Думаю напишу тут, чтобы не создавать новую тему. Собрал картридж от кластера.
По быстрому записал пару-тройку ромов для проверки - вроде все нормально работает.
Потом попробовал записать еще с десяток игр с разными мапперами - с некоторыми начались проблемы в виде артефактов или же они просто не запускались, причем от типа маппера не зависит.
Далее уже собрал полноценный ром на 32Мб (такой у меня чип сейчас стоит) на сайте кластера и попробовал записать его.
Так вот затыкается постоянно на одном и том же месте. Что это  может быть, битый чип? На непропай все чипы проверил тестером.
Я так понимаю, если coolgirl-info определяет флешку, то проблем в железе нет?
Сам чип памяти на 32Мб из китая, мне его прислали вместо 64Мб, который я заказывал.
Причем даже спор я проиграл, несмотря на доказательства с моей стороны, но дело сейчас не в этом.
Думаю хитрожопый китаец мог прислать брак, но все же надо в этом убедиться.
Также картридж не всегда может определяться, тогда ошибка как на 3-м скрине.
« Последнее редактирование: 22 Январь 2020, 20:46:31 от max5775 »

Оффлайн dssoft

  • Пользователь
  • Сообщений: 1165
    • Просмотр профиля
Специально для таких случаев у дампера есть команда test-bads-coolgirl

Оффлайн max5775

  • Пользователь
  • Сообщений: 536
    • Просмотр профиля
Специально для таких случаев у дампера есть команда test-bads-coolgirl
Ну видимо да, один 55 сектор битый, все остальное ОК.
А обходить дампер их видимо не умеет, хотя кластер как то писал, что можно такое сделать.
« Последнее редактирование: 22 Январь 2020, 21:06:03 от max5775 »

Оффлайн dssoft

  • Пользователь
  • Сообщений: 1165
    • Просмотр профиля
Ну да, по 4 блока в секторе так и получается.
Могу предложить где взять чип на 128к за тысячу рублей - снять с картриджа "852 в 1", который с альтерой.

Добавлено позже:
А обходить дампер их видимо не умеет, хотя кластер как то писал, что можно такое сделать.
Умеет, но это надо делать на этапе генерации.

Оффлайн max5775

  • Пользователь
  • Сообщений: 536
    • Просмотр профиля
Ну да, по 4 блока в секторе так и получается.
Могу предложить где взять чип на 128к за тысячу рублей - снять с картриджа "852 в 1", который с альтерой.

Добавлено позже:Умеет, но это надо делать на этапе генерации.
Я заказал на 64Мб по гуманной цене, 80р что-ли, мне хватит с головой.
Можно поподробнее по поводу сборщика, как это провернуть?

Оффлайн kosmo

  • Пользователь
  • Сообщений: 163
    • Просмотр профиля
max5775,  Мне юра Фоменко, который продаёт картриджи писал про такой случай.
"а если битые, то надо будет их вписать в батник
 
%COMBINER% prepare —games %GAMES_LIST% —asm games.asm —maxsize %MAX_SIZE% —offsets %OFFSETS_FILE% —report %REPORT_FILE% %NOSORTP%
 
Это в build_rom. Вот тут надо после %NOSORTP% и дописать —badsectors 1,2,3,4,5
 
ну это для примера. После чего заного собрать rom файл общий, чтобы он знал какие сбойные секторы обойти при записи
 
иначе данные вначале запишутся, система будет пытаться туда обратиться и может вызывать только зависание, либо при записи попытается туда записать 2-3 раза и останивится с ошибкой"

Если не получится, свяжись с ним в ВК, может подскажет по конкретнее.

Оффлайн dssoft

  • Пользователь
  • Сообщений: 1165
    • Просмотр профиля
Можно поподробнее по поводу сборщика, как это провернуть?
Я обманул, он сделал эту фишку только для кулбоя :(

Добавлено позже:
Это в build_rom. Вот тут надо после %NOSORTP% и дописать —badsectors 1,2,3,4,5
К сожалению это работает только в кулбоевской версии.

Оффлайн max5775

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

Оффлайн dssoft

  • Пользователь
  • Сообщений: 1165
    • Просмотр профиля
Печально, ну подожду новый чип, спасибо за консультацию.
Да сдерите с какого-нибудь картриджа или старой флешки, неужели неоткуда?

Оффлайн max5775

  • Пользователь
  • Сообщений: 536
    • Просмотр профиля
Да сдерите с какого-нибудь картриджа или старой флешки, неужели неоткуда?
У меня один старый кулбой 150 в 1, который шьется без пайки, я его ломать не буду.
А где еще поискать?
Да и не горит оно мне, я с осени его собирал, то альтера приедет паленая, то бластер мозг трахал, пока новый не купил, теперь вот память )))

Оффлайн dssoft

  • Пользователь
  • Сообщений: 1165
    • Просмотр профиля
У меня один кулбой, который шьется без пайки, я его ломать не буду.
А где еще поискать?
Да и не горит оно мне, я с осени его собирал, то альтера приедет паленая, то бластер мозг трахал, пока новый не купил, теперь вот память )))
Да в любой электронике с процами - принтеры, копиры, телевизоры, роутеры итд.

Оффлайн max5775

  • Пользователь
  • Сообщений: 536
    • Просмотр профиля
Пункт меню не запоминается, может это потому что пока не поставил батарейку?
Держателя под нее пока нет.

Оффлайн dssoft

  • Пользователь
  • Сообщений: 1165
    • Просмотр профиля
Да, coolgirl сохраняет состояние в sram.