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

TolstyLuty и 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 »

Оффлайн NStormX

  • Пользователь
  • Сообщений: 215
  • Пол: Мужской
    • Youtube
    • Просмотр профиля
RetHunter, напиши ему сам в Issue на github или во вконтакт. Его кстати сильно бомбит, что никто о багах не пишет напрямую. На форумы у него сейчас нет особо времени.

Оффлайн kosmo

  • Пользователь
  • Сообщений: 163
    • Просмотр профиля
Хочу поделиться результатами экспериментов со своим Mindkids. Микрухи CY62256L, как мне посоветовали здесь на форуме, пришли из китая. Впаял, после чего запустились игры, которые ранее выдавали чёрный экран (типа Adventure_Island, Adventures_of_Lolo, 1942). Но  с микросхемой R1LV0108ESF (128k, я так понимаю) были с артефактами такие игры как Алладин, Batman_Returns. Для того, что бы проверить, пришлось "разобрать" кулбой, на время. Выпаял из него M5M5V208AKV, заменил и "О, чудо!" всё запустилось и всё работает. Кулбой я конечно восстановлю, но теперь вопрос, где взять микруху M5M5? У китайцев её нет, а в "Чип-Дип" заказывать очень накладно. Хорошо, хоть CY62256L в китае дешевые (по 20 руб. всего).

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24658
    • Просмотр профиля
Может дело не в в типе микросхемы, а в качестве? У китайцев ставить что-то "условно рабочее" - норма. Хотя конечно 208 в два раза больше 108.
где взять микруху M5M5?
Вот не на то смотришь. M5M5 - это префикс Мицубиси, у других производителей будет другой. Исходить следует из описания: 2097152-BIT (262144-WORD BY 8-BIT) CMOS STATIC RAM. Плюс корпус плюс питание.


Оффлайн kosmo

  • Пользователь
  • Сообщений: 163
    • Просмотр профиля
Rumata, Так что, получается, "метод тыка" в данном случае не поможет?

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24658
    • Просмотр профиля
Тыка чего и куда? o_0 Тыкать тут некуда.
а) ставить ОЗУ большего объёма (256 к)
б) ставить того же объёма (128 к), но другой экземпляр

Оффлайн kosmo

  • Пользователь
  • Сообщений: 163
    • Просмотр профиля
Rumata
а) CY62256L - 256K (32K x 8) Static RAM Voltage range— 4.5V – 5.5V
б) R1LV0108ESF - LPSRAM (128k word x 8bit) Single 2.7~3.6V power supply
в) M5M5V208AKV-  Single 2.7 ~ 3.6V power supply (да, скарее всего 256k)
В моём случае, по напряжению, скорее CY62256L не подходит, поскольку напряжение около 3,6 В на картридже. Но ведь, работает. И потом, если с микросхемой (б) "родные" игры запускались, образ Рома с другого картриджа запускался, большинство игр ММС3 запускаются, а вместо Алладина пиксели. То после замены на микросхему (в) всё в норме, то что не так? Может я чего-то не понимаю?

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24658
    • Просмотр профиля
62256 отметаем сразу. Ты же её не менял? Она вообще не там стоит.

Соответственно остаются б) и в). И далее как я сказал
а) нужен больший объём
б) микросхема битая, нужно заменить на исправную

Оффлайн kosmo

  • Пользователь
  • Сообщений: 163
    • Просмотр профиля
Rumata, Я так понимаю, что я не правильно сформулировал первое сообщение. Изначально на плате, кроме флэшки и капли, была память R1LV0108ESF и всё. Из-за чего многие игры после сборки своего рома, либо не запускались, либо были с артефактами. Но  родные игры запускались все. На форуме мне посоветовали добавить StaticRAM память, именно CY62256L, что я и сделал. После этого игры моего рома, которые раньше выдавали чёрный экран, теперь начали запускаться. Но игры, выдававшие артефакты, так и остались. После чего я перепаял RAM M5M5V208AKV с кулбоя (т.к. она 256k) и всё, все артефакты "ушли". Надеюсь, теперь понятно я объяснил.

Оффлайн Rumata

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

У тебя были два типа игр: не запускались вообще и с артефактами.

Те, что не запускались вообще, скорее всего требовали SRAM на стороне PGM ROM. Есть такие игры. Когда ты допаял 62256 это проблема решилась. Так?

А вот на стороне графики у тебя стоит CHR RAM. И вот ты одну микросхему CHR RAM заменяешь на другую и, опанки! - проблемы с графикой пропадают
Ну так что надо делать?



Оффлайн kosmo

  • Пользователь
  • Сообщений: 163
    • Просмотр профиля
Rumata, Всё так и есть. Вопрос в том, что R1LV0108ESF -128k, а M5M5V208AKV - ?k. И если в Кулбой ставят именно M5M5V208AKV, при этом мегамены бегают человечками, то с R1LV0108ESF в Миндкидс мегамены 5, 6 бегают пикселями. И какой вывод из этого следует. Мой вывод - это увеличивать RAM память со 128k на 256k. А вот какую именно микросхему? Поскольку под рукой у меня ничего кроме кулбоя нет, вот я и поэкспериментировал с тем, что было.

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24658
    • Просмотр профиля
а M5M5V208AKV - ?k.
Тебя что, во сех поисковиках мира забанили? Я даташит нашёл за 30 секунд. И выше писал
208 в два раза больше 108.
Мой вывод - это увеличивать RAM память со 128k на 256k.
Это точно "твой" вывод? :lol:

Оффлайн NStormX

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

Я на замену R1LV0108 заказал неделю назад на али K6F2008T2E-YF70, правда продавец пока так ничего и не отправил. В Чип и Дип у нас ничего не нашел.
SRAM заказывал уже два раза в Чип и Дип UT62256CSC-70LL. Работает прекрасно. Да 120 рублей / штука.

Оффлайн kosmo

  • Пользователь
  • Сообщений: 163
    • Просмотр профиля
NStormX, Ой, как хорошо. Но тут, как видишь, спор зашёл не шуточный. Да и в принципе кто прав мне без разницы. И всё же, я проводя эксперимент, основывался на твой комментарий. Так сколько надо для нормальной работы Mindkids RAM, 128k или 256k? Глюченая у меня R1LV0108 или всё дело в её оперативности? Правильно я понял твой комментарий или вместо увлечением пайкой мне надо идти варить борщ?

Оффлайн NStormX

  • Пользователь
  • Сообщений: 215
  • Пол: Мужской
    • Youtube
    • Просмотр профиля
kosmo, для работы части игр (например Turtles 2, Turtles 3, Aladdin, Somari, Lion King Super Game и тд) нужно 256 кб RAM под CHR данные. Так как у тебя 128 - часть графики не отображается так как грузить ее некуда, а при чтении из этих адресов возвращаются FF или нули.

Решение одно - менять 128 кб на 256 кб (если данный картридж ценен для тебя) или пойти и купить кулбой где есть Turtles 2,3 или любая игра из моего списка выше - там будет 256 кб RAM.

Оффлайн kosmo

  • Пользователь
  • Сообщений: 163
    • Просмотр профиля
NStormX, Премного благодарен за ответ. Я хоть и не силён в этом вопросе, но с математикой немного знаком. Значит борщ пойду варить в другой раз. Кстати, я тоже заказал на Али K6F2008T2E - 2 штучки. Не подойдут, ну, что же, ничего страшного, не велика потеря.

Оффлайн RetHunter

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

Оффлайн megavolt85

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

там всегда будут читаться первые 128 килобайт

Оффлайн kosmo

  • Пользователь
  • Сообщений: 163
    • Просмотр профиля
Всем здравия. Я понимаю, что уже опоздал, но вдруг кому то пригодятся Hack игры. В архиве две папки. В каждой папке, кроме игр, уже готовый для записи в Кулбой ром под названием game.nes. А также готовый games.list и картинка меню. Я думаю, кто хоть немного в теме, не надо объяснять, что с ними нужно делать. Ещё в папках находятся файлы deb, это файлы созданные дебаггером и вам они не нужны. Единственная просьба проверить игру WURM_-_Journey_to_the_Center_of_the_Earth_(rus)(Hack) на железе, у меня она после заставки не идёт на двух старых приставках.

https://cloud.mail.ru/public/6Wgv/xVdtribud

Кроме этого, получилось влезть в картридж с двух игровочкой  Battletoads и добавить жизней. За что большое спасибо Yurissum. Теперь в нормальном режиме 40 жизней, а в режиме с нажатием комбинации кнопок по 99. Но для данной переделки картриджа необходимы программатор, переходник TSOP48, паяльная станция, ну и если у кого то это есть, то значит с прямыми руками всё в порядке. Выкладываю снятый BIN файл и редактированный BIN. Может кто-то заморочится.

После проверки Battletoads на приставке, увидел артефакты на боссе 8 уровня. Но я не проходил этот картридж ранее, поэтому не могу сказать, является ли это причиной моей переделки или всё так и было. (проверил на двух приставках). Battletoads & Double Dragon прошёл весь, никаких замечаний.

P.S. Со второй попытки редактирования Battletoads, не при помощи Game Genie, всё заработало нормально. До босса 8 уровня доходил 3 раза.
« Последнее редактирование: 29 Март 2019, 09:49:54 от kosmo »

Оффлайн NStormX

  • Пользователь
  • Сообщений: 215
  • Пол: Мужской
    • Youtube
    • Просмотр профиля
Кроме этого, получилось влезть в картридж с двух игровочкой  Battletoads

Интересно было посмотреть. У самого TSOP48 переходника нет, потому не дампил.

Содержимое интересное:
6000 - какой то кусок кода
7e000 - походу код меню выбора игры
180000 - battletoads
1C0000 - bt dd

Все остальное пусто. Ромы лежат как есть, достаточно только добавить заголовок для эмулятора в 16 байт.
Для желающих поглядеть нагляднее - выдернул из ваших bin файлов сами ромы.

PS: Кстати если не секрет где нашлась 62256 в Китае по 20 рублей? Нигде таких цен не видел.

Оффлайн kosmo

  • Пользователь
  • Сообщений: 163
    • Просмотр профиля
NStormX,
https://ru.aliexpress.com/item/1-CY62256LL-70SNC-CY62256LL-CY62256-28/32855685404.html?spm=a2g0s.9042311.0.0.274233ed86cVin

Добавлено позже:
NStormX,  Интересно. Раз можно выдернуть ром, значит можно запихнуть его обратно? А в какой программке?
« Последнее редактирование: 28 Март 2019, 20:06:52 от kosmo »

Оффлайн NStormX

  • Пользователь
  • Сообщений: 215
  • Пол: Мужской
    • Youtube
    • Просмотр профиля
Интересно. Раз можно выдернуть ром, значит можно запихнуть его обратно? А в какой программке?
Да сам на коленке набросал простенький код. Можно и обратно. Если что-то туда нужно засунуть заместо Battletoads - пиши вставлю. Но проверить не смогу - переходника нет. И по хорошему туда бы еще пару игр запихнуть, только вот редактировать меню нужно - а я по nes asm не силен. Может кто из форумчан возьмется.

Благодарю за ссылку - заказал несколько про запас.

Оффлайн kosmo

  • Пользователь
  • Сообщений: 163
    • Просмотр профиля
NStormX, Да, вставить дополнительно игры было бы не плохо. Я в этом вообще "тишина". А впихнуть, я про то, что если действительно ром исходника глюченный на 8 уровне, то впихнуть бы рабочий ром и уже правленный под жизни.

Добавлено позже:
NStormX,  Проверил я на эмуляторе BT оба варианта. Всё нормально на исходнике и артефакты в Hack. Стало быть я что-то напортачил. Но код искал по Game Genie, самому было лень голову ломать. А там сразу надо было менять 4 адреса. Возможно что-то пошло не так. Буду пробовать другие варианты.
« Последнее редактирование: 28 Март 2019, 21:19:05 от kosmo »

Оффлайн NStormX

  • Пользователь
  • Сообщений: 215
  • Пол: Мужской
    • Youtube
    • Просмотр профиля
kosmo,
В общем не пожалел пару часиков - оформил свой код в виде нормальной утилитки. Вдруг кому еще пригодится:
http://www.satinside.ru/BINEditor.zip
Описание в readme.txt. Сделал на английском, дабы было более универсально.
Тестил только на паре файлов, так что если где глюки - пишите.

PS: Естественно вставлять нужно столько же байт сколько и считали (или меньше). Иначе заедет на следующий ром.

Оффлайн NStormX

  • Пользователь
  • Сообщений: 215
  • Пол: Мужской
    • Youtube
    • Просмотр профиля
Собрал дамп для battletoads флеш картриджа из двух хаков от Lomax:

Battletoads - бесконечные кредиты и пять жизней при старте и продолжении. Гипношарик дает фору в пару секунд
Battletoads and Double Dragon - бесконечные кредиты и те же пять жизней

Также сделал дамп:
Battletoads Lomax - бесконечные кредиты и пять жизней при старте и продолжении. Гипношарик дает фору в пару секунд
R.C. Pro-Am II - обычная версия

На железе не проверял, но должно работать без проблем.

Меню кстати зачем то дублируется дважды (видимо после резета с разных игр маппер перекидывает в меню на разных адресах памяти - особенность сборки на китайском маппере):
4010 - нечто внешне напоминающее иконку
6000 - похоже на код меню

7C010 - копия из 4010
7E000 - копия из 6000
« Последнее редактирование: 29 Март 2019, 10:50:04 от NStormX »

Оффлайн kosmo

  • Пользователь
  • Сообщений: 163
    • Просмотр профиля
NStormX, Спасибо. Посмотрел  battletoads, он получается английская версия. Не, мне не подойдёт. Да и перепаивать в очередной раз не очень хочется. ("Выдёргивать" получилось в Hex Editor Neo) В принципе, со второго раза редактирования (самостоятельно), получилось устранить проблему. Действительно, с  Game Genie я там намудрил, лишнего по вставлял. К уровню 8 дошёл 3 раза, первый раз в режиме 99 жизней, что-то пошло не так, произошло смещение жабы, из-за чего она не смогла бить по боссу. После ещё 2 раза в разных режимах дошёл, всё нормально. (Может что-то с железом). Поскольку я поменял в роме всего два значения жизней при загрузке, которые на работу ну, никак сказаться не должны. Если только железо не понимает значение больше 99, но ведь это вряд ли. (А на эмуляторе всё работает прекрасно).

Добавлено позже:
NStormX,  С гипношариком вообще никаких проблем не возникает. Что значит длительная тренировка в 90-х. А вот с догонялками мыши приходится по мучиться, раза с 4, а то и с 7-го. Но с таким запасом жизней это не проблема. Ещё надо постараться их истратьть. :lol:

Оффлайн NStormX

  • Пользователь
  • Сообщений: 215
  • Пол: Мужской
    • Youtube
    • Просмотр профиля
kosmo, а я не удержался, проверил у себя свои правки на реальном железе, заодно дамп своего картриджа сделал и выложил:
http://www.emu-land.net/forum/index.php/topic,81898.msg1398850.html#msg1398850

И мне наоборот английские версии ближе. Равно как и японский чип и дейл с duck tales. Но тут кому что нравится :)

Оффлайн kosmo

  • Пользователь
  • Сообщений: 163
    • Просмотр профиля
У кого-нибудь есть рабочая русская версия игры Street Fighter 2010? А то единственный ром, который в архиве глюченный, босс 2 уровня (3-й по счёту) не появляется.

P.S. Еле нашёл. Если кому надо, ром в архиве.
« Последнее редактирование: 01 Апрель 2019, 15:39:49 от kosmo »

Оффлайн Yurissum

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

Онлайн HardWareMan

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

Внутри оказался 60-пиновый картридж на переходнике:

А он в свою очередь - удешевлённая копия CoolGirl, лол:


Схему не срисовывал, но думаю она будет тривиальной.

Оффлайн postal2201

  • Пользователь
  • Сообщений: 345
    • Просмотр профиля
HardWareMan, Интересно сколько мапперов китайцами симулировано внутри Альтеры? Бит защиты на месте? :D