XCI File Format Not Matching Wiki?

  • Thread starter Thread starter gudenau
  • Start date Start date
  • Views Views 693
  • Replies Replies 3

gudenau

Largely ignored
Member
Joined
Jul 7, 2010
Messages
4,111
Reaction score
4,456
Trophies
2
Location
/dev/random
Website
www.gudenau.net
XP
7,770
Country
United States
I have an XCI file that I dumped from a Nintendo Switch Sports cart that does not appear to match what the wiki says the format should be: https://switchbrew.org/wiki/XCI

I'm not going to share too much about the data just in case I accidentally leak some sort of cart specific information or something. The magic value `HEAD` that is supposed to be at offset `0x1100` is instead at offset `0x0100` and the data at `0x1100` is just a boat load of nulls, likely padding.

Does anyone know why the wiki appears to be incorrect?
 
https://switchbrew.org/wiki/XCI#CardHeader
Lists 0x0100 as the correct location for "HEAD" to appear, and I've confirmed it in a couple of my archival dumps.

If you're looking at the Structure section of that page where it lists that CardHeader starts at 0x1000 and then appending 0x0100 to it to get the expected location, keep in mind the following information listed under the CardKeyArea section:
This region cannot be read directly once written to the Gamecard. Therefore, it is hidden away during read/write operations on the raw Gamecard data.
For that reason a lot of dumps don't have CardKeyArea appended unless done manually afterwards. So a lot of dumps will have "HEAD" at 0x0100.

For those dumps that have had their CardKeyArea manually appended to match the defined structure, "HEAD" will appear at 0x1100.
 
https://switchbrew.org/wiki/XCI#CardHeader
Lists 0x0100 as the correct location for "HEAD" to appear, and I've confirmed it in a couple of my archival dumps.

If you're looking at the Structure section of that page where it lists that CardHeader starts at 0x1000 and then appending 0x0100 to it to get the expected location, keep in mind the following information listed under the CardKeyArea section:

For that reason a lot of dumps don't have CardKeyArea appended unless done manually afterwards. So a lot of dumps will have "HEAD" at 0x0100.

For those dumps that have had their CardKeyArea manually appended to match the defined structure, "HEAD" will appear at 0x1100.

Oh that's very weird. I suppose this is why the dumps from that card reader are different? Maybe I should get one just to develop against both formats.
 

Site & Scene News

Popular threads in this forum