Sinclair ZX Spectrum ace Winston concludes his introduction to his Ethernet card for the mighty 8-bit known as the Spectranet
Retro Mart: Get The ZX Spectrum Online
If you read Retro Mart last week, you will remember my introduction to a piece of hardware that could change the way many people use and think of the old 8-bit Sinclair ZX Spectrum for good. But rather than delving into the possibilities that an Ethernet card would open on such a platform, I was simply explaining how it works in the first place. I had just finished briefly telling you about the Spectranet's on-board RAM and chipset, so let's pick things up from there.
In the default Spectranet ROM firmware (basically, the lowest four pages of the flash memory) there's a DHCP client, DNS client, the socket library and all the functions to manage the hardware. There's a utility accessed by the NMI button to configure the system. This includes the usual stuff like setting IP addresses, DHCP enable/disable, etc., and a utility to load and remove software modules from flash. The utilities are available in English, Spanish and Portuguese, and the Spectranet has its own character generator (42 columns) that supports a subset of UTF-8. It includes all the accented characters used in Western Europe, along with some of the symbols, such as the Euro sign, and inverted question mark/exclamation marks for the Spanish language.
The Spectranet is also designed to be able to work with some mass storage peripherals. Unfortunately, the Spectrum never had a formal way of managing multiple peripheral ROMs, so it's not possible to make this entirely perfect, but the Spectranet so far has been shown to function well with the DivIDE, and with some ResiDOS peripherals (for ResiDOS, so long as the Spectranet BASIC extensions are disabled, it would be possible to add a ResiDOS module to provide these, since the Spectranet library functions and module entry points remain available).
To allow the Spectranet to function with other peripherals that have their own ROM, it contains a 'hold A15' system. This means that whenever the Spectranet ROM is paged in, any peripheral on the Spectranet's edge connector sees an address in upper memory rather than in the lower 16K, preventing the other peripheral's ROM from being paged (and a bus collision).
At present, the Spectranet is still under development. The hardware prototypes function well (but there's a couple of small changes needed to the PCB layout), and there's a lot of software that still needs to be written, in particular 'client' programs, such as a simple FTP client that can download TAP files directly from an FTP server into memory, and perhaps a simple text web browser. Already, work on the network file system has progressed to the point where all operations basically work: the network file system TNFS (Tiny Network File system] is a simple UDP-based file system that's designed to be better than FTP for long-lasting sessions, but nowhere near as complex as NFS or Windows file sharing. It's also designed to be usable on simpler network hardware and for other 8-bit systems too, more of which will be revealed through these very pages.
If you would like to get the latest on this project, take a look at my website, which you can find at spectrum.alioth.net/doc/index.php/Main_Page.