The reason turned out to be that the game runs a memory cleaning command to avoid bugs arising from lack of space. Since modern computers have 10000x more memory to clean up, these commands now take way more time to complete, and thus slow the whole game down.
Look up JavaCard which apparently is a thing that still exists. It uses the Java language without a GC - that programming environment is truly miserable to work with.
The understated insane part of this is that emulating a 100mhz ARM CPU with 128kb of RAM apparently takes gigabytes of RAM to accomplish. What on earth is that emulator doing?
The thing I don't understand is that the application presumably isn't using any more or less memory than it did when it ran on a 1/10,000x computer. You're not scanning the whole RAM for memory to clean up, just the allocated memory. And on a game that was designed to use 128kB, that's presumably not very much.
Is a reference to both the many enthralling presentations Carmack has given and to https://www.youtube.com/watch?v=X68Mm_kYRjc