

An open-source tool for customizing TamaSma Cards and making firmware patches for the Tamagotchi Smart. Many of the features haven't been thoroughly tested on actual devices, so make backups and use at your own risk.
Other Guides:
Download latest release for Windows, MacOS, and Linux.
Smarty Pants can edit BIN files produced by dumping the Tamagotchi Smart's firmware (Anniversary and Mint editions only) or a TamaSma Card's data.
Text strings are stored abstractly, as a series of numbers that index font sprites. Different languages might modify the font sprites to support their own alphabets and punctuation, so Smarty Pants doesn't automatically know how to translate those strings of numbers into strings of text (and vice versa). Not without some kind of key.
That's where the text encoding comes in. It's a dictionary that tells Smarty Pants which number in the data corresponds to which character in a given language. The original firmware and TamaSma Cards all use the Japanese Encoding, while the English patch uses the English encoding. You have to choose the right encoding when you open a file in order for the text strings to intelligible.
If you're translating a firmware/TamaSma Card file into another language, you'll want to choose the encoding used by the language you're translating into. The original strings might look like gobbledegook, but you edit or import new strings, Smarty Pants will save them using the right set of numbers - assuming you're also using the right font sprites.
Speaking of font sprites: note that this encoding business doesn't actually edit those for you. If you're editing firmware, you'll need to replace images 98 and 99. If you're editing a TamaSma card, you'll need to run it on a device using firmware that's already been edited to use the expected font sprites.
If you plan on installing this firmware onto your device via a Patch-i card or similarly modified SD card, you need to check Use Patch Header. On the other hand, if you're going to flash it directly onto the chip using a programmer and clip, check No Patch Header. More info on installing firmware here.
You can reset the device IDs (which normally limit you to using the card on only three devices) and edit the Build Date. Right now you can't update card ID (I haven't yet identified all the places it's used in the data) or card type (which wouldn't be particularly useful anyway).
This section has all the info for Tamagotchi characters. Best not to mess with the NPC entry (ID 0), though, since I'm not sure how it's used by the Smart. Pronoun, Statement Ending, and the two Question Endings are strings that inserted into dialog spoken by that Tamagotchi, but may not be used by all languages. For example, the English patch doesn't use them at all.
Click the Edit Button on the right side of each row to edit that character's info.
This section is all about items - food, toys, accessories, and games. Since each item type uses the data fields slightly differently, Smarty Pants currently doesn't let you edit the type of an item.
Click the Edit Button on the right side of each row to edit that item's info.
Strings are the snippets of text used just about everywhere: menus, dialog, etc. Some text is baked into images, but most is dynamic and can be edited right in Smarty Pants or imported (see Importing and Exporting Strings below).
There are a number of special blocks that can be inserted into strings that will be replaced with things like your name, your Tama's name, or a recently-used item:
Regular speech bubbles have a maximum length of 12 (including the maximum length of any variables used), and two lines per "page". Line breaks are indicated with <br> and page breaks are indicated with <p>
Full-width menu buttons have a maximum length of 9 (without going over the edges of the button) but look best with no more than 8 letters.
There are exceptions to these length constraints, so it's a good idea to test any changes on your device!
Menu Strings: These strings are only found in firmware. They cover text used in menus and NPC dialog, as well as some things your Tamagotchi will say to you or other characters.
Dialog Strings: These are all the strings used by TamaSma Cards, and the remainder of the strings used by the firmware. Mostly these are things your Tamagotchi will say in close-ups, where you can set the expression animation they play as they talk to you; or they're multiple-choice questions they'll ask you and then reference sometime later.
The best way to edit an image is to export it, edit it in your favorite pixel-art program, and then re-import it. Just make sure you limit your color palette to 16 colors per image! If you want to bulk import/export images, take a look at Importing and Exporting Images below.
Click the Import Button on the right side of each row to import a .png file consisting of a spritesheet containing all subimages.
Click the Export Button on the right side of each row to export all subimages of that image as a single .png file spritesheet.
You can also view and edit the sprite offsets for individual subimages by clicking the Edit Button on the right side of each row.
Each Tamagotchi character has a frame groups consisting of 53 frames, each representing an expression or a frame within an animation. A frame is stack of image layers that includes the Tamagotchi's body, face, accessories, etc, and offsets so the Smart knows how to position these layers relative to each other.
Some frames are defined implicitly, meaning that the Smart automatically figures out the layers based on other frames. (Currently I don't know the details of this process, though.)
If you update Tamagotchi character sprites make sure to update the frames as well so their facial expressions and accessories fit correctly!
Scenes are dynamic full screen compositions. Scenes include watch faces, menu screens, game screens, etc. Like frames, scenes are made up of layers - but there's a lot more going on here, and unfortunately I don't have information on what most of the fields and flags do. The community has lots of experimenting to do!
Animations, Particle Emitters, and the two Unknown tables haven't been fully parsed yet, so Smarty Pants just displays the raw data.
You can export all strings from a firmware or TamaSma card as a single CSV file ("comma-separated values") from the File > Export > Export Strings menu item or the Export Strings Button in the toolbar. You can then edit this file in your favorite spreadsheet program, save your changes (as a CSV file), and re-import it into Smarty Pants using the File > Import > Import Strings menu item or the Import Strings Button.
In addition to importing and exporting individual images, you can bulk-export all images in a firmware or TamaSma card using the File > Export > Export Images menu item or the Export Images Button in the toolbar. This will export the images as spritesheets in the destination folder. If you want, you can delete any image files you don't plan on editing, as long as you don't change the names of the remaining files. Once you've made changes, you can re-import the images using the File > Import > Import Images menu item or the Import Images Button and choosing the folder where you exported the images.
The BIN file size needs to match the size of your TamaSma card exactly. You can change this in the Config menu. You probably won't be able to set it to a smaller size than what it was originally, though, since space is very tight on these cards. A 2MB BIN file is likely using most of those 2MB!