Changes

Jump to navigation Jump to search
1,416 bytes added ,  21:39, 8 January 2017
Line 2: Line 2:     
/private/ds/app/4B475556/001 - European location
 
/private/ds/app/4B475556/001 - European location
 +
/private/ds/app/4B475545/001 - North American location
    
You can save your images in a user folder as long as it's on the same level as the 001 folder.  Clicking on the Choose Folder icon on the top of the View Flipnote / SD Card option gives you a list of normal folders, and you can swap to user folders by selecting the normal button again.  This could possibly be to overcome a limitation in one of the files (possibly the dirmemo2.lst file).
 
You can save your images in a user folder as long as it's on the same level as the 001 folder.  Clicking on the Choose Folder icon on the top of the View Flipnote / SD Card option gives you a list of normal folders, and you can swap to user folders by selecting the normal button again.  This could possibly be to overcome a limitation in one of the files (possibly the dirmemo2.lst file).
Line 206: Line 207:  
|-
 
|-
 
| 0000
 
| 0000
| 4
+
| 2
 
| Size of the offset table
 
| Size of the offset table
 +
|-
 +
| 0002
 +
| 2
 +
| Padding
 
|-
 
|-
 
| 0004
 
| 0004
Line 310: Line 315:     
if( useByte == 0 ) // Set the full line to the current paper colour
 
if( useByte == 0 ) // Set the full line to the current paper colour
 +
        {
 
memset( outB, paper, 256 );
 
memset( outB, paper, 256 );
 +
        }
 
else // Bytes in this line, read and deal with them
 
else // Bytes in this line, read and deal with them
 
{
 
{
Line 323: Line 330:  
{
 
{
 
if( ( data & 0x01 ) == 0x01 )
 
if( ( data & 0x01 ) == 0x01 )
 +
                                        {
 
outB[ x ] = invflag == 0 ? pen : paper;
 
outB[ x ] = invflag == 0 ? pen : paper;
 +
                                        }
 
else
 
else
 +
                                        {
 
outB[ x ] = invflag == 0 ? paper : pen;
 
outB[ x ] = invflag == 0 ? paper : pen;
 
+
                                        }
 
x ++;
 
x ++;
   Line 342: Line 352:     
if( x < 256 )
 
if( x < 256 )
 +
                {
 
memset( &outB[ x ], paper, 256 - x );
 
memset( &outB[ x ], paper, 256 - x );
 +
                }
 
}
 
}
   Line 358: Line 370:  
|- style="background-color: #ddd;"
 
|- style="background-color: #ddd;"
 
! Length
 
! Length
 +
! Function
 
! Description
 
! Description
 
|-
 
|-
| Frame count
+
| Framecount
| Sound effect usage. Each byte represents a frame, and bit #1 represents Sound effect 1, bit #2 represents Sound effect 2 and bit #3 represents Sound effect 3.
+
| Sound effect usage.
 +
| Each byte represents a frame. bit #1(from Right to Left) represents Sound effect 1, bit #2 represents Sound effect 2 and bit #3 represents Sound effect 3. the last 5 bits is padding.
 
|-
 
|-
 
| 0 - 3
 
| 0 - 3
| Padding - Makes the offset to the next four bytes dividable by 4
+
| Padding
 +
| 0x00 * (0 to 3). Makes the offset to the next value dividable by 4.
 
|-
 
|-
 
| 4
 
| 4
| Size of the background music(0x0000000 if not used)
+
| Size of the background music.
 +
| The size of the background music in bytes in the audio data below. 0x0 if not used/empty.
 
|-
 
|-
 
| 4
 
| 4
| Size of sound effect #1(0x0000000 if not used)
+
| Size of sound effect #1
 +
| The size of the sound effect #1 in bytes in the audio data below, max size is 0x2000. 0x0 if not used/empty.
 
|-
 
|-
 
| 4
 
| 4
| Size of sound effect #2(0x0000000 if not used)
+
| Size of sound effect #2
 +
| The size of the sound effect #3 in bytes in the audio data below, max size is 0x2000. 0x0 if not used/empty.
 
|-
 
|-
 
| 4
 
| 4
| Size of sound effect #3(0x0000000 if not used)
+
| Size of sound effect #3
 +
| The size of the sound effect #3 in bytes in the audio data below, max size is 0x2000. 0x0 if not used/empty.
 +
|-
 +
| 1
 +
| Current Framespeed.
 +
| This is the speed of the flipnote. It's in the range of 1-8. To get the correct value, you must take 8, and subtract the decimal value of this byte.
 
|-
 
|-
 
| 1
 
| 1
| Frame speed. To get the correct value, you must take 8, and subtract the decimal value of this byte.
+
| Given Framespeed when BGM was recorded.
 +
| This is the speed of the flipnote when the BGM was recorded/modified. It's in the range of 1-8. This is used to resample the sound to the new speed. To get the correct value, you must take 8, and subtract the decimal value of this byte.
 
|-
 
|-
| 15
+
| 14
| Unknown - Used for sound decoding? (samplerate, compression, etc)
+
| Padding
 +
| 0x00 * 14
 
|}
 
|}
   −
I have yet to figure out the sound decoding...--[[User:Pbsds|pbsds]] 17:38, 6 June 2010 (UTC)
+
Then comes the audio data.
 +
 
 +
*First comes the BGM(if used)
 +
 
 +
*Then comes sound effect #1(if used)
 +
 
 +
*Then comes sound effect #2(if used)
 +
 
 +
*Then comes sound effect #3(if used)
 +
 
 +
 
 +
The sound data is 4bit ADPCM with reversed nibbles @ 8kHz.
 +
 
 +
You can decode the sound yourself with "sox -t ima -N [input] [output]"
 +
 
 +
==Signature==
 +
 
 +
The last 0x10-bytes in a PPM are all-zero. The 0x80 bytes before that is a RSA-1024 SHA-1 signature over the whole PPM, excluding the last 0x90 bytes with the signature.
104

edits

Navigation menu