Friday, November 10, 2023

Tandy 1400LT and 1400HD: A tale of 2 Tandies.

Disclaimer: As an experiment, I used an LLM (Large Language Model) to generate some drafts of this blog post. I ended up rewriting most of it anyway, but I tried to leave it in a generic style of a YouTube Retro Channel...


Greetings vintage computer enthusiasts! Today, I have an exciting restoration project to share with you - the resurrection of not one, but two Tandy 1400 laptops. These devices were produced by Tandy/Radio Shack, a well-known computer vendor from the 70's and 80's.  Tandy, with Commodore, and Apple, was part of the 1977 trinity that started the micro-computer revolution. 

These pieces of computing history ended up in possession of family member, that, very kindly sent them to me, and I was thrilled to take on the challenge of restoring them.


Tandy 1400LT
Tandy 1400LT with 2 floppy drives. It has a 8088 compatible V20 CPU and 768 KB of RAM.
Tandy 1400HD with one floppy and one hard drive. It has a external floppy port, but no composite video out.


The Tandy 1400LT and its later sibbling, the 1400HD, were the two laptops that I received. Both devices have CGA graphics, but the 1400LT has a little-known feature that allows for artifact color output, providing a greater color range for games than the 4 horrible CGA colors. The feature disappeared as most PCs were used with digital-input monitors that did not display the artifact color. A year later, in 1988, Tandy released the very similar 1400FD and 1400HD models, that do not have this feature. 

When I received the devices, I found that, while they were very well packed, the 1400HD's bottom case was cracked and broken into many pieces, likely due to old age and brittle plastic. Luckily, the top half of the case was pristine. The 1400LT was in excellent condition.


Broken bottom case of the 14000HD. The black plastic is extremely brittle, and there were shards everywhere in the packaging.

Unfortunately, I have only one original power supply - the one for the 1400HD. However, it did not power up. When I attempted to use it on the 1400LT, I realized that it used a different voltage and reverse polarity. I was very lucky that the1400LT was not damaged, and I was able to find a suitable replacement PSU to bring it to life.

The 1400LT worked right away after I found a suitable power supply! I connected the composite video output to the monitor in the background in case the LCD was faulty.

Now, onto the restoration of the 1400HD. I spent a considerable amount of time collecting all the little plastic pieces and gluing them back together. I used superglue to quickly bond matching pieces and added large amounts of hot glue and epoxy on the inside to reinforce the structure. I also used JB WELD to patch missing holes and coat the outside cracks before sanding and spray painting black. The plastic was incredibly brittle, and some pieces even cracked just by moving it on the table.


This is what the 1400HD looked after gluing and sanding the major pieces.

There were some holes resulting from parts where the plastic shattered intro bits too small to glue.

And here is after using JB Weld to cover some missing holes. Meanwhile, some more parts of the case broke and had to be glued.

During disassembly, I accidentally ripped both keyboard membrane connectors and cut some conductors. I repaired the membranes by applying sticky tape to the non-conducting side to provide mechanical stability. Then, I painted over the cut traces with a specialized conducting paint that contains over 70% silver in an organic flexible solution. This paint is quite expensive, but only a small amount is needed, and I've used it for countless membrane repairs.


Broken keyboard ribbon cable.

The other broken ribbon cable. Here I had already reinforced the ripped membrane with transparent tape.


Ribbon keyboard patched with conductive silver paint. This paint consists of 70% silver in a polymer base that allows it to flex substantially and cover small gaps. I held the membrane with aluminium tape while the paint cures.

I powered the 1400HD using its power supply, and the screen backlight turned on, but the device did not boot or display any text on the screen. After digging for information online, I found that it does not boot if the internal PSU has bad capacitors. I replaced a few dozen electrolytic capacitors in the PSU and could smell the telltale fishy odor of capacitor juice. They had leaked all right. After replacing the capacitors, the computer started, and I was surprised to find that it even booted from the hard drive. I did not expect the hard drive to work after all these years.

Backlight is on, but no other sign of life. The keyboard is away, still waiting for the conductive paint to cure.

This is the disassembled PSU with lots of electrolytic capacitors, and fishy dried capacitor juice. 

Some of the replaced capacitors.



Now it boots, and the hard drive still works!
Here we can see Norton Commander and some of the contents.


Repaired and re-assembled Tandy 1400HD.


Overall, I was pleased with the restoration of these Tandy 1400 laptops. It was a challenging project, but I learned a lot and had fun bringing these vintage devices back to life. I hope that this blog post has inspired you to take on your own restoration project and appreciate the history of computing.


Now, a retro flashback to the earlier days of the Internet and the immortal words of Kompressor:

Remember, you do not use a Macintosh - instead, you use a Tandy. 

KOMPRESSOR break your glowstick.

KOMPRESSOR eat your candy.


Someone very special to me won a Tandy Technology Scholar Award. 


Tuesday, November 7, 2023

A broken QL: How to find faulty RAM without a diagnostics ROM

I got a broken QL, the fault was described as white screen on boot, this seems a symptom of a failed RAM test, it should be an easy repair.


Nice looking Sinclair QL, UK version.

Once it arrived, I powered it up, and I saw the described white screen.


QL starting sequence. It freezes after clearing the screen. The initial random pattern should be in color, but this is PAL computer, and I am using an NTSC monitor, so, no color.


The QL's 128k of RAM is organized as 2 banks of 64k, each implemented as 8 64k x 1-bit chips (the 4164 that was also used in the Apple IIc, Atari 800xl, Commodore 64, IBM PCjr, and many other computers of the time). I suspect there is a problem in the top 64k of RAM. A problem in the lower 64k would be visible as a noise pattern on the screen.

The QL does a RAM check at startup that consists of writing random values to RAM, then writing 1's, then verifying the contents. The RAM test froze during the verification step, so we can assume that the RAM output will consist of mostly 1's.

To try to figure out which chip is to blame, I started by measuring the voltage at the output of every DRAM chip. A voltage much lower than 5V may indicate the faulty chip (i.e. the one also outputting 0s). I measured close to 5V everywhere so it is not a chip stuck at outputting 0s.

I let the computer run for a while, then touched each chip looking for one particularly hot, but they all felt similar.


Sinclair QL issue 6. View of the DRAM.

In a similar circumstance, Noel from Noel's Retro Lab used the Minerva ROM, which contains a diagnostics routine, to figure out the bad chip. But my Issue 6 board requires a non trivial adapter to be able to use an EEPROM (check Noel's video for instructions on how to build it).

Too bad the faulty chip is not in the lower bank, then the screen would display some error pattern to help me guess the chip. If only there was a way to swap the banks...

I looked at the schematic and figured something... the two banks seem to be connected to the same lines, except for the CAS0 and CAS1 signals from the ULA 8301. This ULA is also responsible for generating the video by reading from video RAM, maybe it can be fooled to use the upper bank...

I switched the RAM banks by swapping pins 9 and 10 of the ULA 8301 these are the CAS0 and CAS1 lines used to select each bank. I build a simple adapter with two stacked 40 pin sockets.

Crude adapter for swapping pins 9 and 10 of the ULA. Building instructions: 1) Cut pins 9 and 10 of top socket; 2) Solder 2 wires from the bottom to the top socket pins, swapping them; 3) Put some tape over the bottom pins 9 and 10 to prevent contact with the top cut pins. 4) Attach the 2 sockets.  Before using, verify all connections with a multimeter and look for shorts.



ULA 8301 on an adapter to swap pins 9 and 10 (CAS line for each 64k RAM Bank).

With the adapter installed, I can now see some scattered noise on the screen. The noise is sporadic explaining why I was unable to measure a significant voltage difference on the chips' output pin.

Once the top and bottom RAM banks are swapped, the the bad RAM is now visible as noise on the screen.

But now, how can I tell which ram chip corresponds to the noise ? The noise seems to be scattered along lines in columns that are probably separated by a multiple of 8 pixels, exactly what we would expect from a single broken chip. I could try to measure the number of pixels of some columns from the border... but it is hard to get an accurate measurement.

I made a simple probe to pull DRAM output pins to ground using a pick and alligator clips.

So, I decided to use a pull-down technique, that consists of briefly bringing each data line to ground, at the output of the RAM chips (PIN-14).

This should show a vertical line corresponding to the bit that is being turned to 0. We'll find the faulty chip once the line overlaps with the noise pattern.

I did this, and found that IC14 is the faulty chip. 


The vertical stripes caused by pulling the output of IC14 to ground overlap with the noise pattern. This means this is the chip responsible for the noise. 

I desoldered IC14, and replaced it with a socketed 4164. This solved the problem, and the computer boots to the starting screen.

View of replaced IC14.

QL Boot Screen.

The pull-down technique is very general and can be used in other computers as long as the fault affects the screen RAM. Some errors may require a pull-up instead. Next time I try this trick I will connect the probe through a resistor to be safer. What value of resistor to use ? Start with a high value, say 10k, if that is not enough to change the signal, try gradually reducing the value i.e. 1k, 100 ohm, etc. 

Resources: