iPod Classic 6G in QEMU

(reddit.com)

72 points | by dmonterocrespo 2 days ago

5 comments

  • devhunt-org 2 minutes ago
    How close is the emulation to being usable as an actual music player?
  • dmonterocrespo 2 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 29 minutes 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

  • 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 2 hours ago
    It's a rarity to see a comments section in r/emulation that isn't just endless screaming about AI code
    • amelius 1 hour ago
      Why is it a problem? Sounds to me like emulation is a very good fit for AI.
      • Cthulhu_ 1 hour ago
        I can imagine some people feel like it's cheating because they did it the hard way. I have much respect for those people and their skillset and I hope AI doesn't discourage them.
        • phoghed 47 minutes ago
          Hopefully as AI coding continues to improve they’ll come to view it like chess players do Stockfish
  • villgax 2 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/