This document is intended for everyone who wants to learn Z80 programming in its depth. If you already know the basics of programming, you should just keep reading, I will explain everything from the very beginning. However, if you have no programming experience whatsoever, assembly is surely not for you. Start out with a high-level language, it is much easier, and will help understanding assembly later a great deal. But if you still decide to go on, read everything very carefully.
The guide is not in its final state. It will never be. New lessons and materials might occasionally appear here. Any feedback is appreciated, preferably via e-mail at email@example.com.
I’m Patai Gergely (to make things clear, Patai is my family name), a Hungarian university student at the time of writing this guide. I was born in 1982, and started out with a C64 at the age of 8. I used it mostly for gaming, and never went beyond learning Basic. After obtaining a PC, I started programming in Pascal, and at the age of about 12 I got to know the very basics of assembly. Since those times I wrote several megabytes of useless source, like 3d engines, MOD players and loads of other crap for my own pleasure. As I became an international baccalaureate student, I had to buy a TI-83, which opened my way into the Z80 world. I learnt Z80 assembly in about two days (based on my previous knowledge), and wrote Traz in a couple of hours as a CAS (Creativity-Activity-Service, not “Computer Algebra System”) project. Currently it seems that I’m to become an engineer in 2006... I just hope you will find this guide useful.
You can find my personal homepage at http://sgate.emt.bme.hu/patai/.