It has been a while since I wrote the last post on this project. In the meantime, I could dedicate all my limited free time to work on the implementation. It took a long time, but I did make significant progress. The calculator is pretty much completed.
Continue readingA Calculator (4): The Framework
For as long as I remember, I had played with LEGOs. Those simple blocks would transform into complex objects whose final shapes only existed in the supple thoughts of creative imagination. The kind of LEGO blocks we had while growing up were simple: 2×4, 2×2, 1×8. Anything unusual was rare and precious.
Continue readingA Calculator (3): Practical Numerical Methods
In the last post, we verified and quantified the precision of the basic four functions (addition, subtraction, multiplication, and division). Now, we can use them as a stepping stone for more complex functions. We can assume they will be available, so our experimentation could simply use built-in C++ functions.
In this article, the third in a series, we will continue with the proof-of-concept, or pathfinding, research.
Continue readingA Calculator (2): Basic Four Functions
This is the second article in a series on making our calculator. This article is about prototyping and the verification of fundamental algorithms.
Continue readingA Calculator
The idea for this project came about during a week of freezing winter arctic events here in Austin, Texas, with a failed power grid (as well as the Texas government), while keeping close to a gas fireplace, the only source of heat and light, for a couple of days. With a weak internet over a phone data line, I could only do some preliminary searches and mainly work out various details on a writing pad, growing feeling that the project may be personally exciting and practically doable.
It took a long time, but this FPGA Calculator is now finished and I am really happy with how well it turned out.
Continue readingZ80 Explorer
Z80 Explorer is a Zilog Z80 netlist-level simulator capable of running Z80 machine code and also an educational tool with features that help reverse engineer and understand this chip better.
Continue readingDevelopment PC Setup
This blog post describes the various tools that I use for both work and hobby projects, on my development PC.
Continue readingZX Spectrum ROM mods
In this blog, I will show you how to interface an Atari-style joystick to the Altera DE1 FPGA board running a Spectrum implementation, how to change the ROM to enable you to input some game-cheat pokes, and a few games I eventually completed using this setup.
The A-Z80 CPU
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.
(You can find the Russian translation of this article here: https://howtorecover.me/z80-s-nulya)
ZX Spectrum on FPGA using A-Z80 CPU
In the last article, I presented a different way of architecturally modeling a Zilog Z80 processor. It is time to do something really useful with it and what could be better than reliving the past for a moment? Let’s recreate an old computer and load in and play some games!
Sinclair ZX Spectrum was my second computer, the first one being ZX81. As I was growing up in Croatia, I had a good friend whose brother, living in Germany, regularly sent him tapes with new games. Through this steady stream of games I’ve probably seen most of them (thank you, Krešo!) However, although I could, I had never played them through. Instead, I would load in DevPac – a debugger – and disassemble them trying to decipher how they were made and occasionally find some pokes for infinite lives.