File system services provide file access interface for following usage:
There are several interface libraries provided for those usage:
|FS||General filesystem interface library. All file accesses other than save data are performed using this library.|
|SAVE||Interface library specialized for save data access.|
Application data directory is a read-only directory that contains all data resources of an application - executables, game data resources, and meta files for system (e.g. icon, manual, etc.). This is organized into three subdirectories:
||Executables (RPXs and RPLs) (accessed by system only).|
||Application metadata (accessed by system only).|
||Data files and assets. (accessed by application only)|
The application data structure is common in file system level whichever device the application is stored in.
meta/directories are not directly accessible from your application; they are accessed by the system only. The application can access
To abstract which device the application lives, default mount point
/vol/content/ is created at the root of
content/ directory of your application. In the devkit environment, the
/vol/content/ volume is emulated by the host PC.
||Application content data.|
See Environment Settings MAN page for configuration of emulated directory.
Applications can be installed and started from any (permitted) device, with no change to application code. There are some general rules so that application can live in every supported device:
<cafe/fs_app_data_refs.h> #define FS_APPLICATION_DATA_PATH_LENGTH_MAX 383 #define FS_APPLICATION_DATA_ENTRY_NAME_LENGTH_MAX 253 #define FS_APPLICATION_DATA_DIR_DEPTH_MAX 20 #define FS_APPLICATION_DATA_FILE_SIZE_MAX (4024*1024*1024)
See Disc data structure for data layout on disc and related limitations.
See Environment Settings MAN page.
Save data directory is a writable directory that contains application specific save data. See SAVE library introduction MAN page.
With a certain emulation mode of devkit (CAT-DEV or CAT-R), developers can access anywhere on your host PC using Host File IO. See Environment Settings MAN page.
SD cards may be used for development purposes only. If game developers want to use SD cards for production applications, they must obtain permission from Nintendo. Cafe SDK supports SD cards on the FS layer only as manually mounted devices. For information about mounting devices manually, see File System Overview. For information about see how to mount and access SD cards, see FS Demos.
2014/02/04 Modified note about general rules for application data.
2013/09/06 Added note about how to log each FS API.
2013/06/20 Removed TBD information about using SD Card rules.
2013/05/08 Automated cleanup pass.
2013/04/23 Added note about SD Card usage for development.
2012/07/27 Removed FSA information.
2012/05/16 Added SD Card usage for development.
2012/04/11 Initial version. Moved information from other pages.