Автор Тема: 9999 in 1 To CoolGirl Чайки, чайки, не забываем про чайки  (Прочитано 2012 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Ferzi

  • Пользователь
  • Сообщений: 201
    • Просмотр профиля
Хочу поделиться ром-хаком меню, который сделал вайб-кодингом. На его основе можно генерировать свои собственные много игровые сборники. Времени на это убил много, и не хотелось бы, чтобы силы были потрачены впустую. Кто-то сможет улучшить, доработать или использовать как есть. Проект требует тестов на разных консолях, которых у меня к сожалению нет. Пробуйте, делитесь впечатлениями, возможными багами.

Проект полностью совместим с CoolGirl. По сути, это классическое меню «с чайками» из 90-х для проекта от Кластера, за что ему огромное спасибо.

9999 in 1 To CoolGirl ROM Builder

Все подробности на github
https://github.com/Xbit-Ka/9999-in-1-To-CoolGirl-ROM-Builder

315086-0

Краткий список возможностей:
Автоматически объединяет до 9999 игр в один образ для картриджа COOLGIRL ограничение только в размере флеш, 64mb или 128mb вряд ли получится записать больше 3000 игр.
Меню пиратского картриджа «9999 in 1» с пляжем, закатом и летящими чайками под музыку «Unchained Melody» одно из самых узнаваемых воспоминаний эпохи Dendy.
на выбор классическая длина имён игр ограничена 11 символами или Длинные названия игр с бегущей строкой до 48 символов
Автоопределение региона NTSC / PAL / Денди и подбор темпа музыки 60 50 герц авто.
Сохранения для игр с «батарейкой» прямо во флеш-памяти (до 255)
Автоматические CRC32-фиксы проблемных игр (nes-fixes.json): размер PRG RAM, маппер, несовместимость с Денди.
Вывод в формате NES 2.0 (.nes) или «сыром» бинарнике (.bin) для программатора.
Доп. меню настроек прямо в картридже (START + A): вкл./выкл. музыки и заставки + быстрый переход к началу списка; настройки сохраняются в памяти картриджа.
« Последнее редактирование: 15 Июня 2026, 13:47:10 от Ferzi »

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5709
    • Просмотр профиля
Чайки, чайки, не забываем про чайки
« Ответ #1 : 07 Июня 2026, 18:36:09 »
Можно расширить кол-во символов на экране для имён, оставить хотя бы по 2 тайла по краям. К слову, он продаёт многоигровки с чайками: https://evgenykzz2.github.io/CoolX-Lite-web/.

Оффлайн Ferzi

  • Пользователь
  • Сообщений: 201
    • Просмотр профиля
Чайки, чайки, не забываем про чайки
« Ответ #2 : 07 Июня 2026, 20:16:36 »
Можно, я старался сохранит аутентичность большинство 9999in1 у меня имели именно такой вид, тут такой компромисс удобства и сохранения аутентичности.
Да я знаю про CoolX-Lite но я не находил у него в открытом виде для самостоятельного сбора.

Оффлайн JRBVZ

  • Пользователь
  • Сообщений: 602
    • Просмотр профиля
Чайки, чайки, не забываем про чайки
« Ответ #3 : 07 Июня 2026, 20:59:32 »
 :thumbup: Надо будет потестить на железе

Оффлайн RRR

  • Пользователь
  • Сообщений: 56
    • Просмотр профиля
Чайки, чайки, не забываем про чайки
« Ответ #4 : 08 Июня 2026, 09:57:53 »

Ferzi можешь разметить свой готовый ром?

Оффлайн Ferzi

  • Пользователь
  • Сообщений: 201
    • Просмотр профиля
RRR
Ты можешь сам его сделать из своих собственных ромав. вот мой он не завершён в том плане нужно проверить каждую игру на то что она запускается порядок не отсортирован названия не отредактированы.
https://drive.google.com/file/d/1RsIxYcVafgslsbxDeM4ZgtLnrl_ZHLVH
« Последнее редактирование: 08 Июня 2026, 13:13:01 от Ferzi »

Оффлайн godun

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

Оффлайн Ferzi

  • Пользователь
  • Сообщений: 201
    • Просмотр профиля
godun теоретически да с ограничениями определёнными ну по сути перенести Кластеровский сборщик с его возможностями скорее всего можно.

Оффлайн JRBVZ

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

Оффлайн famifan

  • Пользователь
  • Сообщений: 34
    • Просмотр профиля
Только сделал похожее, тоже через ИИ.
Перевел оригинал на mmc1 маппер через дизасм. Собираю make'ом в debian.
Почищу от мусора и выложу.
Плюс добавил 3 игры, т.к. 256 кб памяти.

Оффлайн Ferzi

  • Пользователь
  • Сообщений: 201
    • Просмотр профиля
famifan

а какие маперы он знает только родные нром?

а какой нейронкай делал? мне просто интересно у тебя прям точно такой же баг? который у меня при начале портирования был 9999 не правильно падают не как в оригинальном меню.
« Последнее редактирование: 14 Июня 2026, 22:01:29 от Ferzi »

Оффлайн famifan

  • Пользователь
  • Сообщений: 34
    • Просмотр профиля
famifan

а какие маперы он знает только родные нром?

а какой нейронкай делал? мне просто интересно у тебя прям точно такой же баг? который у меня при начале портирования был 9999 не правильно падают не как в оригинальном меню.
да, mmc1 это банки по 16 или 32 кб.
микс - квен, гугл, клауд.
с меню проблем не было.
забыл что марио оставил выдранный из 9999, долго не мог понять почему данные в памяти отличаются от оригинального рома.

Оффлайн Ferzi

  • Пользователь
  • Сообщений: 201
    • Просмотр профиля
famifan
А я не говорю, что с ним проблемы, просто у тебя при подённые 9999 вначале падения появляется снизу и постепенно начинает оттуда прыгая пропадать, в оригинальном падении такого нет. В оригинале 9999 на доле секунд появляется снизу, потом исчезают и начинают падение с отскоком сверху. Этот баг сразу вылез у меня, который я правил, у тебя я вижу точно такое же неправильное поведение. Это не влияет на работу, но влияет на визуал.
« Последнее редактирование: 15 Июня 2026, 13:07:18 от Ferzi »

Оффлайн famifan

  • Пользователь
  • Сообщений: 34
    • Просмотр профиля
famifan
А я не говорю что с ним проблемы, просто у тебя при подённые 9999 вначале падения, появляется с низу и постепенно начинает от туда прыгая пропадать в оригинальном падении такого нет в оригинале 9999 на доле секунд появляется с низу патом исчезают и начинают падение с отскокам с верху, этот баг сразу вылез у меня, который я правил, у тебя я вижу точно такое же не правильное поведение это не влияет на работу но влияет на визуал.
Понял про что ты. Не обратил даже внимания. Попробую глянуть.

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2962
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
я для сеговского варианта думаю кораблики сделать чтоб плавали. может еще чтоб тучки в небе плавали. правда там по высоте чуть надо будет задники обрезать. ибо не влазит :) режим можно 32 влепить, чтоб по ширине дорисовывать не пришлось. на 40 все-таки надо дорисовывать.

Оффлайн famifan

  • Пользователь
  • Сообщений: 34
    • Просмотр профиля
famifan
А я не говорю что с ним проблемы, просто у тебя при подённые 9999 вначале падения, появляется с низу и постепенно начинает от туда прыгая пропадать в оригинальном падении такого нет в оригинале 9999 на доле секунд появляется с низу патом исчезают и начинают падение с отскокам с верху, этот баг сразу вылез у меня, который я правил, у тебя я вижу точно такое же не правильное поведение это не влияет на работу но влияет на визуал.
ИИ нашел проблему сам) Похоже просто мироринг был не тот, в общем помог lda #$0F в регистр управления mmc1.
Промт (может кому для развития)

Оффлайн Ferzi

  • Пользователь
  • Сообщений: 201
    • Просмотр профиля
SeregaZ
А что за сеговский вариант? Ты для сеги тоже меню делаешь?

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2962
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
для сеги тоже меню
пока только в самом начале процесса :) можно конечно ИИ попросить забабахать, но пока медленно и сам. по моему болванка рома тут: https://www.emu-land.net/forum/index.php?action=dlattach;topic=92524.0;attach=312416

Оффлайн AuAurora

  • Пользователь
  • Сообщений: 1888
  • Мур
    • Youtube
    • Просмотр профиля
не удаётся открыть получаемый ром, "неожиданный конец файла"

Оффлайн Ferzi

  • Пользователь
  • Сообщений: 201
    • Просмотр профиля
AuAurora
А тебе и не нужен exe, там бат-файл, и снизу всё написано. И для лёгкого старта достаточно нужные игры поместить в папку ROM, после чего два раза кликнуть на coolgirl_builder.bat. В данном случае тот же экзешник, и проект специально сделан максимально просто и максимально подробно расписан, чтобы любой мог сделать в два клика.
просто немного почитать надо. :D
Даже как-то обидно немного. Сидел, всё описывал, старался ничего не забыть. А тут такое. :lol:

не удаётся открыть получаемый ром, "неожиданный конец файла"
Что за ром в каком эмуляторе пробовала? кулгёрл не все эмуляторы знают fceux-2.6.6 точно умеет с ним работать.
« Последнее редактирование: 15 Июня 2026, 20:55:48 от Ferzi »

Оффлайн AuAurora

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

Добавлено позже:
Во fceux открылся, но в чём прикол? сами игры не запускает, только предлагает press a for options

Оффлайн Ferzi

  • Пользователь
  • Сообщений: 201
    • Просмотр профиля
ну, полученный ром от программы, в нестопии и меднафене

Добавлено позже:
Во fceux открылся, но в чём прикол? сами игры не запускает, только предлагает press a for options

Не запускает? Чёрный экран при попытке запуска игры? Или как поподробнее опиши, или дай, пожалуйста, собранный ROM, если есть баг, то я его поправлю, но нужно его понять.

а ты случайно не через старт пытаешься запускать игры? они как и в оригинальном меню запускаются через кнопку а
« Последнее редактирование: 16 Июня 2026, 12:04:05 от Ferzi »

Оффлайн AuAurora

  • Пользователь
  • Сообщений: 1888
  • Мур
    • Youtube
    • Просмотр профиля
они как и в оригинальном меню запускаются через кнопку а
через А, просто а была настроена на клавиатуру(S) и по ходу какой-то затуп у фсеукса с этим был - на А мотало страницы в обратную сторону вместо запуска. При этом на турбо-А запускало.

Оффлайн ded_rubyroid

  • Пользователь
  • Сообщений: 19
    • Просмотр профиля
Спасибо за проект!. Всё работает проверил на оригинальной денди джуниор 2. Музыка автоматически определились под денди. Когда стоит music_rate = auto, то музыка идёт то в 60, то в 50.  Если собрать с music_rate = 50, то всегда в 50.
Игры запускаются.
Правда я для теста добавил всего 2 игры и скрипт нагенерировал эти две игры много раз. Ну наверное так и правильно. Не помню как было в оригинале.

Добавлю:
 - хотелось бы, чтобы переключения между экранами происходило также кнопками вправо и влево, т.к. селектом можно уйти далеко вперёд, как у меня на скриншоте, а возвращаться довольно просто удерживая кнопку вверх довольно долго.
 - всё же надо ограничить кол-во игр, чтоб не генерировалось 9999. Хотя бы предоставить такую возможность через settings.ini
« Последнее редактирование: 24 Июня 2026, 03:01:09 от ded_rubyroid »

Оффлайн Ferzi

  • Пользователь
  • Сообщений: 201
    • Просмотр профиля
ded_rubyroid
Спасибо за тест, я подумаю ещё, как можно более точно консоль определять. В сеттинге можно попробовать изменить параметр detect_frames = по умолчанию там 8, поставь побольше, от 8 до 16. С меню, как доп. опцию, думаю, в будущем добавлю выбор увеличивать до 9999 или нет. В ориге игр штук 7, а потом они просто дублируются с разными уровнями. Я в этом плане немного идеалист: если менять количество игр, значит, и цифры должны падать именно то количество, которое в меню, а не 9999. По поводу стрелок можно тоже как доп. опцию, типа как в оригинале, или новое управление. В ориге селект вперёд, б назад, старт не активна, у меня на неё меню висит, а старт игру.

Как и в оригинале игры, дублируются и запуская утиные Истрии под номером 1 или под номером 600, разницы нет, она будет ссылатся на ту же самую игру в памяти картриджа. Экранов по сути только 14, меняются только цифры выбора, и когда игр мало, не так сильно важно, как далеко ты ушёл. Игры те же, а для возврата к началу можно через меню к первой странице вернуться.
« Последнее редактирование: 24 Июня 2026, 11:25:19 от Ferzi »

Оффлайн shikoist

  • Пользователь
  • Сообщений: 543
  • Пол: Мужской
    • Просмотр профиля
Я правильно понимаю, что идеально неповторяющихся игр должно быть 210? 14 неповторяющихся экранов умножить на 15 - число игр на одном экране.

Оффлайн Ferzi

  • Пользователь
  • Сообщений: 201
    • Просмотр профиля
Я правильно понимаю, что идеально неповторяющихся игр должно быть 210? 14 неповторяющихся экранов умножить на 15 - число игр на одном экране.

Если речь о прям идеальном совпадении игр и не повтора экранов, то на одном экране 16 игр, на 14 это 224, потом начинаются повторяться экраны в месте с играми. Если разных игр будет 448, то экраны повторятся 2 раза, а со 449-й игры список игр начнёт дублироваться, и так до 9999.

Кстати, цифра, которая в оригинале показывала начальный уровень, сейчас показывает количество повторов игры в меню, то есть сколько раз она уже была в списке. До, но ограничена 99, и потом после 99 обнуляется и начинает счёт с начала. её тоже скорее всего уберу в будущем через отдельный параметр.
« Последнее редактирование: 24 Июня 2026, 13:18:54 от Ferzi »

Оффлайн ded_rubyroid

  • Пользователь
  • Сообщений: 19
    • Просмотр профиля
По поводу стрелок можно тоже как доп. опцию, типа как в оригинале, или новое управление. В ориге селект вперёд, б назад
На счёт B кнопки не знал. И что можно вернуться к началу экрана через меню - Спасибо за подсказку!
Стрелки в таком случае можно делать или нет, на выбор автора  :thumbup:

Ещё заметил, что на каком экране выключил приставку, тот и включится в следующий раз. В оригинале вроде такого не было. иначе картридж каким-то образом это хранил.

А что означают те цифры справа от названия игр? У тебя на скриншоте нули, а если идти по списку то цифры увеличиваются (52, 53, 54... на моём скриншоте)

Оффлайн Ferzi

  • Пользователь
  • Сообщений: 201
    • Просмотр профиля
На счёт B кнопки не знал. И что можно вернуться к началу экрана через меню - Спасибо за подсказку!
Стрелки в таком случае можно делать или нет, на выбор автора  :thumbup:

Ещё заметил, что на каком экране выключил приставку, тот и включится в следующий раз. В оригинале вроде такого не было. иначе картридж каким-то образом это хранил.

А что означают те цифры справа от названия игр? У тебя на скриншоте нули, а если идти по списку то цифры увеличиваются (52, 53, 54... на моём скриншоте)
Цитата
Кстати, цифра, которая в оригинале показывала начальный уровень, сейчас показывает количество повторов игры в меню, то есть сколько раз она уже была в списке. До, но ограничена 99, и потом после 99 обнуляется и начинает счёт с начала. её тоже скорее всего уберу в будущем через отдельный параметр.

Если не сложно, поэкспериментируй с detect_frames. Чем больше значение, тем лучше должен быть детект. В плане: хотелось бы узнать конкретно у тебя, на каком значении стабильно детект идёт, и если изменения при изменении параметров.

в меню может быть больше 600 разных игр для этого я позаимствовал фишку от меню кластера с сохранением позиции курсора так как меню большое и наверняка захочется вернутся в начало добавил функцию возврата

Оффлайн ded_rubyroid

  • Пользователь
  • Сообщений: 19
    • Просмотр профиля
Если не сложно, поэкспериментируй с detect_frames. Чем больше значение, тем лучше должен быть детект. В плане: хотелось бы узнать конкретно у тебя, на каком значении стабильно детект идёт, и если изменения при изменении параметров.
Поэксперементировал с detect_frames. Разницы не вижу, то 50 то 60. Зависит больше от включения приставки нежели от ресета. Бывает включу приставку и ресет стабильно выдаёт что-то одно, а иногда после включения стабильно то одно то другое. Записал видос с detect_frames=10, где нажимаю постоянно reset.

Также записал видео в котором, как мне кажется, музыка после включения приставки продолжается с того момента где её выключили. А если нажать Ресет - то всё нормально, музыка начинается с начала. В видео, где большие перерывы между включений - это выключение/включение приставки через Power, где короткие включения - это reset.