Design and development of an electronic device capable of implementing classical computers and other 8-bit systems, such as the ZX Spectrum, using a FPGA chip.
Being an open software & hardware project, it also serves as a platform for research and development for students or hobbyists.
What is the ZX-UNO?
The ZX-UNO is a small size (86 W x 56 H mm) electronic circuit board. Its main goal is to serve as trainer for the implementation of 8-bit systems as classical computers and game consoles, and especially for implement, as faithful and accurate as possible, the behaviour of the classic ZX Spectrum microcomputer, without using any type of emulation, since the board contains hardware to reimplement the original system and not a CPU that runs some kind of software emulator.
The core of the ZX-UNO, and the device that makes all this possible, is a FPGA chip from Xilinx.
What does it have and what can I do with it?
The design of the ZX-UNO has been carefully designed to be very versatile.
Initially it is ready to behave as a Spectrum, but thanks to the writeable/upgradeable 32 Mbit FLASH memory on board, it can be rewritten many times, storing cores for other machines, as long as the electronic circuit for such machines can be fitted inside the provided FPGA (see specifications).
Several input and output for audio, video, peripherals such as keyboard, mouse, joystick, SD storage, etc, connectors included make it perfect to implement classic machines without resorting to external hardware, and with the expansion socket, possibilities are even greater, allowing to develop future add-ons as secondary processors, memory upgrades, digital video & audio outputs, or network connectivity.
Besides, due to its open hardware/software design, the ZX-UNO can be used for FPGA prototyping at colleges and universities.
We provide all the schematics, technical documentation and source code so you can enter this fascinating world and try to implement your own projects, which doesn´t necesarily need to be related to classical computing. (Eg: similar or even less powerful hardware has been used to build a logic analyzer, video test pattern generators, etc)
Technical information is available for download from the project website www.zxuno.com. The forum can be freely browsed (no registration is needed for read only access).
- FPGA Xilinx Spartan-6 XC6SLX9-2TQG144C.
- Static Memory 512K, AS7C34096A-10TIN.
- 50MHz oscillator.
- Superfo's 1 transistor EAR Circuit.
- Composite video output using an AD724 with XTAL 4.43MHz / 3.58MHz for PAL/NTSC operation (user selectable)
- PS/2 connector for keyboard and mouse.
- RCA jack for composite video.
- Stereo audio jack connector.
- Mono jack connector for EAR (audio in)
- Molex 1.25mm connector for JTAG and RGB / VGA.
- Socket for SD/MMC cards (microSD also possible, with an adapter).
- Expansion port.
- Micro-USB power connector.
- PCB Size: 86x56 mm. (Compatible with Raspberry Pi 1 cases although some machining is needed).
The ZX-UNO also includes a boot time setup program (similar in appareance to most PC Setup BIOSes), from which the user can configure:
- Memory testing, EAR signal level testing, keyboard testing
- Silent Boot (no ZX-UNO logo at boot time)
- Spectrum keyboard implementation (issue 2 or 3)
- Machine timings (48k, 128k ..)
- Enable or disable contended memory
- Enable or disable DivMMC feature and/or DivMMC NMI trap
- Choose default ZX Spectrum to boot from, or choose default core (for other non-Spectrum machines)
- ZX Spectrum ROM manager (add, delete, update)
- Core manager (allows adding other machines' cores, up to 9 cores, without having to use an external JTAG programmer)
And because it is in continuous development, surely we will have more configuration options in upcoming updates.
About the project:
The ZX-UNO was born in 2012 in a forum thread www.zonadepruebas.com as an idea for a faithful reproduction of a Spectrum hardware.
Device design has reached version 4.1. Up to now, a total of 4 design revisions have been built, manually soldering about 40 test prototypes. The ZX Spectrum FPGA core has passed through a major rewrite and improving during this time, and lately, other machines' cores have been written or ported.
Fellow forum members have contributed with feedback and many ideas, such as case designs for 3D printers, new software, new cores, and even some of them have redesigned the PCB starting from the initial design available at the project repository, to suit their needs, hence building his/her own version of the ZX-UNO. The idea is to have an affordable, easy to configure and completely open design for a ZX Spectrum clone computer, endorsing people that already have one prototype to continue adding cores and features.
So, at this stage of the project, the main core not only implements a normal ZX Spectrum. ZX-UNO has allowed us to add many fancy features to the Spectrum itself, such as:
- ULAplus (extended video capabilities with many more colors, HiColour and HiRes Timex modes, Radastan mode (128x96x16 colours), raster interrupt, etc.).
- Turbosound (2xAY-3-8912 working together to give 6 sound channels).
- Faithful timing compatibility with 48k, 128k / +2 and Russian Pentagon.
- 7Mhz CPU turbo mode.
- DivMMC with support ESXDOS latest version.
- Mappable keyboard and joystick.
- RGB output and VGA with or without emulated scanlines.
- Kempston Mouse
and even more to come.
You can also use the FPGA iinside the ZX-UNO to implement other machines, such as Sam Coupe (512KB memory), Jupiter ACE (with 52KB memory) or Master System (with SD memory card to load cartridges), among others. Being fully upgradeable, you can charge yourself available cores you want in the ZX-UNO.
Unleash its full power!
The ZX-UNO is not designed as a pure "plug and play" system, though. It requires some knoledge of working with PC´s, the ZX Spectrum and ESXDOS to operate with, in order to perform tasks as upgrading firmwares or managing ROMs and cores. Nevertheless, for everyday use, its operation is still simple.
Additional information about ZX-UNO
Out of factory, the ZX-UNO is configured with the ZX Spectrum core and OpenSE as its boot ROM.
Wikipedia link about the ZX Spectrum* designed on 1982 by Sir Clive Sinclair.
Information about OpenSE *, a ROM developed by Andrew Owen.
It allows you to use other cores available for the same or compatible FPGA.
- Information on Xilinx FPGA chips * Spartan series: Xilinx Spartan-6 FPGA series
What do I need to make it work?
For a bare bones operation you need:
- a 5V USB power adapter, such as a power adapter for a mobile or tablet, or the USB port from your TV/monitor.
- A TV or monitor with composite video input and composite video/audio cable (male RCA-RCA for video, stereo 3.5mm jack to doble male RCA for audio)
- A PS/2 keyboard.
For full enjoyment, you would also need:
SD card to load and save your programs and games.
RGB-SCART cable to connect to your TV with great quality SCART (available separately)
Or VGA cable to connect to your preferred monitor (available separately)
For the more nostalgic: If you want to load programs and games from your original tapes, you can connect a cassette EAR output to the audio input EAR and ejoy oldskool loads. You can also do this by connecting your mobile phone, mp3, tablet, PC (iPhone 5 users may need some boost for proper loading)
A standard Atari joystick or joypad * / Sega * with one or two fire buttons.
Who we are and how and when will we do all this?
Antonio José Villena Godoy (avillena)
President of the AZXUNO association. He works at the R&D department of the IMAGINA ARTIFICIAL INTELLIGENCE, S.L, company at Málaga, Spain. Author and maintainer of the ZX-UNO BIOS.
Jordi Bayó (Hark0)
Secretary of the association. Graphic designer. Corporate image author. Package design. Keyboard stickers design.
Samuel Baselga López (Quest).
Analyst-programmer for the web environment. Specialized in PHP and JS frameworks. He is the author of various core portings to the ZX-UNO, and author for the framework that makes possible to use and store more than one core in the same FPGA without having to use specialized JTAG programmers.
Miguel Angel Rodríguez Jódar (mcleod_ideafix).
Treasurer of the association. Full time lecturer at dept. of Architecture and Computing Technology, University of Seville. Author and maintainer of the ZX Spectrum, SAM Coupé and Jupiter ACE cores.
Don "Superfo". Design, layout and routing for the three first versions of the board.
The goal of the crowdfunding campaign is to raise money to manufacture and distribute a limited number of ZX-UNO (250 units) as we think it is not a product for the masses, but rather for original machine lovers and microelectronic hobbysts.
The ZX-UNO team is formed by five people: for of us are from different locations within Spain (Málaga, Zaragoza, Barcelona and Sevilla), and the fith component, Superfo, is from California, USA. We are fans of the world of electronics and classical computer. We are normal people, but with great enthusiasm for taking this project forward. We work on the project in our spare time, and we attend retro fairs to meet. To legally support this project, we have constituted ourselves as a non-profit association, with fiscal identification.
How will we use your contributions:
- Money raised from contributions, will be used solely to cover the costs generated by the purchase of materials and components needed to make the ZX-UNO, manufacturing and assembly, distribution, testing and derived costs from graphic design and implementation, and kick off of ZX-UNO Developers Association.
The timetable for the project is:
The non-profit ZX-UNO Developer Association (AZXUNO) has been created to manage all the legal paperwork required to manufacture and distribute an electronic product.
Shipment fees are included in the ZX-UNO rewards for express delivery within Spain mainland. Canary Islands, Ceuta and Melilla have also shipment fees included, but the delivery will be handled by "Correos certificado".
For international shipment, you will have to add the "International Shipment" reward to your product reward. NOTE: due of US export restrictions, we are not allowed to send the ZX-UNO to countries for which the US has forbidden import of their technology. Please, check that yours is not one of these countries, as we won´t be able to send you your ZX-UNO.
We have included a reward, limited to 50 units, of a cased ZX-UNO. Cases are originally Raspberry Pi cases, manually machined by ourselves to fit all the ZX-UNO connectors.
They come in black color, and will include a sticker with the the ZX-UNO logo already in place:
Stickers for the keyboard
We have also included a reward for all those who want to back us up with a ZX-UNO. For a little more, you will get a sheet of stickers to apply to the keyboard you intend to use with the ZX-UNO for easy command reference.
All trademarks mentioned are copyright of their respective owners.
The ZX-UNO, for legal reasons, will be distributed only with free software, such as openSE, SE Basic roms, and / or free game ROMs from members of fellow collaborations of the AZXUNO association. the update methods ZX-UNO is indicated to use your ROMs and games.
The use of other ROMs with the ZX-UNO should be only for educational purposes and board testing. The llicense for the entire project, when otherwise is not mentioned, is Creative Commons Share Alike. (CC-by-SA).
Our aknoledge to Cutreman (Rafael Peña) for creating the feature video for this campaign.