There are some 4-bit CPUs that use an LFSR as the program counter, so the ROM gets stored in pseudorandom order.
It's fun how the lowest tech chips and the highest tech chips both end up resorting to the same old techniques, isn't it? :)
What would be the reason for the pseudorandom ROM order? Just a side effect of the PC choice or deliberate?
sidenote: interesting that two sentences into your response I knew exactly what name I was going to see as the author. Thanks for the work you're doing and especially for documenting it. I've been reversing my old DSL-modem to pass time during lockdowns and since it's an obscure, asic based model it's highly educational to see you talk about figuring out things living on the hard/software boundary.
The pseudorandom ROM order is just a consequence of using an LFSR as a counter, since it counts in pseudorandom order.
I'm glad you enjoy what I'm doing! It's a lot of fun being able to work on a project like this, and I'm glad some of it is educational for other folks.
The earliest example of an LFSR I’ve seen is the Nintendo Entertainment System’s white noise generator, implemented in hardware. But many NES games used software LFSRs to generate random numbers for gameplay, so the trick was probably long-established and well-known at that time.
I have found that "River Raid" (1982) and "The Sentinel" (1986) were using it for game data. Apparently, the original "Elite" was supposed to use one, too, but they decided against it.