With that, I was able to take memory dumps by using the sequential read as described in the datasheet (P19 of S-24C01C/02C Rev. This means that we can talk to the EEPROM without the main CPU fighting to talk to the card reader and EEPROM. When the CPU goes into sleep mode, it keeps power to the EEPROM but silences the bus. I assumed that had to be it, but changing the values didn't stop Alphie from being able to use one of my booster packs. The only other data is read out from EEPROM are two bytes at 0x28 which is 0x18E7. It would be good to get a dump from an American or Mexican Alphie to see which byte sets its region. I'm assuming you can only use Canadian cards in a Canadian Alphie. The card reader certainly seems happy with it.įor language and card purposes, Alphies are region locked to the country they're sold in. I'm not sure if that is by design in a later firmware, or if the checksum is off somehow and so it gets restored from backup (see below). The second Alphie re-writes its EEPROM on every startup. I've dumped a second Alphie's startup code, and while this configuration payload is different, everything surrounding it is identical. When using calibration data from a different Alphie, the card reader is unable to decode any cards that are inserted. This definitely is calibration data written during production. There's an additional 0xDCB6 at the end that isn't, but I think that's likely a checksum (non-CRC16, I checked and seems to compute to zero when all values are zero). Nearly everything read within the large block is written to the card reader on boot. Here's the protocol dump I've gotten from i2c on startup: It stores up to 256 bytes and has a simple i2c protocol for reading and writing. The chip is an S24C02C and is id A0 on the bus. Don't be wasting your time like I did! Instead, use J2 since it's what goes to the card reader, and the pads are big enough to solder some wires to. It's got silk screened labels for I2C to trick you, but there's nothing on that bus. If you're trying to tap into the EEPROM, don't use J3. Even if I don't get there, it's great practice of both documentation (which I'm terrible at writing) and reverse engineering. It may be helpful for someone else down the line, but for right now it's just a lot of fun. I want to make my own booster packs for Alphie, a children's learning toy, so I'm learning how he works internally so I can see if it's possible. You're best bet is eBay, though it's quite expensive. Note: I no longer have cards and didn't scan them.
0 Comments
Leave a Reply. |