Flipnote Studio documentation

How the original DSi application works, from the editor to its files and online client. Each guide explains what has been checked and what is still uncertain.

Research drawn from the Flipnote Decompilation Project, Flipnote Collective Docs, and the hatena-server wiki. Every article names its sources.

Start here

Making Flipnotes

Files and formats

PPM animation filesThe container, metadata, thumbnail, frames, sound and signature area.PPM metadata and provenanceAuthor fields, filenames, lock settings and thumbnail selection.PPM animation framesDecode frame offsets, row compression, differences and visibility safely.PPM sound dataFind the four tracks, frame triggers and two playback speed fields.Original PPM serialisationFollow the four Studio builds from in-memory editor state to the queued PPM body.PPM packaging and acceptanceSeparate the emitted body, 0x90-byte package trailer, and original file acceptance checks.Identity and filenamesHow author labels and file names appear in original Flipnote data.Access requiredImage resources and palettesPPM thumbnails and the image resources used by Hatena pages.NBF backgroundsDecode indexed top-screen images used by online pages and menus.NPF palette imagesDecode compact transparent images and their padded row width.NTFT direct-colour imagesRead RGBA5551 pixels used by online pages and UGO icons.UGO menusThe structured resources that drive many Flipnote Hatena screens.TMB previewsA small Flipnote preview carrying metadata and a thumbnail.Playlist and list filesThe .lst and .pls formats used alongside Flipnote browsing.Internal files and storageSeparate ROM resources, local Flipnotes and online response files.Embedded layout recordsThe JNBL, JNCL and JNLL tables found alongside Studio menu resources.NitroFS: Japanese V1All 8 NitroFS files in Japanese V1, with offsets, sizes and formats.NitroFS: Japanese V2All 26 NitroFS files in Japanese V2, with offsets, sizes and formats.NitroFS: American V2All 37 NitroFS files in American V2, with offsets, sizes and formats.NitroFS: European V2All 56 NitroFS files in European V2, with offsets, sizes and formats.Embedded assets and codecsHow archives, fonts, layouts and sound resources are packed into Studio.NARC archives and compressionTrace an embedded UI member from ROM storage to decoded bytes.Fonts, text and message tablesConnect localised strings to glyph resources and UI layout.Studio message catalogueHow the text tables map UI objects and prompts to numbered resource entries.Message meanings and UI statesWhat the layout and message entries mean, including placeholders, sample values and errors.SDAT and interface soundRead the shipped sound archive and distinguish cues from recorded Flipnote audio.

Flipnote Hatena

Flipnote Hatena architectureA map of menus, documents, Flipnotes and user actions in the DSi client.Nintendo Authentication ServerResearch notes on the network authentication stage.Access requiredHatena authenticationResearch notes on the online session stage.Access requiredFlipnote Hatena clientHow Studio chooses online routes and processes replies.Hatena requestsHow ordinary client actions become GETs, POSTs and file transfers.Hatena responses and errorsInterpret status, message bodies, redirects and client error codes.Hatena browser and documentsHow the DSi client turns online responses into visible pages.Hatena HTML controlsNon-standard metadata that connects a page to Studio's player and actions.Posting Flipnotes and commentsDistinguish a posted animation from a one-page drawn comment.Stars, favourites and community actionsTrace interactive page controls from metadata to a request and a visible result.Hatena action flowsPosting, drawn replies, command codes and keyboard entry from a client screen.Keyboard and command inputHow text entry and button-code navigation return to an online page.Studio's internal URL schemesApplication commands and local-file namespaces used by the historical client.Building a compatible serviceRequests, file formats and response handling for a compatible server.Historical service connection methodsWhy the original network shutdown led to proxy and client-patching approaches.DSi browser limits and failure modesPractical constraints seen in historical Flipnote Hatena page tests.Unresolved client behavioursQuestions the Flipnote Collective wiki explicitly left open.

Inside Studio