Times like this I wish I had the money for a 3ds, pokemon y, and the powersave tool (i don't have none of those); i'd be sitting in windbg all day screwing with the powersave app seeing how it works the save file, how the codes are saved, where they are saved, reverse engineer to add your own codes, etc..
USB Product ID: 0x03D5
USB Vendor ID: 0x1C1A
Buffersize is always 0x41, the first byte is always 0x00, the second byte is the opcode byte
Powersaves 1.16:
sub_40CF7C -> USB->Read();
sub_40D010 -> USB->Write(void* buffer);
after connecting to the device it sends
buffer[1] = 0x10;
then
buffer[1] = 0x11;
then
buffer[1] = 0x02;
after that the device answers with
//00 41 70 70 5A 8F 34 CE 80 93 88 94 64 8E A0 FF
//A2 5B 91 2A 5C 42 29 86 4A 1C F3 A1 0C 21 4A 9F
//DA CE D3 A0 D4 1A 8B DD 86 B5 CB 26 CA 33 28 DC
//9A AD 20 96 0A 2C CD 88 AA 60 89 E0 96 46 21 CD
//45
powersave moves the buffer from 0 to 1 and then reads the first 3 byte,
if it is "App" then it continues, otherwise Hardware Error.
i didn't get further, my detour dll logger fails after
this check and powersaves thinks i have no cartridge inserted...
well the device should be fully able to read the entire rom, to do the save magic
it reads the NCSD & NCCH rom header, then the save itself and then waits until you select a code,
all the good stuff is done serverside, so there is no much use of logging...