Thank you all for your suggestions and insight.
Brendan wrote:If you don't care if anyone uses your OS in the future, then you can pick any architecture you like - I'd suggest Commodore64
Whether I do or don't care, though, the C64 fails that whole 'MMU' requirement.
Anyway, I actually have a lot of both PPC and 68k macs, so I do have real hardware for both of those. Unfortunately, they both fail my hope for lots of
documentation. I can almost manage to figure out open firmware for the PPC ones from the Linux source, however that's rather difficult without some
form of documentation in the first place. Reverse engineering may be necessary, but that doesn't mean I have to like it.
What else do I have in storage... A 286 almost counts, but precisely because its MMU is barely passable as one. lol
I don't actually have any requirement about modern general purpose-style power. My goal is to have a RAM requirement of 4MB for the whole system in
text-only/serial console mode. ARM/MIPS are interesting, especially because, if I'm willing to reverse engineer docs from Linux source, I can use a relatively
cheap router as my real hardware.
Unfortunately, I have no real hardware for anything 64-bit other than x86-64, although that's not that far from x86. Also, now that I think of it, I should probably
use something big-endian, such as my m68k or PPC boxes. Makes sure I do no endianness stupidity.
If I'm going for something for which I have real hardware, I should probably do PPC first, since it meets so many of my "difference" goals. It's almost ideal..
Half of my PPC systems have NuBus, the other half PCI, which gives some good practice for inter-architecture portable drivers. For NuBus, my m68k machines
have that, so I can test portability there, and for PCI, x86 has that.
I actually think I will go that route. Start with PPC, then most likely port to x86_64 so that I can ensure 64-bit portability, then to x86 and, lastly, m68k. I guess I
am going to commit to some reverse engineering.
I have terrible short term memory, though, so it's most likely going to be a matter of having a separate
ongoing project of writing documentation for myself. I'll try to keep it clean and readable, and I can add it to the wiki as I go, if you're all interested.
JamesM wrote:I'd also avoid SPARC with a 12-foot bargepole. Having written an emulator for it, I can confirm that it is nasty*.
That's disappointing. I haven't dug too deeply along those lines, considering that's server only these days, but it seemed intriguing. If I may ask, what main
point(s) make(s) you feel that way about it?
Combuster wrote:Coming by an ARM devkit or MIPS box is much harder.
I actually did some correspondence via email with a MIPS rep about this at one point. Believe it or not, they want US$10,000 for the
starter board with no addons.
As far as PowerPC goes, the unfortunate bit is that there's a lot of good documentation about open firmware all over Apple's info archives, but, predictably, almost none
about interfacing with it, just a lot about configuring and patching it (from the Rhapsody era) and (oddly) the FORTH interface. If anyone knows of any good documentation
about, say, the memory structures involved, I'd much appreciate a tip there.
P.S. Sorry for rambling.
EDIT: Does anyone know if QEMU's GDB stub stuff works cross-platform? I was looking at the docs, and its PPC emulator supports one exact system that I own, but I'd hate to
have to run a PPC emulator on a 350MHz PPC... I'm fairly certain KQEMU doesn't work on PPC, and even if it did, that's a bad idea for debugging.