GP2X Filesystem 'Standards'

From wiki.gp2x.org

Although no standard is followed in the GP2X's filesystem other than the Filesystem Hierarchy Standard, a common way to store and retrieve common data (i.e. savegames) would be pretty nice and allow for development of backup/restore utilities and the like.

The GP2X's internal (NAND) memory is mounted as the root filesystem. The SD card, if present, is mounted at boot as /mnt/sd.

The following could be a standard way to store a savegame suitable to be graphically represented to the user (through a dedicated utility on the GP2X or on the owner's computer):

  • A root game data folder exists on the device and/or the SD card. It has a common name, i.e. /SavedGames or /mnt/sd/SavedGames.
  • Inside the root game data folder, subfolders are created for each game that have a unique name, for example in reverse DNS notation, i.e. "com.example.ExampleRacingGame" for an example racing game made by example.com.
  • Inside each subfolders, the following files are stored:
    • 'Game.ini', a UTF-8 text file that should contain the name of the game. A nice format for it would be the regular INI format as in the following example:
[game]
name = The Example Racing Game
manufacturer = Example.com
    • 'GameIcon32.png' and 'GameIcon64.png' are optional images; if present, they may be used to graphically represent the game to the user. The first should be at a size of 32x32, the second at a size of 64x64. They should be clipped at this size if unused.
    • 'GameDataIcon32.png' and 'GameDataIcon64.png' are optional images that, if present, may be used to graphically represent a single game data item (i.e. savegame) to the user. Size constraints are as for 'GameIconXX.png' files.
    • One or more subfolders whose names are ASCII renditions of (base 10) numbers; for example "0", "1", "2", "3", "4" and so on, up to infinity. Each of these subfolder represents a single game data item (i.e. savegame). Each of these subfolders may contain the follow:
      • A UTF-8 text file named 'GameData.ini' that should contain information about the saved game, such as a user-visible name. It could be in the regular INI file format as in the following example:
[gamedata]
name = Saved Career 12 - Gold Cup Championship
date = 2005-12-01 15:30 GMT
      • Optional 'GameDataIcon32.png' and 'GameDataIcon64.png' image files. If present, these files are used to represent the game data item. If absent, the corresponding files in the game folder are used instead.
      • Any other file, containing saved game data in a format proprietary to the game.
Personal tools