• Just looking around
    Posts: 11 from 2014/9/18
    Just to chime in here with some thoughts.
    While I have not seen the code involved (its closed source after all), i dont think getting it over to x86 or ARM (which is better imho) needs to be as perplexing as people think.

    All OS'es, and i would be very surprised if MorphOs was any different, has a HAL. A hardware abstraction layer. Meaning that you have top-level functionality that does not touch the low-level, platform dependent, hardware bound stuff at all. Everything above the HAL will recompile without much change.

    The HAL exposes libraries that everything else above uses, so I doubt very much that the desktop itself, associated applications and so on talks directly with the hardware at all. If it does, then that is very poor coding -- and I honestly dont think MorphOs would exist if it was a "mashup" of hardware banging code above the HAL.

    The HAL is the layer that deals with drivers and hardware dependent code. So it will load drivers (which in typical architectures is the *only* part of an OS that should bang the metal directly, except for the startup code).
    During startup the drivers are initialized, they in turn collect info such as .. supported graphics modes, what is connected to the pci bus, the type of cpu, the amount of ram and it's addresses -- all the nitty gritty that an OS must have control over.

    The OS then makes all this information available through it's system libraries, which is the AAL, application abstraction layer. Applications should never touch the hardware directly, only indirectly by talking to the system libraries -- who in turn talk to the drivers.
    In some cases the lines between a driver and a system library blurs, but without the sourcecode its impossible to say anything about this regarding Morphos. But considering the body of work involved, I would imagine it's properly organized.

    So -- in order to move to new hardware, you need two components: startup code first of all, and secondly, drivers for the new system. There will also be changes to the HAL since concepts that exists on PPC might not exist under ARM / x86.

    Obviously this "sounds" very easy, but that is superficial. Each platform has a ton of infrastructure that does not exist on other platforms, which has to be taken into account. To be perfectly frank, moving to x86 makes little sense. X86 will be around for a long time still, but the entire market is moving towards ARM. In Asia Risc-v has more or less eroded the gadgets market already, and in 20-30 years my guess is that you will have ARM and Risc-V being dominant, while x86 will be what PPC is today. Unless Intel is struck by lightning and introduces a clean new x86 family that disregards all legacy instruction-sets for a new superset. Who knows, but ARM is where a fast, minimalistic OS such as MorphOs really could make a killing.

    Then there is the Endian-ness question. Well, this will affect more or less every bit-mask in the NDK/SDK, which would mean every application would need to be recompiled. In the HAL, where bit work is used to talk to the hardware and drivers, every mask and value needs to be overhauled.
    So the change will be somewhat radical.

    But -- this does not need to be as dramatic as people think. ARM has instructions that can swap the bits absurdly fast. It would mean a single instruction extra per value, which would have very little impact on general performance. There are also some V7|V9 ARM cpu's that support both endians on cpu level, meaning that the firmware exposes a switch where you can chose which endian the system should use during startup. Sadly not all ARM cpu's have this, and it's very little used, so i would avoid that.

    In terms of money, building up a larger userbase, I think ARM is the way to go. Yes Linux dominates the ARM market, but only because there are no easier systems to be found. The average person is perplexed by linux, and maybe 1 in 20 takes the time to read up on the filesystem and other technical things needed to use Linux properly.
    A fast, easy to use and largely intuitive OS that has tons of software to offer could do very well on ARM. 68k Emulation is a bonus, if presented properly to a younger audience today.

    But I think a clean break from PPC is the only way to go. Sure, cheap g4/g5's will be around for at least a decade more, but then the machines will become difficult to source. It is a shame watching a system like MorphOs, which has so much potential, limiting itself to PPC.

    I sincerly hope the development team takes the plunge. It will no doubt be difficult, but if you could run MorphOS on RPI5, RockPI5 and so on -- the entire Amiga community would no doubt flock to it immediately. Which would mean income for the developers, and a viable path forward. 68k is dead, PPC is on it's last legs .. There are thousands of Amiga fans that would gladly pay to get something more modern and future proof that is not emulation.

    [ Edited by wotanica 15.03.2024 - 14:22 ]
  • »15.03.24 - 15:21
    Profile Visit Website