Welcome, Guest. Please login or register.

Author Topic: Is It Emulation or Not -- the Dilemma  (Read 14713 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline Thorham

  • Hero Member
  • *****
  • Join Date: Oct 2009
  • Posts: 1150
    • Show only replies by Thorham
Re: Is It Emulation or Not -- the Dilemma
« Reply #89 from previous page: October 15, 2012, 11:34:31 PM »
Quote from: Iggy;711620
Not a problem, as there are plenty of other more open minded users.

It has nothing to do with being closed minded. I like classic Amiga computers and simply don't have any interest in PPC+AOS4/MorphOS, just like I have no interest in graphics and sound cards for classic Amiga computers, or watching professional sports for that matter. Lack of interest doesn't imply closed mindedness.

Quote from: Iggy;711620
I actually downgrade my X86 systems by breaking down and selling the parts of the Socket AM3/Phenom II system I had.

And I use my PC as a simple and boring workhorse.

Quote from: Iggy;711620
As far as performance goes, I have a balance that suits my purposes.

I don't need the fastest PC either, which is why I didn't spend a lot on mine.

Quote from: Iggy;711620
Funny, but I find myself agreeing more with danbeaver than those of you who are arguing against his basic proposition.

Eh, what was that again? Too many posts ;)

Quote from: Iggy;711620
Frankly, I'd say use what works for you and keeps you happy.

Always. Clearly there's simply a difference in hobby and needs here :)
 

Offline persia

  • Hero Member
  • *****
  • Join Date: Sep 2006
  • Posts: 3753
    • Show only replies by persia
Re: Is It Emulation or Not -- the Dilemma
« Reply #90 on: October 15, 2012, 11:58:17 PM »
Apple for years pretended that PPC machines were the hottest thing around and when they finally made to switch to intel and people could see that PPC machines were shi'ite, Apple made a big deal about the increased power.  A positive spin make the profit go up.

Quote from: danbeaver;711565
Good Point!

Let's put it the way Apple tried to sue Microsoft over Windows:  "You then kludge the 'look and fell' of your operating system to run on whatever is the hardware flavor of the week.  Thus 'emulating prior code' to give the consumer the idea nothing has changed; you sell it as just  another 'improvement' to the Mac."
[SIGPIC][/SIGPIC]

What we\'re witnessing is the sad, lonely crowing of that last, doomed cock.
 

Offline Iggy

  • Hero Member
  • *****
  • Join Date: Aug 2009
  • Posts: 5348
    • Show only replies by Iggy
Re: Is It Emulation or Not -- the Dilemma
« Reply #91 on: October 16, 2012, 12:01:17 AM »
Quote from: Thorham;711627
It has nothing to do with being closed minded. I like classic Amiga computers and simply don't have any interest in PPC+AOS4/MorphOS, just like I have no interest in graphics and sound cards for classic Amiga computers, or watching professional sports for that matter. Lack of interest doesn't imply closed mindedness.
 

 
You're right, that was a cheap shot and I appologize. And I too have little interest in professional sports.
 
Quote from: Thorham;711627
And I use my PC as a simple and boring workhorse.
I don't need the fastest PC either, which is why I didn't spend a lot on mine.


 
Yeah, they're just tools.
 
Quote from: Thorham;711627
Eh, what was that again? Too many posts ;)
 


 
Sorry for the verbose posts.
 
Quote from: Thorham;711627
Always. Clearly there's simply a difference in hobby and needs here :)

Yep, I don't really spend a lot of time on hobbyist oriented stuff outside of MCUs and older processors and hardware (some older then Amiga).
When I use something Amiga or Amiga-like, I want it to do useful work.
"Not making any hard and fast rules means that the moderators can use their good judgment in moderation, and we think the results speak for themselves." - Amiga.org, terms of service

"You, got to stem the evil tide, and keep it on the the inside" - Rogers Waters

"God was never on your side" - Lemmy

Amiga! "Our appeal has become more selective"
 

Offline takemehomegrandma

  • Hero Member
  • *****
  • Join Date: Oct 2002
  • Posts: 2990
    • Show only replies by takemehomegrandma
Re: Is It Emulation or Not -- the Dilemma
« Reply #92 on: October 16, 2012, 01:30:42 AM »
Quote from: Iggy;711597
The only time MorphOS is not using emulation is when its running all native code.


Iggy,

1) Reimplementation != Emulation.

What MorphOS does, is reimplementing the whole Amiga API *natively* on HW that isn't Amiga HW. No need for emulation there. As Itix said, you don't need an emulator to run Windows on Linux through WINE (Wine Is Not an Emulator).  It's the same thing here, MorphOS provides its own native Amiga API environment.

2) Recompiling/translating programs != Simulating HW through SW/Emulation.

Big and important difference there.

The 68k Amiga programs are fully translated into native PPC code (which involves more than some 1to1 opcode conversion, it's a lot more complex, programs are de-facto rewritten). Sure, many emulators use opcode translation as part of the package, but that is only one component, and that component isn't emulation although part of an emulator, it's a translator (either JIT or runtime). Emulation is to mimic HW using SW, perhaps with accompanying SW (like ROM's, etc) to make it "run". Recompilation/translation is a different matter, and calling this "it's only about semantics" is to call the difference between apple and oranges "semantic" as well.

3) There is no difference between Amiga programs and what you call "native code on MorphOS", it's *all* equally native when executed, it's all using the native system API, it's all sharing the system resources, all libs, all devices (heck, those devices and libraries could even be "68k"), it's all sharing the messaging system, the scheduler, the memory, there is no difference whatsoever, no "box", no "layer", no emulated hardware. Everything executed is PPC, everything is treated the same, everything is using the same native OS, running natively on the HW. On MorphOS, Amiga applications = MorphOS applications. No difference!

This whole thread stems from another discussion, in which someone said: "MorphOS runs 68k code in an emulation layer just like AROS". This is where this discussion comes from. And it's not true at all.

4) The only time MorphOS *is* using emulation, is when you use UAE to emulate an Amiga (or C64, or whatever). MorphOS itself doesn't emulate an Amiga, it reimplements it at an OS level, providing its own, fully native API environment, and all Amiga/MorphOS applications use that directly, and in exactly the same way; as PPC binaries.
MorphOS is Amiga done right! :)
 

Offline Iggy

  • Hero Member
  • *****
  • Join Date: Aug 2009
  • Posts: 5348
    • Show only replies by Iggy
Re: Is It Emulation or Not -- the Dilemma
« Reply #93 on: October 16, 2012, 02:02:01 AM »
Oh thats going to stir this one up.
In my opinion JIT is a form of emulation.
After all, you translating non-native code to PPC instructions.
"Not making any hard and fast rules means that the moderators can use their good judgment in moderation, and we think the results speak for themselves." - Amiga.org, terms of service

"You, got to stem the evil tide, and keep it on the the inside" - Rogers Waters

"God was never on your side" - Lemmy

Amiga! "Our appeal has become more selective"
 

Offline persia

  • Hero Member
  • *****
  • Join Date: Sep 2006
  • Posts: 3753
    • Show only replies by persia
Re: Is It Emulation or Not -- the Dilemma
« Reply #94 on: October 16, 2012, 02:09:58 AM »
You emulate to give software producers a chance to catch up, then you move on.  Unfortunately the Amiga world has so few developers that there's zero chance of moving on and a means to an end becomes an end in itself, stifling future development.  More and more goes into maintaining the sandbox and new developments are held back by the necessity to maintain things are they were.  The downward spiral continues to suck the life blood out of any real enhancements and the OS becomes a barely living fossil confined to the desktops of a few loyalists.

[SIGPIC][/SIGPIC]

What we\'re witnessing is the sad, lonely crowing of that last, doomed cock.
 

Offline danbeaverTopic starter

Re: Is It Emulation or Not -- the Dilemma
« Reply #95 on: October 16, 2012, 03:27:29 AM »
Persia, there are many reasons to emulate, you just used Apple's reason for moving the Mac "look and feel" to newer hardware. I use my A4000T with OS 4.1 that uses emulation to give a new appeal to old hardware (and to use a PPC I bought in the 1990's and just sat on my 68060 board).  In both high school and college we had to write emulators as part of the course work.

TMHG,
On the other hand, semantics rules many lives and thus ruins many lives. To say that 'X translate software code, but it would never emulate software code' is just pathetic. To use the terms "native and natively" as if this was proof of God's existence in the world of computer science is equally sad; or to call the code "binary."  These are silly semantics meant to obscure insecurity.  RW Emerson said, "A foolish consistency is the hobgoblin of little minds."
« Last Edit: October 17, 2012, 06:30:58 AM by danbeaver »
 

Offline TheBilgeRat

  • Hero Member
  • *****
  • Join Date: May 2010
  • Posts: 1657
    • Show only replies by TheBilgeRat
Re: Is It Emulation or Not -- the Dilemma
« Reply #96 on: October 16, 2012, 06:59:29 AM »
Quote from: Iggy;711642
Oh thats going to stir this one up.
In my opinion JIT is a form of emulation.
After all, you translating non-native code to PPC instructions.

Its all emulation, as I said earlier.  Java "emulates" machine language, which at some point is compiled down to bytecode.  Just like C, or even assembly at some level.  These are all abstractions on top of the hardware.  When mac went PC, did anything really change about the experience or the look and feel?  No.  The abstractions that made an Apple an Apple were still there, they were just being implemented differently on the hardware.  Thats why the morphOS people say its Amiga "done right".  They understand that hardware evolves, but the OS can stay similar to previous OSes and still be called what it is.  If I run OSX on a hackintosh, I am running a mac.  If I run morphOS on a PPC macmini, I am running a next gen amiga-like OS.  Similar if I were to run NetBSD on PPC/ARM/IA64/SPARC/X86/X86-64/Amiga/VAX/DEC etc etc etc ad nauseum.  These are all emulation layers on hardware architectures.  On the way down to the actual logic, you are removing layers of abstraction (layers of emulation) until you finally get to the 3.3 or 5v signals that make up the real computer.

so for the tl/dr crowd:  emulation is simply another abstraction layer in a ginormous soup of abstraction layers.

The only thing that runs "natively" is a bitstream.
 

Offline takemehomegrandma

  • Hero Member
  • *****
  • Join Date: Oct 2002
  • Posts: 2990
    • Show only replies by takemehomegrandma
Re: Is It Emulation or Not -- the Dilemma
« Reply #97 on: October 16, 2012, 10:04:42 AM »
Quote from: Iggy;711642
After all, you translating non-native code to PPC instructions.


The "non-native" code (as you choose to put it) is actually built to utilize the native API that is MorphOS (even if the program was compiled in 1995 when MorphOS didn't even exist), the only thing happening prior to execution (no 68k opcodes are being executed, there simply is no emulator present for doing that), is changing its opcode stream into another format which is more like recompiling SW than running a program that mimics HW in SW and having your apps run by that program, inside its emulated box. These are two separate things, and only the first is happening!

Rebuilding one piece of SW into a different piece of SW (that does the same thing, using the same native Amiga API's, but by using a new set of opcodes), is per definition not the same thing as trying mimic HW through a SW emulator. I don't understand why some people are so keen on mixing these two concepts together? Is it because opcode translators can be a component of an emulator package that they get confused?

MorphOS does not emulate an Amiga, it re-implements it, and Trance does not really emulate a 68k CPU, it eliminates the need of one, by recompiling the 68k opcode streams into native PPC ones that can be executed natively on the native OS running natively on the HW, just like any other PPC code running on the OS, with no difference whatsoever. Had an 68k emulator been in MorphOS (which the OS doesn't have), a "virtual CPU" so to say, it would be something in the lines of the bottom paragraphs in post 60, and then it could only happen if it's run on top of the OS inside an extra "emulation box" of its own and all 68k apps running inside that box (kind of like in UAE), because otherwise it would be like a multi-CPU system and that can't really happen in an good/easy way on Amiga, only in a way similar to PowerUP or AMP, which is kind of ugly. And it's not there in MorphOS anyway. On MorphOS, all applications are run as PPC, sharing the same memory space, the same system resources, the same scheduler, etc. They are all the same.

Trance is not a 68k emulator, it's a 68k eliminator...
MorphOS is Amiga done right! :)
 

Offline itix

  • Hero Member
  • *****
  • Join Date: Oct 2002
  • Posts: 2380
    • Show only replies by itix
Re: Is It Emulation or Not -- the Dilemma
« Reply #98 on: October 16, 2012, 10:12:51 AM »
Quote from: psxphill;711560
What MorphOS does for 68k software is emulation, it's not native. Alot of emulators dynamically recompile executables into native code, AFAIK including WinUAE.

Dynamic recompile is not same as emulation. Emulators can utilize dynamic recompilation to gain speed.

If you write .NET applications in C# you dont get native code. The source code is translated to Common Intermediate Language and Windows dynamically recompiles your C# applications when executed. They dont necessarily run on Linux at all if you use Windows API.

You can write applications in C, C++ or AmigaE and compile object code to 68k but still target MorphOS only.
« Last Edit: October 16, 2012, 10:23:39 AM by itix »
My Amigas: A500, Mac Mini and PowerBook
 

Offline itix

  • Hero Member
  • *****
  • Join Date: Oct 2002
  • Posts: 2380
    • Show only replies by itix
Re: Is It Emulation or Not -- the Dilemma
« Reply #99 on: October 16, 2012, 10:27:53 AM »
Quote from: danbeaver;711585
Thank you, you have finally agreed with us!  MorphOS is an emulation layer allowing Amiga software to run on non-Amiga hardware.


Wrong. It has a compatibility layer to run Amiga software natively.

If you mean there is an emulation layer to execute 68k code then we can agree. This emulation layer is not limited to 68k Amiga software but could be used to implement MacOS compatibility layer or execute 68k software written for MorphOS.
My Amigas: A500, Mac Mini and PowerBook
 

Offline OlafS3

Re: Is It Emulation or Not -- the Dilemma
« Reply #100 on: October 16, 2012, 10:28:16 AM »
MorphOS and AmigaOS better integrate 68k than it is possible using X86 or ARM f.e. and you can add features by adding 68k libraries. On the other hand is a sandbox solution more clean so you can make changes to the OS more easily without breaking 68k compatibility. Both solutions have advantages and disadvantages. From a user point of view (expecially when it is not a hardcore amigian) it is not important if it is emulated (in hardware or software) or not, the user is only interested what programs run on the system and how good is the hardware he/she gets for the money. If I have the choice to have tighter integration but am stuck to aging and expensive hardware platform or have a sandbox solution and modern hardware and a better improvable OS I would clearly take the second.
 

Offline danbeaverTopic starter

Re: Is It Emulation or Not -- the Dilemma
« Reply #101 on: October 16, 2012, 10:37:10 AM »
Quote from: itix;711680
Wrong. It has a compatibility layer to run Amiga software natively.

If you mean there is an emulation layer to execute 68k code then we can agree. This emulation layer is not limited to 68k Amiga software but could be used to implement MacOS compatibility layer or execute 68k software written for MorphOS.


Semantics ....

Yes you could call the emulation code a "compatibility layer;" works fine for me
 

Offline danbeaverTopic starter

Re: Is It Emulation or Not -- the Dilemma
« Reply #102 on: October 16, 2012, 10:44:37 AM »
Quote from: OlafS3;711681
MorphOS and AmigaOS better integrate 68k than it is possible using X86 or ARM f.e. and you can add features by adding 68k libraries. On the other hand is a sandbox solution more clean so you can make changes to the OS more easily without breaking 68k compatibility. Both solutions have advantages and disadvantages. From a user point of view (expecially when it is not a hardcore amigian) it is not important if it is emulated (in hardware or software) or not, the user is only interested what programs run on the system and how good is the hardware he/she gets for the money. If I have the choice to have tighter integration but am stuck to aging and expensive hardware platform or have a sandbox solution and modern hardware and a better improvable OS I would clearly take the second.


I'm confused; are you saying it "is" or, "is not" emulation?  We will have to start another thread on the "user experience, sandboxes," and flea collars ;)
 

Offline itix

  • Hero Member
  • *****
  • Join Date: Oct 2002
  • Posts: 2380
    • Show only replies by itix
Re: Is It Emulation or Not -- the Dilemma
« Reply #103 on: October 16, 2012, 10:50:19 AM »
Quote from: Karlos;711614
Shapeshifter is an interesting case. Back in the day, we called it an emulator because it "emulated" another system but in hindsight, it wasn't that clear cut. In today's parlance, I guess it could be viewed as an example of paravirtualization. Both the guest and host OS is patched in places by shapeshifter in order to make things work, but beyond intercepting traps, hardware calls and some patched guest OS functions, the binary code for both the MacOS and the executables running on it are basically running "natively" on the 68K processor in the Amiga.

If said patching were not necessary, then it would be straightforward virtualization.


Good point. As I have understood the definition, a paravirtualization requires support from the guest OS. But there is not much emulation either -- on the other hand MacOS binaries are not executed natively in AmigaOS.

On my XP I have got AROS on Virtual PC and Linux on VMware. Neither systems are emulated but I am not running Linux or AROS executables natively on XP either. After all Shapeshifter is not very far away from a virtual machine.
My Amigas: A500, Mac Mini and PowerBook
 

Offline itix

  • Hero Member
  • *****
  • Join Date: Oct 2002
  • Posts: 2380
    • Show only replies by itix
Re: Is It Emulation or Not -- the Dilemma
« Reply #104 on: October 16, 2012, 10:57:47 AM »
Quote from: danbeaver;711682
Semantics ....

Yes you could call the emulation code a "compatibility layer;" works fine for me


It is not just semantics. There is no any kind of AmigaOS API emulation. Same API calls are used by MorphOS and AmigaOS. When you call AllocMem() from exec.library all executables call the exactly same vector from exec.library.
My Amigas: A500, Mac Mini and PowerBook