26 Jul 2025
In the previous blog post, I described my work on the Nintendo Game Boy emulator, called Coffee GB. To this day, it remains one of my most beloved projects. Every year or two, I spend some time tweaking it, adding features or fixing compatibility with particularly stubborn ROMs.
One thing that I wanted to add for a long time is the netplay support. The real Game Boys can be connected to each other by a link cable and there’re multiple games supporting multiplayer this way. Even Tetris, bundled with the console in 1989, can be started in the 2-player mode - both players are sent with the same bricks and whoever plays longer, wins.
The Game Boy link cable is a very simple medium – it’s a serial cable, with 3 signal wires: TX, RX and clock (connected consoles need to negotiate which one is a clock source). It shouldn’t be a problem to join two emulators with a TCP connection and use it to send these signals, right?
Read more...
09 Feb 2017
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.
Read more...
29 Dec 2016
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:
Read more...
08 Dec 2016
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.

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.
Read more...
05 Sep 2016
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.

Read more...