Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Homebrew Menu: Difference between revisions

From GameBrew
No edit summary
No edit summary
 
(2 intermediate revisions by 2 users not shown)
Line 4: Line 4:
|description=Simple launcher intended to support DS homebrew developers.
|description=Simple launcher intended to support DS homebrew developers.
|author=Team DevkitPro
|author=Team DevkitPro
|lastupdated=2023/09/03
|lastupdated=2024/11/12
|type=HB Launchers
|type=HB Launchers
|version=0.9.0
|version=0.10.0
|license=Mixed
|license=Mixed
|download=https://dlhb.gamebrew.org/dshomebrew2/hbmenu.7z?k33p0fil35
|download=https://dlhb.gamebrew.org/dshomebrew2/hbmenu.7z?k33p0fil3
|website=http://devkitpro.org/wiki/Homebrew_Menu
|website=http://devkitpro.org/wiki/Homebrew_Menu
|source=https://github.com/devkitPro/nds-hb-menu
|source=https://github.com/devkitPro/nds-hb-menu
}}
}}
The Homebrew Menu (hb menu for short) is a simple launcher menu which can be used to replace the menu on several DS flashcards. This menu supports the argv protocol needed for devkitARM compiled applications to make use of nitrofs as well as providing a soft reset feature where applications can exit back to the menu. Exiting to the menu is as simple as returning from main() or calling exit(0).
The Homebrew Menu (hb menu for short) is a simple launcher menu which can be used to replace the menu on several DS flashcards. This menu supports the argv protocol needed for devkitARM compiled applications to make use of nitrofs as well as providing a soft reset feature where applications can exit back to the menu. Exiting to the menu is as simple as returning from main() or calling exit(0).
Currently the menu is a simple text based interface but we intend to improve this in the near future.


==Installation==
==Installation==
Copy BOOT.NDS and the appropriate bootstrap file from the hbmenu folder in the archive.  
Copy BOOT.NDS and the appropriate bootstrap file from the hbmenu folder in this archive.
 
The latest release contains bootstrap launchers for the original R4, ezflash 5, dstt and Acekard 2(i). Copying all the files will give you a single SD card which will boot the Homebrew Menu on all 4 cards.
 
The bootstrap.cia file can be installed on a 3DS using FBI. This requires boot.nds on your SD card.


The latest release contains bootstrap launchers for the original R4, ezflash 5, dstt and Acekard 2(i).  
Place your homebrew games in the /nds folder.


Copying all the files will give you a single SD card which will boot the Homebrew Menu on all 4 cards.
==User guide==
===Passing arguments===
The Homebrew Menu supports passing arguments to launched .nds files via .argv files. The testfiles folder has an nds file which lists arguments and some sample .argv files.  


The bootstrap.cia file can be installed on a 3DS using FBI. This requires boot.nds on your SD card.
These are simple text files which start with the name of the nds file to run and a list of arguments to pass to the application. Here's a quick sample .argv file.
 
<pre># This is a comment
# commands can be placed on multiple lines
# first the name of the nds file to run
# this can include a path relative to the .argv file
argvTest.nds
 
# a single argument
argument1
 
# multiple arguments separated by spaces
argument2 argument3
 
# multiple arguments separated by tabs
argument4 argument5
 
# or even separated by both tabs and spaces
argument6 argument7 argument8</pre>
 
===File associations===
Data files can be associated with NDS files via .ext files. These are like .argv files, but instead of being run directly they are named after the file extension of the data file and run when that data file is opened.  


Place your homebrew games in the /nds/ folder.
For example, placing a file named txt.ext in the /nds folder with the contents /nds/notes.nds will open the notes.nds app when a .txt file is selected.


==Controls==
==Controls==
Line 41: Line 70:


==Changelog==
==Changelog==
'''v0.10.0'''
* Refactored for libnds 2.0.0
* Add support for SuperCard DS One
* Use latest upstream exception stub
* Use latest upstream bootloader
* rebuilt with latest tools & libraries
* Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience.
'''v0.9.0'''
'''v0.9.0'''
* Support added for ACE3DS+ and clones
* Support added for ACE3DS+ and clones

Latest revision as of 03:01, 17 November 2024

hbmenu
Hbmenu2.png
General
AuthorTeam DevkitPro
TypeHB Launchers
Version0.10.0
LicenseMixed
Last Updated2024/11/12
Links
Download
Website
Source

The Homebrew Menu (hb menu for short) is a simple launcher menu which can be used to replace the menu on several DS flashcards. This menu supports the argv protocol needed for devkitARM compiled applications to make use of nitrofs as well as providing a soft reset feature where applications can exit back to the menu. Exiting to the menu is as simple as returning from main() or calling exit(0).

Currently the menu is a simple text based interface but we intend to improve this in the near future.

Installation

Copy BOOT.NDS and the appropriate bootstrap file from the hbmenu folder in this archive.

The latest release contains bootstrap launchers for the original R4, ezflash 5, dstt and Acekard 2(i). Copying all the files will give you a single SD card which will boot the Homebrew Menu on all 4 cards.

The bootstrap.cia file can be installed on a 3DS using FBI. This requires boot.nds on your SD card.

Place your homebrew games in the /nds folder.

User guide

Passing arguments

The Homebrew Menu supports passing arguments to launched .nds files via .argv files. The testfiles folder has an nds file which lists arguments and some sample .argv files.

These are simple text files which start with the name of the nds file to run and a list of arguments to pass to the application. Here's a quick sample .argv file.

# This is a comment
# commands can be placed on multiple lines
# first the name of the nds file to run
# this can include a path relative to the .argv file
argvTest.nds

# a single argument
argument1

# multiple arguments separated by spaces
argument2 argument3

# multiple arguments separated by tabs
argument4	argument5

# or even separated by both tabs and spaces
argument6 argument7	argument8

File associations

Data files can be associated with NDS files via .ext files. These are like .argv files, but instead of being run directly they are named after the file extension of the data file and run when that data file is opened.

For example, placing a file named txt.ext in the /nds folder with the contents /nds/notes.nds will open the notes.nds app when a .txt file is selected.

Controls

D-Pad - Move through the list

A - Launch homebrew

Screenshots

hbmenu.png

Compatibility

Tested on:

DSTT/TTDS (firmware 1.17)
iEvolution CycloDS (firmware 2.2)
R4iMax (kernel 2.6)

Changelog

v0.10.0

  • Refactored for libnds 2.0.0
  • Add support for SuperCard DS One
  • Use latest upstream exception stub
  • Use latest upstream bootloader
  • rebuilt with latest tools & libraries
  • Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience.

v0.9.0

  • Support added for ACE3DS+ and clones
  • Use latest upstream exception stub
  • Use latest upstream bootloader
  • rebuilt with latest tools & libraries
  • Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience.

v0.8.0

  • Add associations of file extensions with NDS files by @chishm in #6
  • Use latest upstream exception stub
  • Use latest upstream bootloader
  • rebuilt with latest tools & libraries

v0.7.1

  • Rebuilt with latest bootloader & libraries.

External links

Advertising: