Views: 577,705 Main | Rules/FAQ | Memberlist | Active users | Last posts | Calendar | Stats | Online users | Search 06-24-17 11:40 PM

0 users reading DSi banner.sav? | 1 bot

Main - Reverse-engineering - DSi banner.sav? New reply

Posted on 10-13-15 02:26 PM Link | #507
One of the obscurities in the DSi world is that we know that the DSi supports a "banner.sav". But we don't know what that banner.sav is good for, what kind of fileformat it might have, or if that feature was ever used by any existing DSi games.

The only reference is at http://dsibrew.org/wiki/DSi_Cartridge_Header - does anybody know more about it?

I pwned U!
Posted on 10-15-15 11:27 AM Link | #512
I think that it is used in the Brain Age express games so that the animated banner will show you how many stamps you have earned (as well as the drawing that you made for the stamps).

Posted on 10-25-15 07:09 AM Link | #551
Thanks, good to know! Did anybody already dump that banner file from eMMC? Or know which exact Brain Age express title(s) are using it (or if any other games use it, too)?
Anyways, great to know that the feature was ever used, and where to start searching.

Posted on 11-14-15 06:25 PM (rev. 11 of 11-16-15 11:33 PM) Link | #719

In the Brain Age express games, these are called 'SubBanner'. Here's the layout of the SubBanner folder in one of the game's ROM filesystem:
| icon_sub_bnr.zbi
| nou.zbi
| Number.zcg
icon_sub_bnr.zbi and nou.zbi are icons(compressed). The other two files are a graphic containing numbers and its palette(also compressed). I guess the game builds the icon that gets used for banner.sav out of that icon and the number graphic.

The format for the icons is slightly different from the icons built into the ROMs.
There's the version at 0x00, some 2 byte value at 0x08, room for 8 image frames at 0x20, room for 8 palettes at 0x1020, then animation frame info at 0x1120.

I'm going to check these games out on my 3DS and see if I can get them to make a banner. If they do, I'll extract one for you. Although, I'd imagine it'd be the exact same format as the icons above, just with modified frames.

EDIT: Ok, extracted a banner.sav for the Brain Age Express Sudoku game.

Its location in the NAND was 'title\00030004\4b4e3945\data\banner.sav'

Here's a GIF of its animation:[image]
Compare that to the raw icon from the ROM's FS at the top of my post. It has just had a '2' overlaid on some frames.

And here's the banner.sav: https://www.mediafire.com/?1meim3c09avxc7f
Format is as I predicted, exactly the same as what I described earlier. Looks like the file is larger, but I think everything from 0x11A0 onwards is just 'decrypted' junk(as in, it was probably 0xFFs on the NAND. Didn't bother checking).

Hope it's OK to share this here.

Posted on 11-16-15 07:33 PM Link | #735
Could this be the banner used for save-games in the data-management tool? Just a guess based on the file-name.

Posted on 11-16-15 08:21 PM (rev. 3 of 11-16-15 08:25 PM) Link | #736
On my 3DS at least, once the banner.sav exists it replaces the game's own icon anywhere you can see it. Like on the home menu and the DSi data management screen.

Posted on 11-18-15 08:18 AM Link | #750
Thanks for the info on the Brain Age Express Sudoku banner.sav! I was half expecting the file to be 23C0h or 4000h bytes in size (since DSi is often rounding up filesizes to 16K cluster sizes).
I didn't expect the file to contain only 11A0h actually bytes though. The normal 23C0h-byte Icon/Title structure contains an additional non-animated icon, and several title strings, which don't exist in the banner file.
The 2 bytes at 0008h contain a CRC, and the other stuff is same as the animation data in normal Icon/Title. With everything puzzled together, my new description for the gbatek doc looks as so:

FAT16:\title\000300tt\4ggggggg\data\banner.sav ;if carthdr[1BFh].bit2=1
Some DSi games are having a separate "banner.sav" file stored in the eMMC
filesystem, enabled via carthdr[1BFh].bit2 (allowing to indicate the game
progress by overriding the default icon). The banner files are 4000h bytes in
size, the animation data is same as above, but without title strings and
without non-animated icon.
0000h 2 Version (0103h)
0002h 6 Reserved (zero-filled)
0008h 2 CRC16 across entries 0020h..119Fh (with initial value FFFFh)
000Ah 16h Reserved (zero-filled)
0020h 1000h Icon Animation Bitmap 0..7 (200h bytes each) ;\same format as
1020h 100h Icon Animation Palette 0..7 (20h bytes each) ; in Icon/Title
1120h 80h Icon Animation Sequence (16bit tokens) ;/
11A0h 2E60h Garbage (random values, maybe due to eMMC decryption)
The feature is used by some Brain Age Express games (for example, Brain Age
Express Sudoku: 'title\00030004\4b4e3945\data\banner.sav').
The feature does probably work only for DSiware titles (unless there are any
DSi carts with SD/MMC access enabled; or unless there is a feature for storing
similar data in cartridge memory).

Main - Reverse-engineering - DSi banner.sav? New reply

Page rendered in 0.032 seconds. (2048KB of memory used)
MySQL - queries: 26, rows: 75/75, time: 0.021 seconds.
[powered by Acmlm] Acmlmboard 2.064 (2015-10-07)
© 2005-2008 Acmlm, Xkeeper, blackhole89 et al.