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

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 »

Оффлайн RetHunter

  • Пользователь
  • Сообщений: 242
  • Пол: Мужской
    • Просмотр профиля
kosmo, попробуй этот дампер. Включай без картриджа! Запускай файл TEST.bat.
Должно получиться примерно как на скриншоте:

Очень сомневаюсь что проблема в драйверах. И у меня тоже дампер без внешнего кварца.

Оффлайн kosmo

  • Пользователь
  • Сообщений: 163
    • Просмотр профиля
архив повреждён или имеет неизвестный формат. открываю винраром

Оффлайн RetHunter

  • Пользователь
  • Сообщений: 242
  • Пол: Мужской
    • Просмотр профиля
архив повреждён или имеет неизвестный формат. открываю винраром
У меня такая же проблема была, когда я первый раз спаял. Оказался бракованый FT232, в любой момент он терял связь с атмегой. Заменил на другой, всё работает.
Держи в зипе.

Оффлайн kosmo

  • Пользователь
  • Сообщений: 163
    • Просмотр профиля
RetHunter, Да, очень похоже на то, что теряет связь. Из 10 раз нажатия на тест, раза 3 тест проходит до половины и Eror. А 7 раз сразу Eror.

Оффлайн RetHunter

  • Пользователь
  • Сообщений: 242
  • Пол: Мужской
    • Просмотр профиля
RetHunter, Да, очень похоже на то, что теряет связь. Из 10 раз нажатия на тест, раза 3 тест проходит до половины и Eror. А 7 раз сразу Eror.
У меня не так жёстко было, я даже один раз TMNT3 смог задампить. Но єто было раза с 40го. И как только терялась связь сразу диоды переливаться начинали.

Оффлайн kosmo

  • Пользователь
  • Сообщений: 163
    • Просмотр профиля
Но с заменой будут проблемы. В своей местности точно нет, а в областном центре 50х50. Всего 4 точки с радиодеталями. Спросил как-то S29GL01GP12TFI010 на меня удивлённые глаза смотрели.
Про диоды -- вот-вот-вот! Точно, переливаются с интервалом около 10 сек.

Добавлено позже:
RetHunter, Ну, ты меня хоть успокоил.

Оффлайн SAMael

  • Пользователь
  • Сообщений: 6191
  • Пол: Мужской
  • SAMuel Alpian Warrior Glegleddore Gleglezavr
    • Facebook
    • Twitter
    • ВКонтакте
    • Steam
    • Youtube
    • Просмотр профиля
FTDI чипы китайцы делают много клонов, работают не корректно или вовсе не работают, плюс на некоторых драйверах могут сразу в труп превратиться, откат на старую версию дров помогает кое ка кработать китайскому шлаку.
Я пользуюсь CH340, это чисто китайская микра и сколько было их у меня то все рабочие, тьфу тьфу.

Оффлайн kosmo

  • Пользователь
  • Сообщений: 163
    • Просмотр профиля
SAMael, CH340 это вместо FT232? Они взаимозаменяемы? А дрова и прога для прошивки, те же?

Оффлайн RetHunter

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

Оффлайн SAMael

  • Пользователь
  • Сообщений: 6191
  • Пол: Мужской
  • SAMuel Alpian Warrior Glegleddore Gleglezavr
    • Facebook
    • Twitter
    • ВКонтакте
    • Steam
    • Youtube
    • Просмотр профиля
kosmo, нет, чипы разные, нет прямой заменяемости pin-to-pin, но выход сигналов RX-TX + да - однотипен.
дрова не проблема гуглануть)))

Оффлайн kosmo

  • Пользователь
  • Сообщений: 163
    • Просмотр профиля
RetHunter, Ну, что я могу сказать.  Всё заработало. Дело в фьюзах. Вот ответ Юрия Фоменко:

"Фьюзы стандартные для первых ревизий. Потом была партия атмег которая не хотела работать от внутреннего, поэтому чтобы избежать подобного поведения, и была сделана плата с внешним кварцем
 
она изначально тестирование не проходила по нужным мне параметрам, а на малой частоте работала
 
а малая частота плохо сказывалась на работе дампера в целом. Вот и был сделан обход. С Внешним к тому же стабильно работает"

LOW=$EF
HI=$DC
EXTENDED=$FF
LOCK=$3F

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24637
    • Просмотр профиля
Да можно любой USB UART ставить. Драйвера естественно у каждого свои. А программа через COM работает.
Единственно, с чем столкнулся, это как-то такой UART встал на COM с двухзначным номером, пришлось вручную править :)

Оффлайн SAMael

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

Оффлайн kosmo

  • Пользователь
  • Сообщений: 163
    • Просмотр профиля
И снова здравствуйте. С дампером более менее разобрался. С подсказкой (команда в строке ВЫПОЛНИТЬ) даже получилось сдампить картридж подобия Coolboy. Теперь необходимо научиться компилировать (в моём понимании собрать файл для зашития в картридж) файлы для Coolboy и CoolGirl. Файлы с Гитхаба я скачал. Даже попробовал компилировать на основе отдельных файлов .nes, помещённых в папку homebrew. Но я не могу понять, как компилировать файл на основе .unf, скачанного с сайта Кластера. И как можно объёдинить, вернее добавить к файлу .unf файлы .nes. В шапке (здесь на верху) расписано всё для Coolboy, но кроме "Рядовому пользователю не нужно сильно в это всё вникать, т.к. набор сопровождается файлом Makefile для утилиты Make и файлом "!build_rom.bat", они автоматизируют процесс. Просто отредактируйте файл "games.list" и запустите "!build_rom.bat", я ничего не понял. И что в файл "games.list" нужно в ручную вводить все названия игр? 200 - 250 шт.!?

Оффлайн Skay

  • Пользователь
  • Сообщений: 4115
  • Пол: Мужской
    • Просмотр профиля
FTDI чипы китайцы делают много клонов, работают не корректно или вовсе не работают, плюс на некоторых драйверах могут сразу в труп превратиться, откат на старую версию дров помогает кое ка кработать китайскому шлаку.
Вроде работали они корректно, пока их драйверами не стали сначала блочить, а сейчас что как с работой драйверов на них - я хз.
https://habr.com/ru/company/zeptobars/blog/212859/

Оффлайн SAMael

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

Оффлайн RetHunter

  • Пользователь
  • Сообщений: 242
  • Пол: Мужской
    • Просмотр профиля
Но я не могу понять, как компилировать файл на основе .unf, скачанного с сайта Кластера.
UNF - это готовый для записи файл. Его не надо компилировать.
И как можно объёдинить, вернее добавить к файлу .unf файлы .nes.
Никак нельзя.
И что в файл "games.list" нужно в ручную вводить все названия игр? 200 - 250 шт.!?
Компилятор поддерживает сборку всех файлов в папке с играми. Просто накидать нужных ромов.

Оффлайн kosmo

  • Пользователь
  • Сообщений: 163
    • Просмотр профиля
RetHunter, Всё, понял, с этим разобрался. Спасибо. Но ещё есть пару вопросов. В сборщике игр CoolBoy на сайте Кластера, в окошке есть запись "(занято 100.15%, но может влезть больше 100% за счёт сжатия). Как можно сжать? Какие команды и куда их нужно писать? И ещё, в случае наличия badsectors на флэшках, какие команды и куда их нужно вписать, что бы badsectors обойти? (Это так, на всякий случай.) И при наличии китайской платы (скан ниже), чтение с неё у меня получилось, что отпаивать и куда выводы подключать я понял, нужно ли допаивать микруху и транзистор с обратной стороны или и так сойдёт.

Попробовал записать на этот китайский картридж игры, скаченные с сайта Кластера. Записать то записались, а вот очень много не запускаются (просто чёрный экран). Какие то запускаются, но картинка битая. Но есть, которые работают хорошо. Кто-нибудь сталкивался с такой проблемой? И как её решить? Игры с чёрным экраном: 1943, Adventures of Lolo - 1, Chip 'n Dale-1.
« Последнее редактирование: 31 Январь 2019, 16:48:27 от kosmo »

Оффлайн supremacy

  • Пользователь
  • Сообщений: 2255
  • Пол: Мужской
    • Просмотр профиля
И как её решить? Игры с чёрным экраном: 1943, Adventures of Lolo - 1, Chip 'n Dale-1.
Игры требуют SRAM, скорее всего (1943 точно пишет в 0x7000), которая у тебя не распаяна.

Оффлайн kosmo

  • Пользователь
  • Сообщений: 163
    • Просмотр профиля
supremacy,  Понял. Заказал из китая, но придут месяца через два. А обвязка с транзистором (как в видео у Кластера) нужна?

Оффлайн supremacy

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

Оффлайн kosmo

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

Оффлайн supremacy

  • Пользователь
  • Сообщений: 2255
  • Пол: Мужской
    • Просмотр профиля
supremacy, А схемка есть?
не делал, но в видео Кластера схема была. По фотке и так понятно.

Оффлайн Cyber

  • Пользователь
  • Сообщений: 33
    • Просмотр профиля
Привет всем! На картридже напряжение 5в, пробовал припаять диод (1n4148) на d1- напряжение на vcc не меняется, все также 5в. Нужен другой диод? Можно ли к этому картриджу припаять батарейку?
« Последнее редактирование: 31 Январь 2019, 18:57:04 от Cyber »

Оффлайн kosmo

  • Пользователь
  • Сообщений: 163
    • Просмотр профиля
supremacy, Не совсем. Здесь даже три транзистора. И что куда припаивать не совсем ясно. Но всё-равно спасибо.

Оффлайн supremacy

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

Оффлайн kosmo

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

Оффлайн supremacy

  • Пользователь
  • Сообщений: 2255
  • Пол: Мужской
    • Просмотр профиля
Оказывается, все игры, которые не открываются на картридже, не компилируются в coolboy-multirom-builder. Пишет Ошибка: неизвестный мапер.
Потому-что нужны хаки этих игр на mmc3 (4 маппер), при переделке часто код переключения банков помещается в SRAM. Попробуй собрать на сайте с английской версией Chip & Dale, она должна у тебя работать.

Оффлайн kosmo

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

Оффлайн RetHunter

  • Пользователь
  • Сообщений: 242
  • Пол: Мужской
    • Просмотр профиля
В сборщике игр CoolBoy на сайте Кластера, в окошке есть запись "(занято 100.15%, но может влезть больше 100% за счёт сжатия). Как можно сжать? Какие команды и куда их нужно писать?
Никаких команд не нужно, оно само всегда "ужимает". Сжатие работает только когда есть маленькие игры (меньше 128 kB). При компиляции в конце видно сколько осталось места.
И при наличии китайской платы (скан ниже), чтение с неё у меня получилось, что отпаивать и куда выводы подключать я понял, нужно ли допаивать микруху и транзистор с обратной стороны или и так сойдёт.
Нужно припаять SRAM, для работы этого будет достаточно.
Записать то записались, а вот очень много не запускаются (просто чёрный экран). Какие то запускаются, но картинка битая. Но есть, которые работают хорошо. Кто-нибудь сталкивался с такой проблемой? И как её решить? Игры с чёрным экраном: 1943, Adventures of Lolo - 1, Chip 'n Dale-1.
Не запускаются, т.к. надо допаять SRAM. Битые спрайты из-за того что у тебя скорее всего стоит 128 kB CHR SRAM вместо 256 (на скрине не видно маркировки).
На картридже напряжение 5в, пробовал припаять диод (1n4148) на d1- напряжение на vcc не меняется, все также 5в. Нужен другой диод?
Если впаиваешь диод, то логично гдето перекусить питание, чтоб через диод шло. На старых кулбоях рядом была перемычка.