mirror of
https://github.com/d0k3/GodMode9.git
synced 2026-05-30 22:36:55 +00:00
* Add cart_id2 to gamecart.h This prepares changes to fix private header dumps. The name ID2 matches Lotus3 (see Switchbrew) since it's evident Lotus3 is just a continuation of the 3DS cart controller * Add Cart_GetID2() to protocol.h This prepares changes to fix private header dumps. The name ID2 matches Lotus3 (see Switchbrew) since it's evident Lotus3 is just a continuation of the 3DS cart controller. * gc protocol: Add support to get ID2 This renames the unknowna0_cmd to its proper name and the A0_Response to CartID2, matching Lotus3 terminology. * Store ID2 in private header at +0x44 The ID2 contains important information that in particular determines the cryptographic keys used. It is impossible to decrypt a dump of cart<->controller communications without knowing the ID2 or trying all possible keys. This behavior matches Gateway. I suppose that it was presumed that Gateway would always store zeroes there because regular cartridges on retail would always report zero and then everybody just copied this false assumption. * fix build (gamecart.c): memset->memcpy * fix build (protocol.c): Fix dupe definition of Cart_GetID()