kkonradpl / xdr-i2c

Archive repository of Arduino controller for XDR-F1HD radio tuner with advanced features based on reverse engineering. Superseded by FM-DX -Tuner: https://github.com/kkonradpl/FM-DX-Tuner
https://fmdx.pl/xdr-i2c
GNU General Public License v3.0
9 stars 3 forks source link

Documentation #1

Open Roman-Port opened 2 years ago

Roman-Port commented 2 years ago

Hello @kkonradpl!

Apologies for opening an issue, I know it isn't really proper or the best way to do this. I can't find any other way to get in touch with you though. I've been working on my own similar project for the last few months, and I'm wondering if I could get a bit more information about the I2C interface that you reverse engineered. The project I've been working on is building a portable, standalone radio using the DSP and IDM/HD modules out of a Sony XDR-F1HD. I've been designing software and hardware to implement my own controller with a full color LCD display running off of an ESP-32 microprocessor. Using an I2C sniffer, I've been able to reverse engineer a lot about how the DSP module works myself, but not nearly as much as you have. If you wouldn't mind, is there any chance I could ask a few questions about your work on reverse engineering this radio?

My biggest question is about how you figured out some of the useful registers that (I don't believe) the controller ever sends, like the one to force the receiver into mono or switch the deemphasis mode? I have dumped the original controller's firmware on my own unit in an attempt to decompile it, but I haven't yet found tools to properly disassemble the obscure processor architecture it uses. Is this the route you took, or is there some Sony document with information about the DSP module floating around somewhere?

Additionally, I notice that there is an EEPROM onboard the DSP module (living at I2C addresses 0x50-0x57) that is the first thing the controller reads when it powers up. I assume it carries the alignment data that's unique to each unit. Would you happen to know what format this data is in or how to use it?

Thanks, I really appreciate it and really appreciate what you've done here.