For Mobile Phone, get a Windows Mobile 5.0 phone, as PalmOS is on the way out, and Palm itself is now starting to use Windows Mobile for it's Palms.
The Zaurus is REALLY awesome. If you want an opensource PDA with full X11 640x480, I recommend the Zaurus Cxxx series. I love my C1000. Reminds me that I need to update psx4all on it. It runs great but could use a better control layout.
I have a better picture of what's going wrong with the dynarec. I took Tinnus' advice and limited everything down to the recompile function, recompiled jump operations, and called functions to C implementations of each PSX OP. Well it still has the same weird issue.
So the bug can be in either the recompile functions prologue or epilogue in which I basically inject a stmfd sp!, {r4-r10, lr} and epilogue of ldmia sp!, {r4-r10, pc}
Or it could be the CallFunction procedure where I basically load a function's address as a 32bit immediate (using an optimized method of the basic mov, orr, orr, orr) into R4, and also inject "mov lr, pc" "mov pc, r4". I tried many different methods of doing a long branch, and they all failed just like this simple method. I wasn't able to figure out how to calculate the offset from the PC, to construct a BL op. I figure what im doing now would be equivelant to BL though. So hmm.
Or it could be the PSX opcode's J / BNE, but I highly doubt it, as they're pretty straightforward and simple. If J / BNE didn't work, it wouldn't of made it as far into the BIOS as it does.
Any ideas?
ZodTTD