Mac ROM Shadowing
The ROM in the 840av and 660av has the ability to copy its self into RAM during booting, based on a value in PRAM. The ROM typically operates slower than RAM, and depending on the specifics of the machine, significantly slower than RAM. Copying the ROM contents into RAM can product a bit of a speed boost.
During ROM initialization, byte 11, bit 1 is consulted to determine if ROM should be copied into RAM. Here is the check from the Quadra 660av ROM:
1A6 264F Move.L A7, A3 1A8 263C 0001 000B Move.L $1000B, D3 1AE 61FF 0000 B45A Bsr PramIO 1B4 301F Move (A7)+, D0 1B6 0240 0100 And $100, D0 1BA 6700 00AA BEQ NoROMinRAM 1BE 41FA FE40 Lea.L BaseOfRom, A0The rest of this code proceeds to do the copy and setup all the various vector tables to point to the right places in RAM.
Copying the ROM into RAM will obviously use more RAM (specifically, the size of the ROM, which is 2MB for the AV ROM), however the Finder's About This Mac dialog doesn't seem to change its memory reporting to reflect this.
I haven't done extensive testing of the performance difference, but I did write a simple test of making a ROM toolbox call in a loop. There was a slight increase in the speed of that loop on the 660av, but it was about a 30% improvement on the 840av. For normal operation, like booting and just mousing around Finder, I didn't notice a qualitative difference in speed.
If your workload involves lots of time in ROM traps, this might provide a noticeable difference.
Files:
ROMinRAM.sit.hqx 2 simple tools to set and unset the flag in PRAM controlling this feature. There is no UI, they just set or unset and exit.
Discussion:
There is a thread on the subject on the mac68k.info forums.