Maybe this is part of a paging mechanism? Maybe the "page" (4bit: 0-f x 2MB=32MB; 3bit: 0-7 x 2MB=16MB ) is set in a register (or register bits) of which the purpose is yet unknown?
Of the 48-bit address (16 bits "high offset" and 32 bits "low offset), only the lowest 21 bits are used. Everything else is ignored, so the address space repeats after every 2MB. I haven't found a register for turning this off yet, and it may very well be a hardware limitation...
Might have been to make erroneous region assignment difficult, ie. kernel-space overwrites by errant (but intentional) non-console code. Just a thought...
(Unless, of course that's what you meant in what I quoted.)
Last edited by nodots; 11-13-2011 at 06:44 PM.
Reason: added info
PS2 (39001), FMCB 1.8c, 40GB HDD, OPL 0.9 beta, uLE 4.42a
PSP 2001 "Imperial white", 6.60 PRO-B10
Xbox 1.6, 20GB HDD (fonts=>nkpatcher 10)
Xbox 1.0, X2 Duo, 50GB HDD (128MB/VGA mods soon)