Amiga 500 Mainboard

Retro.Workshop

ZX Spectrum "Portugal"

And yet another Speccy that I could buy for a good price. The seller said it was "untested", but I allege that he knew very well it was broken. It's fine for me as I mainly buy those things for the repair fun. 😁

The computer was in a sad condition when I got it. What's remarkable is that the machine was "assembled in Portugal". It's the first time I see this, and to be honest, it was one of the reasons why I wanted to have it. According to the very few information I found on the internet, those machines were intended for the Portugese and South American market, but some of them also made it to the UK and other European countries.

The faceplate was heavily bent, and a connector of the keyboard membrane was broken off. It seems that the previous owner tried to replace the membrane, but wasn't able to remove the faceplate.

The new Speccy is in a poor condition. One of the membrane connectors was broken off and missing.  It was assembled in Portugal.

That's the first hint that the machine wasn't "untested", but underwent a botched repair attempt.

I got the second hint when I tried to power up the machine, but found that it was completely dead, with all the voltages missing. The 5V is generated by an 7805 voltage regulator. It could just have died of old age. But considering the other hint, I rather guess that the previous owner has tried to power this machine with a standard 9V power supply. It has a reversed polarity, which kills the 7805 instantly, and usually damages the lower RAM chips and other components.

Let's have a look inside. There's an Issue 6A board inside, which is the final revision of the board. But besides that, there were no surprises. Anyway it's the first Issue 6A board I own, so I'm happy to have it.

An Issue 6A board, probably built around end of 1984.

The 7805 regulator is definitely broken, but I would have replaced it with a Traco Power DC/DC converter anyway. After I replaced it, the 5V line was back. To my surprise, the 12V and -5V lines were also back, so at least there was no further damage to the power supply.

I did my usual composite mod. Then I connected the computer to my monitor and powered it up to find out what else is broken. To my surprise the start screen appeared, and the Diag ROM also found that all RAM chips are working.

The Speccy just booted up. The Diag ROM found no further defects.

Okay, so much for the "repair fun" I was hoping to get. On the other hand, this board has a second custom chip, the ZX8401, also known as ZXMUX chip. If it would have been damaged, repair would have been a lot more difficult. Not impossible though, since the ZXMUX can be simulated by a few standard SMD chips.

Now that the Speccy was repaired, I continued with replacing the electrolytic capacitors. I also found and fixed a lot of cold joints at the lower RAM chips. The refurbishment of the board was completed after that.

The board after repairing and recapping. A lot of cold solder joints.

Let's have a look at the case. The membrane connector was broken, but luckily there are new membranes available at retro shops. The previous owner tried to remove the faceplate, which is most often glued to the case. Most often, but not here. On this computer, the faceplate was just held in place by four brackets. All that would have needed to be done was to open these brackets and then easily pull of the faceplate.

The faceplate is held by four brackets that can be easily seen on the inside. All that needs to be done is to open them. The faceplate itself is not glued to the case.

Sadly, thanks to the botched repair attempt, the original faceplate was bent too much to be recoverable. It also had some visible scratches. I wished I could have salvaged it, but I decided to replace it with a new one instead. This time I took a metallic red faceplate, which looks as hot as a sunset in Portugal. πŸ˜‰

My new ZX Spectrum "Assembled in Portugal".

And there it is, another ZX Spectrum for my collection.

A new Harlequin

The Superfo Harlequin is a ZX Spectrum 128K clone. It is special because even though it's a 128K Spectrum, it still fits into an 48K Spectrum case. It's also special because the ULA custom chip is replicated by discrete 74HC-type standard chips that can be replaced easily if one of them should get broken. It's just a small advantage though, because the RAM chips, sound chip, and Z80 CPU are rare by now.

I have ordered the Harlequin 128K Black Large DIY Kit at ByteDelight. It comes with all components that are required to build the main board, even those that are difficult to find elsewhere. There is also a Flash ROM chip enclosed in the kit, but it does not contain a Sinclair ROM image for license reasons. What's still required to build a complete Speccy is a ZX Spectrum case with keyboard, and a Flash ROM programmer for the Sinclair ROM.

Assembling

The Harlequin has only a single SMD component, and that one was even presoldered. All the other components are through-hole, so this DIY kit is even suitable for soldering novices.

The ByteDelight Harlequin kit. Also on the photo: The Diag Cart kit, en heerlijke Stroopwafels. πŸ˜‹ How it started. The board, with the only SMD part already presoldered.

I spent the rest of the day with getting the components out of their bags, locating their correct location and then soldering them in. The ByteDelight kit was carefully assembled. Every component comes in separate bags per value, and are enumerated in their optimal order for assembling. It's literally just soldering by numbers. πŸ˜„

The most boring part was to solder in all the 51 sockets. The DIY kit came with standard sockets, but I generally prefer turned pin sockets, so I used that ones instead.

Completely assembled.

The kit also contains the crystal that is needed for an NTSC setup, so you can choose between a PAL and NTSC machine. The board itself is pre-configured for PAL though. For an NTSC machine, a few traces at the bottom side of the PCB need to be cut.

Flashing the ROM

The DIY kit comes with an AMD AM29F040B Flash ROM. It is large enough to contain up to 8 ROM images. A DIP switch selects the image to be used. The pre-flashed image contains a Diag ROM, some other software, but no ZX Spectrum ROM for license reasons. The board itself also supports original Spectrum 48K and 128K ROMs, as well as 27C256 and 27C512 EPROMs.

ROM files can be found on the internet. I decided to keep the first six Flash ROM banks, and use bank 7 for a Spectrum 48K ROM, and bank 8 for a Spectrum 128K+2 ROM.

For flashing, I use the XGecu TL866II+ programmer and the minipro open source software. First I read the original content of the Flash ROM:

minipro --device 'am29f040b@DIP32' --read harlequin.bin

Then I made a copy of the first six banks. It's easy with the dd command. With a block size of 65536 bytes, the banks can be selected with the skip and count options. To keep the first six banks:

dd if=harlequin.bin of=harlequin-6banks.bin bs=65536 count=6

After that, I use cat to compile a new binary. Note that each bank must be 65536 bytes large, so if a ROM image is smaller, it must be duplicated (or quadruplicated):

cat harlequin-6banks.bin \
  48k.rom 48k.rom 48k.rom 48k.rom \
  128k+2.rom 128k+2.rom \
  > harlequin-new.bin

The new image can then be burned to the Flash ROM:

minipro --device 'am29f040b@DIP32' --write harlequin-new.bin

With the Flash ROM inserted into the Harlequin board, it was finally completed and ready for a first start. Unfortunately the maker of the Harlequin board saved a rectifier bridge, so it's still important to take care for the correct polarity of the power plug. Like the ZX Spectrum, the Harlequin needs a power supply with a 5.5/2.1 mm barrel plug with center negative. Most power supplys on the market are center positive.

The Harlequin is alive!

Even though the Harlequin has a lot more chips than an original ZX Spectrum, it is very frugal. It only consumes 1.7W at 9V, while the original Speccy consumes 4.8W. On the other hand, the Harlequin does not need 12V and -5V to run, so these voltages are not generated. This might be a problem for a few very exotic expansions.

The Case

The DIY kit only comprises everything that is needed to assemble the main board. What's missing is a case with keyboard, and a power supply. The board has the same dimension as an original ZX Spectrum 48K board, so you can use original cases (e.g. the standard "rubber key" case or the ZX Spectrum Plus case), or buy a new replica case with new membranes, keymat and faceplate. The latter case is more expensive, but you get a brand new case in return, and you can pick from a large variety of colors.

I decided for a white keyboard, and a transparent case so one can still admire the beautiful Harlequin board even inside a closed case.

A brand new ZX Spectrum 128K "Harlequin"!

The Harlequin has a separate RGB mini DIN connector. It is made in a manner so it won't interfere with a classic case. However you might want to use the RGB connector as it offers a much better image quality. Shops like ZX Renew offer special Harlequin cases with a cutout for the RGB connector. If you want to use a classic case, you might need to cut out a bit of the beautiful old case to access the connector.

From left to right: stereo audio, tape (mic/ear), RGB, composite

Since we are talking about making holes into old cases: The Harlequin has a built-in joystick interface. If you want to, you can cut out a space for a 9 pin Sub-D male connector, and wire it to the board. I refrained from making a cut into my beautiful Harlequin case, and use a classic Kempston joystick interface instead.

Let's Play

The simplest way to load software into the Harlequin is by the Mic/Ear port. There are smartphone apps and also a lot of tools that can generate the sounds to load TAP or TZX files, so there is no need to dig out the old tape recorder and audio cassettes.

I am using my tzxtools. The tzxplay command plays back TZX and TAP files to the standard audio output. I connect the sound card output to the mic/ear connector using a classic phone jack cable.

Since the Harlequin is a full-featured 128K clone, it also comes with an AY-3-8912 sound chip and even a stereo output. So the first thing I did was loading a game that makes use of that soundchip for in-game music.

The 128K version of Cybernoid uses the AY-3-8912 sound chip.

ZX Spectrum "Beauty"

When I started to refurbish old computers in 2021, I couldn't imagine that it was so much fun. 😁 The other day I bought another ZX Spectrum. According to the seller, it had some strange artefacts on the screen and also stability issues, so it was sold as defective. When I tried it at home, it was even worse. I just got a black screen on a white border.

Screenshot made by the seller. Here the screen was just black with a white border.

Inside the case I found an Issue 2 board. The previous owner has added a composite output on a separate connector. As the age of TVs with tuners is definitely over, there is no need to keep the modulator output. I will do my own composite mod instead, and remove this ugly cable that was hanging out.

The manufacturing dates of the components tell an interesting story. This computer has probably been manufactured around the end of 1982. However, all chips that are related to the upper 32KB RAM are socketed, and some were made in 1983. I guess it was originally built as 16K model, and has been extended to the full 48K a year later. As the only chip on this computer, the ULA was made in 1984, so maybe it had been replaced around then.

It's an Issue 2 board with a composite mod on a separate connector. I removed the ULA for testing.

My main suspicion was that the ULA was broken, so I put it into one of my working Spectrums, and was happy to find it in working order. The problem must be somewhere else.

The usual first step is to check the voltages. And bingo, the 12V line had around 7V, and the -5V line was flat. This sounded very familiar, and a look at the coil confirmed my suspicion. The coil had a purple color, and a short between the primary and secondary winding. I guess the coil was already pre-damaged when the Spectrum was sold, causing the artifacts because of poor voltages on the lower RAM chips. When I powered up the computer at home, I eventually killed it.

Well, it's not the first time I had to deal with a broken coil. I unsoldered it, rewound it, and replaced the semiconductors that usually get grilled as a result. Then I powered the system again, and found that all voltages were back to normal. Success!

A shorted coil. The purple color is looking very familiar. It was the same on another Spectrum. The repaired coil.

I put the ULA back into its socket, so I could check what else is broken. And (to my displeasure, to be honest) the computer just came up and was working again.

This is looking good! The computer is working again!

What a spoilsport! I was hoping to have some more repair fun with that machine. πŸ˜‰

Okay, what next? I started with replacing the electrolytic capacitors with fresh ones. Then I found something strange: A wire link was missing that was supposed to be there.

There is supposed to be a wire link here.

That link is important. The upper 32K RAM chips are actually 64K RAM chips, where one half of the memory turned out to be faulty after production, so they were sold with half the size for cheaper. The link configures which half of the memory is to be used. There is no pull-up resistor, so keeping it open is not a valid option. It might cause the upper RAM to randomly flip between the working and faulty memory half. I doubt that this computer has ever been working stable after it was modified to 48K. This link has just been forgotten by whoever did the modification.

The RAM chips are TMS4532-20NL4. The trailing 4 indicates that the upper part of the memory is to be used, so I added a link between the center hole and the "+5V" hole. A trailing 3 would require a link between the center hole and "0V".

I soldered in the link and replaced all electrolytic caps with Vishay ones. I also replaced the 7805 voltage regulator with a Traco Power TSRΒ 1-2450. This modern DC/DC converter is a drop-in replacement that needs no heatsink, and is small enough to still fit into a classic ZX Spectrum case.

Wire link added and electrolytic capacitors replaced.

Issue 2 Spectrum boards have two variable resistors, VR1 and VR2, for color calibration. With the aid of an oscilloscope, calibration is a matter of a minute. I connected the scope to the composite video output (or to the video input of the modulator), and then adjusted both resistors until the signal was looking as smooth as possible. There is a blog article at Spectrum for Everyone that gives more details about the calibration.

Finally, I ran the ZX Spectrum Diagnostics tool. All tests passed, even those of the upper RAM.

All diagnostic checks passed.

Another repair job well done. πŸ˜„

So there is my 3rd ZX Spectrum. Above all, I like the exceptionally good condition of the case. It seems that the computer has barely been used in its 40 years. The keys and faceplate actually look pristine, and there are also only very few and small scratchmarks.

The case is in an excellent state, considering it's 40 years old.

Flash Amiga ROM

It's possible to use EPROMs to update your Amiga to the latest AmigaOS. Unfortunately these EPROMs are not produced any more, so it's becoming increasingly difficult to find these parts on the market. Another disadvantage is that a special UV light source is necessary to erase EPROMs, unlike modern Flash ROMs that can be erased electrically.

So wouldn't it be better to use Flash ROMs instead? Certainly yes, but they do not come in DIP-40 packages that fit the Amiga ROM sockets.

The Flash ROM Adapter

Soldering the Flash ROM chip on a hot plate. djbase kindly published the design of an Amiga Flash ROM Adapter. It can be equipped with 29F400, 29F800, or 29F160 Flash ROMs. They are available at all kind of electronic sellers, and can store up to four Amiga ROMs in a single chip.

Besides the PCB and the Flash ROM chip, you only need four SMD resistors, one SMD capacitor, and pin headers. The problem, however, is that the components are tiny, and the pitch of the Flash ROM chip pins is very fine, so this project is definitely not suited for soldering novices. Trust me. I made three of them for the bin before I was successful.

The Programming Hardware

The Hardware Sandwich For programming, I use an XGecu TL866II Plus programmer and the SN001 Adapter Kit. djbase also provides a special programming adapter, which is connected to the TSOP48/SOP44 base board of the SN001 adapter kit.

This programming adapter sandwich is put into the ZIF socket of the TL866 programmer. The Flash ROM adapter is placed into the ZIF socket of the adapter board, and the pin headers of both boards are connected according to their labels. Note that the current revision of the adapters support Flash ROMs up to the 29F160, and require five wires. I still use the previous revision with only four wires, because I like it better.

If you don't intend to change the Flash ROM content after soldering, you can also save the programming adapter and use the SN003 adapter instead (which often comes bundled with the SN001 adapter kit). You would then flash the Flash ROM before soldering.

The Binary File

For preparing the binary file, I use my Pynaroma toolkit. It takes care for joining multiple ROM files and the necessary byte swapping. For example, to create a ROM image of AmigaOS 2.04 and AmigaOS 3.2.1 for the Amiga 500, this command line can be used:

rom2bin -o flash.bin A500.37.175.rom CDTVA500A600A2000.47.102.rom 

Depending on the flash ROM chip, you can use up to four different ROM files of 512KB each. If the ROM file has a size of 256KB, remember to duplicate it.

Once the adapter is in the Amiga, the desired ROM image can be selected via the header address lines (e.g. by using jumpers or switches). Note that the address pins of the Flash ROM are pulled-up by the adapter. This means that the last ROM file of the sequence is used when all header pins are open.

Flashing

For programming, I prefer to use the open-source minipro software over the original software by XGecu, mainly because the original software is not available for Linux.

It is important to select the correct Flash ROM type. Pick the type that you have actually soldered to your adapter. Always choose the TSOP48 package, as the programming adapter simulates a TSOP48 socket.

I use a M29F800FT, so the correct device setting is M29F800FT@TSOP48, and the command line for flashing the binary file from above is:

minipro --device 'M29F800FT@TSOP48' --write flash.bin 

The Flash ROM will be erased (so there is no need to erase it before), the image written to it, and then verified in a final step.

ROM Replacement

Amiga Flash ROM adapter in an Amiga 500 The Flash ROM is a drop-in replacement for the Amiga ROM. I carefully removed the original ROM from the socket by using a screwdriver with a wide blade.

After that, I put the Flash ROM adapter into the socket. The correct orientation is crucial. The adapter is put with the header having the same orientation as the notch of the original ROM.

Sometimes the holes of the socket are too small to receive the pins of the adapter. In this case the only chance is to either replace the socket, or use an EPROM.

If you own an Amiga 500 Rev. 5 mainboard and experience random crashes with the new Flash ROM, you might need to add resistors to the address lines. This can be done either via resistor packs or by using an Amiga 500 EPROM adapter that is sold at some Amiga shops.

#Advertisement? This blog is free of ads. All shown products have been paid by myself.
Saturday, March 5, 2022
Action Replay

I got this Action Replay MK-I module. According to the seller it was untested, and for that reason sold as defective. It was in a… let's say very used state. The case was dirty, to a point that it was almost revolting to touch it. A side of the case was cracked open, and a knob was missing. The module must have been dropped at some time.

The Action Replay, in the sad state that I got it.

I carefully opened the case. The top and bottom shells are just stuck together, there are no screws, so it was easy to pull them apart. Inside I found some kind of coating on the PCB, so perhaps a drink had been spilled on the module as well. I also found a lot of fine paper dust like from a cardboard, and a small dent at the corner of the PCB that was caused by the drop.

Even the inside is filthy.

The first thing I did was to give the entire module a proper cleaning in an ultrasonic cleaner, just with warm water and a drop of dishwasher detergent. And yes, I also washed the PCB that way, then dried it off and sprayed it with IPA to remove the last traces of water. That bath did wonders.

Before cleaning: Dirt everywhere, and also this strange matte coating on the PCB. After cleaning, the board looks almost as new. I removed a few parts before the bath.

I expected that the dirt also reached the inside of the mechanical parts, so I decided to replace them all. They were a bit hard to find as replacement parts, but still available. As the original knob was lost, I used a different potentiometer that came with a knob. Unfortunately the new one is white, while the original one has likely been black, so I couldn't fully restore the original outside look.

New electrolytic condensors and mechanical parts for the rejuvenating cure.

The case was cracked open at one side because two pins inside were broken off. I fixed the pins with superglue. After that I exposed the case to the sun for a day, which removed quite a bit of the yellowing. Then I could put everything together again. Compared to the original state, the Action Replay is now looking nice and clean.

The Action Replay, shiny and as good as new.

I gave it a test run in my Amiga 500, and it was working fine! Now I have an Action Replay for my Amiga collection. The only sad thing is that it cannot be upgraded to an MK-II or MK-III, as these modules are constructed differently.