QUOTE(torne @ Jun 15 2006, 06:00 PM)

Anything that runs on the xbox, unless it takes specific steps to become otherwise, is running under the MS Xbox kernel and is thus 'stuck' in protected mode. You can return to real mode (or unreal mode) via the normal mechanisms for doing so on x86 (read the intel/amd manuals) if you want, but you will have to provide all your own interrupt vectors and so on first, as the Xbox's are not going to work if you leave the MS kernel environment. You effectively have to provide your own OS.
Yep, not a problem, and I'm fully ready for that. My existing program only uses INT 16h for keyboard input, which isn't going to do me much good on an xbox anyway, so that's obviously got to go!
All of my hardware read/write routes do stuff directly to the hardware without those mamby-pamby kernel/interrupt interfaces! (those are for wimps) (IMG:
style_emoticons/default/tongue.gif)
QUOTE(torne @ Jun 15 2006, 06:00 PM)

The XBE build of Cromwell, xromwell, does something similar in order to escape from under the thumb of the MS kernel and become a suitable free XDKless environment for starting Linux in, though I doubt it bothers to leave protected mode (probably just turns off interrupts, rewrites all the IDTs and vectors and so on, and turns them back on again once all methods for the Xbox kernel to reestablish control have been overwritten with its own code).
Perfect. That's the rabbit hole I was hoping to chase down.
(15 seconds later)
Ah yes, escape.s in sourceforge is exactly what I was looking for. Why I didn't go there before is beyond me, but at least now you know what else I'm up to beyond the fatx kernel hack.
thanks again torne!
QUOTE(torne @ Jun 15 2006, 06:00 PM)

If you're gonna go around probing PCI bus locations and so on, though, be aware that certain parts of the PCI bus and certain parts of the physical address space cause the xbox to hang if you touch them - see the xbox-linux kernel patches for what to avoid (I don't recall off the top of my head).
Yeah, I was just reading about the PCI no touch zones a few days ago, and this should be easy enough to avoid. I was unaware of anything in memory being like that though. Interesting. I may have bumped into something like this earlier in my experiments and then blamed it on the CPU instead.