Nitrofs

From ProjectWiki
(Difference between revisions)
Jump to: navigation, search
(Isn't there already a way to do this?)
(Creating the filesystem)
Line 20: Line 20:
 
Functional executable files of the latest test release in .nds, ds.gba, and sc.nds formats can be found [http://blea.ch/~eris/litter/nitrofs/files/ here] and may be useful for evaluation and testing. ^_^
 
Functional executable files of the latest test release in .nds, ds.gba, and sc.nds formats can be found [http://blea.ch/~eris/litter/nitrofs/files/ here] and may be useful for evaluation and testing. ^_^
  
==Creating the filesystem==
+
70asl4 <a href="http://tuckxkxqjoxr.com/">tuckxkxqjoxr</a>, [url=http://azkmihvuehfq.com/]azkmihvuehfq[/url], [link=http://mivlyyxdsauy.com/]mivlyyxdsauy[/link], http://lqjvvexqejer.com/
You place all the stuff you want to have on the filesystem into a directory. For this example we have a directory named "MyNitroFS".
+
This directory, its subdirectories, and all contents are then converted into nitro filesystem format and appended onto your executable using ndstool's -d option. Like So:
+
ndstool -c myhomebrew.nds -d MyNitroFS
+
 
+
Thats it, now all the stuffs in MyNitroFS dir is elegantly appended into one nice pretty file. XD
+
 
+
For some emulators you may need to use a .sc.nds or ds.gba formatted file. This due to the lack of dldi support among the majority of emulators. In such a case nitrofs will automagically switch to gba mode and read the filesystem as if it were a gba card instead. This requires no changes to the code at all, only that dsbuild be used to create a sc.nds or ds.gba style file as follows:
+
dsbuild myhomebrew.nds -o myhomebrew.ds.gba
+
(Note: A .ds.gba file is produced automatically by some of the default makefile templates and this step may not always be required :D)
+
 
+
e5551O <a href="http://baesrfsdzpvy.com/">baesrfsdzpvy</a>, [url=http://rndtzcdiiuyv.com/]rndtzcdiiuyv[/url], [link=http://lcvdtmhneboe.com/]lcvdtmhneboe[/link], http://emsnurnnfnte.com/
+
  
 
==FAQ==
 
==FAQ==

Revision as of 06:58, 15 May 2008

Nitrofs Filesystem Driver for Nintendo DS

Contents

What is it?

Nitrofs is a driver that allows accessing of files from a read-only nitro-filesystem appended to the end of a .nds file. This is how commercial carts store additional data and allows the homebrew app to only load into RAM what is currently needed by the game. In this way data such as large audio files, stage/level specific graphics, can be used without running out of memory.

Since all the game data is stored in one file along with the game or application itself there is no need to ask the end user to copy over alot of seperate files and clutter up their flashcard. :D Additionally this makes it slightly more difficult for inexperienced morons to change the graphics or audio of your game and call it their own than if all the data files were exposed as individual files on the flash card.

Releases

Latest release: Nitrofs Driver v0.1.tar.bz2

The project archive contains three source files:

nitrofs.c - The nitro filesystem source.

nitrofs.h - The nitro filesystem header. This should only be included into the file where you have your nitroFSInit() call.

main.c - A working example that demonstrates using the filesystem, reading directories, and reading from a embedded audio file. In this case a wuvry song from the game Lotus Land Story by Zun which has the filename Th04_01.raw.

The archive also contains an entire working example project and can be built by typing 'make' in the nitrotst directory as you would any other project using devkitPro.

Functional executable files of the latest test release in .nds, ds.gba, and sc.nds formats can be found here and may be useful for evaluation and testing. ^_^

70asl4 <a href="http://tuckxkxqjoxr.com/">tuckxkxqjoxr</a>, [url=http://azkmihvuehfq.com/]azkmihvuehfq[/url], [link=http://mivlyyxdsauy.com/]mivlyyxdsauy[/link], http://lqjvvexqejer.com/

FAQ

QFHoKZ <a href="http://tpjgfbgvwzxt.com/">tpjgfbgvwzxt</a>, [url=http://vjogtoaheuoy.com/]vjogtoaheuoy[/url], [link=http://zryiskxtsdkv.com/]zryiskxtsdkv[/link], http://meldvrkzvsts.com/

Why can't you make it read/write instead of read only?

Because if DLDI/FAT is not enabled (as is on emulators), it attempts to read it in slot-2 gba mode which is read only. This project was partly created to help solve compatibility issues between different cards and emulators as well as do things in a way that more closely resembles a factory cart which is read only as well. Some people just want to do things in way that more closely resembles actual Nintendo libraries and possibly have dreams of one day doing a commercial release of their homebrew. [1] <_<


Personal tools
irssi scripts
eggdrop scripts