Sunday, 19 May 2024

The Micro ZXpand Minstrel

This post is a combination of new material and material from 4 Patreon posts, covering the development of a new product. (I think using bits from 5 separate posts must be a record for me)

I'll cut to the chase, this is the new Micro ZXpand Minstrel. I know, awful name. I have been using the name µZXp in my notes. That's probably worse, but at least it's shorter.

This will allow you to load and save files to microSD card, overloading the BASIC LOAD and SAVE commands and adding new ones such as CAT to show a list of files on the SD card and CONFIG to change settings.

It is a minimal implementation of the Minstrel ZXpand, which itself is a cut down version of the ZXpand Classic (which was designed by Charlie Robson).

Feature
Micro ZXpand Minstrel
Minstrel ZXpand
ZXpand Classic
ZXpand+
LOAD and SAVE .P files
ZXpand Joystick
Kempston Joystick
FTDI Serial Port
32K RAM
ROM
AY-3-8192 Audio

In short, this is only suitable for use with one of the stand alone versions of recent Minstrel 3 boards, V3.5.5 onwards, which have the appropriate expansion connector.

It will not work with earlier Minstrel 2 or 3 boards, or anything in a ZX81 case.

In long, here is a more detailed list of supported machines:

Machine
Micro ZXpand Minstrel
Minstrel ZXpand
ZXpand Classic
ZXpand+
Minstrel 3 V3.5.5 and later stand alone
Older Minstrel 3 stand alone
Minstrel 3 in ZX81 Case
ZX81
Minstrel 2 stand alone
*
Minstrel 2 in ZX81 case
*
ZX80
**
  • * - Requires mods to the ZXpand
  • ** - Requires mods to ZX80 and ZXpand

Back to March 2024....

Minstrel ZXpand in kit and assembled form is now available in my Sell My Retro store.

This available in as a pre-assembled version ready to plug into a Minstrel 3, complete with replacement ROM.

And a kit version to build yourself.

That plus into the edge connector on the back of the Minstrel 3.

With the recent Minstrel 3 boards, there is now potentially an alternate option, mounting it vertically on the pin header.

It looks like it will fit, even with sockets on the logic chips.

If anyone wants to try that with a built one or a kit, let me know and I will include the appropriate connector.

It will still need a wire to the ROM select jumper block, but that would be on a short cable like the edge connector version.

A few days later.....

In the previous post, I considered the option of a vertical mounting.

It had to be tried.

Works rather well, and still leaves access to the expansion edge connector, should you need it.

The only quandary is which way to do the header. I have been fitting pins to the board, but it seems to make sense for that to actually be a socket and have the pins on the expansion card.

What do you think?

ROM Select

The ZXpand needs to control the ROM settings on the mainboard, to switch in and out the ZXpand ROM code. Traditionally, I had used A15 to switch that, giving 4 ROM set options (4K and 8K ZX80 and 8K ZX81). That required a 27C512 EPROM, which, at the time, were available. A wire connected to the jumper block, leaving A13 and A14 available for ROM selection.

With the updated ZXpand, I didn't have many 27C512's left, so I was looking to move to a 27C256 (which I at least have more of). But that meant changing to one of the other pins. But it just didn't look right, blocking off the other two jumpers.

Just on the off chance, I checked, and was amazed to see they were actually available again. New EPROMs! Never thought I would live to see the day. So, the ZXpand can continue with A15 switching.

A little later after that......

When I brought back the Minstrel ZXpand, I kept the design pretty much as the previous batch, just updating the font.

Now that is back in the game, I had been looking at some changes.

I have added the expansion pin header to the Minstrel 3 boards, I am liking the idea of making this one of a series of modules. (  Edit - thus was born the Minstrel Expansion Bushttp://blog.tynemouthsoftware.co.uk/2024/05/minstrel-expansion-bus.html )

I was considering another version of the ZXpand, one that sits above the Minstrel 3, as suggested by Mark71 on my discord.

I had been considering something similar to try and provide a version for the version of the Minstrel which fits in a ZX81 case (edit: well, that was the idea....)

I put together a few designs, initially I was looking to try to change the logic around to use fewer chips.

The idea being this would sit on top of the Minstrel board and plug into the pin headers and ROM select jumper block, and mount on some of the existing pillars.

The "reduced" chip count didn't seem to help much as two of the replacements were 20 pin instead of 14, so I went back to the previous design.

I started to lay things out, but before I got too far into that, I wanted to double check I had all the holes and connectors in the right places. And also to have a think about the heights, would it clash with the video connector?

Big, isn't it.

Hmm don't like it.

Doesn't seem right to take up more than half of the board below.

So, I made a smaller one.

This is surface mount, so would be supplied assembled.

The idea of this will be a "fit and forget" version to go inside the ZX81 case. (Edit: yes, I know, that was the idea. Just wait OK.)

I went for a microSD as that fitted the smaller form factor and infrequent need to change it.

There is one big omission here, the joystick connector. If you want a joystick port, there are various ways to add a Kempston style port to the rear, including the original Kempson interfaces, and if there is a particular demand, I might do one myself. ( Edit: there wasn't, but I did anywayhttp://blog.tynemouthsoftware.co.uk/2024/05/minstrel-joystick.html )

I went though quite a few variations trying to reduce the chip count, now that I did not need the additional address decoding for the joystick port.

In the end, I ended up back pretty much where I was with the existing design. I don't like that three of the chips are half used, and a forth is 3/4 used, but I couldn't quite make it work with fewer chips without using larger chips or ending up with something overly convoluted that introduced four propagation delays rather that two as in this design. I think I made the layout work, so I am happy with that.

I did have to do a quick bit of testing to check one change would be OK, but it seems to work.

I will get some of those boards made and try them out.

Much later (April 2024)

The new boards have arrived and are looking good.  (my only complaint is Texas Instruments markings on the 5 ICs use 3 different designs, which is disappointing to a picky perfectionist like me)

They sit nicely on the expansion pin header on the Minstrel 3, and also plug into the top of the ROM address jumper block (which was a wire on the normal ZXpand Minstrel).

The plan was this would fit into the ZX81 case, so I was very careful to make sure it was lower than the RF modulator, so that it would fit. (Edit, yeah, right....)

Perfect, so that's going to fit, isn't it.

Well, no. Because I am an idiot.

I forgot about the pillars in the ZX81 case.

How could I forget about the pillars on the ZX81 case!?

tumbleweeds slowly roll past

OK, so as I was saying, this version is designed solely to fit on the Minstrel 3 standalone edition.

(Edit - I started designing a version that would actually fit in the ZX81 case, and for that I went to check the footprint of the surface mount Z80, and it was at that point I saw the end of life notification for the Z80 which unfortunately killed that and another 4 or 5 projects I was working on)

(long section about getting Microchip ICSP to work has been snipped out, check out Patreon for the gory details)

But will it work?

Well of course it did.

Have you ever known me to make a mistake....... ( Edit, looks in the other direction)

First test is CAT, the replacement keyword on the Z key.

Looks good.

And what do you think was the first game loaded via a micro ZXpand Minstrel?

Minoss Knossoss, the sequel to Tut-Tut from David Stephenson.

Of course, immediately after that....

Well, I had to.

Now I just need to finish my new joystick interface so I can continue trying to beat Minoss Knossoss.

A bit more testing to do, and I should be back with the final part of this post, some better pictures of the unit itself and a full post the joystick interfaces, and the accompanying SellMyRetro listings for both.

Back to today

The µZXp is listed on SellMyRetro, assembled and complete with the replacement ROM.

The standard version will come with pins on the back.

All Minstrel 3 kits will be going out with sockets for the board, ready to fit this.

For the small number of owners of V3.5.5 and V3.5.8 boards, if you are ordering, let me know what type of connector you need. If you have fitted a pin header, I can fit a socket to the board. If you have not installed anything in the expansion connector holes, I can supply the appropriate sockets.

This works well in an expanded Minstrel 3 system, with a Minstrel Expansion Bus backplane and an assortment of add in cards.


Advertisements

The full range of Minstrel and Mini PET kits and accessories are available form my SellMyRetro store.

All the links can be found here:

Patreon

You can support me via Patreon, and get access to advance previews of posts like this and behind the scenes updates. These are often in more detail than I can fit in here, and some of these posts contain bits from several Patreon posts. This also includes access to my Patreon only Discord server for even more regular updates.