Вход

Просмотр полной версии : HBMenu DS


erutan
19.08.2012, 17:00
HBMenu DS: простое решение доморощенных проблем

Сегодня мы поразмыслим не просто над "хоумбрю для DS", а над матерью и отцом всех хоумбрю на DS.
http://3.bp.blogspot.com/_khdBE-bnbV4/TA1ynmS50JI/AAAAAAAAAiI/L3hgk1E_1m4/s1600/hbmenu_dsi.jpg
Чтобы понять, что это и зачем оно - вернемся к преданьям старины глубокой. Давным-давно, в далекой-далекой галактике для новейшей портативки от Nintendo (Game Boy Advance) изобрели Линкер. Какой именно и когда именно нас сейчас не интересует - это совсем другая сказка. В нашей же сказке важно то, что для правильной работы линкера было необходимо обучить софт (программы, игры) обращаться не куда задумала Nintendo (то есть к ReadOnlyMemory-области лицензионного картриджа), а к нужным местам перезаписываемой флэш-памяти. Для этого был необходим особый драйвер (ну или интерфейс; вообще можно причислить и к тому, и к другому) - DLDI (Dynamically Linked Disc Interface - интерфейс, динамически генерирующий ссылки [к областям памяти]).

С одной стороны, проблема работы линкеров и записанного на них софта, казалось бы, решена. Но тут же появилась новая проблема - количество линкеров от разных разработчиков начало расти, а DLDI нужен был для каждого линкера особый. Вылилось это в то, что потенциальный хоумбрю-разработчик, создав программку, не хотел и не мог подобрать DLDI для каждого линкера, и это увлекательное занятие - в виде пропатчивания готового софта необходимой ДЛДИ'шкой - легло на плечи пользователя.

История стала легендой. Легенда превратилась в миф, и на две с половиной тысячи лет Кольцо кануло в безвестность. До тех пор, пока случай не привел в его сети нового владельца.

Так система DLDI-патчинга попала и на Nintendo DS, спустя годы. И проблема осталась нерешенной.
Во времена эпохи DS разработчики пытались делать универсальные (подходящие для всех линкеров) программы. Но это, во-первых, получалось не всегда; а во-вторых, сама nintendo препятствовала существованию хоумбрю на DS. Например, ею были изменены (удалены) некоторые библиотеки в прошивке, без которых хоумбрю уже работать отказывались.

Но некоторые люди (команды devKitPRO и libnds) не сдавались, и сделали специальный хоумбрю-лоадер, названный HBMenu. Загружает он только хоумбрю, подчеркиваю. Никаких коммерческих ромов. Будучи изначально подготовленным для следующих линкеров:

TTDS,
Acekard2i,
EZFlash V,

в комплекте с программой идут переписанные лодеры для этих линкеров. То есть стоит закинуть с заменой файлы в корень флэшки, при запуске приставки со вставленным линкером мы попадаем не в привычную оболочку линкера, а в минималистичный HomebrewLoader.

Конечно, если у Вас нет желания затирать оболочку, ну или для Вашего линкера и возмножности такой нет - всегда можно скопировать файлы программы в директорию (например, "/HBMenu"), и запускать этот лодер, как обычную программу из привычной и "родной" оболочки Вашего линкера.

Для работы программы необходимо выполнить действия:

Скачать HBMenu из вложения к этому сообшению;
распаковать архив;
файлы из папки /hbmenu скопировать в нужную директорию на microSD-карте;
вставить линкер, включить приставку и запустить BOOT.NDS.


*** Специально для pspx.ru, перепечатка материала без разрешения автора запрещена ***

Источники:
http://kdshomebrew.blogspot.com/2010/06/ds-homebrew-menu-by-devkitpro.html
http://dldi.drunkencoders.com/index.php?title=Main_Page
http://devkitpro.org/wiki/Homebrew_Menu

http://i40.fastpic.ru/big/2012/0820/32/e6cc1af30026be5e4d2e7b0e9880e632.png

vash
19.08.2012, 19:06
...всегда можно скопировать файлы программы в директорию (например, "/HBMenu"), и запускать этот лодер, как обычную программу из привычной и "родной" оболочки Вашего линкера...
Получается, что с помощью лоадера линкера мы запустим лоадер, который позволит запускать хоумбрю, которые запускаются с помощью лоадера линкера? Так, в чём тогда отличие HBMenu от остальных родных лоадеров?

erutan
19.08.2012, 19:11
сама по себе HBMenu запускается везде - ну я, по крайней мере, не встречал еще линкера, который бы ее не "съел". Даже всякие китайские клоны r4 ее запускают. В этом была цель, и, видно, разработчики этим специально занимались. Но есть некоторый софт, который вышел или очень давно(когда многих линкеров еще в принципе не существовало), или очень недавно(когда разработчики линкеров, если еще живы, нацелены на 3DS, а не DS) - и вот эти хомки запускаются через ХБМеню.

Скорее всего, сам ХБМеню просто не требует для работы удаленных библиотек, тогда как для остального софта их подгружает, помимо всего прочего.

И - да, написал эту тему не спроста. Как раз на днях опишу полезную хомку, которую без хбменю.. Ну, я у себя на, в общем-то, неплохом для DSLite линкере TopToyDS запустить не могу.

Cerol24x
02.06.2018, 22:25
Спс за hbmenu, искал везде не мог скачать. Может тута повезет?
Спойлер : не скачалось. Мой комп ужасный. Есть какой-то сайт где можно скачать кроме gbatemp'а?

in1975
03.06.2018, 00:32
Cerol24x, Все прекрасно качается.