Monday, 14 August 2017

Timex Sinclair TS1000 Replacement keyboard membranes

The Timex Sinclair TS1000 was a rebadged version of Sinclair's ZX81, with a few minor changes.
Inside is a standard ZX81 Issue 3 board, with some extra shielding and some modifications for NTSC mode and a channel switch (more on that on my previous post on making a multi-region TS1000).
One less obvious change is two of the legends on the keyboard have been altered. 'RUBOUT' becomes 'DELETE' and 'NEW LINE' becomes 'ENTER'. Both fairly logical and more widely used than the terminology used on the ZX81.
The ZX81 is a more common machine, with a big following, and this makes it viable for replacement keyboard membranes to be manufactured for the ZX81, such as these excellent membranes produced by RWAP software.
However, the TS1000 are not as widespread, so it's probably not cost effective to get TS100 versions of these membranes produced.
I had already had some stick on overlays produced for my Minstrel ZX80 clones, in the ZX80 colour scheme. These were designed to stick over one of those ZX81 replacement membrane.
I have now added a TS1000 stick on overlay to that range, so now you can make TS1000 replacement membranes.
These stick over the ZX81 membrane to give you the correct keywords for the TS1000.
The resulting membrane is just what you need if you have a TS1000 with some rows or columns not responding.
This is one I had already tried to save a couple of times, but the cracks were too close to the keyboard end.
The old membranes usually peel off quite cleanly, if not, clean up the case so it is flat and level. Then remove the adhesive backing on the membrane and fit into place.
And there you have a TS1000 with a new membrane with the correct keywords in place.
All keys are now working, so I can get back to loading 3D Monster Maze.
The stick on overlays are available to order from my Tindie Store, I also have the RWAP ZX81 replacement membranes if you need one of those as well.
There are also the ZX80 style overlays if you fancy a change of colour scheme on your TS1000 or ZX81. The 8K ZX80 overlay uses the same keywords as the ZX81, so you can use it as normal. Build you own custom ZX81, such as this fetching example from ZX Priestess.
Or this blue themed transformation from Dave Williams.
Or my own ZX80 style white ZX81 (using the 4K ZX80 overlay with different keywords).
Overlays and membranes are available from my Tindie store.
Alternatively, you can order the overlays from SellMyRetro, where you can also buy the RWAP ZX81 Membranes.

Thanks again to Grant Searle who provided the base artwork for the original ZX81 keyboard.

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

Saturday, 12 August 2017

Atari 800XL RAM replacement

Here we have an Atari 800XL board. This had a RAM fault, and the owner has started to replace the faulty RAM chips.
I normally try to avoid working on boards which someone has already had a go at, as it often takes longer to resolve problems caused by the repair, before you can even start on the actual original fault can be fixed. However this one wasn't too bad, and it was a favour for one of my Patreon supporters.
[Quick advert] Patreon is a good way to help support this blog, keep these blog posts coming and save me from having to give this up and go and get a proper job. [Advert over]
He had removed 5 of the chips and started on the final three, but had damaged one of components on the left hand side, and thought this might be made of unobtanium so gave up.
These look exotic glass cased devices, but are in fact just standard 100nF decoupling capacitors. They actually look like surface mount capacitors in a diode style glass case. These boards are particularly tricky as most of the tracks are on the top of the board, with only a few tracks, on the bottom of the board.
This makes it more likely that the tracks on the top of the board can be damaged when levering out of the chips (don't do this), or if they haven't been fully desoldered and the track comes away with the pin (don't do this either).
When working on board like this, I highly recommend a good desoldering station. This is the one I use, a Duratool D00672, although the same unit as available with various different brands on it, often with the part number ZD-915. With lots of flux and a bit of practice, you can get really good results. I find the ChipQuik flux in a syringe is good for this.
With a good dose of flux on the board, you can apply the desoldering iron, leave it there for a second or two to heat, and then move the end around a bit to loosen the pin, and finally pull the trigger and clear all the solder away. The flux helps to allow the iron to move around without scratching the board. You sometimes see people using these on videos where they pull the trigger straight away. That can clear the solder on the solder side of the board but leave the unmelted solder on the top side of the PCB intact. I prefer to let it flow on both sides of the board before pulling the trigger, seems to get a much cleaner result and the chips literally fall of the board.
I am quite a heavy user of the desoldering station, so I find then gun eventually gets blocked to the point it can't be cleared by any of my usual arsenal of blockage clearing tools, and I end up buying a replacement element or whole replacement gun every year or so (approx £10 for the element or £20 for the gun, not bad annual running costs). When I got this one, it introduced me to a new concept, emptying the container when it was full. My previous desoldering stations usually got blocked so frequently there was never time for it to get full.
With the rest of the chips removed, the board cleaned up nicely, no damage done. I have checked the continuity and it all sees fine, but if there are any suspect areas, it is good to go for turned pin sockets or (soldering the replacement chips directly).
Turned pin sockets contact the pad on the top of the board and allow solder to flow on both sides, useful if the through hole plating has been damaged, or a pad has dropped off the bottom of the board. The normal socket type on the right has the thin flat metal pin which makes no contact on the top side, which does at least make them easier to desolder.
Here the owner had supplied normal sockets with the replacement RAM chips, so I used those since the continuity tests were fine. I also borrowed one of those glass decoupling capacitors from elsewhere on the board and replaced that with a standard ceramic one where it would be less obvious.
With everything back together, time for some testing, and the Atari's very handy built in tester. My only complaint is it shows 48 blocks, one for each 1K of RAM the Atari uses (16K being hidden behind the ROM and not used). It would be better if it showed any faults on the bit level, so you know which of the 8 chips is faulty, rather than just saying "there is a fault at exactly this address on one of the 8 chips. Over to you to find out which one."
To start this, you need to hold down the option key on power up. If you don't have a keyboard connected, I usually cheat and use a bit of wire.
I left that cycling the memory test for a while and it continued to pass the test, so this 800XL was back in the land of the living. I tried a few quick cartridge games and all seemed to be working nicely.

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

Sunday, 6 August 2017

Minstrel ZX80 Clone Troubleshooting

As far as I know, most of the Minstrel ZX80 clones that have been built have worked. I've had lots of reports of success and been sent pictures of working systems from all over the world. However, sometimes things don't go to plan. I try to help with troubleshooting where I can, and have seen a few common issues, all of which seemed to happen to this board.
The first things to check are the soldering, make sure there are no bridges or dry joints, and then that all the parts are in the right place. The owner has done a nice neat job of assembling this one, but unfortunately it's not working. Next to check is the ROM. The owner had said they weren't sure, and had provided two EPROMs, so I checked them out in the programmer.
Hmm, the contents starts with PK. That may be ringing alarm bells with some of you, it did with me. It looks like what has been burned to the ROM is a .ZIP file containing the ROM image which has not be decompressed. You can see the filename it contains (ZX80rom.bin) in the file contents. Sadly Zilog didn't build in decompression into the Z80, so it can't do anything with that. The other one was fine.
Another issue is that of the ROM address lines. I designed the Minstrel board so you could install a 27C64, 27C128, 27C256 or 27C512 EPROM, or a 28C64 or 28C256 EEPROM, and select between 1, 2, 4 or 8 ROM images. These are selected by three jumpers above the ROM chip.
With chips smaller than the 27C512, these extra address lines are unconnected or used during programming. Either way they should be tied high for normal read operations. The pinouts are slightly different between the common EPROM types:

Jumper
Pin
27C64
28C64
27C128
27C256
28C256
27C512
A15
1
VPP
NC
VPP
VPP
A14
A15
A14
27
PGM
WE
PGM
A14
WE
A14
A13
26
NC
NC
A13
A13
A13
A13

If you use a chip larger than a 27C64, you can place multiple 8K ROM images in there, and select the appropriate one using the jumpers. This table shows the jumper settings which should be used to select the ROM image. Entries in brackets indicate duplicates due to not connected pins. '-' indicates do not use. If you are using the 4K ZX80 ROM image, either double it up to fill 8K, or place it in the first half of the 8K block.

A15
A14
A13
27C64
28C64
27C128
27C256
28C256
27C512
0
0
0
-
-
-
-
-
ROM 1
0
0
1
-
-
-
-
-
ROM 2
0
1
0
-
(ROM 1)
-
-
ROM 1
ROM 3
0
1
1
-
(ROM 1)
-
-
ROM 2
ROM 4
1
0
0
-
-
-
ROM 1
-
ROM 5
1
0
1
-
-
-
ROM 2
-
ROM 6
1
1
0
(ROM 1)
(ROM 1)
ROM 1
ROM 3
ROM 3
ROM 7
1
1
1
ROM 1
ROM 1
ROM 2
ROM 4
ROM 4
ROM 8

Installing the good ROM chip, a video signal appeared. This may not seem much, but actually it is almost there. In order for the screen to be generated, the Z80 has to be fed the appropriate code, and if that is running, then a lot of the system is working.
OK, good start. The K isn't there, and there is a bit sticking out to the left hand side, near where the K should be. Problems with the characters on the video output seem to mainly be caused by vintage TTL chips. Not all of them seem to be up to the job, particularly the parts that run at the full 6.5MHz. These are the 74LS86 and the 74LS165. The lower 74LS74 also sees the full speed clock, but so far I have not seen any problems with it.
The owner has already addressed an issue with the 74LS86 which forms the crystal oscillator circuit. Some older chips do not seem to be able to drive the crystal. You can sometimes get away with using a ceramic resonator, which requires less drive current, however the other gate on the same chip will probably not be able to handle applying the invert signal to the pixel data. In this case, the clock was not running, so the crystal had been replaced with a ceramic resonator, and is now generating a clock signal. Characters aren't being generated, so I checked the 74LS165 which generates the character data. It wasn't getting a load signal, so wasn't outputting anything. That signal should be generated by the 74LS10, and it's inputs looked right, so I swapped that out, and I now get a black box.
The replacement 74LS10 is now generating the shift register load function, which also controls the inversion signal,  so the black box was there. The 74LS165 now seemed to be generating valid data. That signal was getting as far as the 74LS86, but no further. The 74LS86 was passing through the invert signal, but not reacting fast enough for the character data that should be in it. Replacing the 74LS86, the characters appeared. The modern 74LS86 is fast enough to handle the pixel data, and could also drive the original crystal. The crystal could be replaced, but I have left it as the ceramic resonator is working OK. However, there was still that spike on the left, just under the K.
That turned out to be down to the 74LS08 which generates the back porch signal on the composte video. Replacing that got rid of the spike. It also seemed to increase the border size as well, back to where it should be.
Now there was a nice screen with the K sign.
A quick test program and that seems to be working.
The board is now ready to go back.
I noticed that all of the chips that had failed were Signetics brand with early 80s date codes. The remaining chips were all Texas Instruments, other than three late 80s Signetics chips and one Fairchold. I have also had reports of similar issues with Motorola 74LS86 chips. One Minstrel builder had a tube of 25 of them that were not up to the job.
It is also interesting to note that all chips that were faulty did actually pass the tests on my Wellon VP-390 EPROM programmer.
On my Minipro EPROM programmer, the 74LS10 failed.
But all the others passed. It appears to be down to the speed the chips are tested at, and what speed they run at on the board.
I have verified that each of those chips were faulty as I saw the same faults when I installed them on a different Minstrel board, although the 74LS08 spike appeared to go in the opposite direction this time.
So the moral of the story is, beware old TTL chips, not all of them can cope at higher speeds, even in a 1980s design. I recommend using new Texas Instruments LS TTL chips, they are all still in production, and I haven't had any problems with those. I am not sponsored by Texas Instruments. I wish I was. I go through so many tubes of TTL chips. But it just looks nice will all uniform chips, particularly they way the use the same body size for 14 and 16 pin chips, so they all look the same even though 5 of them are 16 pin and the rest 14 pin.
It should work with HCT chips, but I would recommend sticking with LS. It probably won't work with HC chips, I would avoid those. I always supply new Texas Instruments LS TTL chips in the Minstrel kits and built units available from my Tindie store.

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