Автор Тема: (NES) Создание меню.  (Прочитано 10606 раз)

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

Оффлайн ruslansh

  • Пользователь
  • Сообщений: 265
    • Просмотр профиля
(NES) Создание меню.
« : 04 Сентябрь 2013, 08:39:56 »
Ребята подскажите каким образом можно создать меню. Мне например нужна двухигровка с меню Чип и Дейл1 и 2.

Оффлайн evgeny

  • Пользователь
  • Сообщений: 1390
  • Пол: Мужской
    • Просмотр профиля
Re: (NES) Создание меню.
« Ответ #1 : 04 Сентябрь 2013, 08:55:01 »
Написать меню на ассемблере и встроить его в одну из игр. Но чтобы игры можно было выбрать у маппера должен быть соответствующий регистр, при записи в который происходит выбор банка.

Оффлайн ruslansh

  • Пользователь
  • Сообщений: 265
    • Просмотр профиля
Re: (NES) Создание меню.
« Ответ #2 : 04 Сентябрь 2013, 09:03:39 »
Ну вот у ммс1 свободно болтается А17. Там как раз получается что через него можно будет переключать банки?

Оффлайн Guyver(X.B.M.)

  • Пользователь
  • Сообщений: 2584
  • Пол: Мужской
  • Уничтожим Кронос!
    • Facebook
    • Twitter
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Re: (NES) Создание меню.
« Ответ #3 : 04 Сентябрь 2013, 11:13:27 »
А не проще взять дамп двухигровки и вытащить меню из него? Особенно если 2 игры одинаковые по весу - заменять всегда вторую, а первая будет всегда одна и та же. Или в четырёхигровке, первая всегда одна, в которой меню встроено, а остальные три меняй... Тогда и менять-то особо почти ничего не придётся...

Оффлайн babulya

  • Пользователь
  • Сообщений: 1204
  • Пол: Мужской
    • Просмотр профиля
Re: (NES) Создание меню.
« Ответ #4 : 04 Сентябрь 2013, 21:20:54 »
Guyver(X.B.M.), да,можно так-же заменить названия игр и даже сделать руссифицированное меню,но мне кажется,что даже заменить игры это не его.

Оффлайн Guyver(X.B.M.)

  • Пользователь
  • Сообщений: 2584
  • Пол: Мужской
  • Уничтожим Кронос!
    • Facebook
    • Twitter
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Re: (NES) Создание меню.
« Ответ #5 : 01 Март 2014, 09:15:10 »
Сегодня мне пришло письмо от пользователя opr с вопросом по этой теме. Поэтому выкладываю тут небольшой туториал с примером собранного рома с новой игрой, дабы люди меня не доставали, ибо это уже 5-ый человек с подобным вопросом! ;о)



Ссылка: http://chief-net.ru/temp/rom_konstructor.rar
« Последнее редактирование: 01 Март 2014, 21:02:33 от Guyver(X.B.M.) »

Оффлайн x.GREYSON.x

  • Пользователь
  • Сообщений: 532
  • Пол: Мужской
  • Электролыбка
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Re: (NES) Создание меню.
« Ответ #6 : 01 Март 2014, 18:23:49 »
Такой вопрос: возможно ли сделать ром с большим количеством игр разных мастей?

Оффлайн lartdighter

  • Пользователь
  • Сообщений: 13
    • Просмотр профиля
Re: (NES) Создание меню.
« Ответ #7 : 01 Март 2014, 18:54:25 »
Guyver(X.B.M.), Игры в меню должны быть все с одним маппером?

Оффлайн Guyver(X.B.M.)

  • Пользователь
  • Сообщений: 2584
  • Пол: Мужской
  • Уничтожим Кронос!
    • Facebook
    • Twitter
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Re: (NES) Создание меню.
« Ответ #8 : 01 Март 2014, 21:58:47 »
Вот какую многоигровку вы возьмёте, такие ромы в неё и вставляйте. Взяли многоигровку с 5 играми с нулевым маппером и парой игр с 4 маппером - так и вставляйте такие же. Если игра меньше по размеру, её тоже можно вставить, но нужно забить место нулями до размера оригинального рома, который вы собрались заменить. Или не нулями, а просто повторить маленький ром несколько раз, его код и графику, до нужного размера. Так многие делают, но такие игры не всегда запускаются. Больше я вам не советчик, так как матчасть не знаю. Пусть дальше советуют наши светлоокие знатоки асма и прочие хакеры ;о)))

x.GREYSON.x, сделать многоигровку довольно сложно человеку, который задаёт такие вопросы. Зачем делать? Бери готовую и заменяй в ней. Многоигровки разные бывают, с самыми разными играми, разного размера... Возьми такую многоигровку, разбери её на части, как я в своём примере. Заменяй нужные части на свои и собирай ром. Всё! И никакого асма учить не надо! Конечно, в том случае, если многоигровка запустится, может какая-то игра и не захочет таким простым способом работать. Тут уж ничего не поделаешь - учи асм! ;о)))

Из программ потребуются всего три простейшие. Это блокнот для создания батников. Тотал коммандер и hex редактор для разрезания рома на части и редактирования названий игр. Тотал коммандер может вообще не понадобиться, но я привык им делить на части файлы. А продвинутые хекс редакторы умеют делать и это... Ну и графику можно смотреть тайл эдитором, чтобы, к примеру, знать где она начинается, дабы правильно разделить ром на две части, на графику и код...
« Последнее редактирование: 03 Март 2014, 18:47:26 от Guyver(X.B.M.) »

Оффлайн opr

  • Пользователь
  • Сообщений: 186
    • Просмотр профиля
Re: (NES) Создание меню.
« Ответ #9 : 03 Март 2014, 17:55:45 »
Если заказывать самоделки с подобными ромами (наличие меню) не возможно, тогда в меню пропадает всякая надобность, что, как говорил небезызвестный Бородач, Прискорбно.
« Последнее редактирование: 04 Сентябрь 2014, 11:50:05 от opr »

Оффлайн Guyver(X.B.M.)

  • Пользователь
  • Сообщений: 2584
  • Пол: Мужской
  • Уничтожим Кронос!
    • Facebook
    • Twitter
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Re: (NES) Создание меню.
« Ответ #10 : 03 Март 2014, 18:45:46 »
Не пропадает. Сборники и на эмуляторах неплохо смотрятся... Можно объединять игры из одной серии, к примеру...

Оффлайн ПАУК

  • Пользователь
  • Сообщений: 1550
  • Пол: Мужской
  • Ну-ка, от винта!
    • Steam
    • Youtube
    • Просмотр профиля
Re: (NES) Создание меню.
« Ответ #11 : 03 Март 2014, 22:28:53 »
Немного оффтопну.

Что самое интересное, то в некоторых многоигровках есть эксклюзивы, которых нету по отдельности. Сейчас точно игры не скажу, но такие карики есть, даже китайские поделки.

Оффлайн CaH4e3

  • Пользователь
  • Сообщений: 3596
    • Twitter
    • Просмотр профиля
Re: (NES) Создание меню.
« Ответ #12 : 03 Март 2014, 23:10:56 »
такой эксклюзив ровно один - супер марио ворлд полная версия. одноигровая версия, очень распространенная у нас, всего лишь обрезок до 4 или 5 уровня, недоделка короче, и только на многоигровке (достаточно редкой к тому же), эта игра имеет полноценные 8 уровней и карту.

А пиратские игры часто содержат просто хаки, которых отдельно никто не думал даже делать, либо весь пиратский картридж целиком состоит из самостоятельных китайских поделок, но они тоже чаще настолько простые, что отдельно их бы никто не подумал делать.

Оффлайн JAM

  • Пользователь
  • Сообщений: 425
    • Просмотр профиля
Re: (NES) Создание меню.
« Ответ #13 : 05 Март 2014, 19:15:37 »
CaH4e3
4 мира в кастрированной версии, но и карта тоже есть. А в финальной -- 7 миров и последний босс.

Guyver(X.B.M.)
Спасибо за конструктор.

Всё же, надеюсь, что кто-нибудь напишет гид, как сделать меню с нуля. Ну или модифицировать уже имеющийся сборник, чтобы было не 76 разных игр, а 100, например. Или изменить мэпперы к определённым играм. Почему всегда одно и тоже: когда спрашиваешь что-то совсем уж сложное ответ один -- учи ASM? Хоть бы адрес дали. ASM 6502 знаю немного, может и разберу, что к чему. Т.е., например, сборник такой-то. По адресу $1234 находится меню, его размер -- $200 байт или нечто подобное.

По своему опыту знаю, что ASM нужен для того, чтобы найти и понять (и простить). Ну и для написания нового кода. Для изменения существующего кода достаточно иногда всего один или пару байт подправить.

Оффлайн blackbird_ru

  • Пользователь
  • Сообщений: 1232
  • Пол: Мужской
    • Просмотр профиля
Re: (NES) Создание меню.
« Ответ #14 : 05 Март 2014, 19:36:30 »
Цитата: JAM
как сделать меню с нуля

Если только под китайский маппер многоигровки писать.

Потому что возникают такие проблемы:
1) Переключение банков, которые ты решаешь или переписыванием кода в играх, или вводом нового регистра.
2) Стандартные мапперы (ММС1, ММС3) просто могут не вместить нужное количество игр.

Муторно слишком, так что китайцы на самом деле большие молодцы, что подарили нам кучу хитовых игр на одном картридже.

Оффлайн JAM

  • Пользователь
  • Сообщений: 425
    • Просмотр профиля
Re: (NES) Создание меню.
« Ответ #15 : 06 Март 2014, 13:22:13 »
Если только под китайский маппер многоигровки писать.
Да, именно этот 16-меговый сборник (один из) я и хотел разобрать и модифицировать.

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

Оффлайн blackbird_ru

  • Пользователь
  • Сообщений: 1232
  • Пол: Мужской
    • Просмотр профиля
Re: (NES) Создание меню.
« Ответ #16 : 06 Март 2014, 17:18:23 »
Цитата: JAM
этот 16-меговый сборник

Какой именно?
А вообще, смотрим для примера многоигровку от гайвера.

У неё 49 маппер и она содержит игры ММС3.
Смотрим маппер - http://wiki.nesdev.com/w/index.php/INES_Mapper_049
Это разновидность ММС3 (http://wiki.nesdev.com/w/index.php/MMC3), только с новым регистром в диапазоне 6000-7FFF.
Этот регистр умеет:
1) Выключать регистры ММС3.
2) Менять блоки по 128 кб.
3) Из этих блоков переключать 1 прг банк по 32 кб.

А вот его ограничения:
1) Игры с PRG и CHR не более 128 кб.
2) Нельзя использовать игры с PRG-RAM
3) Только игры под ММС3.
4) Не более 4 игр (ограничено длиной регистра 00-11)

А как устроено само меню.
В одну из игр, встраиваешь инициализацию маппера, потом код меню исполняется из рам памяти консоли по адресу 400. NMI прерывание при этом не включаешь.
При выборе игры меняешь адреса векторов, в RAM память по адресу 300 записывается код переключения блока с банком (это чтобы в момент переключения банка наш исполняемый код не оказался чёрти знает где), выключаешь доп. регистр и прыгаешь на RST прерывание загруженной игры.

Цитата: JAM
в наше время

В наше время это очень упростилось, запускай FCEUX, а там такие возможности для дебага, эх.
А вот как это всё делали в начале 90-х годов, правда загадка.

Оффлайн opr

  • Пользователь
  • Сообщений: 186
    • Просмотр профиля
Re: (NES) Создание меню.
« Ответ #17 : 10 Март 2014, 12:39:55 »
Когда общаюсь со знатоками программирования, чувствую себя примерно так же, как тот мужик в белом пиджаке и белой шляпе, с перебинтованной рукой:



Оффлайн GManiac

  • Пользователь
  • Сообщений: 1297
    • Просмотр профиля
Re: (NES) Создание меню.
« Ответ #18 : 10 Март 2014, 16:02:07 »
Это в юмор надо  :lol:

Оффлайн seira

  • Пользователь
  • Сообщений: 1
    • Просмотр профиля
Re: (NES) Создание меню.
« Ответ #19 : 17 Июль 2014, 19:01:35 »
Подскажите пожалуйста может без конструктора можно обойтись при создании рома с играми и создании меню? Закинул в прогу 4 файла *.nes создал в меню и  сохранил в отдельный файл!!! Пусть там даже мапперы будут записаны!!! Может такая программка всётаки существует? А то морока менять по конкструктору игры так!

Оффлайн JAM

  • Пользователь
  • Сообщений: 425
    • Просмотр профиля
Re: (NES) Создание меню.
« Ответ #20 : 18 Июль 2014, 05:20:39 »
Быстро только кошки трахаются. =) А так, чтобы за тебя программа всё сделала, в реальной жизни не бывает. По-крайней мере, пока =)

Оффлайн Guyver(X.B.M.)

  • Пользователь
  • Сообщений: 2584
  • Пол: Мужской
  • Уничтожим Кронос!
    • Facebook
    • Twitter
    • ВКонтакте
    • Youtube
    • Просмотр профиля
(NES) Создание меню.
« Ответ #21 : 18 Январь 2017, 12:25:15 »
Так как свои старые сообщения я не могу отредактировать, а папку temp на нашем сайте мы недавно почистили и все линки из этой темы сдохли, написал всё тут:

http://chief-net.ru/index.php?option=com_content&task=view&id=457&Itemid=33

Оффлайн Kinbeas

  • Пользователь
  • Сообщений: 4431
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
(NES) Создание меню.
« Ответ #22 : 18 Январь 2017, 21:00:11 »
а папку temp на нашем сайте мы недавно почистили и все линки из этой темы сдохли
Это называется "хернёй страдали".  <_<

Оффлайн KykyPyky

  • Пользователь
  • Сообщений: 516
    • Просмотр профиля
(NES) Создание меню.
« Ответ #23 : 19 Январь 2017, 00:39:05 »
Если вдруг кто наткнется на эту тему и будет нужна менюха, посмотрите мой пост вот здесь http://www.emu-land.net/forum/index.php/topic,71165.msg1212958.html#msg1212958