iPod Classic 6G in QEMU

(reddit.com)

99 points | by dmonterocrespo 3 days ago

6 comments

  • dmonterocrespo 3 days ago
    I've been developing a QEMU emulator for the iPod Classic 6G (Samsung S5L8702) that boots the original, unmodified Apple retailOS. Navigation, the disc, the screen, and the music library worked for a while, but the music player appeared partially rendered and without sound. There were four different errors, and the last one was my fault in a way that I found amusing enough to write about.

    For months I've been trying to emulate the iPod Classic 6G I have in my drawer, without success. After a long time, I finally managed to get it running, although it's still somewhat rough. In QEMU, I managed to boot the original, unmodified Apple retailOS. Navigation, the disc, the screen, and the music library worked for a while, but the music player appeared partially rendered and without sound.

    One thing we already know is that the firmware is from Apple and is encrypted, so there's no legal download. I have an iPod Classic 6G from 2008. With the help of Claude Code, I was able to create code to extract it using emCORE. I extracted the contents of the flash memory and decrypted the image myself.

    and the boot ROM cannot be read from the running device. I confirmed the latter the hard way, and along the way, my iPod restarted several times (pressing the center and menu buttons for 5 seconds to restart it).

    There is no datasheet for the SoC. Each model register that allows unlocking some part of the guest is derived from a write operation performed by the guest itself,

    Code and notes, including the ~16 hypotheses I had to retract along the way

    • smith7018 2 hours ago
      Great work! I'm the guy that's working on recompiling the iPod games for modern systems (I'm mentioned by the top comment in your Reddit post). Have you tried installing the games in the emulator? If so, this would be a huge step in figuring out the DRM so people can dump their own games. That would lead to more games being supported in siggifly's 5.5G emulator [1] and eventually the games can be brought to more modern platforms.

      [1] https://github.com/siggifly/ipod-emulator/ I made the PR that allowed it to run dumped games fwiw

    • Retr0id 1 hour ago
      > including the ~16 hypotheses I had to retract along the way

      If you're going to paste raw claude output, please at least replace "I" with "Claude".

      • sosull 49 minutes ago
        But that was the single hardest claim in the model register!
      • znpy 35 minutes ago
        Really sounds like: If you’re going to paste raw executable binaries, please at least replace “I” with “the compiler”
        • Retr0id 34 minutes ago
          More like, don't commit compiled executables to git.
    • q3k 34 minutes ago
      > One thing we already know is that the firmware is from Apple and is encrypted, so there's no legal download.

      wInd3x can decrypt it.

      > and the boot ROM cannot be read from the running device

      Yes it can, you just need to turn on the right clock gate.

      I'm so tired of AI slop. We've been reverse engineering these SoCs slowly and carefully for years, but this is what ends up getting published and shared.

  • dmonterocrespo 2 days ago
    One of the things that gave me a lot of trouble was unlocking the music player. Reverse engineering it was really difficult. I investigated many possible variations, tried searching on https://freemyipod.org for memory register information, but there was nothing for this particular iPod that could help me with the music player. Now I'm trying to unlock Cover Flow, which is something I really liked the first time I saw it on my iPod.
  • ChrisRR 4 hours ago
    It's a rarity to see a comments section in r/emulation that isn't just endless screaming about AI code
  • devhunt-org 1 hour ago
    How close is the emulation to being usable as an actual music player?
    • jgbuddy 1 hour ago
      Seems to be 100% implemented. Very cool
  • villgax 3 hours ago
    I was deep into customizing iPod firmware almost 20yrs ago in 7th grade or something.

    Anyone looking for FW/IPSW https://www.felixbruns.de/iPod/firmware/