Приставки > Картриджи / диски
Конструктор многоигровых ROM'ов для картриджей COOLBOY
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 можно вот этим дампером.
mutabor:
--- Цитата: Retrobit от 27 Август 2023, 01:08:58 ---Подскажите, пожалуйста. Данный картридж можно перепрошить?
--- Конец цитаты ---
https://www.emu-land.net/forum/index.php/topic,88077.msg1562398.html#msg1562398
И последние сообщения в этой теме про него.
Retrobit:
mutabor , дело в том , что я его даже сдампить не могу.
Скачал версию Famicom Dumper Client v3.4. Снял им дампы со староделов на 7 и на 4 маппере . Дампы рабочие. Можно играть в эмуляторе. А в этом KJ01A-18 маппер не определяется. Да, я увидел ваш код , но куда его подсовывать?
Я дампил такими параметрами
famicom-dumper dump --port COM4 --mapper Coolboy --file game.unf
Coolboy.cs я взял со старой версии клиента. Пробовал подменить функции из вашего кода. И уже совал как --cs-file отдельно. Не находит маппер.
А вот когда дамплю как MMC3 то дампится что-то .
Дампится что-то и если как NROM
Using MMC3.cs as mapper file
Using mapper: #4 (MMC3)
Dumping...
PRG memory size: 512KB
Reading PRG banks #0/64... OK
Reading PRG banks #1/64... OK
Reading PRG banks #2/64... OK
Reading PRG banks #3/64... OK
Reading PRG banks #4/64... OK
Reading PRG banks #5/64... OK
Reading PRG banks #6/64... OK
Reading PRG banks #7/64... OK
Reading PRG banks #8/64... OK
Reading PRG banks #9/64... OK
Reading PRG banks #10/64... OK
Reading PRG banks #11/64... OK
Reading PRG banks #12/64... OK
Reading PRG banks #13/64... OK
Reading PRG banks #14/64... OK
Reading PRG banks #15/64... OK
Reading PRG banks #16/64... OK
Reading PRG banks #17/64... OK
Reading PRG banks #18/64... OK
Reading PRG banks #19/64... OK
Reading PRG banks #20/64... OK
Reading PRG banks #21/64... OK
Reading PRG banks #22/64... OK
Reading PRG banks #23/64... OK
Reading PRG banks #24/64... OK
Reading PRG banks #25/64... OK
Reading PRG banks #26/64... OK
Reading PRG banks #27/64... OK
Reading PRG banks #28/64... OK
Reading PRG banks #29/64... OK
Reading PRG banks #30/64... OK
Reading PRG banks #31/64... OK
Reading PRG banks #32/64... OK
Reading PRG banks #33/64... OK
Reading PRG banks #34/64... OK
Reading PRG banks #35/64... OK
Reading PRG banks #36/64... OK
Reading PRG banks #37/64... OK
Reading PRG banks #38/64... OK
Reading PRG banks #39/64... OK
Reading PRG banks #40/64... OK
Reading PRG banks #41/64... OK
Reading PRG banks #42/64... OK
Reading PRG banks #43/64... OK
Reading PRG banks #44/64... OK
Reading PRG banks #45/64... OK
Reading PRG banks #46/64... OK
Reading PRG banks #47/64... OK
Reading PRG banks #48/64... OK
Reading PRG banks #49/64... OK
Reading PRG banks #50/64... OK
Reading PRG banks #51/64... OK
Reading PRG banks #52/64... OK
Reading PRG banks #53/64... OK
Reading PRG banks #54/64... OK
Reading PRG banks #55/64... OK
Reading PRG banks #56/64... OK
Reading PRG banks #57/64... OK
Reading PRG banks #58/64... OK
Reading PRG banks #59/64... OK
Reading PRG banks #60/64... OK
Reading PRG banks #61/64... OK
Reading PRG banks #62/64... OK
Reading PRG banks #63/64... OK
CHR memory size: 256KB
Reading CHR banks #0/256... OK
Reading CHR banks #1/256... OK
Reading CHR banks #2/256... OK
Reading CHR banks #3/256... OK
Reading CHR banks #4/256... OK
Reading CHR banks #5/256... OK
Reading CHR banks #6/256... OK
Reading CHR banks #7/256... OK
Reading CHR banks #8/256... OK
Reading CHR banks #9/256... OK
Reading CHR banks #10/256... OK
Reading CHR banks #11/256... OK
Reading CHR banks #12/256... OK
Reading CHR banks #13/256... OK
Reading CHR banks #14/256... OK
Reading CHR banks #15/256... OK
Reading CHR banks #16/256... OK
Reading CHR banks #17/256... OK
Reading CHR banks #18/256... OK
Reading CHR banks #19/256... OK
Reading CHR banks #20/256... OK
Reading CHR banks #21/256... OK
Reading CHR banks #22/256... OK
Reading CHR banks #23/256... OK
Reading CHR banks #24/256... OK
Reading CHR banks #25/256... OK
Reading CHR banks #26/256... OK
Reading CHR banks #27/256... OK
Reading CHR banks #28/256... OK
Reading CHR banks #29/256... OK
Reading CHR banks #30/256... OK
Reading CHR banks #31/256... OK
Reading CHR banks #32/256... OK
Reading CHR banks #33/256... OK
Reading CHR banks #34/256... OK
Reading CHR banks #35/256... OK
Reading CHR banks #36/256... OK
Reading CHR banks #37/256... OK
Reading CHR banks #38/256... OK
Reading CHR banks #39/256... OK
Reading CHR banks #40/256... OK
Reading CHR banks #41/256... OK
Reading CHR banks #42/256... OK
Reading CHR banks #43/256... OK
Reading CHR banks #44/256... OK
Reading CHR banks #45/256... OK
Reading CHR banks #46/256... OK
Reading CHR banks #47/256... OK
Reading CHR banks #48/256... OK
Reading CHR banks #49/256... OK
Reading CHR banks #50/256... OK
Reading CHR banks #51/256... OK
Reading CHR banks #52/256... OK
Reading CHR banks #53/256... OK
Reading CHR banks #54/256... OK
Reading CHR banks #55/256... OK
Reading CHR banks #56/256... OK
Reading CHR banks #57/256... OK
Reading CHR banks #58/256... OK
Reading CHR banks #59/256... OK
Reading CHR banks #60/256... OK
Reading CHR banks #61/256... OK
Reading CHR banks #62/256... OK
Reading CHR banks #63/256... OK
Reading CHR banks #64/256... OK
Reading CHR banks #65/256... OK
Reading CHR banks #66/256... OK
Reading CHR banks #67/256... OK
Reading CHR banks #68/256... OK
Reading CHR banks #69/256... OK
Reading CHR banks #70/256... OK
Reading CHR banks #71/256... OK
Reading CHR banks #72/256... OK
Reading CHR banks #73/256... OK
Reading CHR banks #74/256... OK
Reading CHR banks #75/256... OK
Reading CHR banks #76/256... OK
Reading CHR banks #77/256... OK
Reading CHR banks #78/256... OK
Reading CHR banks #79/256... OK
Reading CHR banks #80/256... OK
Reading CHR banks #81/256... OK
Reading CHR banks #82/256... OK
Reading CHR banks #83/256... OK
Reading CHR banks #84/256... OK
Reading CHR banks #85/256... OK
Reading CHR banks #86/256... OK
Reading CHR banks #87/256... OK
Reading CHR banks #88/256... OK
Reading CHR banks #89/256... OK
Reading CHR banks #90/256... OK
Reading CHR banks #91/256... OK
Reading CHR banks #92/256... OK
Reading CHR banks #93/256... OK
Reading CHR banks #94/256... OK
Reading CHR banks #95/256... OK
Reading CHR banks #96/256... OK
Reading CHR banks #97/256... OK
Reading CHR banks #98/256... OK
Reading CHR banks #99/256... OK
Reading CHR banks #100/256... OK
Reading CHR banks #101/256... OK
Reading CHR banks #102/256... OK
Reading CHR banks #103/256... OK
Reading CHR banks #104/256... OK
Reading CHR banks #105/256... OK
Reading CHR banks #106/256... OK
Reading CHR banks #107/256... OK
Reading CHR banks #108/256... OK
Reading CHR banks #109/256... OK
Reading CHR banks #110/256... OK
Reading CHR banks #111/256... OK
Reading CHR banks #112/256... OK
Reading CHR banks #113/256... OK
Reading CHR banks #114/256... OK
Reading CHR banks #115/256... OK
Reading CHR banks #116/256... OK
Reading CHR banks #117/256... OK
Reading CHR banks #118/256... OK
Reading CHR banks #119/256... OK
Reading CHR banks #120/256... OK
Reading CHR banks #121/256... OK
Reading CHR banks #122/256... OK
Reading CHR banks #123/256... OK
Reading CHR banks #124/256... OK
Reading CHR banks #125/256... OK
Reading CHR banks #126/256... OK
Reading CHR banks #127/256... OK
Reading CHR banks #128/256... OK
Reading CHR banks #129/256... OK
Reading CHR banks #130/256... OK
Reading CHR banks #131/256... OK
Reading CHR banks #132/256... OK
Reading CHR banks #133/256... OK
Reading CHR banks #134/256... OK
Reading CHR banks #135/256... OK
Reading CHR banks #136/256... OK
Reading CHR banks #137/256... OK
Reading CHR banks #138/256... OK
Reading CHR banks #139/256... OK
Reading CHR banks #140/256... OK
Reading CHR banks #141/256... OK
Reading CHR banks #142/256... OK
Reading CHR banks #143/256... OK
Reading CHR banks #144/256... OK
Reading CHR banks #145/256... OK
Reading CHR banks #146/256... OK
Reading CHR banks #147/256... OK
Reading CHR banks #148/256... OK
Reading CHR banks #149/256... OK
Reading CHR banks #150/256... OK
Reading CHR banks #151/256... OK
Reading CHR banks #152/256... OK
Reading CHR banks #153/256... OK
Reading CHR banks #154/256... OK
Reading CHR banks #155/256... OK
Reading CHR banks #156/256... OK
Reading CHR banks #157/256... OK
Reading CHR banks #158/256... OK
Reading CHR banks #159/256... OK
Reading CHR banks #160/256... OK
Reading CHR banks #161/256... OK
Reading CHR banks #162/256... OK
Reading CHR banks #163/256... OK
Reading CHR banks #164/256... OK
Reading CHR banks #165/256... OK
Reading CHR banks #166/256... OK
Reading CHR banks #167/256... OK
Reading CHR banks #168/256... OK
Reading CHR banks #169/256... OK
Reading CHR banks #170/256... OK
Reading CHR banks #171/256... OK
Reading CHR banks #172/256... OK
Reading CHR banks #173/256... OK
Reading CHR banks #174/256... OK
Reading CHR banks #175/256... OK
Reading CHR banks #176/256... OK
Reading CHR banks #177/256... OK
Reading CHR banks #178/256... OK
Reading CHR banks #179/256... OK
Reading CHR banks #180/256... OK
Reading CHR banks #181/256... OK
Reading CHR banks #182/256... OK
Reading CHR banks #183/256... OK
Reading CHR banks #184/256... OK
Reading CHR banks #185/256... OK
Reading CHR banks #186/256... OK
Reading CHR banks #187/256... OK
Reading CHR banks #188/256... OK
Reading CHR banks #189/256... OK
Reading CHR banks #190/256... OK
Reading CHR banks #191/256... OK
Reading CHR banks #192/256... OK
Reading CHR banks #193/256... OK
Reading CHR banks #194/256... OK
Reading CHR banks #195/256... OK
Reading CHR banks #196/256... OK
Reading CHR banks #197/256... OK
Reading CHR banks #198/256... OK
Reading CHR banks #199/256... OK
Reading CHR banks #200/256... OK
Reading CHR banks #201/256... OK
Reading CHR banks #202/256... OK
Reading CHR banks #203/256... OK
Reading CHR banks #204/256... OK
Reading CHR banks #205/256... OK
Reading CHR banks #206/256... OK
Reading CHR banks #207/256... OK
Reading CHR banks #208/256... OK
Reading CHR banks #209/256... OK
Reading CHR banks #210/256... OK
Reading CHR banks #211/256... OK
Reading CHR banks #212/256... OK
Reading CHR banks #213/256... OK
Reading CHR banks #214/256... OK
Reading CHR banks #215/256... OK
Reading CHR banks #216/256... OK
Reading CHR banks #217/256... OK
Reading CHR banks #218/256... OK
Reading CHR banks #219/256... OK
Reading CHR banks #220/256... OK
Reading CHR banks #221/256... OK
Reading CHR banks #222/256... OK
Reading CHR banks #223/256... OK
Reading CHR banks #224/256... OK
Reading CHR banks #225/256... OK
Reading CHR banks #226/256... OK
Reading CHR banks #227/256... OK
Reading CHR banks #228/256... OK
Reading CHR banks #229/256... OK
Reading CHR banks #230/256... OK
Reading CHR banks #231/256... OK
Reading CHR banks #232/256... OK
Reading CHR banks #233/256... OK
Reading CHR banks #234/256... OK
Reading CHR banks #235/256... OK
Reading CHR banks #236/256... OK
Reading CHR banks #237/256... OK
Reading CHR banks #238/256... OK
Reading CHR banks #239/256... OK
Reading CHR banks #240/256... OK
Reading CHR banks #241/256... OK
Reading CHR banks #242/256... OK
Reading CHR banks #243/256... OK
Reading CHR banks #244/256... OK
Reading CHR banks #245/256... OK
Reading CHR banks #246/256... OK
Reading CHR banks #247/256... OK
Reading CHR banks #248/256... OK
Reading CHR banks #249/256... OK
Reading CHR banks #250/256... OK
Reading CHR banks #251/256... OK
Reading CHR banks #252/256... OK
Reading CHR banks #253/256... OK
Reading CHR banks #254/256... OK
Reading CHR banks #255/256... OK
Mirroring: MapperControlled
Saving ROM as iNES file: 500in1Classic.nes... OK
Done.
Using NROM.cs as mapper file
Using mapper: #0 (NROM)
Dumping...
PRG memory size: 32KB
Reading PRG... OK
CHR memory size: 8KB
Reading CHR... OK
Mirroring: Horizontal
Saving ROM as iNES file: 500.nes... OK
Done.
Using Coolboy.cs as mapper file
Using UNIF mapper: COOLBOY
Dumping...
PRG memory size: 32768KB
Detecting COOLBOY version... ERROR: Can't detect COOLBOY version
mutabor:
--- Цитата: Retrobit от 27 Август 2023, 18:55:45 ---Не находит маппер.
--- Конец цитаты ---
Замените version = DetectVersion(dumper); на version = 1;
И прошивку дампера dumper_nochrm2.zip заливали?
Retrobit:
mutabor , дык у меня ж кластеровский дампер на ATMEGA64. Купил уже прошитым. У вас для Ардуино.
Такой у меня
Спасибо, поменял на "1" и дамп пошёл. 32 Мб вышел файл. А теперь не знаю как его проверить. Ни один эмуль не поддерживает 473 маппер.
Кто-нибудь умеет писать мапперы на "С"? Дописать маппер в эту сборку хотелось бы:
libretro-fceumm
dump 32Mb
Retrobit:
--- Цитата: mutabor от 05 Май 2023, 21:52:38 ---Завершил исследования маппера KJ10A, обновил инфу выше. Он таки нормально шьется дампером, нужно только активировать прошивку через регистр (см. пост выше).
По итогу к сожалению ничего кроме MMC3 он не может, по сути просто аналог SMD133. Свободной PRG RAM у меня нет чтоб проверить нормально она работает или глючит как с SMD133.
В отличие от SMD133, который стартует в MMC3 режиме, этот стартует в своем NROM8K, по этому нормально не дампился как MMC3. Также у него нет поддержки NROM16K/NROM32K, но их можно сделать конфигурацией регистров MMC3. Также нельзя залочить запись в регистры маппера, одна надежда что игры не будут туда ничего писать. По прошивке видно, что китайцы типа пытались его лочить и включать NROM как в SMD133 записью 0x80/0x90 в R3, но по факту это бесполезно, в MMC3 режиме R3 вообще не используется, а режим устанавливается в R0.
Изменения кода дампера:
const ushort RegBaseV1 = 0x4800;
public void DumpPrg(IFamicomDumperConnection dumper, List<byte> data, int size)
{
dumper.Reset();
version = DetectVersion(dumper);
UInt16 baseReg = (UInt16)(version == 2 ? 0x5000 : RegBaseV1);
int banks = size / 0x4000;
dumper.WriteCpu(baseReg, 0xa0);
dumper.WriteCpu(0x8000, 0x06, 0);
dumper.WriteCpu(0x8000, 0x07, 1);
for (var bank = 0; bank < banks; bank++)
{
var r0 = (byte)0xa0; // 16k PRG page
var r1 = (byte)((bank << 1) & 0xff);
var r2 = (byte)(bank >> 7);
var r3 = (byte)0;
dumper.WriteCpu(baseReg, r0, r1, r2, r3);
Console.Write("Reading PRG bank #" + bank + "/" + banks + "... ");
data.AddRange(dumper.ReadCpu(0x8000, 0x4000));
Console.WriteLine("OK");
}
}
И прошивальщика:
public static void SetCoolboyBank(IFamicomDumperConnectionExt dumper, int bank, ushort coolboyReg)
{
dumper.WriteCpu(coolboyReg, 0xA0); //enable MMC3 access
dumper.WriteCpu(0xA001, 0x00); //enable write signal
dumper.WriteCpu(0x8000, 0x06, 0);
dumper.WriteCpu(0x8000, 0x07, 1);
var r0 = (byte)0xE0; // 16k PRG page, block MMC3 access
var r1 = (byte)((bank << 1) & 0xff);
var r2 = (byte)(bank >> 7);
var r3 = (byte)0x0;
dumper.WriteCpu(coolboyReg, r0, r1, r2, r3);
}
Сборщик ромов в аттаче, иструкция в readme.txtUpd: багфикс.
--- Конец цитаты ---
Должным образом дамп не выполняется. Если у игры нет CHR ,то да, игра возможно будет работать, но все CHR битые выходят. Прилагаю скрин как это выглядит на примере Ninja Gaiden III: The Ancient Ship of Doom. Сравнение CHR из работающей игры , и неработающей из дампа.
mutabor:
--- Цитата: Retrobit от 13 Сентябрь 2023, 10:35:50 ---Должным образом дамп не выполняется. Если у игры нет CHR ,то да, игра возможно будет работать, но все CHR битые выходят. Прилагаю скрин как это выглядит на примере Ninja Gaiden III: The Ancient Ship of Doom. Сравнение CHR из работающей игры , и неработающей из дампа.
--- Конец цитаты ---
В этих картриджах используется CHR RAM, которая копируется менюхой при старте игры, так что технически для дампера нет никакой разницы между PRG и CHR и избирательное повреждение CHR при дампе невозможно в принципе. А как вы эту игру вообще запустили с учетом того, что маппер нигде не эмулируется? Собирали вручную отдельную игру из PRG + CHR?
В общем потенциальные причины:
Никакой проблемы нет, игра криво собрана;
Ваш дампер ненадежно дампит эти картриджи;
Что-то не так с прогой, которая дампит. У меня все нормально дампиться, но у меня своя прога, которая значительно разошлась с кластеровской, по этому я выложил только функции управления маппером.
Короче попробуйте для начала несколько раз сдампить и сравнить результаты.
Если хотите, чтоб я глянул ваш дамп, выложите его на хостинг, с которого можно скачать.
P.S. То что вы выложили сравнения в хексе - вообще не похоже на сравнение изначально одинаковых фрагментов.
Retrobit:
mutabor,
Вот вы и ответили на свой вопрос. У вас своя прога. Я же комментировал ваш код , а не вашу прогу. С кластеровским дампером это не работает. Дамп сливается, ,но ни одной CHR рабочей в дампе нет. На скрине я показал 79 правильных байт в конце файла NJ-III. И дамп многоигровки , где видно фрагменты совпадений из тех 79 байт.
И да, я успешно вытащил игры из дампа которые без CHR, они работают в эмуляторе. Взял дамп пользователя Dianismult 600 в 1, у него CHR все рабочие. Я взял оттуда Ниндзю и прошел ее на эмуляторе , стал искать у себя. Сравнивать. PRG нахожу, CHR битый.
Я уже писал выше. Дампером слил игру ММС3 , там CHR идеальный . На эмуляторе прошел эту игру, проверил. Слил 7й маппер.Но игры там без CHR. Двухигровка, через ресет, сливается только первая игра, я уже и команды reset писал и опции --reset , не помогает. Игра первая работает на эмуляторе, почти точный дамп официального рома. Пару байт пираты только изменили.
Можно ли считать дампер рабочим?
Взял ваш фрагмент кода. Стал выяснять куда его вставлять. Я так понял вы использовали 3.0 версию клиента . Заменил в Coolboy.cs функцию DumpPrg() на вашу. Я так понял кластер вставил функцию определения MINDKIDS , но KJ01A-18 не детектится в ней, поэтому надо было вставить 1 чтобы он прошел проверку как Coolboy. Я так и сделал. Функцию записи не понял куда вставлять , у кластера они в исходниках. Я не компилировал клиента . Скачал у него в релизах готовую .В папке мапперов правил Coolboy.cs. может это причина ошибок, я не знаю.
Дамп залил на радостях на github , походу поспешил.
дамп
mutabor:
Вопрос на засыпку - а как вы искали где в дампе CHR регион?
P.S. Визуально дамп с гитхаба выглядит корректным.
Retrobit:
mutabor, искал путем исключения. Побайтовые сравнения делал. Брал у кластера дампы UNF , собирал вашим пропатченным мастером ром , брал у Dianismult чистый дамп. И только лишь мой дамп кривой.
Вот PRG игр и смещение их по порядку . Идут вначале UNROM ,по 128 кб:
001.2C010C - Contra
002.2E010C - Rush'n Attack
003.30010C - Jackal
004.32010C - Life Force
005.34010C - Saiyuuki World
006.36010C - Gun.Smoke
007.38010C - Ninja Crusaders
008.3A010C - Terra Cresta
009.3C010C - Makaimura
....3E010B - ??? (Чтото непонятное)
Наконец идет MMC3 c CHR 128 кб
010.42010C - Double Dragon
Ивот тут начинается... CHR этой игры находится тут - 1400131
Прикладываю файл. Compare(Double Dragon (J)).zip (439.96 КБ - загружено 87 раз.)
В папке я положил PRG+CHR игры из дампа 600 в 1 и свои PRG+CHR из своего дампа 500 в 1. А так же готовый ром моего дампа. Это я для сравнения вам даю.
Выборочно вытащил 14 игр из дампа Dianismult. Кому интересно можете ознакомиться. Много хлама на этом картридже. Например Микки Маусы вообще не играбельны, игра начинается в лесу. Как в нее играть если оружия нет у персонажей. Чтобы лес пройти , нужно оружием продолбить дверь к следующему уровню , как минимум.
В играх повырезали копирайты. Имейте ввиду! Макаймура здесь не проходимая. Один круг и игра зависает.Более того, картридж спустя некоторое время начинает глючить, например персонаж идёт влево, когда я нажимаю вправо и т.д. я стал дуть на каплю , глюки ушли. Видать питание высокое для него. Надо 3,3в. При 5в он долго не проработает. 600IN1CLASSIC(14_Games).zip (1188.66 КБ - загружено 124 раз.)
mutabor:
Я немного исследовал проблему с CHR. Предварительные выводы - в этой прошивке используется сжатие CHR, по этому естественно его просто так не извлечь. Убедиться легко - найдите пару уникальных сигнатур в оригинальном роме и в дампе и сравните расстояние между ними - в дампе окажется меньше, причем на "неровное" число байт. Никакими глюками дампера такое не объяснить. Я сам давно подумывал над сжатием CHR, да как-то все лень было этим заняться, а теперь можно позаимствовать декомпрессор у китайцев.
Стабилизатор 3.3В встроен в маппер, не надо колхозить. А вот с R43 разобраться не помешает.
Retrobit:
mutabor, Я тоже такой вариант рассматривал, будто шифрованный CHR . Но у меня вопрос возникает, а почему в дампе Dianismult , у которого больше игр чем у меня, они в чистом виде. По логике там сжатие нужнее.
Надо собраться и посчитать игры, если действительно игр больше чем на 32 мб , то это имело смысл .Странные данные между макаймурой и дабл драгоном. Может это и есть декомпрессор.
Дык что делать с R43, сдуть его? Не уверен что я такой найду на 10 кОм , он тут 0201.
Кто-то писал что на логику там стоят сопротивления, а вот по питанию надо стабилизатор поставить, иначе выходит из строя. Не знаю как поступить.
Кстати, ниндзя гайден 2 на этом картридже работает некорректно , на втором уровне игра визуально неиграбельна. Думаю проблема маппера ММС3 а не игры, потому что точно такую визуализацию я получал на эмуляторе playstation one "It Might Be NES". Если меня память не подводит.
mutabor:
--- Цитата: Retrobit от 15 Сентябрь 2023, 22:29:41 ---Но у меня вопрос возникает, а почему в дампе Dianismult , у которого больше игр чем у меня, они в чистом виде. По логике там сжатие нужнее.
--- Конец цитаты ---
--- Цитата: mutabor от 18 Апрель 2023, 19:24:02 ---А игр там 430 а не 600, потом начинают повторяться. И тут наипалово :lol:.
--- Конец цитаты ---
И вообще число игр не показатель - в 32 мб можно запихать 768 безмапперных треш игр игр по 32+8 или еще больше по 16+8. Или всего 120 MMC3 по 128+128.
--- Цитата: Retrobit от 15 Сентябрь 2023, 22:29:41 ---Странные данные между макаймурой и дабл драгоном. Может это и есть декомпрессор.
--- Конец цитаты ---
Декомпрессор где-то в коде меню очевидно.
--- Цитата: Retrobit от 15 Сентябрь 2023, 22:29:41 ---Дык что делать с R43, сдуть его? Не уверен что я такой найду на 10 кОм , он тут 0201.
--- Конец цитаты ---
0201 это сколько - 200 ом? Тогда сдувать однозначно, его отсутствие в принципе не критично.
--- Цитата: Retrobit от 15 Сентябрь 2023, 22:29:41 ---Кто-то писал что на логику там стоят сопротивления, а вот по питанию надо стабилизатор поставить, иначе выходит из строя. Не знаю как поступить.
--- Конец цитаты ---
Сомневаетесь - подайте питание на картридж и померьте напряжение на флешке. Лучше мерить именно так, а не воткнутым в консоль, потому что в консоли питание может подниматься из-за защитных диодов на сигнальных пинах.
--- Цитата: Retrobit от 15 Сентябрь 2023, 22:29:41 ---Кстати, ниндзя гайден 2 на этом картридже работает некорректно , на втором уровне игра визуально неиграбельна. Думаю проблема маппера ММС3
--- Конец цитаты ---
Да этот маппер вообще жуткая кривь, однозначно наихудший из тех что мне попадались. Я думаю пересадить с него флешку на карик с SMD133 - больше толку будет.
Talking_Sword:
--- Цитата: mutabor от 15 Сентябрь 2023, 23:15:04 ---в 32 мб можно запихать 768 безмапперных треш игр
--- Конец цитаты ---
Ну почему сразу "треш"? Среди безмапперных есть немало приятных игр. Да, они более простенькие, нежели более навороченные с мапперами, но это не делает их "трешем".
Retrobit:
--- Цитата: mutabor от 18 Апрель 2023, 19:24:02 ---P.S. А игр там 430 а не 600, потом начинают повторяться.
--- Конец цитаты ---
Дык на фандом-ком говорят что на моем карике 311 игр +108 мини игр Nice Code Software , остальные 81 это повторы. Тоже не айс. Потом я так понял у меня CHR на 128, а в 600 в 1 там на 256.Крепыш.У меня контра 128к ,американка, а в 600 в 1 на 256к, японочка.
--- Цитата: mutabor от 15 Сентябрь 2023, 23:15:04 ---0201 это сколько - 200 ом? Тогда сдувать однозначно, его отсутствие в принципе не критично.
--- Конец цитаты ---
Там маркировка, как вы и писали, 221. То я размер имел виду SMDшная блоха. Может из телефонов поломанных где-то поискать на 10 кОм. Я боюсь большой если поставить там ,он дорожки оторвёт со временем.
Я его сдул короче. Решил протестировать. Игралось нормально, часа полтора без глюков. Но сейчас и прохладнее в комнате стало. Ну посмотрим. Благодарю за помощь.
Это получается не картридж что-ли глючил а приставка , из-за резистора?
--- Цитата: mutabor от 15 Сентябрь 2023, 23:15:04 ---Сомневаетесь - подайте питание на картридж и померьте напряжение на флешке. Лучше мерить именно так, а не воткнутым в консоль, потому что в консоли питание может подниматься из-за защитных диодов на сигнальных пинах.
--- Конец цитаты ---
Я проверю питание как вы советовали, просто щупы у меня очень плохие сейчас. Я так понял выходит из строя не капля, а флэшка из-за высокого напряжения? Просто допустил мысли, если стоит стабилизатор в капле , то там же тоже нагрев идёт и он хуже может по качеству чем внешний поставить. Как считаете?
--- Цитата: mutabor от 15 Сентябрь 2023, 23:15:04 ---Да этот маппер вообще жуткая кривь, однозначно наихудший из тех что мне попадались. Я думаю пересадить с него флешку на карик с SMD133 - больше толку будет.
--- Конец цитаты ---
Часто говоря я его брал , чтоб записать безмапперную программку. Он крайне недорогой. Это привлекло. Но тут настигли смутные сомнения.
Склоняюсь уже купить просто Флэш карик китайский Evedreive. Но он дорогой очень. И не уверен стоит ли его брать.
mutabor:
--- Цитата: Retrobit от 16 Сентябрь 2023, 15:43:56 ---Может из телефонов поломанных где-то поискать на 10 кОм.
--- Конец цитаты ---
На старых материнках кучи их. Не обязателько 10к - пойдет 4.7 например.
--- Цитата: Retrobit от 16 Сентябрь 2023, 15:43:56 ---Часто говоря я его брал , чтоб записать безмапперную программку. Он крайне недорогой. Это привлекло. Но тут настигли смутные сомнения.
--- Конец цитаты ---
Ну для безмапперных то сойдет. Там MMC3 кривое и с PRG RAM он отвратительно работает.
godun:
подскажите плиз, можно ли этот кулбой переделать в одноигровку, запаяв на него прг и цхр по 8 мегабит? у меня есть такие 3 платы, я пока напаял на нее запаял прг, но нифига не заводится. какие перемычки нужно запаять или разомкнуть?
Sharpnull:
--- Цитата: godun от 06 Октябрь 2023, 13:09:31 ---можно ли этот кулбой переделать в одноигровку, запаяв на него прг и цхр по 8 мегабит?
--- Конец цитаты ---
Если это "стандартный" Coolboy, не проще изменить ром для запуска одной игры? Не разбираюсь в железе, просто интересно.
godun:
--- Цитата: Sharpnull от 06 Октябрь 2023, 16:26:26 ---Если это "стандартный" Coolboy, не проще изменить ром для запуска одной игры?
--- Конец цитаты ---
Стандартный, оно то проще, просто нет родных флешек. Но у меня есть похожая плата, на которой запаяны как раз две флешки, но я повредил дорожки на ней, пока экспериментировал.
mutabor:
Если делать безмапперную одноигровку - то сковырять каплю, кинуть перемычки на адреса, которые идут со слота через маппер, старшие адреса флешек посадить на землю/питание. Если надо MMC3 то нужно чтоб маппер был рабочим, перемычки никакие не нужны но надо правильно записать ром. Если под каплей SMD133 то он стартует в MMC3-512 режиме, в принципе можно задублировать PRG и CHR на весь объем флешки и должно завестись.
Не очень понятно по фото, но похоже там закорочено питание 3.3V и 5V - 2 дорожки между маппером и флешкой с соплей посередине. Если так - надо устранить и проверить питание, иначе флеш долго не прошивет и маппер возможно тоже.
Этот картридж не прошивается через дампер, есть ли смысл возиться?
P.S. Для многоигровки под такое надо писать сборщик т.к. разводка не предусматривает запайку CHR RAM.
godun:
Речь про ммс3, что под каплей не знаю, также не уверен что она живая но у меня их три одинаковые. Прг и цхр задублиповал , это понятно, и перемычки по разному запаивал. Шил прогером, потом запаивал.
Добавлено позже:
Дампером вообще не вариант? Если даже сигнал we ce вывести проводами на дампер?
Добавлено позже:
Ладно, наверно разберу заведомо рабочий такой и попробую на него напаять флешки. Посмотрим что выйдет
Навигация
Перейти к полной версии