• MorphOS Developer
    Posts: 508 from 2003/4/11
    Just to kick some reality into this thread...

    While the focus of most people's attention seems to be "MorphOS on something not PowerPC", there are a few more issues at stake here. The main stumbling block is binary compatibility.

    Let's start with the basics: since MorphOS is Amiga compatible, it also inherits all the design flaws of Amiga OS. One of those flaws is that all system structures are exposed to applications, and applications are not only allowed to, but often required to, directly access these system structures. Furthermore, all programs run in the same memory space and share all the same resources. These two facts combined makes it somewhere between incredibly difficult and impossible to change the layout of system structures and still remain compatible with existing applications.

    Now, while you could possibly get away with MorphOS running on a little endian CPU by keeping all system structures stored in big endian format, and modifying the compiler to automatically byteswap all values when accessing such structures, such a MorphOS would still have all the limitations of the current MorphOS, it would just be running on a little endian CPU instead. Two major such limitations are the lack of 64 bit support and the lack of SMP support. 32 bit CPUs are between being outphased and completely dead already, so staying stuck in 32 bit land is not a real possibility. Modern CPUs, with the exception of some really low-end chips, are all at least dual core, and many have 4 cores or more. An OS that doesn't support this will also be firmly stuck in the past.

    64 bit support would, amongst other things, mean that pointers would become 64 bits wide. This would change the layout of every system structure that contains a pointer, which would render MorphOS incompatible with every current application.

    SMP would, amongst other things, mean getting rid of the 'ThisTask' field of ExecBase. This again would render MorphOS incompatible with every current application.

    Given that breaking binary compatibility is a big and bold move and given that it's something we won't do lightly, and something that we don't really have the resources for, we can't address these issues one by one. We have to address them all in one go, or at the very least change the system in such a way that remaining issues can be solved without breaking binary compatibility again.

    If you look at these issues as separate issues, the easiest one to tackle is actually porting MorphOS to a different CPU. By far the biggest issue making it hard to port MorphOS is the 68k compatibility. Throw that away, and you're looking at maybe a month's worth of full time work to have MorphOS ported to a different CPU. This, however, does not include the time required to write drivers for such a theoretical machine. However, as noted above, this alone will not solve the real problem(s).

    So, in summary, the real problem is not getting MorphOS running on a different CPU. This is relatively easy. The real problem is the other changes that are required to make MorphOS able to make use of modern hardware.

    As for the practical details, there are many ways this can be achieved. It could be that we choose to support PowerPC as well on a future MorphOS, or it could be that we don't. It could be that we decide to (and find the resources to) make a compatibility layer for current MorphOS applications. It could be that we don't. However, as per usual, we try not to announce any specifics until it's released, or at the very least until we're 100% sure we're gonna be able to pull through. MorphOS "NG", as OP calls it, is certainly no different. Unless someone slips up, specifics are unlikely to be announced or discussed in public until we're ready to demo something.

    To answer the question of "is it still happening": No one, or at least I believe so, on the MorphOS team thinks there's a future in PowerPC on the desktop. That makes the path forward pretty clear: Adapt or die. The only question is how long it will take, given our rather limited resources.
    I rarely log in to MorphZone which means that I often miss private messages sent on here. If you wish to contact me, please email me at [username]@asgaard.morphos-team.net, where [username] is my username here on MorphZone.
  • »12.11.14 - 16:45
    Profile Visit Website