When using an accelerator that replaces the 68000 CPU in an Amiga 500 you often need to use something called a relocator. This is because the card gets in the way of things like the keyboard in the Amiga, so the relocator moves the socket somewhere else. The two common ones are straight relocators which just move it further back and a 90 degree relocator which rotates it 90 degrees and essentially also moves it to the back.

I recently discovered an Open Source project which combines a 90 degree relocator with a programmable flash ROM storage. So, I decided this would be an interesting project to build and play with and I ordered a PCB for it.

Soldering

I recently purchase a lightly used second hand JBC CD-2BB soldering station with a bunch of tips. This station is great because it uses cartridge style tips which can be changed quickly and they control the heat much better than traditional irons. Some of those tips are designed for SMT work and there was a good range included with this kit.

With this and a 0.3mm tip I hand soldered the individual pins of the Xilinx and the SMT components. The iron works great for this, but I struggled with the ground plane for some of the larger SMT components. Next time I need to switch to a larger tip for those components.

Then a quick switch to a larger tip to do all the through-hole pins and sockets.

Finally all that was needed was to use my Raspberry Pi Xilinx programmer to flash the chip.

Usage

The board is configured to boot from the onboard flash. If you hold down Ctrl-Amiga-Amiga for a couple of seconds it will switch to the motherboard’s ROM and the onboard flash will be programmable. The state is not stored when the power is turned off. This of course means that straight after it is built it boots a blank ROM and you just get a black screen before you do the reset switch.

There is a command line tool to flash a ROM but there is also a fork with a graphical tool to do it, so I tried this. You simply pick a ROM file, press the “Program” button and several seconds later the flash ROMs are programmed.

The only issue I’ve hit so far is I cannot use the GUI tool to flash DiagROM since it cannot detect the ROM version properly. Unfortunately the sources are not available and I haven’t found a way to contact the author of the software yet.

Future

The pre-compiled Xilinx binary is out of date compared to the source, so I’ll definitely be compiling and flashing a bugfix version. In addition I want to modify this slightly so it boots the motherboard ROM by default.

If I can’t get hold of the sources for the GUI tool to modify then I may well give myself a project to write a new one at some point in 2021.

I also have some hardware tweaks that I want to make, so this could also be a project for next year.

5 responses to “Building an Amiga 500 Relocator with Flash ROM”

  1. […] on from my post yesterday I decided to do a minor change to the Verilog on the 68000 relocator and pave the way for future […]

  2. Hi. I made this and wondered if you have made a new firmware that loads the Motherboard rom as default?

    Does the jumper have a useful function?

    A relocator with two CPU sockets would be cool so that I could switch between 68000 with KS1.3 and accelerator along with KS3.1

    1. I have indeed. With my firmware you can load two ROMs into the relocator board, motherboard boots as default. The jumper in the original firmware allows 1MB ROMs to be flashed (although I think off the top of my head there is a bug in the original firmware that stops the top 512KB from working) and on my firmware it switches between 1 ROM and 2 ROMs to be flashed (1 ROM if you are using 020 flash chips).

      My firmware and the updated software to use it can be found here:
      https://github.com/LinuxJedi/68000_Relocator_FLASH_Kickstart

      I’m currently slowly working on a new GUI for the software too. Taking a little while due to free time and supporting Workbench/Kickstart 1.3 adds complexity.

      1. Thanks. Great!

        BTW I tried mine with a TF534 accelerator and it doesn’t work. I suspect a Zorro II conflict. TF536 works fine with it.

        1. TF534 doesn’t use the Zorro II bus for RAM and its logic is at a completely different address area. So I’m not sure why that wouldn’t work (the 530 does, I suspect that would conflict). I don’t have one to hand to try though as I used a TF536 myself.

          Best guess is the logic bugs in the original binary version of the Xilinx firmware for the relocator (it is fixed in the Verilog but has only been recompiled in my tree).

Leave a Reply

Your email address will not be published. Required fields are marked *