a little guy

↫ back

Data Format

Many thanks to Studded, Cyanic, and Konky for their help and previous work on this data format info! Much is still unknown (at least to me) so this will hopefully be updated in the future as we learn more.

Patch Card Header (Firmware Only)

A 1024-byte header that lets the Smart be patched through a custom MicroSD card. If flashing the chip directly, this patch should be left off - when there's no header, 1024 bytes of 0xFF should be added to the end, so that the firmware is always the same size (16,777,216 bytes).

TamaSma Card Header

80 bytes total

Padded with 0x00s or 0xFFs until 0x1000

Menu Strings (Firmware Only)

Starts at 0x14FFFC on Mint Smart, and 0x150116 on Anniversary Smart

Package Summary

Data Package

Table Data Follows:

Table 0: Font Offsets (Firmware Only)

Not defined on TamaSma cards

Table 1: Fonts (Firmware Only)

Not defined on TamaSma cards

Table 2: Particle Emitters
Table 3: Scene Offsets
Table 4: Scene Layer Offsets
Table 5: Scene Layers
Table 6: Strings
Table 7: String Offsets
Table 8: ??? Offsets
Table 9: ???

Seems to always be 10 entities, with only 2nd, 4th, and 9th entities having a nonzero bitmask)

Table 10: Items

First item is always the game, except on 1996 VR Card

Table 11: Characters

First character is always NPC, not sure if it's actually used for anything

Table 12: Padding

What determines length of this table is unknown

Table 13: Graphics Node Offsets
Table 14: Graphics Nodes
Table 15: Frame Layers
Table 16: Frame Layer Offsets
Table 17: Padding

What determines length of this table is unknown

Table 18: Frames

Every character (including the egg) gets 53 frames

Table 19: Card ID

Sprite Package

Table Data Follows:

Table 0: Image Definitions
Table 1: Sprite Definitions
Table 2: Palettes

Palettes are groups of four colors for purposes of indexing

Table 3: Pixel Data

TamaSma Card Footer

The TamaSma Card bin file be exactly 128kb (131,072 bytes), 1MB (1,048,576 bytes), or 2MB (2,097,152 bytes), for flashing on an appropriately-sized card. The file is padded with 0's until the final 16 bytes.