Sunday, 24 November 2019

Minstrel Issue 3 - ZX81 Compatible computer kit

I would like to announce that the Minstrel Issue 3 is finally complete and available to order now.
This is a newly designed, ZX81 compatible 8 bit computer. Ever since I released the Minstrel Issue 2, which was a clone of the ZX80, I have wanted to extend this to be ZX81 compatible. This is Version 3.5, it's taken four previous revisions (and rework in between) to get to this point. I'll go through this in more detail in a later post, covering what went on with each of these and all the stages I went through.
The main change between the ZX80 and the ZX81 was integration of all the logic into a single ULA chip. I couldn't replicate that, so I am sticking with discrete logic chips. As well as this, they solved one of the main problems with the ZX80. The way it was designed, it could either draw the screen, or run user code, it couldn't do both at the same time. See the previous blog post for more about How the ZX80 Works).
The ZX81 added a mode where it could run a small amount of user code in between reaching the end of drawing one frame of video and starting the next. There isn't much time to run the for code, so it is quite slow, hence this is slow mode. The ZX81 could also switch to fast mode, where it acted like the ZX80 and could run the code at full speed at the expense of not showing a screen. Adding this deviates from the ZX80 design, and once I was freed from trying to stick to the original design, I didn't just want to add this mode, I wanted to make this as good a computer as I could. I give myself a list of requirements.

  1. To be able to run 3D Monster Maze
  2. Add NMI based Slow mode
  3. Expand to 32K RAM
  4. Support Hi Resolution graphics
  5. Improve the composite video output
  6. Reduce chip count
  7. Remove dependence on analogue elements
  8. Replace some of the more esoteric logic chips with more common ones
  9. Switch to 74HC series chip
  10. Keep the ZX81 form factor
  11. Keep using only modern still in production through hole parts
  12. Expand the userguide to include full schematics and descriptions of functionality

This took quite a bit of work, but all things have been achieved with the Version 3.5 board. Slow mode has been added, along with a jumper to disable it if you want to run as a ZX80. The RAM has been expanded to 32K, which sits from 8K-40K, mirrored in the top 16K for display file use. The video has been improved with a digitally timed backporch and uniformly sized pixels. I managed to get rid of chips like the 74LS05, 74LS93 and 74LS365, replacing those with more common parts. With all the new functionality, the chip count is now 25 chips, only four more than the Minstrel issue Two. (the original Minstrel Issue 2 will still continue to be available for those who want a pure ZX80 design).
The board powers up to the familiar inverse K prompt, and you can program in BASIC, and of course the first program has to be 10 PRINT something, 20 GOTO 10.
Here you can see another difference with the Minstrel, there is now a border. This was something I added during development, and was useful in describing how the machines work.
 I liked it, so have left it in, as a jumper configurable option.
The jumpers along the front allow slow mode to be disabled (for ZX80 mode), black on white / white on black text, the border colour and 50Hz/60Hz refresh rate for PAL/NTSC regions.
The Minstrel Issue 3 can now run any* ZX81 or TS1000 software (or indeed 4K or 8K ZX80 if you like).
I was also keen to allow it to run various games and demonstrations that make use of high resolution graphics on the ZX81, such as the 25th Anniversary demo.
Vintage high res games, such as the 1980s version of Manic Miner.
How about a test card?
And also new games with impressive graphics, such as Against the Elements by Paul Farrow (yes, these are all running on a bunch of CMOS logic chips and a Z80).
The Minstrel Issue 3 board is the same form factor as the ZX81, so you can use this as a superior replacement for a dead ZX81. The current consumption of the board is around 60mA, so no heatsink is required on the 7805 any more.
The board screws in from the back into the ZX81 case as per the original, and you now have a working ZX81 again, but with the advantage of 32K internal RAM, composite video output, high resolution graphics support etc.
As before, you can also use this as a standalone new build using a ZX81 membrane on a perspex baseplate.
Or I prefer to use the Minstrel tactile switch keyboard with the recently added overlay PCBs.
These allow you to see all the symbols and keywords around each key.
The Minstrel Issue 3 is available to order now from My Tindie Store, either as a PCB, as a kit.
Or if you don't want the fun of building it yourself, I can build and test it for you.
Such a lot of work went into this that there is so much more to tell you about how the design evolved and the decisions made along the way. That blog post will follow next week.
But for the mean time, I think I'll play a little more 3D Monster Maze, or maybe Tut-Tut which was recently released by David Stephenson (a soon to be Minstrel 3 owner).
A final note is the Minstrel Issue 2, the ZX80 version is still available, and will continue to be available for those wanting the full ZX80 experience.


If you want to support this blog, you can donate via Patreon or Paypal, or buy something from my store.

 *At least it runs all the ZX81 software I have tried. It doesn't support things like chroma or UDGs that required additional plug in boards, but does support WRX and psuedo high res that will run on a ZX81 with the correct RAM configurations and /WR pulled high. If you have anything you would like me to test, let me know.