Water reflections on a roof

Retro.Workshop

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.

Amiga 1200 Restauration

Ever since I got my Amiga 4000, I was pondering about if an Amiga 1200 would have been a better choice. I mean, the Amiga 4000 is nice because it has a lot of space for extensions. But on the other hand, it is rather bulky and heavy, so it isn't much fun to take it to a friend or a party, unlike the compact and light Amiga 1200.

But why not have both? ๐Ÿ˜‰ I had found an Amiga 1200 offer on the Bay that was too good to be ignored, so I bought it.

My new Amiga 1200, unboxed. The keys are yellowed, and the Amiga badge is just a cheap sticker.

It's an Amiga 1200 from the days after Commodore went belly up, and when Escom took over and sold the last Amiga stocks. The good news is that the Escom cases were made of ABS with an anti-UV treatment, so they will never yellow. The bad news is that the keycaps were not treated, and are very visible yellowed by now.

I sent the keycaps to the experts at the CBM Museum Wuppertal for whitening. The case itself is almost in a mint condition, all it needed was a bath in warm dishwater.

Let's take the computer apart and have a look inside.

After opening the cover and removing the keyboard.

There's a 2.5" hard disk, which turned out to contain a Workbench, a few games, and also many bad sectors. I'm going to replace it with an SD Card solution anyway. The shielding has a bit of flash rust and was bent around the ROMs, probably from forceful prying out the ROM chips with a screwdriver. Besides that, the overall status is quite okay.

The mainboard is in a good condition. I've already changed the Kickstart ROMs.

Under the shielding, I found the mainboard in a good condition, especially without flash rust on the modulator. To my surprise, it is a Rev. 1D.1 board, which was actually the first broadly sold board revision. In one of the last Amigas that have ever been produced, I had rather expected to find a revision 2 board. Anyway I was lucky because the 1D.1 revision is said to be the most stable one, and it also has a good Lisa chip that was manfactured by HP. On both CIA chips I found traces of flux, so the board seems to have been repaired before.

It's a rather early Rev 1D.1 board. I didn't expect to find that in one of the last Amigas ever sold. It also seems that this board has been repaired before.

According to my contact at the CBM Museum Wuppertal, Escom sold everything they could find at the Commodore remainders. Allegedly they also produced "new" Amiga computers with refurbished mainboards. Maybe this is one of them?

I first inserted diag ROMs and checked the hardware, but found no problems, so I upgraded the system to AmigaOS 3.2. The next thing on my to-do list was to replace the electrolytic capacitors, as they tend to leak over all those years, causing damage to the PCB. I have already done that on my Amiga 4000 before, but on this model the space was a bit more limited. I even had to remove a freshly replaced SMD capacitor because another capacitor did not fit next to it any more.

Two capacitors are overlapping. It's a tight space. Eventually I replaced all electrolytic capacitors.

To enhance the stability of accelerator boards, it is recommended to remove the capacitors E123C and E125C on the bottom side of the PCB. The easiest way is to use two soldering irons like a pair of tweezers.

The bottom side, with E123C and E125C removed.

After a thorough wash with IPA, the board was then ready to move back into the case.

The board after recapping, ready to move in again.

I want to modernize the Amiga so it can be connected to a HDMI monitor. The RGB to HDMI solution of the Amiga 500 won't work on the AGA chipset though, so I decided to get an Indivision AGA MK3 from Individual Computers. It is plugged onto Lisa and one of the CIA chips, and offers an HDMI output even with sound. (Which is quite an accomplishment, as both chips are not connected to a sound line.)

Since I was on it, I also extended the memory with an ACA1211. Unfortunately it turned out that AmigaOS 3.2 is incompatible to the ACA1211, and the system won't boot in this combination. I had to return to the original AmigaOS 3.0 ROMs again. Eventually I traded the ACA1211 for an ACA1234, which is also an accelerator and works fine with the latest AmigaOS.

To make the wire mess complete, I replaced the floppy disk drive with a GOEX drive from Centurion Tech.

The Indivision AGA MK3 and the ACA1211 mounted. The GOEX floppy simulator replaces the original floppy disk drive.

Centurion also offers LED boards with customized colors. I have picked blue as power LED, green as floppy drive LED, and red as harddisk LED.

New LEDs in my favorite colors! ๐Ÿ˜

In the meantime, I got the whitened keycaps back. They were almost white again, but sadly there is still a slight, but visible yellow tint. Maybe I will buy a new set of key caps once they are available. The Amiga would then look as new.

The original Escom label is just a cheap sticker. It looks ugly to me, so I replaced it with a replica Commodore badge.

And then, for the first time after my purchase, I could close the Amiga 1200 case again.

This is my refurbished Amiga 1200/030.

Please welcome the newest addition to my Amiga collection!

How to burn Amiga EPROMs

TL866II Plus with EPROM adapter and MX27C4100 EPROM With the recent AmigaOS 3.2 release, and the prospect of further updates, it may be interesting to burn own EPROMs for the Amiga. Luckily there is no need to buy expensive equipment any more, as EPROM burners and erasers became affordable. This article explains how I burn Amiga EPROMs at home.

Shopping List

First of all, we will need fitting EPROMs of course. These types are compatible to most Amiga models:

  • AMD AM27C400
  • Macronix MX27C4100 [sic!]
  • STMicroelectronics M27C400

It is important to pick parts with an access time of 200 ns or faster. Models like the Amiga 4000 can even be jumpered to an access time of 160 ns. EPROMs with 120 ns (or less) are easy to find, and definitely on the safe side. Note that Macronix truncates the trailing zero, so a MX27C4100-12 actually has 120 ns access time.

For burning the EPROMs, I use an XGecu TL866II Plus programmer and a 27C400 programming adapter.

Unlike modern flash memory, EPROMs cannot be erased electrically, but are erased by exposing the chip behind the quartz glass window to a strong UV light source. For this reason, an EPROM eraser is also recommended. Note that there are OTP-ROMs without that window, they cannot be erased at all.

With a bit of nail polish remover, the AMD 27C400 retransformed to MX 27C4100. No EPROM shaming here! ๐Ÿ˜‰ None of these EPROM types are still in production. You might still find sources who sell NOS parts, but usually all chips on the market are refurbished. I am a bit careful with chips that look too new, or are claimed to be made by AMD. It is likely that these are just Macronix chips that were painted black and then laser-engraved with a fake AMD label. A cotton bud and a bit of nail polish remover will quickly reveal the scam.

These fake parts are perfectly fine. They are just sold at a higher price because of the alleged noble AMD origin, so you might as well order the Macronix chips directly and save money.

Preparation

Before burning a ROM dump, all even and odd bytes need to be swapped. For Amiga models with two ROM sockets, these dumps also need to be split into separate images for the upper and lower word. To make things even more complicated, a 256KB ROM dump needs to be duplicated to fill the entire memory space of a 512KB EPROM.

Luckily, the AmigaOS 3.2 CD already provides *.bin files that are ready for burning. For plain ROM dumps (those that can be used in emulators), my tool pynaroma can be used for byte-swapping, splitting, and duplicating.

Burning ROM

For the TL866 programmer, I prefer to use the minipro controller software. It is open source and runs on Linux, MacOS and many other Unix derivates, while the manufacturer's original software requires Windows.

The programming adapter is inserted into the programmer, and EPROM inserted into the ZIF socket of the adapter, with the notch pointing to the top, and the chip aligned with the bottom of the socket. Do not put the EPROM into the programmer without that adapter, otherwise it will be destroyed during operation.

The adapter simulates the pinout of an AM27C4096 EPROM, so --device 'AM27C4096@DIP40' must be selected. The --skip-id option must be given as well, otherwise minipro would abort the process because it detects a different type of EPROM.

For writing, the --no_id_error option needs to be used instead. By default, the AM27C4096@DIP40 profile uses a programming voltage of 13V, and a writing voltage of 6.5V. On my chips VPP=12.5V is printed, so I reduced the programming voltage with the --vpp 12.5 option. It might also be necessary to reduce the writing voltage using the --vdd option. Check the datasheet if in doubt.

The first step is to check if the EPROM is empty.

minipro --device 'AM27C4096@DIP40' --skip_id --blank_check

If it's not, it must be erased first. 15 minutes of UV light exposure in the EPROM eraser should be sufficient. If the EPROM still isn't empty after that, just repeat the process.

After that, the ROM image (e.g. amigaos.bin) can be burned to the EPROM:

minipro --device 'AM27C4096@DIP40' --no_id_error --vpp 12.5 --write amigaos.bin

minipro will automatically verify the content after burning, but you can also verify it manually:

minipro --device 'AM27C4096@DIP40' --skip_id --verify amigaos.bin

And for the sake of completeness, this is how to read the content of a burned EPROM to a ROM image file:

minipro --device 'AM27C4096@DIP40' --skip_id --read amigaos-read.bin

After burning, the window should be covered to protect the chip from stray UV light. A simple paper sticker is sufficient.

#Advertisement? This blog is free of ads. All shown products have been paid by myself.
Friday, October 29, 2021
The Ugly Duckling

One year or so after I got my Amiga 500, I extended it with a GVP Impact Series II A500-HD+ SCSI host adapter and a 45MB harddisk. It retired together with the Amiga 500, and was stored in the basement for decades. But while the Amiga survived the years in a surprisingly good state, the GVP had suffered from the moisture. The case was yellowed, but also got mold stains, and the metal frame got some flash rust.

Dirty, yellowed, mold stains, rust at the bottom frameโ€ฆ This poor device has suffered from storage.

All in all, it seemed to be in a bad shape that was difficult to restore. But on the other hand, it would be sad to write off this nice piece of hardware, while all the other Amiga stuff got a general overhaul.

I sent the case to the CBM Museum Wuppertal for cleaning and whitening. It was a bit embarassing to send it in that bad condition, but they said it can be cleaned and will then look as good as new. Let's see if they can do miracles.

Flash Rust

The base frame had a lot of dirt and flash rust from the storage, especially in the areas that are frequently touched. I used some Nigrin car metal polish paste to clean it, but probably every kitchen metal polish would have done the job as well. It was a bit of work, but after that it almost looked as new.

A lot of flash rust, fingerprints, and dirt. After applying a metal polish, it was a lot harder to make a photo. ๐Ÿ˜„

Self-Powering

There have been two things that were always annoying me on this controller. One was the tiny fan that was supposed to cool the harddisk, but produced a lot of noise. The other one was that a separate external PSU was needed to power the harddisk.

I always wished that the controller would just source itself from the Amiga, but it was clear to me that the mechanical harddisk was drawing too much power for that. The original Fujitsu drive consumed about 10W! With a SCSI2SD adapter, the power consumption is considerably lower, so a self-powering is feasible. The SCSI2SD V5.2 adapter draws only about 10mA, or 0.05W.

The controller can easily be modified to get its power from the Amiga. There is a blog post by davem2 explaining it. All one needs to do is to bridge the CN5 and CN6 pads with some solder.

The CN5 and CN6 bridges enable powering from Amiga. The controller's PSU must not be connected after the modification though.

Since the SCSI2SD adapter also does not need active cooling, I could finally keep the loud case fan disconnected for good.

After the modification, make sure never to connect the GVP PSU to the controller again. It would power the Amiga via the card connector, which is very likely to cause damage to your hardware. Also, do not use mechanical harddisks after the modification. If you want to keep using the original PSU instead, you should let a technician check it first.

Firmware Upgrade

By a lucky chance, I found the latest firmware v4.15 in Ralph Babel's Amiga archive. By another lucky chance, I also found a 27128 EPROM in my spare part box that was once stripped from an old mainboard.

The original firmware would have worked fine as well, but if there is an opportunity for a free update, why not take it?

A firmware update after 30 years!

If you should use a 27256 EPROM instead, make sure to burn the image twice, as only the upper half of the memory will be accessed by the hardware.

Final Works

As there are no electrolytic capacitors on this board, there is no need for recapping. I still did a minor modification: I replaced the LEDs with blue (power) and red (disk) ones, as it became a kind of signature color for all my computers.

After that, I gave the board a thorough bath in IPA, and cleaned the edge card connector with a contact cleaner.

The PCB is nice and clean again!

I also found two 1MB/70ns 30-pin SIMM modules for a few Euros on the Bay, so I could double the available Fast RAM to stunning 4MB in total. (Remember to change the jumpers accordingly, as there is no automatic detection.)

Reassembly

Meanwhile the CBM Museum Wuppertal had returned the cleaned and whitened cover. They did an excellent job! The case looks almost as good as new. The mold and dirt stains are gone, and the whitening brought back the original "Amiga beige" color.

The cover was cleaned and whitened successfully.

As the SCSI2SD adapter is delivered without any kind of mounting frame, I had to 3D-print one myself. Unfortunately it collided with the case fan, so eventually I just removed it completely.

The SCSI2SD adapter on its mounting frame.

And that's it. The GVP harddisk controller is reunited with its Amiga 500 again. I am sure they have missed each other. ๐Ÿ˜‰

Don't they look happy?

The ugly duckling finally became a beautiful swan again!