Sunday 25 September 2022

Minstrel 2 Pixel Synchronisation (Part 3)

Welcome to part three of the two part series on updates to the Minstrel 2 ZX80 clone.

"What's going on?"

A brief recap:

  • I have run out of Minstrel 2 PCBs
  • I would like to order some more, but decided to fix a few things
  • I have found a way to fix a video glitch with minimal changes
  • I have concluded that it would not have been visible on a real ZX80 on a 1980s TV

I could just make the minimal changes to the PCB to fix the glitch, but there are a couple of questions left over from Part 1, plus a new one. First off:

"Why are the chips the wrong way around?"

One of the things that seems to be lost is the mists of time is why I originally routed the board with the ICs effectively upside down.

"Who did I think I was, Amstrad?"

I looked back through the archives, and was surprised to find my very first attempt at laying out the Minstrel was completely different to the final one.

I think it was based on the original ZX80 layout, and is oddly similar to the way I laid out the Minstrel 4th.

It looks like I tried to autoroute it to see if it was possible in that form. I presume I gave up on that layout for the Minstrel as it blocks several of the mounting holes.

The next revision was in the more familiar layout.

It took a few revisions to get it routed, but I finally went with that layout pretty much unchanged.

And yes, right from the off, the 14 and 16 pin chips are positioned upside down, with pin one top right. It may have given some minor advantage on some of the trace routing, but no, sorry, I have no idea now why I did that.

There were various things wrong with that first board, I had wired up the keyboard columns wrong (I assumed it would be in ascending order from A8-A15). I had missed the link from A6 to /INT, and I hadn't bothered with the edge connector.

Soon after, I added the 74LS08 circuitry to generate the back porch, added the expansion port and fixed the mistakes. I also moved the voltage regulator to the right position and added a reset button.

That became the Minstrel 2.

Back to the present day (or rather a few weeks ago) (Ed. actually, it was now about 6 months ago since the original Patreon posts). Whilst building up the Minstrel 2.7 board, I found myself wondering if I could do a better job of the routing. I am going to alter the back porch circuit to use the 74LS74 to add pixel sync, so I may as well turn the chips around as well. In for a penny.....

I decided to add a pin header to the expansion slot, it might be useful for something, but it will also make the routing easier (through hole parts = free via with every pin).

I also took the opportunity to add an alternative position to mount a 7805 switching regulator, as the taller ones clash with the ZX81 cases in the standard 7805 position.

I got rid of one of the third ROM address jumper, I don't think all three were ever used. Most of the time just a single jumper is needed to select 4K or 8K (I added silkscreen markings for those). The second one can be used for the ZXpand, so I left that one, but I don't think anyone is having eight ROM images on a Minstrel 2.

I started off trying to do the "vertical traces on the back, horizontal on the front". That works well where there is space to do it.

I was particularly pleased with how this development board turned out, but that was specifically arranged to make that easier.

No, you spend too much time hand routing one off development boards.

I did try to autoroute the Minstrel V2.9, to see how that would compare. It took a few minutes, compared to about a week on and off for me.

It just doesn't have any style or panache.

My version started off well, but got a bit messy when I ran out of space and had to shuffle things around to fit in the last few dozen traces.

I still kept to the horizontal / vertical pattern where I could.

I have gone for green boards, like the originals, and for the version which fits into a ZX81 case or can be used standalone with a membrane or external keyboard.

And there you have it, the Minstrel 2 V2.9

"What about the new question?"

There was going to be a part 4, but I'll just give you the edited highlights.

One additional problem I wanted to investigate has only happened a couple of times on Minstrel kits, and seems to be an issue with one of the parts of the circuit where the analogue world meets the digital world. 

This has been seen on at least one Minstrel 2 build that used a kit of parts identical to that used on dozens of others builds that worked correctly. 

What seems to be happening is the invert signal is cutting off way to early (not just the brief glitch at the end). It is one of those  annoying problems where if you clip on a scope probe, or touch something with your finger, it starts working. I have tried to remotely diagnose this in the past and have advised fixed it by adding a pull up or pull down resistor to effectively replicate the presence of the scope or diagnostic finger.

The input to the RC filter is shown in green at the bottom, and the output in yellow at the top. This is 74LS logic, so the input is just below 4V peak, and the output is barely 2V peak. It seems that the level of the signal was actually high enough to register as "high" between the peaks, and the probing was pulling it down sufficiently so only the peaks were read as "high".

This is something that has only been seen in the last fews years, so I am not sure if something has changed with the input stages of TTL chips, or if the tolerances have been adjusted. It is after all identical to the ZX80 schematic and the same Texas Instruments SN74LS parts. Presumably they didn't see this back in the day or it would have been addressed.

After trying lots of different things, I have gone for the option of reducing the value of the existing pull down resistor from 470Ω to 390Ω.

I have tried changing that resistor on several working Minstrel 2 boards, and they continued working after the change, so I think I will just change that on the schematic and parts list to a 390Ω resistors as a preventative measure.

I already have the first batch of V2.9 PCBs, but I will update the silkscreen for the next batch.


Advertisements

The new V2.9 PCBs are available from my SellMyRetro store

https://www.sellmyretro.com/offer/details/62001

There are also a couple of built and tested Minstrel 2 boards (with 390Ω resistors fitted)

One blue V2.7 PCB designed to fit in a ZX81 case

https://www.sellmyretro.com/offer/details/62386

And one green V2.7PCB for stand alone use with a ZX81 Membrane or other keyboard.

https://www.sellmyretro.com/offer/details/62387

See also the full range on Minstrel and Mini PET kits - http://blog.tynemouthsoftware.co.uk/2023/09/minstrel-and-mini-pet-kit-updates.html


Patreon

You can support me via Patreon, and get access to advance previews of posts like this and behind the scenes updates. This now also includes access to my new Patreon only Discord server for even more regular updates.

https://www.patreon.com/tynemouthsoftware