"Silver" is the codename of much of the iPod's UI framework. Every SilverDB database contains multiple types of resources, henceforth referenced as "sections". Every section contains multiple of a resource, referred to as "content". You identify content based on its ID - for example, 0x0dad06d8.
(This may or may not be the correct terminology used, but it seems close enough.)
All known databases have a version of 3. Immediately following the header, section metadata is present. All data is little endian.
Although sections define an offset to resource metadata, resource metadata is immediately followed by section metadata.
| Offset | Type | Description |
|---|---|---|
| 0x0 | Database Header | Defines section count. |
| 0xc | Section Metadata | Repeats for as many sections as defined. |
| ... | Resource metadata | Repeats for as many resource entries defined in sections. |
| ... | Resource contents | All data offsets are relative to this. |
All known firmware versions ensure a database version of 3.
| Offset | Type | Description |
|---|---|---|
| 0x0 | u32 | Version |
| 0x4 | u32 | Header length |
| 0x8 | u32 | Section count |
| Offset | Type | Description |
|---|---|---|
| 0x0 | u32 | Section type. |
| 0x4 | u32 | Amount of resource entries this section contains |
| 0x8 | u32 | Whether resource IDs jump around, or increase by one. |
| 0xc | u32 | Offset to where this section's resource metadata array begins, relative to the file's start (0x0). |
| Offset | Type | Description |
|---|---|---|
| 0x0 | u32 | ID of this resource |
| 0x4 | u32 | Offset to this resource's data, relative to file contents (proceeding resource metadata entries) |
| 0x8 | u32 | Resource size |
This section should not be considered exhaustive, as its information is largely focused on the 5th generation iPod nano. Some descriptions may be wrong - please feel free to create a pull request and expand or elaborate on section types!
Some section types have contents which represent an array of elements within. In these situations, the first two bytes (a uint16_t) represent the amount of elements within.
Natively, section types are stored in little-endian format.
The names of sections are presented in big-endian for readability (i.e. BMap is paMB in firmware).
| Name | Magic | Description |
|---|---|---|
AALI |
0x41414c49 |
|
ACST |
0x41435354 |
Possibly "animation controller string", as contents have names similar to TPhotosAppCntlr. |
AEVT |
0x41455654 |
|
ANIM |
0x414e494d |
|
BMap |
0x70614d42 |
Bitmap imagery, commonly found in SilverImagesDB.LE.bin. |
CEVT |
0x43455654 |
|
CLov |
0x434c6f76 |
|
COLR |
0x434f4c52 |
Defines colors used in UI elements. |
CLKH |
0x434c4b48 |
Seen within an iPod nano 7G's internal ROM. |
CSov |
0x43536f76 |
|
CWBM |
0x4357424d |
Seen within an iPod nano 7G's internal ROM. |
DECO |
0x4445434f |
Seen within an iPod nano 7G's internal ROM. |
EEEE |
0x45454545 |
|
FONT |
0x464f4e54 |
|
ITEM |
0x4954454d |
|
LDTm |
0x4c44546d |
Referenced as TLocaleDateTimeResource within firmware. |
MASt |
0x4d415374 |
|
PVCD |
0x50564344 |
Seen within an iPod nano 7G's internal ROM. |
PVCL |
0x5056434c |
Seen within an iPod nano 7G's internal ROM. |
PVCR |
0x50564352 |
Seen within an iPod nano 7G's internal ROM. |
SANI |
0x53414e49 |
|
SCRN |
0x5343524e |
|
SCRT |
0x53435254 |
|
SCST |
0x53435354 |
Possibly "Silver/UI controller string", as contents match C++ class names (like TTrainer_Cntlr_ConfirmationAlert). |
SEVT |
0x53455654 |
|
SLst |
0x534c7374 |
|
SORC |
0x534f5243 |
|
SRVL |
0x5352564c |
|
SStr |
0x53537472 |
|
SUse |
0x53557365 |
|
StBM |
0x5374424d |
Bitmap images for use within the status bar. |
Str |
0x53747220 |
Strings used within various UI components. Translations can be found within SilverDB.xx_XX.LE.bin. |
StrT |
0x53747254 |
Base descriptions of view text (i.e. PhotosSettingsSlideshowMusic_Screen_Nested_Default or PhotosGL_Camera_Delete_All_Confirmation_Alt) |
T10N |
0x5431304e |
|
TEVT |
0x54455654 |
|
TLIP |
0x544c4950 |
|
TLOP |
0x544c4f50 |
|
TMLT |
0x544d4c54 |
|
TMap |
0x544d6170 |
Seen within an iPod nano 7G's internal ROM. |
TVCL |
0x5456434c |
Table view cell? |
TVCS |
0x54564353 |
Table view cell "from Silver"? |
TrIN |
0x5472494e |
|
TrIO |
0x5472494f |
|
TrOO |
0x54724f4f |
|
TrOU |
0x54724f55 |
|
VCvs |
0x56437673 |
|
VLyt |
0x564c7974 |
|
VSlt |
0x56536c74 |
|
View |
0x56696577 |
TODO: What's StSt, and how is it utilized? It's referenced in a few areas, yet seemingly not present.