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

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
    • Просмотр профиля
CoolBoy 360in1 сдампился! Это который с Кирби. https://yadi.sk/d/XPygByEtFCa4Pg
Поздравляю
А записывать не пробовал его?
Я свой 150 в 1 перезаписал под себя, но там полный набор, включая sram.

Оффлайн shikoist

  • Пользователь
  • Сообщений: 500
  • Пол: Мужской
    • Просмотр профиля
Поздравляю
А записывать не пробовал его?
Я свой 150 в 1 перезаписал под себя, но там полный набор, включая sram.
Записывать пока ещё не дошли руки.

Оффлайн max5775

  • Пользователь
  • Сообщений: 536
    • Просмотр профиля
Сегодня пришел картридж 400 в 1 от POWKIDDY. Меню напоминает 150 в 1, с превьюшками игр.
Сделан добротно, удивил корпус - толщина практически как у староделов.
Не скрипит, не ломается при попытке вскрыть и стоит меньше всех клонов кулбоев, из которых я выбирал.
На момент покупки это 309р. Брал  тут https://ru.aliexpress.com/item/JRGK-8-2/32916215256.html?af=208&cv=0&cn=41ph289hgt1vkkxmiht3qo13fvriti89&dp=v5_41ph289hgt1vkkxmiht3qo13fvriti89&af=208&cv=0&cn=41ph289hgt1vkkxmiht3qo13fvriti89&dp=v5_41ph289hgt1vkkxmiht3qo13fvriti89&afref=&aff_platform=default&cpt=1540311893549&sk=ccfBY4yg&aff_trace_key=b3dced7042bb4bd9bb37c8e8d16ce36c-1540311893549-07946-ccfBY4yg&terminal_id=aca2038ac66d4913a338d26eaba4663f.
Тест дампером проходит, дамп выложу чуть позже. Меню изначально на китайском, при нажатии на SELECT меняется на английский.
P.S: Дамп тут https://yadi.sk/d/ScUKmywT2T-smw
Прямая заливка через дампер поддерживается.
« Последнее редактирование: 23 Октябрь 2018, 19:49:39 от max5775 »

Оффлайн Yoti

  • Пользователь
  • Сообщений: 4415
  • Пол: Мужской
  • Не тро-гай ме-ня
    • Steam
    • Просмотр профиля
max5775,
а на фото у продавца bully boy. =)

Оффлайн max5775

  • Пользователь
  • Сообщений: 536
    • Просмотр профиля
max5775,
а на фото у продавца bully boy. =)
Ну это китай...
Попробовал сейчас записать на него ром 150 в 1, превьюшки записались с глюком и часть перепутались, но сами игры идут нормально.
Может глюк при записи словил, а может из-за отсутствия sram.

Оффлайн shikoist

  • Пользователь
  • Сообщений: 500
  • Пол: Мужской
    • Просмотр профиля
При попытке прошить 198 и 360 вот такое сообщение.
PS C:\Users\sergey\Documents\GitHub\famicom-dumper-client\bin\Debug> ./famicom-dumper.exe write-coolboy-direct --port COM4 --file "multirom.unf" --sound
Famicom Dumper Client v1.0
  Commit  @ https://github.com/ClusterM/famicom-dumper-client
  (c) Alexey 'Cluster' Avdyukhin / https://clusterrr.com / clusterrr@clusterrr.com

PRG reader initialization... OK
CHR reader initialization... OK
Reset... OK
Detecting COOLBOY version... Version: 1
Error: Can't enter CFI mode. Invalid flash memory? Broken cartridge? Is it inserted?
Похоже, что параметры Flash-памяти не подходят?..
А в случае с 400-ым не определяется версия Coolboy.

Оффлайн postal2201

  • Пользователь
  • Сообщений: 345
    • Просмотр профиля
kingserg, возможно проблема в выводе RY/BY#
Китайцы его напрямую сажают на VCC, а должны подтягивать через резистор не менее 10k, так как при записи этот вывод должен быть в LOW.
Если микра выводная то просто отпаиваем этот вывод и оставляем в воздухе(либо подтягиваем к VCC), но у Вас bga.

С такими кариками гораздо проще. SSOP 70 вообще не имеет вывода RY/BY# :)

Оффлайн max5775

  • Пользователь
  • Сообщений: 536
    • Просмотр профиля
Я так понимаю, что картридж 143 в 1, там где обе части DuckTales, идет со SRAM?
Т.к тут писали, что без SRAM эти игры не работают

Оффлайн shikoist

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

Оффлайн postal2201

  • Пользователь
  • Сообщений: 345
    • Просмотр профиля
внимание: обязательно нужно отрезать RY/BY# от питания, в момент стирания/записи на этой ноге появится низкий логический уровень, а там уже как повезёт, либо выгорит порт и всё будет хорошо, либо флешка загнётся
вот тут как раз проблема, на TSOP точно на RY/BY# подан VCC, а вот на BGA хз, в общем вот тебе картинка, смотри по карику, может увидишь



Красный - RY/BY# на TSOP
Фиолетовый - примерное местоположение RY/BY# на BGA

на всякий случай даташит на флешку

Можно попробовать перерезать дорожку идущую к шару RY/BY#, если он конечно не запитан иначе.

Оффлайн supremacy

  • Пользователь
  • Сообщений: 2255
  • Пол: Мужской
    • Просмотр профиля
там где обе части DuckTales, идет со SRAM?
Т.к тут писали, что без SRAM эти игры не работают
Не знаю какие хаки там записаны, но из тех что есть у меня DuckTales использует W-RAM, DuckTales 2 не использует.
Проверить использует ли игра W-RAM достаточно просто:
нужно в FCEUX добавить breakpoint на запись в эту память по адресам 6000-7FFF и сделать reset, если игра остановилась - то эта память ей нужна.


Оффлайн shikoist

  • Пользователь
  • Сообщений: 500
  • Пол: Мужской
    • Просмотр профиля
У меня в 198 и 400 стоит вот такая флэшка S29GLXXXP. На 360 маркировка стёрта, но можно предположить, что из той же серии. По даташиту имеется нога WE#, которая по идее должна включать запись. 13 нога слева сверху, красным. Ещё имеется 16 нога WP# (синим), которая защищает от записи. Она замкнута на RESET. Жёлтым обозначена Vcc.
(Кстати, 1-гигабитная флешка стоит на 198в1, а не на 400в1. В 400в1 стоит на 256 мегабит.)
Я так понимаю, что мне надо разомкнуть WP#, и замкнуть WE# с Vcc?

Оффлайн postal2201

  • Пользователь
  • Сообщений: 345
    • Просмотр профиля
kingserg, нет. Я думал что у Вас bga картридж, как у  max5775
Проверьте, WE# и OE# должны быть разведены на разъем картриджа.
WE# не должен быть подключен к VCC

Если все так, то отпаяйте 17 ногу МС.

Оффлайн shikoist

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

Добавлено позже:
WE# и OE# никуда не замкнуты, если только под чип дорожки ведут. С обратной стороны чипа видимых дорожек к ним тоже не видно.
« Последнее редактирование: 24 Октябрь 2018, 15:29:36 от kingserg »

Оффлайн postal2201

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

Это тестером проверено или на глаз? На разъем картриджа эти контакты выведены?

Оффлайн shikoist

  • Пользователь
  • Сообщений: 500
  • Пол: Мужской
    • Просмотр профиля
Тестер великая вещь! WE# замкнут на 31 ногу картриджа, OE# на 48-ую (если я правильно обратную сторону считаю).

Оффлайн postal2201

  • Пользователь
  • Сообщений: 345
    • Просмотр профиля
kingserg, главное что WE# не замкнут на VCC.
Значит поднимайте 17 ногу и пробуйте прошивать.

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 7421
    • Просмотр профиля
kingserg, главное что WE# не замкнут на VCC.
Значит поднимайте 17 ногу и пробуйте прошивать.
31 это и есть VCC, рядом с F2. Первый контакт слева на обратной стороне. Если он считал именно так.

Оффлайн shikoist

  • Пользователь
  • Сообщений: 500
  • Пол: Мужской
    • Просмотр профиля
Вот блин. И что получается?

Добавлено позже:
А ничего не получается. Поднятие ноги (и восстановление соседних ножек из-за моего неумения обращаться с паяльником) ничего не меняет.
« Последнее редактирование: 24 Октябрь 2018, 17:40:10 от kingserg »

Оффлайн postal2201

  • Пользователь
  • Сообщений: 345
    • Просмотр профиля
Я же писал проверьте что WE# не замкнут на VCC. Это значит один щуп на VCC другой на WE#, если пищит значит замкнут.
А раз такое дело то прошивка только через JTAG.

Оффлайн Yoti

  • Пользователь
  • Сообщений: 4415
  • Пол: Мужской
  • Не тро-гай ме-ня
    • Steam
    • Просмотр профиля
Ну что, в итоге, какой картридж(и) лучший донор? В первую очередь по поддержке игр, во вторую по простоте перезаписи.

Оффлайн max5775

  • Пользователь
  • Сообщений: 536
    • Просмотр профиля
Ну что, в итоге, какой картридж(и) лучший донор? В первую очередь по поддержке игр, во вторую по простоте перезаписи.
150 в 1 или 143 в 1, но это старые которые, у меня один такой есть.
На них стоит SRAM и перезаписываются без отпайки.
Как их сейчас модифицировали, только одному китайскому императору известно )
 

Оффлайн shikoist

  • Пользователь
  • Сообщений: 500
  • Пол: Мужской
    • Просмотр профиля
Ну что, в итоге, какой картридж(и) лучший донор? В первую очередь по поддержке игр, во вторую по простоте перезаписи.
Ну, как видите, последние 198, 400, 360 брать не стоит. Перепаивать ноги сложно.

Оффлайн SAMael

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

Оффлайн shikoist

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

Оффлайн max5775

  • Пользователь
  • Сообщений: 536
    • Просмотр профиля
Я бы попробовал купить 143 в 1, там DuckTales, который использует sram.
Правда по поводу прошивки без пайки не уверен.
Если sram не нужен, то берите 400 в 1, который я покупал, ссылка выше.

Оффлайн Yoti

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

Оффлайн SAMael

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

Оффлайн Yurissum

  • Пользователь
  • Сообщений: 20
    • Просмотр профиля
Error: Can't enter CFI mode. Invalid flash memory? Broken cartridge? Is it inserted?
Error: Can't enter CFI mode. Invalid flash memory? Broken cartridge? Is it inserted?
Купил на Али 198 in 1. Сдампился он без проблем. А вот запись...
Всрыл и впал в ступор.
Вижу  RAM память NEC D441000LGZ-B70X-KJH ну это понятно для видео
И вижу одну банку S29GL128P10TFI01 на одной стороне и вторую S29GL128P10TFI02 на второй
Они по 128 мегабит = 16 мегабайт (делим на 8)
ОПА!!! Не по Феншую Кластеру
Для управления этим безобразием из двух банок памяти стоит PC74HC00T двухпозиционный переключатель.
Может мне кто подскажет бестолковому среди слаборазвитых как записать этот картридж?
203181-0
При внимательном рассмотрении вижу что китайцы закоротили ноги 13-14 (WE#/RESET#) на обратной стороне платы
и ноги 33-34(Vss/OE#) на фронтальной стороне. Что-то мне подсказывает взять в руки оловоотсос.
Может кто сталкивался с таким картриджем?
203183-1

Оффлайн SAMael

  • Пользователь
  • Сообщений: 6191
  • Пол: Мужской
  • SAMuel Alpian Warrior Glegleddore Gleglezavr
    • Facebook
    • Twitter
    • ВКонтакте
    • Steam
    • Youtube
    • Просмотр профиля
Вижу  RAM память NEC D441000LGZ-B70X-KJH ну это понятно для видео
Какое ещё видео? :lol: это CHR только микра SRAM.

Ну было у китайца много 128мегабиток, слепил попарно, что тут такого.
Не шьётся бо видать маппер модифицирован для пары 18+128.
Всё просты к автору флешера, может у него будет время то допилит ПО, иль кто поможет, я не вкурсе.