The making of a scientific calculator from scratch
The idea for this project came about during a week of freezing winter arctic event here in Austin, Texas, with a failed power grid as well as 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 a feeling that the project may be personally exciting and practically doable.
- Introduction to the idea
- Basic Four Functions and verification
- Practical Numerical Methods, more advanced algorithms
- The Framework for development
- ... magic happens here...
- The calculator is complete and running!
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. Read more...
This article contains a brief overview and introduction to the A-Z80 CPU created for FPGA and a ZX Spectrum implementation tied to it. Read more...
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 existing Z80 implementations in that it is designed from the ground-up through the schematics and low-level gates. This set of articles describe its design and implementation.
Open source project at GitHub: https://github.com/gdevic/A-Z80
and OpenCores: http://opencores.org/project,a-z80
It is time to do something useful with the A-Z80 CPU, so why not implement a Sinclair ZX Spectrum computer, kick back and do some retro gaming? Read more...
PlayZX is an Android app I wrote to search, download and play ZX Spectrum games, as sound files, directly into your Speccy.
You can download it for free from the Google Play market. Read more...
Download app from GooglePlay: link
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. Read more...
Data bus on the Z80 processor 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. Read more...
Deciphering a chip die-shot into meaningful logic gates may be hard, but it is both challenging and interesting. It turns out not to be that difficult if you follow certain guidance which I will describe in this post. Read more...
If you want to find out exactly what a venerable Z80 is doing on its bus while executing instructions, in this post I outlined a dongle for Arduino and the software that will let you see that. Read more... or Read about tests...
This post is about making an FPGA to display text on a VGA monitor.
The following is a set of articles on DIY making of a PCB board. We will build a board from scratch with the Atmel SAM3 MCU on it. We will start with the initial board requirement stage, through the design and then "in-garage" manufacturing. We will complete the project with the necessary software programming.
- Get Started
- The Mask
- Cut a Board
- Expose and Develop
- Drilling holes
- Solder parts
- Protection and Sealing
- Testing and Troubleshooting
This blog post describes the various tools that I use for both work and hobby projects on my development PC. Read more...
Git is a popular source revision control system; GitForce is one of the visual front-ends to the git command line tool with the look and feel of Perforce SCM. I wrote GitForce to help people - who are already familiar with Perforce - to transition to using git with minimal learning curve. Read more...
Open source project at SourceForge: http://sourceforge.net/projects/gitforce
"Flight Sim Remote Panel" is an Android application that show basic general aviation instrument set (basic-6 and radios) on your Android phone or a tablet. If you fly X-Plane, you might be interested to read more...
Download app from GooglePlay: link
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. Read more...
I wanted to write a Linux driver for an FM-radio card I purchased but then I got very disappointed with the existing Linux debugging tools - and their inferiority to Windows debuggers. So, instead of writing a driver, I wrote a source-level kernel debugger for Linux instead.
Open source project at SourceForge: http://sourceforge.net/projects/linice
Just before the Wold Cup the most horrific thing happened: our Mitsubishi WS-65819 broke!
Now, most people would run to the nearest store and purchase a brand new TV without blinking, but this mishap presented an opportunity to see what's inside that box and perhaps try to fix it. Read more...
For a long time, I wanted to get an internet radio to get access to thousands of stations from all over the world. I ended up building a custom "radio" that can do that - and more.
A weather station, Ambient Weather WS-2080 has a nasty hardware issue: occasionally, its USB interface would hard hang. Once it happens, nothing short of a power reset of the receiver unit would fix it. I've finally got around to fix it. If you have a similar problem with that weather station, read more...
Sinclair ZX81 lives on!
Parallel Port Logic Analyzer
Software Scope using a Sound Card
RS232 and Raspberry Pi (1)
RS232 and Arduino (2)
Accuracy of Arduino’s ADC
Printing from Eagle
Etching the PCB: Copper etchant calculator