I had purchased an Altera FPGA board with a desire to learn that technology after working on a project at my work which was using one, quite beefy, Altera chip. It felt like a whole new world opened right in front of my eyes! Not much unlike stereogram images: as you look at it long enough, gates suddenly pop up in your mind and you start seeing transistors, pull-ups, and latches out of a tangled mesh of colorful flat traces. Soon I got a hang of it and started “reading” other parts, as needed. ![]() I reverse-engineered a few other pieces of that silicon, like the IR register and a data pin. I’ve found the knowledge of “reading a die image” very exciting and the skill (in a weird way) very useful, so painstakingly I’ve learned to do the same. Then, I’ve found a set of articles by Ken Shirriff who actually reverse-engineered large portions of the Z80 from an image of a die. I was mostly interested in undocumented behaviour hoping it will give me some hints on the CPU’s internal architecture. It was interesting to see how the pins responded to various scenarios. I started reverse-engineering Zilog Z80 CPU about a year ago by running a working chip on a custom Arduino dongle board. □īoth parts of this project (the A-Z80 CPU and a ZX Spectrum code that uses it) are fully described in separate blogs, and here I will try to tie them together using a somewhat less technical narrative. Since real people design their own CPUs (right?!), I decided I would make my own version of it. I wanted to start with the Zilog Z80 CPU. There is no fun in doing that – or at least nothing much to learn about each component as one could learn by creating them from scratch. One could simply pluck components written in Verilog (CPU, ULA) and with some glue logic quickly build a retro FPGA solution. There were already several implementations available and most of them used “off the shelf” components. This time (early 2014), I wanted to re-make a Sinclair ZX Spectrum on an FPGA. (partial) list of brainstorming ideas (2014) ![]() ![]() Then I pick what seems to excite me the most and deep dive into it. (You can find the Russian translation of this article here: )Įvery so often I let go of all that’s on my mind and simply brainstorm and play with new ideas and their combinations (mostly based on the retro stuff). This article contains a brief overview and a background of the A-Z80 CPU created for FPGA boards and a ZX Spectrum implementation tied to it.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |