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

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 »

Оффлайн max5775

  • Пользователь
  • Сообщений: 536
    • Просмотр профиля
Схемка с http://wiki.nesdev.com/w/index.php/PRG_RAM_circuit
                                 D1           ___________
    5V --------------------------|>|--+      |       RAM
                                      |---+--| VCC
    3.3V battery-----------------|>|--+   |  |
                                 D2       R1 |
                                          |  |
    RAM /CE decoding logic--- E   C ------+--| /CE
                             \____/          |___________
                                | B  NPN
    5V -----------------1k------+
что-то все сложно, транзистор паять куда то надо еще, наверное перебьюсь
думал просто к каким-то контактам через диод припаять и все

Оффлайн KykyPyky

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

Оффлайн max5775

  • Пользователь
  • Сообщений: 536
    • Просмотр профиля
Есть вопрос по своему кулбою 150 в 1. Картридж перезаписывается без пайки. Есть SRAM, все дела.
Но игра Астерикс идет с графическими артефактами, в чем может быть причина?
И если припаивать батарейку, то к какому чипу, который на стороне с флешкой или тот, который на стороне с маппером?
Также  интересно, для чего вторая нераспаянная площадка под микросхему на стороне маппера?
« Последнее редактирование: 17 Февраль 2019, 13:05:46 от max5775 »

Оффлайн RetHunter

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

И если припаивать батарейку, то к какому чипу, который на стороне с флешкой или тот, который на стороне с маппером?
На стороне с каплей.
Также  интересно, для чего вторая нераспаянная площадка под микросхему на стороне маппера?
Для CHR SRAM в другом корпусе.

Оффлайн max5775

  • Пользователь
  • Сообщений: 536
    • Просмотр профиля
По схеме подключения батарейки - не пойму, что за резистор между VCC и CE, какой его номинал?
И получается ,если я подключу батарейку к VCC, я запитаю весь картридж от нее, т.к VCC звонится на 60пин.

Оффлайн supremacy

  • Пользователь
  • Сообщений: 2255
  • Пол: Мужской
    • Просмотр профиля
я запитаю весь картридж от нее, т.к VCC звонится на 60пин.
Естественно, ногу нужно поднять. Я на 11 странице выкладывал фотку с платой., только она кроме питания sram ещё исправляет косяк китайцев.

Оффлайн max5775

  • Пользователь
  • Сообщений: 536
    • Просмотр профиля
Естественно, ногу нужно поднять. Я на 11 странице выкладывал фотку с платой., только она кроме питания sram ещё исправляет косяк китайцев.
а можно схемку накидать? у меня немного другая версия картриджа и контактные точки чуть иначе расположены.
да и не пойму что за транзисторы и их распиновку
значит vcc sram отпаять от + и подключить к схеме?

Оффлайн Cyber

  • Пользователь
  • Сообщений: 33
    • Просмотр профиля
Есть вопрос по своему кулбою 150 в 1. Картридж перезаписывается без пайки. Есть SRAM, все дела.
Но игра Астерикс идет с графическими артефактами, в чем может быть причина?
И если припаивать батарейку, то к какому чипу, который на стороне с флешкой или тот, который на стороне с маппером?
Также  интересно, для чего вторая нераспаянная площадка под микросхему на стороне маппера?
Птотому что Астерикс выходил только в европе, на ntsc и гибриде он нормально работать не будет. Я смотрю ты припаял диод, напряжения на картридже не замерял? Я как только его не припаивал, напряжение все равно 5в.

Оффлайн max5775

  • Пользователь
  • Сообщений: 536
    • Просмотр профиля
Я смотрю ты припаял диод, напряжения на картридже не замерял? Я как только его не припаивал, напряжение все равно 5в.
Да та же фигня он только на первый sram на стороне флеша ограничивает напряжение
Я думаю просто дорожку от  30 и 60 пина перерезать и диоды воткнуть
P.S: так и сделал, теперь общее VCC стало 4,3В, а VCC на sram стало 3.6В, все работает нормально.
« Последнее редактирование: 17 Февраль 2019, 18:46:14 от max5775 »

Оффлайн Cyber

  • Пользователь
  • Сообщений: 33
    • Просмотр профиля
Да та же фигня он только на первый sram на стороне флеша ограничивает напряжение
Я думаю просто дорожку от  30 и 60 пина перерезать и диоды воткнуть
P.S: так и сделал, теперь общее VCC стало 4,3В, а VCC на sram стало 3.6В, все работает нормально.
Т.е поставил диод и на 30 и на 60 пин (vcc)?

Оффлайн max5775

  • Пользователь
  • Сообщений: 536
    • Просмотр профиля
Т.е поставил диод и на 30 и на 60 пин (vcc)?
ну да, т.к они связаны, то пришлось 2 ставить

Оффлайн max5775

  • Пользователь
  • Сообщений: 536
    • Просмотр профиля
Пришел очередной 150 в 1, выводы OE и WE для прошивки можно просто отрезать от дорожек, что я и сделал.
Проверил тестером, чтобы не звонились на землю и на плюс соответственно.
Попробовал припаяться перезаписать. Запись проходит без ошибок, но в итоге картридж не запускается, черный экран.
Также писали про закороченный на плюс вывод RY/BY - у меня  он не звонится на плюс.
Сейчас попробую залить родной ром  150 в 1 и посмотреть, что выйдет
P.S: Оригинальный ром 150 в 1 записался и работает. Странно все это.
P.S.S: пересобрал ром под версию 2, стало запускаться меню, но ни одна игра не запускается...
« Последнее редактирование: 25 Февраль 2019, 22:32:06 от max5775 »

Оффлайн RetHunter

  • Пользователь
  • Сообщений: 242
  • Пол: Мужской
    • Просмотр профиля
max5775, Попробуй этим сборщиком собрать.
https://ru.files.fm/u/c5ucsywe
Геймлист немного другой формат имеет, разберёшся.
Для теста можешь этот ром проверить:
https://ru.files.fm/u/cbb6kagb
Сделай фото своей платы сзади.

Оффлайн max5775

  • Пользователь
  • Сообщений: 536
    • Просмотр профиля
max5775, Попробуй этим сборщиком собрать.
https://ru.files.fm/u/c5ucsywe
Геймлист немного другой формат имеет, разберёшся.
Для теста можешь этот ром проверить:
https://ru.files.fm/u/cbb6kagb
Сделай фото своей платы сзади.
ок, вечером сфоткаю, там еще 2 микросхемы
P.S: Тестовый ром в сборке работает нормально. Как я понял, нужно вручную заполнять файл games-list.my ?
« Последнее редактирование: 26 Февраль 2019, 18:23:17 от max5775 »

Оффлайн RetHunter

  • Пользователь
  • Сообщений: 242
  • Пол: Мужской
    • Просмотр профиля
ок, вечером сфоткаю, там еще 2 микросхемы
P.S: Тестовый ром в сборке работает нормально. Как я понял, нужно вручную заполнять файл games-list.my ?
Спасибо за фото. Ого китайцы щедрые, аж 128Кб PRG RAM поставили. :)
games-list.my могу сделать. Тут www.writecart.pp.ua выбери игры, дай мне ссылку, я тебе дам games-list.my с твоими играми. Нестандартные игры добавишь руками.

Оффлайн max5775

  • Пользователь
  • Сообщений: 536
    • Просмотр профиля
Спасибо за фото.
games-list.my могу сделать. Тут www.writecart.pp.ua выбери игры, дай мне ссылку, я тебе дам games-list.my с твоими играми. Нестандартные игры добавишь руками.
спасибо, я пока просто проверяю
« Последнее редактирование: 26 Февраль 2019, 20:41:17 от max5775 »

Оффлайн RetHunter

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

Оффлайн max5775

  • Пользователь
  • Сообщений: 536
    • Просмотр профиля
max5775, кинь ссылку, где заказывал.
да все там же
https://ru.aliexpress.com/item/Top-quality-8-bit-Game-Cartridge-150-in-1-with-game-Rockman-1-2-3-4/32362794772.html?spm=a2g0s.9042311.0.0.7ceb33edOsbW4n
правда приходят разные версии плат, китайцы они странные люди
Прошу поделиться ромом James Bond Jr. (no-dim hack), нигде не нашел в свободном доступе
« Последнее редактирование: 26 Февраль 2019, 20:56:36 от max5775 »

Оффлайн RetHunter

  • Пользователь
  • Сообщений: 242
  • Пол: Мужской
    • Просмотр профиля
Прошу поделиться ромом James Bond Jr. (no-dim hack), нигде не нашел в свободном доступе
В архиве со сбощиком есть.
На всякий случай держи оба варианта.

Оффлайн max5775

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

Оффлайн Sanick

  • Пользователь
  • Сообщений: 26
    • Просмотр профиля
Всем привет! Подскажите как собрать файл menu.asm?

Оффлайн RetHunter

  • Пользователь
  • Сообщений: 242
  • Пол: Мужской
    • Просмотр профиля
Всем привет! Подскажите как собрать файл menu.asm?
menu.asm - это часть рома, при сборке собирается автоматически.
Чтобы собрать РОМ запусти:
!build_rom GAMES_LIST.bat - автоматически собирается по списку из игр, указанных в файле games.list
!build_rom.bat - собирает РОМ из всех файлов игр, лежащих в папке GAMES

Оффлайн kosmo

  • Пользователь
  • Сообщений: 163
    • Просмотр профиля
Sanick, С точки зрения опытных знатоков, твой вопрос не очень корректный. Постарайся сформулировать что именно является твоей конечной целью? То ли собрать ROM для последующей записи на картридж. То ли влезть в меню для его корректировки (это уже мои догадки, поскольку не являюсь специалистом). Чем проще будет вопрос, тем понятнее будет ответ.

Оффлайн Sanick

  • Пользователь
  • Сообщений: 26
    • Просмотр профиля
я пробую собрать пошагово famicom-dumper.exe и когда дохожу до этого пункта  "Now compile menu using nesasm:nesasm.exe menu.asm"  у меня просто  этот файла не создается автоматически!А если перекинуть этот файл из папки coolboy-multirom-builder в папку tools, то он выдает ошибку.

Оффлайн kosmo

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

Добавлено позже:
kosmo, Ты хочешь собрать ROM для COOLBOY? Тогда в папку Games необходимо скопировать romЫ, которые ты хочешь записать. Но перед этим удали из этой папки те два файла. После этого открой файл games.list в текстовом редакторе (можно его выделить и нажать на клаве F4). Здесь этот файл можно редактировать. Если оставить этот файл без изменений, то буилдер соберёт РОМ из папки Гамес. При этом в меню готового РОМа игры будут записаны так же, как они записаны в названии ромов. А это не очень красиво смотрится в телевизоре. Что бы привести названия игр в приятный глазу вид, нужно набраться терпением и отредактировать файл games.list в ручную. После чего сохранить этот файл. Вот пример, как записывать:
games/Abadox (U) [T+Rus1.1.1 PSCD (15.04.2015)].nes | ABADOX
games/Addams Family (U) [T+Rus3.1 Wisher (11.08.2013)].nes | ADDAMS FAMILY
games/Addams Family - Pugsley's Scavenger Hunt (U) [T+Rus1.0 PSCD (31.12.2014)].nes | ADDAMS FAMILY - PUGSLEY'S...
games/Adventure Island (U) [T+Rus1.1 PSCD (09.01.2015)](Hack).nes | ADVENTURE ISLAND


Добавлено позже:
Sanick, Ещё, очень важно, не делать ошибки при вводе названий игр. Иначе ROM не соберется. Буилдер будет выводить ошибку. Тогда смотреть в названии какой игры ошибка и исправить её.

Добавлено позже:
Sanick, А, ещё, поменяй файл menu.png в моей папке на тот же файл из твоей. А то в моём картинка меню будет другая.
« Последнее редактирование: 28 Февраль 2019, 19:13:51 от kosmo »

Оффлайн Sanick

  • Пользователь
  • Сообщений: 26
    • Просмотр профиля
kosmo,Все спасибо с твои архивом получилось!Автоматически все собиралось без проблем через !build_rom.bat, проблема была именно когда пошагово все делал!

Оффлайн kosmo

  • Пользователь
  • Сообщений: 163
    • Просмотр профиля
Sanick, Пожалуйста. Хорошо, когда всё хорошо.

Оффлайн RetHunter

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

Оффлайн RetHunter

  • Пользователь
  • Сообщений: 242
  • Пол: Мужской
    • Просмотр профиля
Я в этом тоже не особо понимаю, также с ноля начинал полтора года назад.
Но Лёша Кластер нереально простой и открытый человек.  Поэтому он всё сделал так, что даже такой далёкий от этого человек, как я, заинтересовался и спаял впервые в жизни что-то болше чем два проводка - дампер.
И я пытался помочь и написал какой файл надо запустить:
Чтобы собрать РОМ запусти:
!build_rom GAMES_LIST.bat - автоматически собирается по списку из игр, указанных в файле games.list
!build_rom.bat - собирает РОМ из всех файлов игр, лежащих в папке GAMES
И не понять описание Лёши очень сложно. Вот цитата из шапки этой темы:
Рядовому пользователю не нужно сильно в это всё вникать, т.к. набор сопровождается файлом Makefile для утилиты Make и файлом "!build_rom.bat", они автоматизируют процесс. Просто отредактируйте файл "games.list" и запустите "!build_rom.bat" (для пользователей Windows).
Я тоже двумя руками за взаимопонимание. И рад, что ещё один человек смог сделать картридж своими руками!  ^_^


Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24637
    • Просмотр профиля
kosmo, с "философией" или в другой раздел или в личку.