How to replace TTL PROMs in a design operating at 20MHz
Beside the solutions suggested by @Brian Drummond in the comments, you could use:


a 5V non-volatile SRAM (e.g. CY14E256LA-SZ25XI). Some NVSRAMs have an internal battery (which typically lasts 10 years). Other NVSRAMs (such as CY14E256LA-SZ25XI) have a built-in non volatile memory, which is copied to the memory at power up. But the recall procedure requires some time (20ms. Can you live with this?).





a 5V FRAM such as MSM5412222B-25TK-MTL.
any other 3.3V non-volatile memory (if cheaper and fast enough) or 3.3V CPLD. And then use two voltage level translators.


Of course all these solutions are not pin to pin compatibile, and you'll need a PCB to make an adaptor. At the end everything might cost well more than the 30£, as Brian Drummond pointed.

But if your system uses more than one PROM, you can use only one ("large enough") NVSRAM in place of 2 or more of those PROM.