My friend Ken pointed out that unlike a real Elf, my FPGA-Elf didn’t display the contents of memory if you repeatedly press the input button while in load mode with memory protect enabled. At first I couldn’t figure out how the real Elf did that, but careful study of the schematic and the 1802 manual revealed the secret. In load mode, the 1802 continuously reads and ignores the contents of memory. However, it reads from the address one less than the contents of R0. The Elf hardware latches the displays during this read, and NOT during the memory write cycle when you press the input button. Thus the Elf always displays the contents of the address prior to the next address available for writing. This also means that when you first enter load mode, it displays the contents of address FFFF (hexadecimal). On a minimal Elf, the high byte of the address is ignored, so it displays the contents of address 00FF.
I’ve updated my 1802 core and Elf VHDL files to match this behavior.