The project begins
Those who know me will confirm that I have a terrible habit of not getting things done. Or at best, not getting them done quickly. Despite all good intentions, projects have a tendency to linger with me, usually until someone says "I need that thing by this date or lots of people will be disappointed". With that in mind, I'm really not sure whether I shouldn't have taken on this project, but I have and we'll see where it goes.
As for the why, that much is certain. In 2016, a company called Retro Computers Limited starting a crowdfunding campaign to produce a device called the "Sinclair ZX Spectrum Vega+", a handheld ZX Spectrum computer.
I shall not get into a discussion of their endeavours (or lack of) here in great detail, as this has been covered on so many other websites. Suffice to say, after two years of waiting only a fraction of the units were delivered, and those have been found to be .... wanting. Namely wanting to not be prototype units with an unplayable screen and button set. The reviews have been negative to scathing.
It struck me that the basic premise, to put a ZX Spectrum into a small enough form factor to be reasonably declared "handheld" wasn't that complicated of a project. After a couple of weeks from the initial RCL "delivery", it became clear that a few people would be disappointed, and some would be outraged. I wondered if I could do a better job.
The result is the title of this blog (no, it's not finished yet... barely started). The name "Porta" (short for "Portable", obviously) isn't exactly imaginative, but it is easy to pronounce, easy to remember, and lends itself as a prefix to many internal components. So it stays.
The intention here is to "give it a go", but with gusto. If it comes to nothing, so be it. If someone else produces a similar device before I'm done, so be it and good luck to them. But, should I complete this thing, and there's enough demand, then this could be worth mass production. We'll see.
So here's my intended specifications:
As for the why, that much is certain. In 2016, a company called Retro Computers Limited starting a crowdfunding campaign to produce a device called the "Sinclair ZX Spectrum Vega+", a handheld ZX Spectrum computer.
I shall not get into a discussion of their endeavours (or lack of) here in great detail, as this has been covered on so many other websites. Suffice to say, after two years of waiting only a fraction of the units were delivered, and those have been found to be .... wanting. Namely wanting to not be prototype units with an unplayable screen and button set. The reviews have been negative to scathing.
It struck me that the basic premise, to put a ZX Spectrum into a small enough form factor to be reasonably declared "handheld" wasn't that complicated of a project. After a couple of weeks from the initial RCL "delivery", it became clear that a few people would be disappointed, and some would be outraged. I wondered if I could do a better job.
The result is the title of this blog (no, it's not finished yet... barely started). The name "Porta" (short for "Portable", obviously) isn't exactly imaginative, but it is easy to pronounce, easy to remember, and lends itself as a prefix to many internal components. So it stays.
The intention here is to "give it a go", but with gusto. If it comes to nothing, so be it. If someone else produces a similar device before I'm done, so be it and good luck to them. But, should I complete this thing, and there's enough demand, then this could be worth mass production. We'll see.
So here's my intended specifications:
- No emulation. The kind of chip that can reasonably fit into a handheld without the engineering expertise of the likes of Sony or Microsoft isn't going to be able to run a ZX Spectrum emulator with grace. Also, ew. This unit will be original hardware, scaled into an FPGA with support hardware.
- No turbo modes. The original 3.5MHz CPU clock is all you get.
- 48K, 128K/+2 Grey, and +2A/+3 model behaviour
- SD (not MicroSD - those things are too damn small) card slot for loading/saving snapshots. Tape acceleration if I can figure out how to do it cleanly.
- 3.5" TFT 320x240 QVGA screen (unless this is tiny, in which case - go larger)
- HDMI output
- Stereo sound via headphone jack and HDMI out (mono via onboard speaker)
- USB battery charging
- Kempston joystick support
- Keyboard & Joystick mapping
- Easy to use, easy to update firmware.
- Completely open source.
Some nice-to-haves:
- +3 disk drive behaviour. This is tricky because many disk images use FDC controls directly, so you can't just trap the +3DOS addresses. I have this plan forming involving an emulator in the microcontroller chip.... (yes I know that violates "no emulation" - but this is for the disk drive, not the main machine).
- Bluetooth or USB keyboard support - not sure on this one. Neither is a particulary fun stack to implement.
So what do I have so far? A metric shedload of VHDL that packs a T80 (open source Z80) processor, an AY-3-8912, and the Spectrum ULA into one FPGA, along with a key/joystick mapping interface, i2s digital audio encoder and memory banking/model detection and glue logic.
I still need to do the flash update logic, the overlay ROM/trap handler, and the microcontroller interface (the MCU is used for handling the SD card among other things).
This is obviously a lot of work for one person to do. So if you think you might be able to contribute then please do get in touch. I'm especially interested to hear from anyone who might want to write parts of the overlay ROM (system menus, key mapping interface, file manager, etc) and anyone who wants to do graphics work (startup screen mainly... can't think of anything else right now).
Please do keep in mind though.... this project might not go anywhere ;)

Comments
Post a Comment