Приставки > Картриджи / диски
Конструктор многоигровых ROM'ов для картриджей COOLBOY
<< < (9/45) > >>
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:

--- Цитата: postal2201 от 11 Ноябрь 2018, 22:12:01 ---max5775, а лок ставил при записи?

--- Конец цитаты ---
это как?
postal2201:
max5775,  при записи карика дополнительно используй параметр --lock
Так же желательно еще укажи --check для проверки по окончании записи.
max5775:

--- Цитата: postal2201 от 12 Ноябрь 2018, 00:26:23 ---max5775,  при записи карика дополнительно используй параметр --lock
Так же желательно еще укажи --check для проверки по окончании записи.

--- Конец цитаты ---
Ну ничего не помогло.
Заметил также одну вещь - курсор не запоминает последнюю выбранную игру, как должно быть.
Т.е получается не может записать информацию об этом.
Сделал скрины info двух кулбоев.
На первом - картридж 150 в 1, который отлично перезаписывается и работает.
На втором - этот проблемный картридж 400 в 1
Есть некоторые различия.
HardWareMan:
А теперь название флешки из проблемного картриджа в студию!
max5775:

--- Цитата: HardWareMan от 13 Ноябрь 2018, 17:35:51 ---А теперь название флешки из проблемного картриджа в студию!

--- Конец цитаты ---
вроде такая 256M29EWH
HardWareMan:
max5775, у флешки есть вывод VPP/WP#. Так как в букваре не сказано, что конкретно в этой 28F серии требуется Vpp (хотя в старых оно требовалось 12v), то он работает как WP#, т.е. защита от записи. Пока на нем активный уровень (какой лог.уровень - смотри в букваре) никакой записи ты не добьешься. Это аппаратная защита.

Помимо аппаратной защиты есть еще и программная. Защищённые сектора нельзя стереть или перезаписать. Эту флешку следует сначала полностью разлочить в программаторе. Там же и проверить правильность записи - некоторые сектора могут быть битыми, ведь китайцы любят всякую отбраковку пихать.
max5775:

--- Цитата: HardWareMan от 13 Ноябрь 2018, 21:16:21 ---max5775, у флешки есть вывод VPP/WP#. Так как в букваре не сказано, что конкретно в этой 28F серии требуется Vpp (хотя в старых оно требовалось 12v), то он работает как WP#, т.е. защита от записи. Пока на нем активный уровень (какой лог.уровень - смотри в букваре) никакой записи ты не добьешься. Это аппаратная защита.

Помимо аппаратной защиты есть еще и программная. Защищённые сектора нельзя стереть или перезаписать. Эту флешку следует сначала полностью разлочить в программаторе. Там же и проверить правильность записи - некоторые сектора могут быть битыми, ведь китайцы любят всякую отбраковку пихать.

--- Конец цитаты ---
так он же записывается ромом от кластера, просто игры не запускаются
причем, я могу перезаписать его обратно исходным ромом, который работает без проблем
скажу больше, записываю на него ром 150 в 1, все вроде запускается, но беда с текстурами, часть из них битые, включая картринки превьюшек игр в меню, они перепутаны
 
megavolt85:

--- Цитата: max5775 от 13 Ноябрь 2018, 21:35:47 ---так он же записывается ромом от кластера, просто игры не запускаются
--- Конец цитаты ---

а ты залей в него ром от кластера, а потом слей обратно и сравни слитое с тем что записывал  ;)
Rumata:
А там при прошивке верификации нет?
SAMael:
Есть, но её нада активировать командой.
Rumata:
Значит надо активировать :) А так можно вообще в воздух шить.
HardWareMan:

--- Цитата: max5775 от 13 Ноябрь 2018, 21:35:47 ---скажу больше, записываю на него ром 150 в 1, все вроде запускается, но беда с текстурами, часть из них битые, включая картринки превьюшек игр в меню, они перепутаны
--- Конец цитаты ---
Вытекает из:

--- Цитата: HardWareMan от 13 Ноябрь 2018, 21:16:21 ---Там же и проверить правильность записи - некоторые сектора могут быть битыми, ведь китайцы любят всякую отбраковку пихать.
--- Конец цитаты ---
Поэтому, они создают ром согласно карте бэд-блоков. А утилита Кластера это не учитывает. Кстати, было бы неплохо добавить и такой функционал тоже...
max5775:

--- Цитата: megavolt85 от 14 Ноябрь 2018, 00:27:05 ---а ты залей в него ром от кластера, а потом слей обратно и сравни слитое с тем что записывал  ;)

--- Конец цитаты ---
я думал об этом, сегодня попробую

--- Цитата: Rumata от 14 Ноябрь 2018, 02:09:59 ---Значит надо активировать :) А так можно вообще в воздух шить.

--- Конец цитаты ---
если вы про --check, то делал уже.

--- Цитата: HardWareMan от 14 Ноябрь 2018, 05:17:43 ---А утилита Кластера это не учитывает. Кстати, было бы неплохо добавить и такой функционал тоже...

--- Конец цитаты ---
Вот это здравая мысль, но текстуры не столько битые, сколько перепутаны. И картридж в принципе даже играбелен.
Поясню: В роме 150 в 1 есть превьюшки игр. Так вот, если мы выбираем игру rockman, то превьюшка почему то показывает, что это contra или еще что-то.
Но некоторые превьюшки совпадают. Запустил черепах-3, где-то 5-10% битых (или неправильных?) текстур.
Могу в принципе сделать скрины, кому интересно. Попробую записать ром 198 в 1на него ради интереса. Либо сделать ром на пару игр утилитой кластера, может не попаду на битые сектора, если они есть
SAMael:

--- Цитата: HardWareMan от 14 Ноябрь 2018, 05:17:43 ---Поэтому, они создают ром согласно карте бэд-блоков. А утилита Кластера это не учитывает. Кстати, было бы неплохо добавить и такой функционал тоже...

--- Конец цитаты ---
Для такой опции нада делать первичный дамп и потом этот дамп аналлизировать на бед блоки, или после стирания проделывать запись с последующим чтением, выявлением бед блоков, или другие варианты.
max5775:
Записал ром 360 в 1, меню запускается отлично.
Пока не запускается только кирби, но он вроде как навороченный сам по себе.
Запускаются чип и дейл обе части, все контры, тини туны, робокопы, черепахи и мнго чего еще.
Так что врядли чип битый, тут что-то другое
RetHunter:
А как битый сектор может дать такие симптомы? Ну попадёт на него игра, если PRG - игра не будет работать, если CHR - будут побитые спрайты, если сжатая - то не распакуется и не запустится вобще. Но как это может попутать картинки от игр в меню я не понимаю. Да и не будут китайцы каждую флеху проверять на беды ещё и корректировать под них ром. У них эти флешки копейки стоят. Еще поверю когда флешка больше 32Мб и ей физически отрезают чать (возможно битую) урезая её до 32 Мб. Да и разве битые сектора не внутренний контроллер флешки корректирует?
Yoti:

--- Цитата: RetHunter от 14 Ноябрь 2018, 23:57:32 ---Да и разве битые сектора не внутренний контроллер флешки корректирует?
--- Конец цитаты ---
У ей внутре неонка!
max5775:
Поясните, за что это отвечает?
SAMael:
RetHunter, у паралельных флешек такого не встречал уж точно )))) у NAND флешек по сути также, в тех же юсб флешках инфа о битых секторах пишутся в контроллер.
HardWareMan:

--- Цитата: SAMael от 15 Ноябрь 2018, 10:26:22 ---RetHunter, у паралельных флешек такого не встречал уж точно )))) у NAND флешек по сути также, в тех же юсб флешках инфа о битых секторах пишутся в контроллер.

--- Конец цитаты ---
У NAND как у блочных есть SPARE AREA, туда пишется ЕСС. И бэд блоком становится блок, которому не поможет ЕСС. Правда, у самых первых там и не ЕСС была а обычная контролька. Карта бэдов в памяти контроллера так же есть.
Навигация
Главная страница сообщений
Следующая страница
Предыдущая страница

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