Skip to content

Savefile

james edited this page May 28, 2019 · 5 revisions

Flipnote Studio's savefile stores all of the Flipnotes saved under System Memory, as well as the settings and user details.

The savefile can be found stored on the DSi NAND at ⁨title⁩/⁨00030004⁩/<title id>/⁨data/public.sav. Where title ID varies depending on the console's region:

Region Title ID
Europe 4B475556
Americas 4B475545
Japan 4B47554A

File Structure

public.sav is a FAT12 image (protip: it can be opened as a regular disk .img file) containing the following file structure:

public.sav
├── eula.txt
├── friend.pls
├── latest1.pls
├── mark0.pls
├── mark1.pls
├── mark2.pls
├── mark3.pls
├── nand.pls
├── option.bin
├── recent10.pls
├── remind.pls
└── ugo
    ├── 001
    ├── ...
    └── 032
  • eula.txt - Stores a copy of the most recent EULA / Terms of Service from Flipnote Hatena, or whatever third-party replacement service you connected to last. It is plaintext and encoded as little-endian utf-16.

  • Any file ending in .pls - This is a playlist file, which are fully documented here. TL;DR these store lists of Flipnote filepaths for various different purposes, such as tracking which ones you added stickers to.

  • option.bin - Stores user settings and Flipnote Studio ID. Its structure is partially documented below.

  • ugo/... - All of the Flipnotes that you save to System Memory are stored here. The subdirectory (001 to 032) seems to be chosen at random, but that isn't certain.

Option.bin

This file is used to stores user settings like birthday, drawing hand preference, Frog display, the number of pages to show when tracing is enabled, and so on. It also stores the user's Flipnote Studio ID.

Offset Type Details
0x0 uint8 App revision; usually 0x02, but if set to 0x01 in the Japanese version the app will show a small introduction to "Version2" on startup
0x1 uint8 Stylus; right hand = 0x00, left hand = 0x01
0x2 uint8 Sound effects; on = 0x00, off = 0x01
0x3 - Unknown
0x4 uint8 Set to 0x01 if the user has connected online?
0x5 uint8 Introduction tutorial completed; yes = 0x01, no = 0x00
0x6 uint8 Default pen type; 0x00 to 0x0E
0x7 uint8 Default paint type; 0x00 to 0x0E
0x8 uint8 Default eraser type; 0x00 to 0x0E
0x9 uint8 Default state for "Trace" tool; on = 0x01, off = 0x00
0xA uint8 Default state for "Copy" tool; on = 0x01, off = 0x00
0xB - Unknown
0xC uint8 Advanced tools; on = 0x01, off = 0x00
0xD uint8 Number of pages to trace
0xE uint8 Frog display; on = 0x00, off = 0x01
0xF uint8 Start on calendar; on = 0x01, off = 0x00
0x10 uint64 User's Flipnote Studio ID in little endian byte order
0x18 uint16 Savefile checksum
0x1A uint16 User's birth year
0x1C uint8 User's birth month
0x1D uint8 User's birth day
0x1D-0xFF - Always null