Speccy for the 21st Century by samsterman
Hola, this story is about interesting hardware that can do things we used to dream about as kids or read about in magazines. It briefly describes a trip that started in 2019 and that I hope never ends...
State of play
In recent years, it has become perhaps too easy to make a ZX Spectrum clone. The problem, however, is to make it a good and reliable piece of hardware that will work as we have come to expect from it. Often various extensions are created whose star flares up and quickly fades. They have a nice design, various enhancements are added, but often they don't have the breath to do the main thing, faithfully emulate the real ZX Spectrum and the main peripherals. And too often they don't have the capacity for the demands of future years, for upgrades or just plain necessary changes.
The maker of the MB-02, the best disk controller for the ZX Spectrum, responded to this situation a few years ago when it started working on a new eLeMeNt platform based on FPGA technology. It developed forward-looking hardware that was, from the beginning, mainly intended to honestly do the basic things every ZX Spectrum fan required: faithfully emulate the various ZX Spectrum models, their timings, and correctly run and display various software, demo effects, screen tricks, etc.
The implementation was such that the user did not have to buy new hardware even after years. The user just refreshes the FPGA core and updates the service firmware. Plus the requirement for high quality digital output for both video and audio. The eLeMeNt ZX/MB hardware is still the only one where we only need one HDMI cable for video and audio, yet which faithfully displays the original 50Hz effects and tricks of the various ULA video circuits, combined with extensions (ULA+, Timex, Gigascreen and color HiRes) and with sounds of several AY, SAA and FM chips.
Interfacing in the 21st century or one box to rule them all
The goal was to extend the capabilities of the classic ZX Spectrum models, to unify common extensions and to provide capabilities on different ZX Spectrum models from the oldest one to some newer models. The result was the MB03+ interface, which supports all old originals and also numerous clones such as the Humble, Karabas 128, Sparrow, Nucleon... The capacity of the MB03+ is still huge and today it already contains a rich set of internal interfaces.
Considering the FPGA implementation, it is safe to say that the development of the MB03+ is still ongoing. But there's a thing: The board design hasn't changed since 2019 and there are two internal connectors inside waiting for other hardware developers to add internal expansion boards, e.g. for old legacy devices, like plusD or miniD80 interfacing, or boards with Centronics or USB connectors... The FPGA core is huge, it can contain the GeneralSound interface and still have room for other interfaces.
By the end of 2021, almost all of the expansion requirements have been met and the main features of the MB03+ are no longer changing. It has gradually been tested with faster ZX Spectrums (14 MHz and above), and the UART and Wi-Fi connections are being improved. A minor change was the replacement of the conventional battery (for the RTC) with a self-charging one.
In 2023, a new version of Quickstart was released. The last core and SetUp was released at the end of November 2023. I think that even in the next years the development will not die down, the increased interest of users for at least one great thing is there and it is called: HGFX.
Simple modern ZX Spectrum
In 2021, the eLeMeNt ZX was created, with a real Z80 processor at 20 MHz, with similar features to the MB03+. As a replacement for older motherboards, but also as a standalone computer that boots quickly into any of the ZX Spectrum models, providing an arbitrary interface to it, in whatever combination the user desires. The eLeMeNt ZX was designed with enough capacity and in advance, to counter the rapid obsolescence of hardware. Currently, it still has the largest FPGA capacity, larger than Spec-Next or ZX Tres, while it can be further expanded internally, starting by replacing the module with an FPGA chip.
The eLeMent ZX motherboard has had a definitive version 2 design for half a year, complete with a third USB connector and an internal Wi-Fi module. Since the amount of old cases is about to run out, it is available as a standalone computer in a Tiny case, with a PC keyboard and mouse. As with the MB03+, the core and firmware is continuously updated and improved (see the new Didaktik Gama 80KB). The hit of 2023 is the universal Wi-Fi (of all MB03+, Zx-Uno and Zx128-AY versions!) and the internal RTC, either as a standalone interface or as part of the FPGA (this works until shutdown and is set by internet time through Wi-Fi).
Apps, apps, apps
From what I remember, years ago there were a lot more people saying that tools for the Spectrum should be native. Do you use Sjasm, Pasmo, zasm, LnxAsm, or do you prefer one of the old development environments for TR-DOS, SpecAsm for esxDOS or even Tornado or Prometheus? Enhanced features and linked extensions give developers more choice. The eLeMeNt hardware is quite easy to work on without running into the limits of memory, storage or tiny screen resolution and unreadable characters.
To the trio of pro software - LnxCopy, LnxView and LnxCommand file manager - a pro text editor was added in 2023. People sometimes ask whether such powerful tools will ever be created for the classic Speccy 48K. The answer is NO. Too many compromises would have to be made. Modern software writes to FAT (not just read-only TAP archives), supports mouse and PC keyboard. On eLeMent ZX you can edit a text file from Windows or view an animated GIF. The added extensions and features are not just for show. They allow developers and hardcore users to work on the Speccy by taking advantage of the expansion, leaving more room for the original ZX system. They can switch between variants and options without having to restart the computer.
In other, common software, eLeMeNt mostly benefits from being able to hw-port ZX-Uno. It can turbo-mode the ZX-Uno in LFN FileBrowser or read the external keyboard in PC scan-codes. Otherwise, the eLeMeNt is mostly connected to the esxDOS community, on which more classic software is gradually but slowly emerging.
Try the excellent assembler .SPECASM, the powerful hexadecimal editor .EDIT or the utility .SERCP, for interfacing and serial transfers via a normal USB cable.
Sound and graphics
Finally, a few words about the things, from the technical side, that are most interesting and attention-grabbing. As far as sound is concerned, the eLeMeNt ZX/MB includes all the traditional sound chips and DA converters, including the awesome General Sound. The eLeMeNt is waiting for someone to write newer firmware for the General Sound, e.g. with 16 channel support.
Debate persists as to whether more and better DMA support is needed for audio production. For the eLeMeNt, the first games with direct support for the SID chip implemented in the FPGA have been created. The author of eLeMeNt presents a solution where a connected SID or other chips do not collide with each other. For this reason, among others, he made the SAA a chip available at an additional address, outside the overloaded port 255. There is no need to connect the SID chip to the AY chip(!) and it cannot be placed at addSID chip ready occupied by other devices. Please let's all think about this!
In graphics, the eLeMeNt ZX/MB continues where the SAM Coupe and Timex left off. It colors the HiRes graphics and adds fine attributes (see the text of this magazine if you run it on MB03+ or on the eLeMeNt ZX). And to top it all off, the TrueColour palette. With all this, even in the new modes, the system of two ZX-Screen or VideoRAM pages is effectively used. Of course there is a non-flashing Gigascreen and other effects, including retroscanline. In audio and video production in one, eLeMeNt is at the cutting edge of development, no ZX Spectrum clone to date can sync both video and audio so well, via a DVI/HDMI connection.
After the implementation of traditional video systems, eLeMeNt ZX came with support for ZX Planar, a nifty system that co-exists with ZX videoram and allows you to color every single pixel. It is more flexible and less demanding than traditional rendering techniques for the ZX Screen. You can read more about this in a 6 article series posted on the Spectrum Computing forum. The eLeMeNt ZX/MB platform doesn't go the way of game consoles, PC graphics or sprites. The topic of the year will undoubtedly be whether to add HGFX to the MB03+ interface as well, as some of the more demanding programs will require 7 MHz. On the other hand, HGFX can also do a high-performance mode along the lines of Apple2 GS, where lines (wireframe model) can be used to display filled 3D graphics (demonstrated in the HFX NICCC demo, after pressing keys 1 and 2).
Good old Speccy for the 21st century
Perhaps it is enough to briefly recall that the characteristic of the eLeMeNt platform is not to separate and exclude, but to combine and accumulate. The author of eLeMeNt is not inclined to produce different limited core and separate variants of the ZX Spectrum, always with different and somehow impoverished features. In five years he has clearly shown that we can easily have the whole ZX Spectrum world together, with additions from the West and the East, always in faithful quality.
The eLeMeNt ZX/MB team would be grateful for further suggestions and comments on what to improve and how to proceed. You can find us on Telegram, https://t.me/eLeMeNt_forum.
Share your thoughts about the article