Let's say I wrote a code that uses the Hollywood Registers or the GPIO unit.
I've noticed (from the PPC side via a simple Gecko code) if I write something like to light up the Disc Drive or change the output color of the VI_SOLID, it can only take effect via Virtual Mode.
If I execute the same snippets of code in Real Mode or during an Exception, there is zero effect. I've tried loading/storing to 0x0D00XXXX, 0x0D80XXXX, 0xCD00XXXX, and 0xCD80XXXX during Real Mode. No effects/changes happen. The game doesn't crash at all using any of those address schemes, it's just as if the snippets of code don't exist.
Can somebody explain this?
I've noticed (from the PPC side via a simple Gecko code) if I write something like to light up the Disc Drive or change the output color of the VI_SOLID, it can only take effect via Virtual Mode.
If I execute the same snippets of code in Real Mode or during an Exception, there is zero effect. I've tried loading/storing to 0x0D00XXXX, 0x0D80XXXX, 0xCD00XXXX, and 0xCD80XXXX during Real Mode. No effects/changes happen. The game doesn't crash at all using any of those address schemes, it's just as if the snippets of code don't exist.
Can somebody explain this?