Lantana

Amiga 1200 Mouse Button Fix

While I was restauring an Amiga 1200, I noticed that on that machine, the right and middle mouse buttons did not react on both ports. Checking it further, it turned out that it was working with an original Amiga mouse, but failed with my YAMI mouse interface. The mouse interface could not be the cause though, as it is actually working reliably for decades on all kind of Amigas, including an Amiga 1200.

The problem is already known to the community, and also seems to affect other mouse interfaces. The mitigation options I could find so far were:

  • Just use the original Amiga mouse. 😉
  • Modify the mouse interface. There is a "fixed" version available for some of them.
  • Use a "FixRMB" tool. This tool needs to be started first though, so it won't work for reaching the boot menu or in games. It also requires a mouse interface with internal pull-up resistors. (YAMI does not have those, for example.)
  • Some said they were lucky with replacing the Paula chip, but it requires experience in soldering.

None of these options is really appealing to me. I want this Amiga to work like all the others. So I tried to figure out what is the actual problem here, and how to fix it properly.

The middle and right mouse buttons are connected to the POT pins of Paula. These inputs are actually made for analog joysticks, and provide a very simple ADC. The analog joystick charges a capacitor, while a counter inside Paula is taking the time. As soon as the voltage of the capacitor reaches a certain level, the timer is stopped. The position of the joystick can be evaluated by the time it needed to charge the capacitor.

But there is also a digital mode, which is used for mouse buttons. If enabled, a resistor inside Paula pulls up the POT line. If the mouse button is pressed, the mouse switch pulls the line to LOW, which can then be read from the Paula registers.

When an original mouse was connected, the POT line was pulled to 0.9V while the button was depressed. However, when the mouse interface was connected, the line was only pulled to 1.1V. It seems like a tiny difference, but for this Paula chip, it already makes the difference between "button pressed" and "button released".

The affected Paula with "4193" date code. Only a certain batch of Paula chips seems to be affected. This is the reason why this problem does not occur on all Amiga 1200, but presumably only on some 1D.4 boards. This is also the reason why replacing the Paula chip is fixing that issue. On my board, a "CSG 8364R7PL" with date code 4193 is used. I also heard of one more case with a Paula chip of the same production week.

Next question: Why only Amiga 1200 models seem to be affected by this issue, although it is likely that the affected Paula batch was also used in Amiga 4000 production? When comparing the schematics of both machines, there is a notable difference. This is a simplified extract of the joystick or mouse port:

SVG Picture created as paula-pot.svg date 2022/10/10 11:01:53Picture generated by Eeschema-SVG112233445566778899POTYPOTYPOTXPOTXSVG Picture created as paula-pot.svg date 2022/10/10 11:01:53

The difference is in the parts marked with a red circle. They are used as EMI filter. For the Amiga 4000, Commodore has used ferrites there. It is basically just a wire inside a ferrite bead, giving a resistance of 0Ω at low frequencies. In the Amiga 1200 (and Amiga 600) though, Commodore used standard 68Ω resistors, presumably to cut costs.

Together with the pull-up resistor inside Paula, this resistor works as a voltage divider. The switch inside a classic Amiga mouse pulls this divider to ground, giving 0.9V at the POT input, just enough to get detected as LOW.

SVG Picture created as paula-pot.svg date 2022/10/10 19:43:20Picture generated by Eeschema-SVGMouse Button68ΩPOTPaula Pullup0.9V5V0V68ΩMouse ButtonPOTPaula PullupSVG Picture created as paula-pot.svg date 2022/10/10 19:43:20

The mouse interface does not have a real switch though, but a logical output. For example, the PIC16F84 that is used in the YAMI interface provides a LOW voltage of 0.6V. Now the voltage divider gives 1.1V at the POT input, which is interpreted as HIGH by Paula.

SVG Picture created as paula-pot.svg date 2022/10/10 19:43:20Picture generated by Eeschema-SVGMouse InterfacePaula PullupPOT68Ω5V0.6V1.1VPaula PullupPOT68ΩMouse InterfaceSVG Picture created as paula-pot.svg date 2022/10/10 19:43:20

I could not find out if the pull-up resistor inside Paula has a lower resistance in that batch, or if there is a different threshold for detecting LOW levels. Both would be possible.

To fix the problem on my Amiga 1200, I replaced the 68Ω resistors E353R, E354R, E363R, and E364R with the SMD 1206 ferrites that are used in the Amiga 4000. They are a bit bigger than the 0804 resistors, but can still be soldered straight to the pads.

The position of the replacement ferrites at the bottom side of an Amiga 1200 board.

This is just a minor change to the hardware that could be done even by soldering novices (at least rather than unsoldering a PLCC chip). After that change, the mouse interface was working too.

Make sure to replace the resistors with ferrites, not the capacitors next to them!

PS: If you found this article because your Amiga is also having the problem, please send me the date code of your Paula chip. Maybe we can find a pattern of "bad" date codes. Thank you!

PPS: Commodore did the same trick on Amiga 600 machines, so if you have trouble with the right mousebutton on your A600, it's worth a try to replace E353R, E354R, E363R, and E364R.

Amiga 1000 Restauration, Part 2

In this second part, I will take care about the keyboard. I expected that it would be the usual procedure: Cleaning the key caps and case, whitening the yellowed parts, dusting off the keyboard frame.

The Amiga 1000 keyboard, before cleaning and whitening.

However, this time it wasn't that easy.

The trouble started when I pulled off the key caps, but also pulled out the plungers of three keys. Fortunately this can be repaired, as the switches are easy to maintain. More about that below.

Keyboard Cleaning

The key caps were cleaned in an ultrasonic bath with a drop of rinse aid, and then brushed with a soft toothbrush.

Below the key caps, there is the keyboard frame where the switches are mounted. I found the usual filth that you would expect there after almost 40 years, but there was also flash rust, a crusty dirt layer, and… dead insects. I went outside and brushed off the insects and all the other loose dirt. Then I went back inside, and sprayed the frame with IPA, in an attempt to clean off the crust. The room immediately filled with an unhealthy stench of dust, dirt, and insect excrements. 🤢 Also, my attempts to remove the flash rust with a fiberglass pen wasn't really successful. There was too much of it.

Yuck! Rust, crusty filth, and dead insects. My attempts to clean the frame in place were futile.

I wanted to avoid that I had to refurbish the frame, because it can only be removed after unsoldering all 91 switches (and one LED). But there was no other way to do it. So I unsoldered everything and removed the frame. On the PCB, I found dried stains from a liquid (maybe from a soft drink that had been spilled over the keyboard), and more dead insects. It confirmed that it was the right choice to go all the way.

Under the frame I found liquid stains, and more insects.

I sanded down the old paint and the dirt crust from the frame (outside, and wearing a good filter mask). Then I spray-painted it in a matte black. It's looking so much better now.

The frame, after sanding it. Freshly painted with matte black spray paint.

Refurbishing the Switches

The next bad surprise came when I was about to reassemble the keyboard. I tested all 91 switches for continuity when closed, but found only about 40 of them actually working. When I depressed the other keys, they either did not close the contact, or the plunger got stuck, or both.

The switches that are used in the Amiga 1000 keyboard are Mitsumi Type 2 tactile switches. They are out of production by today, but they are easy to maintain. After trying the best approach with a couple of switches, I found the following procedure to be most successful.

The switch can be opened by putting a kind of blade (like the head of a flat screwdriver, or flat pincers) into the latch on both sides, and then carefully removing the cap with a blade or another screwdriver. The switch consists of four parts: The cap, the plunger, the switch plate, and the base.

Insert a screwdriver or pincers, then carefully pull the cap from the base. From left to right: Cap, plunger (with spring), switch plate (with metal lever), base.

I cleaned the switch plate with contact cleaner spray. I also bent up the legs of the lever a tiny bit, so it will give a bit more pressure on the switch when the key is depressed.

Spray a bit of contact cleaner on the copper part in the center. If the contact does not close properly after cleaning, bend up the legs of the lever a tiny bit.

Finally, I applied a bit of silicone grease on both small sides of the plunger. It is important to use a very very tiny amount! If too much is used, the key will feel sluggish or might even get stuck. If in doubt, better skip this step.

Apply a very tiny amount of silicone grease on the bottom half of the small plunger sides.

After that, the switch was reassembled and tested again. If it was still getting stuck or didn't close the contact properly, the process was repeated.

It was a lot of work and a monotonous task, but at the end I could make all the switches work again.

Cleaned and refurbished keyboard, before putting on the keycaps.

Whitening

The keyboard case was cleaned in soap water. After that, the case (and the yellowed space bar) were exposed to the July sun for whitening.

The result is quite good, but on some parts a bit of yellow is still visible. I guess there would be an even better result if I would use peroxide, but I have no experience with that, and am not too keen to gain it with this rare keyboard.

The labels on some of the keys are still yellow, and wouldn't get any whiter in the sun. I guess that I will have to replace them with new labels some day.

Reassembling

With every parts cleaned and whitened, the keyboard was ready for reassembly. I pressed the key caps back on the keys, mounted the shielding, and then put the keyboard frame back into the case.

Take care when closing the case: One of the four screws is a bit shorter, and maybe also has a different color. This single screw must be used for the upper right hole.

One case screw is shorter, and has a different color. Use the shorter screw for the hole at the top right.

The keyboard restauration is completed now!

The Amiga 1000 keyboard is completed.

In the next part, I will reassemble the main unit, and have a first test. Is the Amiga still working?

Amiga 1000 Restauration, Part 1

When the Amiga 1000 was launched in 1985, it was too expensive as a home computer, but rather targeted the professional graphics workstation market. The sales figures were correspondingly low. Only 27,500 units have been sold in Germany. Nevertheless, and without a doubt, the Amiga 1000 is the jewel of every Amiga collection. Now I finally had the lucky chance to get my own one.

The Amiga 1000, as I got it. The keyboard is a French/Belgian AZERTY type, with labels for the German keyboard layout.

The overall state is fine, considering that the machine is almost 40 years old. The Amiga itself is only a bit yellowed, but has some heavy scratchmarks at one edge. The keyboard has a French/Belgian AZERTY layout that was changed to German layout using stickers, like it was usual for the first machines that were sold in the EU. Its case and the space bar are much more yellowed. The stickers are also yellowed, and one is missing.

The expansion slot at the front contains a 256KB RAM module. The original mouse and the disks have been lost, but I can use any other Amiga mouse and make new disks myself.

What's Inside

Inside I found a Rev A mainboard and a piggyback board. That extra board stores the Kickstart that is loaded from disk when the machine is powered up. Later revisions used Kickstart ROMs, and didn't need this piggyback board any more.

The mainboard, and the piggyback board on top.

Usually all piggyback Amiga 1000 were produced for the US market. They could not run in Europe without modifications, due to different power frequencies and TV standards. My machine was produced in early 1986, presumably for the US market. One year later, it was modified for the European market. The original Agnus chip was replaced by a 8367R0 that is able to generate PAL video signals. The crystal is still the original 28.6363 MHz NTSC one though, so the video signal is not truly PAL.

The system has a Denise 8362R6, which is the first revision that is also capable of displaying the EHB mode.

Altogether, it is an early Amiga model, and very likely one of the first that have been sold in Germany.

The PSU

Generally I don't recommend to power up an old computer straight away after many years of storage. Without a visual inspection and the necessary refurbishment, the power supply could damage the computer, or components inside could blow up.

A first visual check of the PSU seemed to be allright, with no obvious damages, and no bulged or leaked capacitors. But then I found tiny cracks in one safety capacitor.

A look into the PSU. This RIFA capacitor shows signs of fatigue.

These RIFA X class capacitors are actually infamous for blowing up after many years. Their insulators are made from paper. The material gets brittle from age and thermal stress, letting in moisture, which amplifies the problem. Eventually the capacitor can crack open and go up in fumes.

It was good that I kept the PSU disconnected from mains. It is now being refurbished by @DingensCGN, a member of the A1K.org forum who has a lot of experience with Amiga PSU restauration.

The Mainboard

I recapped the mainboard and piggyback board. For the seven 22µF capacitors, I used a bipolar type instead. Those capacitors are used for filtering the audio and RGB signals. Using bipolar caps here might improve the signal quality, and won't hurt otherwise.

To be honest, this time I had doubt if I should replace the old capacitors. This Amiga 1000 will not become a workstation, I have other Amigas for that. It is rather a collectible. Still I want it to be in a good technical condition. When I started to collect retro computers, I promised myself not to keep machines that are broken or otherwise not fit for use.

After that I removed all the dust, and gave the boards a thorough wash with IPA.

The mainboard, with fresh electrolytic capacitors.

The mainboard is now ready to get remarried with the piggyback board, and then move back into the case.

Whitening

The first thing I actually did was to disassemble the entire machine. The plastic parts of the case were cleaned in soap water and carefully scrubbed with a dishwashing brush. After that, I used the sunny July weather, and whitened all parts in the sunshine. I did not use any chemicals, just the sun. After two days, the Amiga was almost white again.

All case parts are whitened and ready for reassembly.

That's it for the first part of the Amiga 1000 story. The next part will be about the restauration of the keyboard. There is a lot to do there.

Atari ST

At the end of the 1980s, I wavered between the Atari ST and the Amiga 500 to become the successor of my ZX Spectrum. Eventually I decided to get an Amiga. In retrospective it was the right choice. The AmigaOS laid the foundation to my later career as a professional software developer. Still I stayed curious about the Atari ST. Well, now is the time to get one. 😀

I found an Atari 1040STF for a fair price. The outside is in a very good condition. No modifications, no yellowing, even the warranty seal was still intact. Also on the inside, there was just a bit of dust around the case vents.

My new Atari ST. Outside it's in a good condition. Even the protective film is still on the Atari badge. Just a bit of dust inside.

Even the keyboard wasn't really filthy, considering that the machine was in use for many years. It was still in for a thorough cleaning though.

The keyboard needs a cleaning. The keyboard's PCB, with the rubber domes. Cleaned keyboard. It looks much better.

The Atari ST has an integrated power supply, unlike the Amiga 500 with its separate PSU on the floor. On the one hand, it permits to plug the unit directly to the mains. On the other hand, it makes the machine heavier, and makes modding more risky due to the presence of hazardous voltages inside the case.

WARNING: Switched power supplies may still contain high voltages hours after they have been disconnected from mains. I strongly advise against attempting repairs or modifications yourself. Please ask a trained technician for assistance!

Inside my ST, I found a Mitsumi SR98 PSU. It looked okay, except of a bulged capacitor. However this type is said to be of poor quality, so I decided to replace it with a modern MeanWell RD-35A.

The original Mitsumi SR98 PSU. The filter capacitor is bulged.

The MeanWell sits very nicely on the original frame of the Atari ST, almost as if it was made for that purpose. In order to mount it, I removed the original PSU and the insulator sheet below, and drilled two screw holes into the frame.

The terminals of the PSU can be either on the left or the right side. I decided for the left side, so the mains and mainboard power lines are cleanly separated and won't cross each other. I had to extend the wires to the mainboard for that, though.

I also took care that the PSU, the frame, and the shielding of the Atari ST are properly grounded. For that I had to add a ground wire from the metal frame to the ground terminal of the RD-35A.

A MeanWell RD-35A as replacement. Mains and output wiring is cleanly separated. It sits perfectly on the original frame. Wired properly. A terminal cover prevents touching the mains terminals.

To be honest, I like this modification much better than the original open frame design. With a 3D printed terminal cover, all hazardous parts are now sufficiently protected against accidental touching.

The machine was sold as "LED lights up, but otherwise untested". I usually refrain from using old and unrefurbished PSUs for testing, as they might damage the computer or might even explode in worst case. With the new PSU, it was now time for a first check if there are other damages. But I was lucky. The machine just booted up without problems. The only minor issue was that the Atari logo was black, which showed that the machine still had the original TOS 1.02 ROMs.

The about dialog, with a monochrome Atari logo.

The TOS came in two strange 96KB ROMs. In order to do a TOS upgrade, I had to replace them with six (!) 27C256 EPROMs. This requires soldering in four more sockets, and changing three solder pads. But I was going to change the electrolytic capacitors anyway.

Time for recapping.

Recapping is a routine procedure for me when refurbishing home computers. Some people think it's not necessary unless one of the capacitors is actually bulged or leaking. However electrolytic capacitors also dry out over the years, and are losing their capacity. The result is that the system is still working, but might be unstable, or the audio and video quality might be degraded. The used components have usually been of a simple quality, since home computers were designed to be used for a few couple of years only, and production had to be cheap.

For soldering in the sockets, I first had to open the pads. Since I was on it, I also opened the pads for a Blitter socket as preparation for adding a Blitter chip. I no longer pursued this plan though after I found the prices of NOS Blitters. 🤑 According to the feedback of Atari enthusiasts, the Blitter isn't really necessary anyway thanks to optimized CPU based routines. This is possible because, unlike on the Amiga, the Blitter is blocking the CPU during operation.

The Rainbow TOS 1.04 image was first split into an upper and lower half, and then each half was split again into three sections. I used my pynaroma tool for that, and then burned each section to an 27C256 EPROM, giving six EPROMs. When changing from two ROMs to six EPROMs, it's also necessary to set three solder pads from the "1M" to the "256K" configuration.

Recapping is done, and there are new sockets for the TOS EPROMs. Six 27C256 EPROMs. The three solder pads need to be changed as shown.

And that's it. The machine booted up again, and finally showed the Atari logo in rainbow colors.

Rainbow TOS 1.04

Since I never had an Atari ST before, I don't have any diskettes, and I'm also not too keen in making some. Fortunately Centuriontech GOEX drives are also available for Atari ST computers. It is a drop-in replacement for the original drive, but uses .st files on SD cards instead. The diskette file can be selected via an encoder and a tiny OLED display. The ST itself won't notice that there is no real floppy drive connected to it.

The floppy power cable turned out to be a bit too short on my machine, so I had to replace it with a longer one.

The OLED display is fixed to the case top with double-sided tape. The ribbon cable is then hot-glued inside, so it will sit nice and tight.

The Centuriontech GOEX drive. The OLED display cable is hot-glued on the inside. The cable will then sit nicely tight on the outside.

And that concludes the refurbishment of my new Atari ST. I'm happy to have it in my retro collection.

This is my refurbished Atari 1040STF.

Rehousing of a PSP

I was one of the fools who had backed the ZX Spectrum Vega+, in the hope to get a Speccy handheld console. The campaign was one of the biggest at Indiegogo, and ended in a disaster. The Vega+ has never been produced, and the funding money was gone after a year-long legal battle between the project initiators.

Later I learned that there has been a ZX Spectrum handheld console all the time: A Sony PlayStation Portable running a Fuse emulator. By a lucky chance, I was able to get a PSP now. It's a PSP-2000 in Ice Silver color, probably a self-import straight from Japan.

A PSP-2000 in Ice Silver.

Overall, it was in an excellent condition, except of some minor scratches on the display and the UMD drive door. The previous owner told me that the volume buttons were unresponsive, which was fine for me since replacement parts are still available. What he "forgot" to tell me though was that two case screws had been overturned in a repair attempt.

One of the two screws that have been overturned.

I tried a screw remover on them, but the screws were too tight and the screw heads were too tiny. After that, I tried to cut a slit into the screw heads, but they were too hard for that. Eventually I gave up, and (with a heavy heart) I just cut the case open.

No chance to remove them. I had to cut the case open. 😢

Rehousing

There are replica cases available from China, so I ordered a replacement in transparent blue. It came in a full set, with plastic clips, all the screws, springs, and even with fake labels for the serial number. The only parts needed for the transplantation are the hardware and everything related to it (like metal shieldings, or the LCD frame).

WARNING: Although the transplantation isn't really difficult, it still takes a bit of experience with this kind of hardware. There is a risk that parts might break, or that the PSP might not work any more after reassembly. If you plan to move your PSP to a new case, you are doing it at your own risk. Also, please take ESD precautions!

The first step is to tear down the old PSP. It's certainly a good idea to make detailed notes and photos that will help to find the correct place for each part later. Especially the UMD drive has a few small parts that turned out to be a bit tricky at the reassembly. The flat wires can be removed by either gently lifting or moving the black lever of the connector. Do not just yank them out. Never use force!

Display folded forward. Now I can start with the disassembly. Top half is emptied. Now for the bottom half with the UMD drive.

Disassembling the UMD drive was surprisingly easy. At some point the drive door needs to be taken out though, which requires a bit of force that made me feel uneasy. I was worried that the door or one of the hinges might snap.

In order to remove the WiFi antenna, the sticker in the battery compartment needs to be removed. I tried it with dissolving the glue with IPA, but it also dissolved the sticker. In retrospect, I better should have used a hairdryer or a heat gun.

And then it was done. The old PSP was disassembled, and all parts were scattered on my desk.

The PSP is completely torn down. Let's put the pieces of the puzzle back together.

The reassembly is done in reverse order. If you have made meticulous notes on the disassembly, it should be easy.

Although the replica set already contained many new case parts, I decided to reuse some of the original ones. The symbols of the direction and control buttons of the replica were printed on the top of the keycap, which looks considerably cheaper than the original parts which are printed on the inside. I also reused the shoulder buttons, the cover of the memory stick port, and the power slider.

The bottom side, with the UMD drive and WiFi antenna. The UMD drive door is still removed. Top side almost completely assembled again.

As one of the last steps, I could finally do what I originally intended to do only. I peeled off the old membrane of the control panel, and carefully put the replacement part on it. There are tiny holes in the holder and the membrane that helps to do a proper alignment.

This was what I initially planned: Changing the membrane of the control panel.

The rehousing was completed. In a last step, I cleaned the fingerprints off the LCD glass. I recommend to use a non-alcoholic LCD cleaner that does not leave streaks. I had used IPA first, but it dissolved the foam around the display and smeared it all over the panel.

The glass of the top cover was protected by two films (one inside, one outside) that needed to be removed. Then I used a camera lens brush to carefully brush off remaining dust particles and hairs from the glass and the LCD panel. Finally I closed the new case.

To my amazement, the PSP was still working! The new case doesn't look and feel as premium as the original case, but overall, the PSP looks very pretty in the clear blue case.

Transplantation was successful, and the patient is still alive.

Custom Firmware

My goal is to run emulators on the PSP. There is a lot of so-called "homebrew" software available, like emulators, tools, and even self-made games. But in order to run them, there must be a custom firmware installed first.

It's very easy to install it. First you need to make sure that the latest firmware 6.61 is installed on your PSP. If not, make an upgrade first. After that, a so called Infinity patch is installed. It takes care that the custom firmware is always active, even after a reboot. Finally, the custom firmware is installed, and then connected to the Infinity patch.

There is an excellent video by MrMario2011 that is explaning each step.

Homebrew software can be found just by searching for it. Of course, the first thing I installed was the ZX Spectrum emulator. It is based on the open source Fuse emulator. Games can be (legally) downloaded at World of Spectrum.

ZX Spectrum Emulator running the game "IK+".

There are many other emulators, e.g. for C64, Atari, Amiga, and many old game consoles. The Amiga emulator brought the PSP to its limit though. I tried to run the Red Sector Megademo on it, but it was quite sluggish and not really fun to watch.

Talking about demos: There are even a few demos for the PSP! One of the best voted is made by The Black Lotus (Amiga fans certainly remember the name of that group) and is open source. I recommend to run the version at GitHub, as the one at pouet.net might not run on the latest kernel versions. There is a video of the demo on YouTube (NSFW).

There are even demos for the PSP!

To wrap it up: While looking for software I felt like am too late for the party, as the PSP retro scene seems to have moved on already. Still, the PSP-2000 is a nice handheld console. And with the homebrew emulators, there is an almost unlimited pool of old retro games available.