tomek's blog now I'll lie

Why did I spend 1.5 months creating a Gameboy emulator?

For me, the most favorite type of a computer program is an emulator. Being able to run code from a completely different hardware architecture always seemed like a magic. The old computers are great on their own, so this kind of connection between historic machines and the modern computing environment feels almost like a time travel.


As a developer I often think about the internal design of an emulator. I imagined this big switch construct that chooses the right operation for the current CPU opcode and the array modelling the memory. After watching The Ultimate GameBoy talk found on the Hacker News, I realized that the Gameboy architecture is quite simple and maybe writing a running emulator for this kind of machine wouldn’t be that hard - especially that it’s well documented too.

I realized later that it wasn’t exactly the truth - creating a working program was quite a challenge. At the same time it was one of the most engaging and rewarding side-projects I’ve ever had. It was also very addicting - every time I had a few minutes during the day and basically every evening I felt an irresistable urge to move the emulation a bit forward - fix this strange GPU bug, pass one more compatibility test or implement one more missing feature.


Macintosh System 6 and 7 images for IOmega ZIP

As described in the previous post, I’m using SCSI IOmega ZIP (Z100S) drive as a mass storage for my Macintosh Plus. I prepared zip floppies with a few versions of the Macintosh System installed - if you’re into retro computing it’s fun to compare the performance and the features between different OSes.

I dumped the zip floppies into disk images, so they can be easily restored. All you need is an USB zip drive (Z100U) connected to your modern computer (Macbook Pro in my case). Images can be downloaded below:


Resurrecting my Macintosh Plus

I wanted to extend my vintage computer collection with a classic, all-in-one Macintosh for a long time. Unfortunately, they are not so common in Europe as in the US and the costs of the shipment are often higher than the computer itself. Sometimes you may find something on the local auction portal, but usually it costs a lot.

My Mac Plus

That’s why I was really happy to find a Macintosh Plus in an attractive price. However, the low cost was justified — according to the description, the screen was dead, it also lacked of the mouse and the keyboard. Who cares, I’ve got it anyway. The worst case scenario — I’ll get a modern art sculpture.



Bay Area

Travelling alone has its bright and dark sides. You can neither share the excitement when you notice a sea lion swimming next to the boat nor look all the 227 meters down the Golden Gate Bridge. But you are free to do whatever you like, without discussing your options with anyone. For instance, you can exchange one more day in San Francisco for visiting the Computer History Museum in Mountain View, which probably isn’t the way of spending your holidays that many would choose.

In the museum you will find a former ballistic missile that after its retirement started an academia career as an univeristy, general-purpose computer.



Radio AdBlock 2

In the previous post I described the process of creating an ad-blocker for the polish radio station “Trójka”. It uses cross-correlation and fast Fourier transform to detect the ad jingles in the internet radio stream, silences the commercials and outputs the result. In other words: it plays the internet radio stream without ads. Creating the app wasn’t my final goal, though. I wanted to bring the same feature to my home amplituner (Yamaha R-N301), which receives “Trójka” in a traditional way via the FM broadcast.

Yamaha R-N301