It all started in school, when I became fascinated with programmable calculators. There simply weren't many personal computers in the world those days, much less in Russia. I first saw a real computer only when I was in university. And I was astonished. Soon I realized that this was to be my passion for many years to come. A little later I bought my first personal computer. It was a Specialist - a Russian model based on a Russian-made clone of the I8080 processor. I used it to figure out -- all by myself -- the binary system of counting, to learn how to display graphics on the screen with nothing more than machine code, as well as to study the assembler and a higher-level Basic language. Later I also owned a number of locally-produced computers. But a Russian-made clone of the famous ZX Spectrum was a real breakthrough for me. It was back in 1992.
ZX Spectrum really helped me to perfect my knowledge of the assembly language. I was writing my own programs, adding drivers for the devices I needed (such as a printer or a mouse) to other people's software, and was generally having a ball with my assembler skills. As far as application programming is concerned, I explored a number of fields. I tried my skills in game programming, and the result was a fairly decent Reversi game. But what I liked most was writing small programs that really stood out from the crowd. For instance, I analyzed some stereoscopic images and deduced the algorithm to make them myself. And this knowledge gave me the power to create the Magic Eye program that could produce such images on ZX Spectrum.
But my flagship project on the ZX Spectrum was undoubtedly the TR-DOS Navigator file manager, whose first version came out in 2001. This was an orthodox file manager that followed the well-trodden path of Norton Commander, FAR Manager and others, which nevertheless was still relatively new for disk-enabled Spectrums. Note that unlike ZX-Pilot, this program was very complex, although it was also written in pure assembler. It didn't use BIOS at all, since I programmed each and every routine myself, including keyboard polling and screen output. But the feature that made my program really stand out was the fact that it could handle disk directories. Of course, it doesn't sound like anything unusual if you don't know that TR-DOS didn't have disk directories as such. Moreover, the directories that my Commander made were compatible with all existing software. That was a little invention of my own.
Besides the ZX-Spectrum, I also owned an Amiga. It seemed that I was the only owner of a personal Amiga in the whole city. But that didn't prevent me from learning the ins and outs of the system, and soon I started helping engineers at our local TV studio that used Amigas for TV production. They often asked me to help them with system maintenance or to explain the finer points of various software.
Then I got my first PC. Unfortunately, it wasn't interesting enough for me and I still haven't written a single program for this platform. What's the point? Everything's already written by others.
And, finally, less than a year ago I first discovered Palm handhelds. I immediately noticed many things that Palm has in common with the ZX Spectrum platform. But unfortunately, the Palm platform lacked a decent ZX Spectrum emulator. "Oh well" -- I thought -- "If I don't write it myself, then probably nobody will do this for me." The first thing I found out was that such an emulator could only be written in assembler. So I got down to work, learned the Palm-specific flavor of the assembly language and released the first version of my emulator in less than 10 weeks. I'd had no previous experience with PalmOS and hadn't known the MC68000 assembler. But that wasn't an obstacle to speak of. Quite the contrary, I'm always excited to learn something new and to translate that knowledge into some practical result. As far as I can see by the feedback I get from users, they really liked my program.
I've also authored a number of articles about computers for several Russian newspapers and magazines.
Now I'm busy learning the C++. Hope it will come in handy in the future.
You can send me all your comments, bug reports, thanks, suggestions, etc. to: