Приставки > Картриджи / диски
Конструктор многоигровых ROM'ов для картриджей COOLBOY
<< < (7/46) > >>
Cluster:
Обновление тут.

Наконец-то я довёл до ума и выложил в паблик свой конструктор многоигровых 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 можно вот этим дампером.
max5775:

--- Цитата: kingserg от 23 Октября 2018, 12:52:17 ---CoolBoy 360in1 сдампился! Это который с Кирби. https://yadi.sk/d/XPygByEtFCa4Pg

--- Конец цитаты ---
Поздравляю
А записывать не пробовал его?
Я свой 150 в 1 перезаписал под себя, но там полный набор, включая sram.
shikoist:

--- Цитата: max5775 от 23 Октября 2018, 16:18:36 ---Поздравляю
А записывать не пробовал его?
Я свой 150 в 1 перезаписал под себя, но там полный набор, включая sram.

--- Конец цитаты ---
Записывать пока ещё не дошли руки.
max5775:
Сегодня пришел картридж 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
Прямая заливка через дампер поддерживается.
Yoti:
max5775,
а на фото у продавца bully boy. =)
max5775:

--- Цитата: Yoti от 23 Октября 2018, 20:54:09 ---max5775,
а на фото у продавца bully boy. =)

--- Конец цитаты ---
Ну это китай...
Попробовал сейчас записать на него ром 150 в 1, превьюшки записались с глюком и часть перепутались, но сами игры идут нормально.
Может глюк при записи словил, а может из-за отсутствия sram.
shikoist:
При попытке прошить 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:
kingserg, возможно проблема в выводе RY/BY#
Китайцы его напрямую сажают на VCC, а должны подтягивать через резистор не менее 10k, так как при записи этот вывод должен быть в LOW.
Если микра выводная то просто отпаиваем этот вывод и оставляем в воздухе(либо подтягиваем к VCC), но у Вас bga.

С такими кариками гораздо проще. SSOP 70 вообще не имеет вывода RY/BY# :)
max5775:
Я так понимаю, что картридж 143 в 1, там где обе части DuckTales, идет со SRAM?
Т.к тут писали, что без SRAM эти игры не работают
shikoist:
postal2201, спасибо за подсказку, буду пробовать.
postal2201:

--- Цитата: megavolt85 от 12 Июня 2018, 00:48:00 ---внимание: обязательно нужно отрезать RY/BY# от питания, в момент стирания/записи на этой ноге появится низкий логический уровень, а там уже как повезёт, либо выгорит порт и всё будет хорошо, либо флешка загнётся
вот тут как раз проблема, на TSOP точно на RY/BY# подан VCC, а вот на BGA хз, в общем вот тебе картинка, смотри по карику, может увидишь



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

на всякий случай даташит на флешку
--- Конец цитаты ---

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

--- Цитата: max5775 от 24 Октября 2018, 13:26:39 ---там где обе части DuckTales, идет со SRAM?
Т.к тут писали, что без SRAM эти игры не работают

--- Конец цитаты ---
Не знаю какие хаки там записаны, но из тех что есть у меня DuckTales использует W-RAM, DuckTales 2 не использует.
Проверить использует ли игра W-RAM достаточно просто:
нужно в FCEUX добавить breakpoint на запись в эту память по адресам 6000-7FFF и сделать reset, если игра остановилась - то эта память ей нужна.

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

Если все так, то отпаяйте 17 ногу МС.
shikoist:
Попробую... Иголкой, видимо, придётся цеплять.

Добавлено позже:
WE# и OE# никуда не замкнуты, если только под чип дорожки ведут. С обратной стороны чипа видимых дорожек к ним тоже не видно.
postal2201:

--- Цитата: kingserg от 24 Октября 2018, 15:19:51 ---WE# и OE# никуда не замкнуты, если только под чип дорожки ведут. С обратной стороны чипа видимых дорожек к ним тоже не видно.
--- Конец цитаты ---

Это тестером проверено или на глаз? На разъем картриджа эти контакты выведены?
shikoist:
Тестер великая вещь! WE# замкнут на 31 ногу картриджа, OE# на 48-ую (если я правильно обратную сторону считаю).
postal2201:
kingserg, главное что WE# не замкнут на VCC.
Значит поднимайте 17 ногу и пробуйте прошивать.
HardWareMan:

--- Цитата: postal2201 от 24 Октября 2018, 15:56:40 ---kingserg, главное что WE# не замкнут на VCC.
Значит поднимайте 17 ногу и пробуйте прошивать.

--- Конец цитаты ---
31 это и есть VCC, рядом с F2. Первый контакт слева на обратной стороне. Если он считал именно так.
shikoist:
Вот блин. И что получается?

Добавлено позже:
А ничего не получается. Поднятие ноги (и восстановление соседних ножек из-за моего неумения обращаться с паяльником) ничего не меняет.
postal2201:
Я же писал проверьте что WE# не замкнут на VCC. Это значит один щуп на VCC другой на WE#, если пищит значит замкнут.
А раз такое дело то прошивка только через JTAG.
Навигация
Главная страница сообщений
Следующая страница
Предыдущая страница

Перейти к полной версии