Welcome, Guest. Please login or register.

Author Topic: MorphOS on x86???  (Read 13679 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline thecount22

  • Newbie
  • *
  • Join Date: Jul 2012
  • Posts: 5
    • Show all replies
Re: MorphOS on x86???
« on: July 31, 2012, 01:06:46 PM »
I think this is one of only valid technical comments in this discussion so I will try to respond to it.

Quote from: mschulz;417607
It's not. The community would expect that you are able to run all your existing m68k and ppc software on such x86 MOS. With MOS (and AmigaOS in general) design it is not feasible. Don't use Rosetta of OSX as an example because it's wrong one. Small example: on OSX a process has a PID assigned - unique identifier. If you will call FindTask(NULL) MOS and/or AmigaOS, you will receive a pointer to the struct Task, the very same structure MOS is using internally. Try to deal with it and find a sane solution for Little-endian system (with little-endian layout of all system structures) and big-endian software running on emulated PPC and using the very same little-endian layouted system structures (the software would expect them to be big endian though).

There is a very obvious solution to this problem. You can simply store the structures in big-endian format even on x86. This on it's own would turn into a programming nightmare however for writing new applications you would use functions like htons, ntohs, ntohl and htonl even on 68k and/or PPC to make sure the code is portable between big-endian and little-endian systems. As a result x86 would be making many more conversions than 68k and/or PPC software but it would greatly simplify the compatibility between the two. Secondly I would argue that most amiga software today is either 68k or PPC and the very small penalty that you get from doing conversions when using x86 code would not really be a problem. After all TCP/IP is big-endian but that hasn't stopped us from using it on little-endian machines.

Quote from: mschulz;417607
OSX is an example of an operating system which separates userland from kernel space. On MOS they are basically the same.



I'm sorry to disappoint you, but PPC NT was running PowerPC cpu in little endian mode.


and from another message:



Prove they are wrong then. No, giving an example is not enough. Prove them, that you may do such transition with Amiga-like operating system.



Simply. We didn't cared about the binary compatibility. Therefore, you are not able to run x86 AROS software on PPC AROS and vice versa. Keep in mind however, that if the amiga community wants MOS or OS4 on x86, they will demand to be able to run m68k and/or PPC software through a built-in transpared emulator integrated tightly into the system. That's the point. I, an AROS developer, don't care about it actually, but most people here do care.



You seem to be new here :)). Most people in Amiga community want it. The people here don't care x86 unless you would be able to run original m68k and ppc software on x86 without recompilation. Not to mention they will be very unhappy if you would suggest running such old m68k software on x86 MOS through UAE. They would likely hate you for having such crazy idea ;)

If they would never mind it, they would support projects like AROS with pleasure. But no, most people expect AROS developers to make the integrated m68k emu for AROS.
 

Offline thecount22

  • Newbie
  • *
  • Join Date: Jul 2012
  • Posts: 5
    • Show all replies
Re: MorphOS on x86???
« Reply #1 on: August 01, 2012, 02:42:48 PM »
Quote from: psxphill;701713
You're better off with AROS running in little endian on x86 with an emulator running AROS on 68k that transparently links the two environments.
 
You'll never achieve an x86 kernel that can run x86 or 68k software that automatically can link to either a 68k or x86 library. We don't even have a version of UAE that can run PPC software.
And this assumption is based on what facts exactly?
 

Offline thecount22

  • Newbie
  • *
  • Join Date: Jul 2012
  • Posts: 5
    • Show all replies
Re: MorphOS on x86???
« Reply #2 on: August 01, 2012, 02:44:00 PM »
Quote from: Akiko;701708
According to takemehomegrandma , MorphOS is moving to Arm.
Sounds like a good idea to me.
 

Offline thecount22

  • Newbie
  • *
  • Join Date: Jul 2012
  • Posts: 5
    • Show all replies
Re: MorphOS on x86???
« Reply #3 on: August 02, 2012, 06:42:24 AM »
Quote from: psxphill;701842
It's got to execute the 68k gate, because it doesn't know what the code is doing. You can dynamically recompile it, but you've still got some lookups to do to find the native code. Or you can put some heuristics in to find a standard gate and shortcut it. It's not just old libraries that this would have to happen for if you want to be able to drop ppc libraries in and have them used by 68k software. It could be any library that has ever been written.

You can write libraries completely in C, I wouldn't like to say how often in occurred but you don't need assembler at all (just compiler support for regparm).

I am not familiar with this terminology so I really can't comment.

Quote from: psxphill;701842
The next problem is that we're actually talking about x86 not PPC. So all of your code is going to have to do endian conversions. You either go the amithlon route, but then software that needs to write little endian values will end up doing two conversions. Or you spend the rest of time changing code to do the conversion where necessary. Or you try to come up with a new compiler patch that allows you to selectively have little or big endian variables.

The compiler suggestion is not realistic in my opinion, no one would seriously consider it. You could create abstractions (for example a library for x86 apps) on top of all this pretty easily.

Actually come to think of it what would be better is not another amiga operating system on x86 but something that feels like wine (but more stable) with 68k and ppc emulation. Having seamless integration between your native os apps and amiga apps would be ideal (integration with the filesystem, clipboard, windowing system (resize, minimize, maximize, etc),  networking stack). That way you avoid many of the problem like drivers, hardware support having to implement core os components like filesystems etc...

Quote from: psxphill;701842
Because of the amount of effort, still being limited to single processor and no memory protection, how horrible all the compromises would be to get it working on x86 it's not going to happen. I can't see developers flocking to an operating system that is crippled with that amount of backward compatibility. You can't even support x64.

See my previous comment, I think much of this is not relevant if you aren't building the entire OS.

The Amiga is not likely to ever become mainstream again. Nearly all of the software that will ever be written for the amiga operating system already has been written. This is a sad but true story.

That said the amiga has tons to unique software that is worth salvaging. What most people really need is a stable, highly compatible, well integrated, convenient and non-cumbersome (not like uae) way of running amiga applications in concert with their more recent applications.

Quote from: psxphill;701842
ARM is probably a better choice if you want to avoid the endian issues, but then you have new problems like lack of decent hardware. Rasberry Pi is cheap, but it's also not very good. Even the more expensive boards are pretty poor in terms of expandability. 64bit is also coming to ARM, but you'll be shutting yourself off from that too.

Meh ARM seems like a good match to me seeing how PPC is starting to disappear quickly. At least for MorphOS
« Last Edit: August 02, 2012, 06:46:06 AM by thecount22 »
 

Offline thecount22

  • Newbie
  • *
  • Join Date: Jul 2012
  • Posts: 5
    • Show all replies
Re: MorphOS on x86???
« Reply #4 on: August 03, 2012, 12:35:59 AM »
Quote from: psxphill;701954
This was my original point. What AROS is doing with integrating UAE in is the best way. Anything with a well defined API can then be shared between 68k & x86. So you'd be able to use a 68k filesystem, but you probably wouldn't be able to send packets to it from x86 code as each packet would need custom code for doing the endian conversions.

 
Can we stop with the endian debate? It's quite clear that if you always do the conversion on x86 everything would work just fine, it can even be abstracted away in a set of libraries so the developer doesn't even need to think about it. The performance hit is of no real consequence. If you can think of any API that wouldn't work with this in mind post it here so we can discuss it.

I would argue that AROS is not the best way to integrate 68k software. If you are serious about running old Amiga 68k + PPC software and I don't mean just for nostalgia or as a curiosity, I mean for real actual use. You need to have it alongside your other modern applications (that most likely means Linux, MacOS X or Windows applications) and not some OS that is almost completely devoid of applications. That also means having good integration with the host operating system for example not having to copy files back and forth to a VM or running workbench in a window or fullscreen or being unable to do simple things like copy/paste. Think of speed like ARDI Executor (68k mac emulator) and seamlessness of Wine.

Quote from: psxphill;701954
An assign in one environment could be pushed to the other.
And you'd need some way of launching a 68k process from x86 and vice versa, but this shouldn't be too hard.
 
However nobody has even bothered to add PPC emulation to UAE. For most people that would be all they actually need as they could run it on any host OS. Even an amithlon style Linux distro.


See above.