A few years ago, I worked on a freeware UN*X version of an emulator for the Sinclair ZX Spectrum called XZX, initially written by Des Heriott and then modified by Erik Kunze. I wrote a user interface which makes the emulator more forgiving to use and which uses the very screen of the Spectrum (so that it takes very little memory). I also wrote some code for supporting X servers with various color depths, fixed a lot of bugs etc.
The user-interface I wrote for XZX which has been merged into the current version of XZX and can be taken from ftp.nvg.unit.no. Here is a link to a more comprehensive page on XZX which is maintained by Erik in Germany (I encourage you to check it out as it contains the most recent ChangeLog files, README, FAQ etc., as well as a very good description of the emulator).
Here's a picture of what the interface looks like right now (Erik has modified it a little bit to make it look pretty):
Not long after that, I worked with Nick Savoiu at porting XZX to WinNT. We came up with a pretty stable version that had all the features of XZX except the sound facilities and a few other miscellaneous things.
Here's a snapshot of WinXZX in action :
In terms of technical specs, the Sinclair is a very simple machine :
- 64k of total memory, of which 16k is the ROM (a Basic interpreter and tools), and 48k is free (almost) for applications
- a 3.5 Mhz Z80 processor (ZiLOG) : a very neat, clean processor.
- rudimentary IO interface
- 6k of video memory (!), organized in a very strange way
Despite what may seem like a crippled architecture, the ZX Spectrum witnessed some of the finest pieces of software ever written. Even today, it's amazing to think that one could fit an entire C compiler in 48k of RAM and have it run at reasonable speed on a 3.5 Mhz processor. Or think about the superb games written entirely in assembly, with extraordinary playability, which did not require the 4cdroms and glitzy introductory movies, but rather fit quite comfortably in 48k and provided some of the finest gaming experiences.
I learned BASIC, Assembly and English (!) on my ZX Spectrum. My Spectrum and the entire game collection I possessed went away when my parents bought me a 286, in my first year of high school. A few years ago, I ran into the first Spectrum emulator written for IBM Pc's (Z80 by Gerton Lunter). However, since I spend most of my time in Linux, I decided to use a Linux based emulator and this is how the entire XZX story got started.
Here are some useful Spectrum Links :
Last modified: February 4, 2003
Copyright 2003 Razvan Surdulescu
All Rights Reserved