Line 1: |
Line 1: |
− | == *.ppm FILES ==
| + | Flipnote Studio uses 3 different file extensions: |
− | {| class="wikitable"
| + | *[[Flipnote Files\PPM|.PPM]] - these are the animation files themselves |
− | |- style="background-color: #ddd;"
| + | *[[Flipnote Files\LST|.LST]] - This is a list of the files in the current directory |
− | ! Start
| + | *[[Flipnote Files\PLS|.PLS]] - These are the sticker files, and the recently edited file. |
− | ! Length
| |
− | ! Description
| |
− | |-
| |
− | | 0x0000
| |
− | | 4
| |
− | | Magic (should be PARA)
| |
− | |-
| |
− | | 0x0004
| |
− | | 4
| |
− | | Size of animation-section
| |
− | |-
| |
− | | 0x0008
| |
− | | 4
| |
− | | Offset audio-data
| |
− | |-
| |
− | | 0x000C
| |
− | | 2
| |
− | | # of frames
| |
− | |-
| |
− | | 0x000E
| |
− | | 2
| |
− | | Unknown - all files looked at so far has this field set to 24 00 hex.
| |
− | |-
| |
− | | 0x0010
| |
− | | 2
| |
− | | Is locked? - 0 open, 1 locked
| |
− | |-
| |
− | | 0x0012
| |
− | | 2
| |
− | | Preview frame number ??
| |
− | |-
| |
− | | 0x0014
| |
− | | 22
| |
− | | Original author name (UCS-2)
| |
− | |-
| |
− | | 0x002A
| |
− | | 22
| |
− | | Author name (UCS-2)
| |
− | |-
| |
− | | 0x0040
| |
− | | 22
| |
− | | User name (UCS-2)
| |
− | |-
| |
− | | 0x0056
| |
− | | 8
| |
− | | Original author ID
| |
− | |-
| |
− | | 0x005E
| |
− | | 8
| |
− | | Edit Author ID - the last user to save the file
| |
− | |-
| |
− | | 0x0066
| |
− | | 18
| |
− | | Original File-name - see notes on format
| |
− | |-
| |
− | | 0x0078
| |
− | | 18
| |
− | | File-name - see notes on format
| |
− | |-
| |
− | | 0x008A
| |
− | | 8
| |
− | | Mirrored author ID ??
| |
− | |-
| |
− | | 0x0092
| |
− | | 8
| |
− | | Partial File name? - see notes on format
| |
− | |-
| |
− | | 0x009A
| |
− | | 6
| |
− | | Unknown - possibly date information
| |
− | |-
| |
− | | 0x00A0
| |
− | | 1536
| |
− | | Preview Bitmap (4 bits/pixel).
| |
− | |}
| |
− | | |
− | The file name seems to be stored in the file header 3 times:
| |
− | *Original file name 0x0066
| |
− | *Current file name 0x0078
| |
− | *Partial file name 0x0092
| |
− | | |
− | The file name is stored in 3 parts:
| |
− | *3 hex bytes, the first byte's high nibble is not the same as the first byte of the file name | |
− | *13 bytes for the central part of the file name
| |
− | *2 bytes for the last part of the file name.
| |
− | | |
− | For the file name : G35B20_0909841CDBEB1_002
| |
− | *First location: D3 5B 20 30 39 30 39 38 34 31 43 44 42 45 42 31 00 00 | |
− | *Second location: D3 5B 20 30 39 30 39 38 34 31 43 44 42 45 42 31 02 00
| |
− | *Last location: D3 5B 20 09 09 84 1C DB
| |
− | | |
− | === Palette: ===
| |
− | {| class="wikitable"
| |
− | |- style="background-color: #ddd;"
| |
− | ! Hex
| |
− | ! Color
| |
− | |-
| |
− | | 0x0
| |
− | | ??
| |
− | |-
| |
− | | 0x1
| |
− | | Dark grey
| |
− | |-
| |
− | | 0x2
| |
− | | White
| |
− | |-
| |
− | | 0x3
| |
− | | Light grey
| |
− | |-
| |
− | | 0x4
| |
− | | Light red
| |
− | |-
| |
− | | 0x5
| |
− | | Dark red
| |
− | |- | |
− | | 0x6
| |
− | | Pink
| |
− | |-
| |
− | | 0x7
| |
− | | Pure green
| |
− | |-
| |
− | | 0x8
| |
− | | Pure blue
| |
− | |-
| |
− | | 0x9
| |
− | | Purple
| |
− | |-
| |
− | | 0xA
| |
− | | Light blue
| |
− | |-
| |
− | | 0xB
| |
− | | Pure green
| |
− | |-
| |
− | | 0xC
| |
− | | Magenta
| |
− | |-
| |
− | | 0xD
| |
− | | Pure green
| |
− | |-
| |
− | | 0xE
| |
− | | Pure green
| |
− | |-
| |
− | | 0xF
| |
− | | Pure green
| |
− | |}
| |
− | | |
− | The preview image is a 64x48 image stored in a 16 colour tile way, with each 8x8 tile taking up 32 bytes of the file.
| |
− | | |
− | Here's two preview images I (blasty) decoded from some PPM files.
| |
− | | |
− | [[Image:ppm_1.png]] [[Image:ppm_2.png]] | |