Posts in category 'hacking'

  • On Sonic 2 Compression

    Over twenty years ago, now, I played a small role in the Sonic the Hedgehog 2 hacking community by reverse engineering the level data compression algorithm used in the game. I figured it was about time I wrote my side of that story, so, here it is!

    Obviously I do a Google search for my own name from time to time because, admit it, everyone does it. Yeah, you too. Don’t give me that look. We both know it’s true.

    So it was that a while back I was perusing those search results, and I came across something that honestly left me incredibly chagrined: a page about something called “Kosinski” compression. Clicking the link, I realized the page was about a project I worked on way back in the early aughts to reverse engineer the algorithm used to compress level data in the Sonic the Hedgehog 2 ROM.

    And somewhere along the way, apparently that format got named after me.

    Now I want to be extremely clear about something: I did not invent this algorithm or the in-ROM data storage layout, and I certainly didn’t name it after myself. All I did was uncover what was already there and write it down in my own weird way. But, once you put something out in the world, it can take on a life of it’s own, and so now this algorithm has my name on it. Oops!

    So naturally I shared this little factoid with some friends, and we all had a laugh. And that was that.

    But then, in 2022, a gentleman by the name of Damian Grove reached out. Way back in the day, Damian created a site called the Sonic Hacking Community (SHaC), where he collected a whole raft of information about the Sonic 2 ROM layout in a site he called the Sonic 2 Hacking Guide. In reaching out, Damian was hoping I might answer some questions about the reverse engineering work I did, and so I did what I often do: forgot to reply until months later. Meanwhile, Damian himself didn’t see that reply when it was eventually sent, and so we never connected.

    Fast forward, finally, to 2024 and Damian finally spots my email and a) responds with a couple of questions, while also b) including a link to a video from the 2023 Retro World Expo of a panel discussion of the history of Sonic 2 hacking. A video in which I come up as a bit of a topic of conversation.

    Now, just to get this out of the way: while I was certainly a bit bemused by the conversation in that video, it was nothing but curious and respectful and I had absolutely no issues being talked about. But I gotta admit, it was more than a little weird to see people speculating about me on stage!

    In that conversation I noticed a few misapprehensions about my own background and history and the approach I took to reverse engineer the algorithm, so I figured I’d set the record straight and provide my own vague recollections about how it all went down!

    Continue reading...
  • Running Debian Buster on an OLPC

    Back in 2008 I got an OLPC XO-1 during the G1G1 program. Question: Can you successfully run Debian Buster on this modest hardware? Answer: Yes!

    Way back in the before time, in the long long ago of 2008, I decided to participate in the One Laptop Per Child Give One Get One program. The vision of the program was compelling: play a small part in enabling childhood education by providing children in the poorest parts of the world access to cheap, simple, rugged computers. Load them with electronic books and educational software. Add support for wifi and mesh networking to enable connectivity. Unlock creativity in kids the way computers unlocked creativity in me.

    Things didn’t exactly pan out as everyone had hoped, but I still ended up with my very own OLPC XO-1, and it’s sat quietly in a closet ever since, a toy that I take out and play with occasionally.

    Well, we recently did a top-to-bottom purge of our house, and in doing so I once again ran across my XO-1. So I decided to take it out and play with it again. In particular, I was curious: what would it take to run the very latest version of Debian on this modest little device?

    Turns out not much! But where it got tricky, it got really tricky…

    Continue reading...