Skip to content


A-Z80 is a conceptual implementation of the venerable Zilog Z80 processor targeted to synthesize and run on a modern FPGA device. It differs from the existing (mostly Verilog) Z80 implementations in that it is designed from the ground-up through the schematics and low-level gates.
...continue reading "A Z80 From the Ground Up"


Data bus on the Z80 processor is 8 bits wide. Data bus wires carrying information within the chip itself do not simply connect to package pins and out to the world - the gate circuitry of each bit is quite complex. This article presents a transistor level schematic of a data bit’s gate which I reverse-engineered from a die photograph.
...continue reading "The Anatomy of a Z80 Gate"


After reading excellent Ken Shirriff's blog on reverse-engineering parts of the Z80 CPU, I decided to learn how to decipher some of the chip die-shots myself. It turns out not to be that difficult if you follow certain guidance which I will describe in this post.
...continue reading "Z80 Instruction Register deciphered"


In my previous post I described an Arduino dongle and the software that can be used to clock a Z80 CPU and dump states of its buses and pins while executing a controlled set of test cases.

Here I show a trace of every single Z80 instruction as run by that setup. I also outlined some of the tests created manually that clarified few situations which were not too obvious (to me) after reading various pieces of documentation.

...continue reading "ZiLOG Z80 (un)documented behavior"

Few months ago I had ordered a new PCI parallel port card. It turned out my computer did not have a parallel port and I wanted to try parallel port logic analyzer software described here:

...continue reading "Parallel Port Logic Analyzer"


A weather station, Ambient Weather WS-2080 that I installed in my backyard has a receiver unit with a pretty nasty hardware issue: occasionally, its USB interface would hard hang. It could happen twice a week or once a month – it is very unpredictable and highly annoying. Once it happens, nothing short of a power reset of the receiver unit would fix it. You’d have to remove the battery or unplug the USB if you powered it through it. I've finally got around to fix it. If you have a similar problem with that weather station, you may be interested to read on...
...continue reading "Ambient Weather WS-2080 hang fix"


Just before the Wold Cup, the most horrific thing happened: our 65" Mitsubishi WS-65819 broke!

Now, most people would run to the nearest TV store and purchase a brand new HD TV without blinking, but this mishap presented an opportunity to see what's inside that TV and to try to fix it.

...continue reading "Fixing convergence on TV"

(This article was first written in March 2009 - now most of us have Android tables laying around doing this and more!)

For the long time, I wanted to buy an internet radio to get access to thousands of stations from all over the world. However, it seemed the market in the US was way behind that of Europe, where (especially in the UK) you could select among many models of digital, Ethernet-equipped radios. Many of them had features such were pause and record the audio stream.

Aren't you also intrigued with these novel picture frames, but could never justify the price of one, with better models reaching hundreds of dollars and lesser models not really worth of buying? Picture frames were one of the best selling gifts in 2008, with the average price of $169 for a connected photo frame (EE Times, Feb 23rd 2009), but people are mostly confused with the device. I've seen a few in people's homes being used for several weeks but then collecting dust.

...continue reading "Building a Custom Picture Frame"

The x86 virtualization became a mainstream technology, but it was not always that way. Intel CPU architecture was not designed for virtualization, so it was relatively recent that clever software methods were devised to successfully implement it.

In this post I want to share some interesting technologies I've discovered while writing a proprietary virtualization solution.

...continue reading "VMSim – An Attempt at Virtualization"