In reply to Jess:
"ROL are now in the position that they can produce 26 bit and 32 bit systems from the same sources."
This distinction is going to be meaningless on the x86. The only advantage I can see is that if Castle and ROL have macros for saving processor state etc, then these can be easily adapted for the X86.
"Could these sources not be fed into a cross-assembler as Druck suggested? (or the correct compiler, as relevant)."
You'd have to write the cross-assembler first, unless Druck has something in mind that already exists. Even then, I don't think it's as easy as putting all the RISC OS source through a magic program and then suddenly beaing able to boot it on an X86 motherboard...
It seems clear to me that quite a lot of stuff would have to be hand-written natively. Certainly any self-modifying code. Also probably everything to do with the MMU, cache flushing, timers, interrupts, trap handlers, etc. Hopefully some of these things are abstracted and exist entirely in RISC OS 5's HAL (eg: probably timers, but probably not the MMU).
Would a cross-assembler know how to translate SWI handlers? How about the way in which SharedClibrary calls are made by branching to a negative address? Maybe some of this could be automated once the corresponding APIs are dreamt up for the X86.
Hardware drivers would need to be written - or obtained and then adapted to "CISC OS". Castle has an advantage here in that they have more experience of RISC OS on commodity hardware (graphics cards, UDMA, etc). It won't be a good proof of concept without being able to access the hard disc!
"I also said proof of concept - ie running but not salable (eighty twenty rules and all that), but enough to generate interest."
If "proof of concept" just means running one or two command-line programs on x86, it's already been done with riscose. If it means a full OS not running on top of Linux or anything and getting as far as displaying a desktop without using any emulation, then, cross-assembler or not, it's going to be a lot of work for some poor bastard.
I think, once a cross-assembler exists, porting apps etc would be easier than the core OS.
Incidentally, is cross-assembler the right term? I thought a cross-assembler just generates for the same target as the source is intended, but just the assembler itself runs on another architecture.