I've designed the 'platform' with an eventual switch to 64-bits in mind: the interpreter expects a base address and all PowerPC pointers are offset by that base address. Not to mention that it's not super-safe to let the PowerPC code access everything the host process can.
However, as I'm trying to build around that core, it's becoming more and more constraining (for instance, you can't use ARC with 32-bits Cocoa applications). To satisfy that constraint, currently I'm compiling for i386 only. My biggest issue so far is that PowerPC programs are 32-bits, so pointers need to be 32-bits. The whole thing is kind of working: there are some bugs in the interpreter, but that was expected and I'm working on that. To achieve that goal, I implemented a PEF executable loader, a PowerPC interpreter that can bridge to native code, and some Mac OS 9 libraries. I am writing a Mac OS 9 'compatibility layer' for Mac OS X because I was struck with nostalgia recently, and because all current solutions require you to run Classic inside a virtual machine that doesn't support everything it should to run the stuff I want to use.