The Falcon takes a single half-megabyte 27C4096 chip in a PLCC44 format. This is located in a socket under the RAM board.
Unfortunately all the modern chips in this format are one-time-programmable, for example the Microchip (AT) version: https://uk.rs-online.com/web/p/eprom/1276560/
There are, at the time of writing, vintage and almost certainly second hand, despite adverts to the contrary, UV-erasable Hitachi (HN) versions available on eBay. Search for HN27C4096. You'll probably want to pick up a cheap UV eraser too. These use LEDs and so are pretty inefficient at their job, but a good 45 minutes or so with your chip under the light should erase it fully, more often than not.
Both of these types can be programmed with the now virtually ubiquitous TL866ii Plus programmer (1), with a suitable adapter (5).
In my opinion, if you're buying one of these TL866ii Plus programmers, it's worth getting a pack with as many adapters as you can as the adapters themselves can be quite pricey and if there's any chance you may want to program something else in the future, it'll probably work out cheaper to wrap them all up into the package in one go. The PLCC extractor tool is a must have as well, if you don't want to run the risk of breaking your ROM socket and having a whole world of pain trying to replace it.
Have a search on Ali Express.
Some of the more recent adapter boards come with a jumper that lets you choose between compatibility for our EPROMs or for flashing PLCC44 microcontrollers.
The older boards may not have this jumper and are wired to support flashing of the microcontrollers only. For these older boards, you'll need to solder a pair of jumper wires between or around the pin header. Converting two NC pins to ground. These links are between pins 12 and 13 and pins 33 and 34 on the PLCC socket. A little bit of kynar wire will do the job.
Once this is in place you should be able to successfully read the chip ID of your 27C4096 and dump its contents. You can use the (Windows only) software supplied with the TL866ii Plus (I'll not go into this here, as I don't use this, but examples abound on the internet -- it's actually quite powerful and will let you do many things such as dumping GALs and verifying logic chips) or you can use the open-source command line minipro tool.
Now, the Falcon is a big-endian machine and the machine you're going to flash with is almost certainly not, so a bit of byte-swapping is needed.
Let's say I have a 512k EmuTOS image downloaded from https://sourceforge.net/projects/emutos/files/snapshots. It'll be in the correct byte order for running Hatari or indeed running it on the Falcon, but as we come to write a word at a time to on the TL866ii Plus, the order will be reverse.
We can use the command-line tool 'dd' available on most Posix systems to flip the bytes:
Code: Select all
dd conv=swab if=etos512uk.img of=myimage.img
Code: Select all
minipro -p HN27C4096@DIP40 -w myimage.img
Now, this is a hardware forum, so I should point out there are also alternatives. Either involving a bit of sneaky patch wiring, or by using cut-down 'loader' OSs in the cartridge port. The TL866ii can also write to Flash chips...
But these would be stories for another day!