Welcome, Guest. Please login or register.

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

Description:

0 Members and 1 Guest are viewing this topic.

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 from previous page: 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
 

Offline takemehomegrandma

  • Hero Member
  • *****
  • Join Date: Oct 2002
  • Posts: 2990
    • Show only replies by takemehomegrandma
Re: Is It Emulation or Not -- the Dilemma
« Reply #105 on: October 16, 2012, 11:13:30 AM »
Quote from: danbeaver;711682
Quote from: itix;711680
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.
Yes you could call the emulation code a "compatibility layer;" works fine for me

I think a more correct description of "compatibility layer" would be something in the lines of: "A fully native, fully binary-compatible re-implementation of the full AmigaOS 3.1 API with extensions/additions like CGX, MUI, AHI, etc".

In other words: MorphOS.

:lol:
« Last Edit: October 16, 2012, 11:50:59 AM by takemehomegrandma »
MorphOS is Amiga done right! :)
 

Offline OlafS3

Re: Is It Emulation or Not -- the Dilemma
« Reply #106 on: October 16, 2012, 11:18:05 AM »
@takemehomegrandma

What a surprise... MorphOS? :-)
 

Offline takemehomegrandma

  • Hero Member
  • *****
  • Join Date: Oct 2002
  • Posts: 2990
    • Show only replies by takemehomegrandma
Re: Is It Emulation or Not -- the Dilemma
« Reply #107 on: October 16, 2012, 11:30:33 AM »
Quote from: OlafS3;711688
@takemehomegrandma

What a surprise... MorphOS? :-)


:)
MorphOS is Amiga done right! :)
 

Offline bloodline

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12113
    • Show only replies by bloodline
    • http://www.troubled-mind.com
Re: Is It Emulation or Not -- the Dilemma
« Reply #108 on: October 16, 2012, 11:47:55 AM »
Watching the arguments about what is Emulation and what isn't, reminds me of the old RISC vs CISC arguments. :lol:

There really isn't a RISC/CISC dichotomy anymore, modern designs have features of both :)

As alluded to earlier in the thread, once we started hitting drivers rather than the actual hardware... The emulation line starts to blur... Modern CPUs "emulate" the ISAs of earlier devices... It's all irrelevant, now... All tht matters is wether your software will run or not.

Offline psxphill

Re: Is It Emulation or Not -- the Dilemma
« Reply #109 on: October 16, 2012, 12:43:02 PM »
Quote from: takemehomegrandma;711687
I think a more correct description of "compatibility layer" would be something in the lines of: "A fully native, fully binary-compatible re-implementation of the full AmigaOS 3.1 API with extensions/additions like CGX, MUI, AHI, etc".
 
In other words: MorphOS.
 
:lol:

Er yeah, MorphOS includes a 68k emulator and a compatibility layer for mapping the 3.1 API onto MorphOS native API.
 
It's still emulation & you aren't fooling anyone.
 
Quote from: bloodline;711690
Modern CPUs "emulate" the ISAs of earlier devices... It's all irrelevant, now... All tht matters is wether your software will run or not.

In terms of hardware emulating other hardware, that has been going on for years. It's kinda out of scope for this topic though. Hating all software emulators but loving MorphOS because it doesn't use emulation, is just delusion.
« Last Edit: October 16, 2012, 12:51:50 PM by psxphill »
 

Offline itix

  • Hero Member
  • *****
  • Join Date: Oct 2002
  • Posts: 2380
    • Show only replies by itix
Re: Is It Emulation or Not -- the Dilemma
« Reply #110 on: October 16, 2012, 01:20:14 PM »
Quote from: psxphill;711691
a compatibility layer for mapping the 3.1 API onto MorphOS native API.

Pedantic mode on

In MorphOS, AmigaOS 3.1 API calls are not mapped to MorphOS native API. They are same.

In AmigaOS 4, AmigaOS 3.1 API calls are mapped to AmigaOS 4 native API. They are not same.

Pedantic mode off

I know I didnt add any value to this discussion now but hey... ;-)

I brought the compatibility layer to this discussion so it was my fault anyway :-)
« Last Edit: October 16, 2012, 01:24:02 PM by itix »
My Amigas: A500, Mac Mini and PowerBook
 

Offline OlafS3

Re: Is It Emulation or Not -- the Dilemma
« Reply #111 on: October 16, 2012, 01:23:55 PM »
@Itix

Good that we talk about it :-)
 

Offline danbeaverTopic starter

Re: Is It Emulation or Not -- the Dilemma
« Reply #112 on: October 16, 2012, 03:17:35 PM »
Uh....,   Itix, "Pedantic?"  Could we read the book passage to which you refer?
 

Offline MiAmigo

  • Arbiter of Succession
  • Sr. Member
  • ****
  • Join Date: Dec 2004
  • Posts: 391
  • Country: us
  • Thanked: 1 times
  • Gender: Male
    • Show only replies by MiAmigo
Re: Is It Emulation or Not -- the Dilemma
« Reply #113 on: October 16, 2012, 04:22:47 PM »
Quote from: Matt_H;711330
What would it be if not emulation?


Simulation! :laugh1:
 

Offline danbeaverTopic starter

Re: Is It Emulation or Not -- the Dilemma
« Reply #114 on: October 16, 2012, 04:49:24 PM »
Quote from: MiAmigo;711704
Simulation! :laugh1:


Immolation? :)
 

Offline persia

  • Hero Member
  • *****
  • Join Date: Sep 2006
  • Posts: 3753
    • Show only replies by persia
Re: Is It Emulation or Not -- the Dilemma
« Reply #115 on: October 16, 2012, 09:59:05 PM »
Defenestration?
[SIGPIC][/SIGPIC]

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

Offline psxphill

Re: Is It Emulation or Not -- the Dilemma
« Reply #116 on: October 16, 2012, 11:48:00 PM »
Quote from: itix;711695
In MorphOS, AmigaOS 3.1 API calls are not mapped to MorphOS native API. They are same.

Some of them are mapped. Exec sits on top of quark.
 
http://en.wikipedia.org/wiki/Quark_(kernel)
 
Which kinda ends the discussion
 
"Under the Quark kernel a PowerPC native reimplementation of the OS known from the Commodore A1000, A500(+), A600, A2000, A1200, A3000(T) and A4000(T) systems runs as a mixture of a virtual emulation and a driver. This OS driver is called as ABox.
The 68k emulation is written in C and uses gcc assembler macros where necessary to speed up certain complex instructions. Even though the emulation is written in C, its structure is on a level where handcoded assembler isn't significantly faster.
A JIT (Just In Time) engine called Trance for MorphOS to speed up old 68k programs beyond the current state of the traditional emulation is also available."
 

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16879
  • Country: gb
  • Thanked: 5 times
    • Show only replies by Karlos
Re: Is It Emulation or Not -- the Dilemma
« Reply #117 on: October 16, 2012, 11:52:59 PM »
Reading over the recent posts, I always thought Trance under MorphOS was a hotspot* JIT emulation?

*That is to say, 68K opcodes are executed by an interpretive emulator for code that is not compute bound or needs to react with minimal latency (eg interrupts and the like) and that internal profiling reveals those sections of code which require dynamic recompilation?

Or is all 68K code (re)compiled to PPC and cached as it is encountered rather than just performance critical code?
int p; // A
 

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16879
  • Country: gb
  • Thanked: 5 times
    • Show only replies by Karlos
Re: Is It Emulation or Not -- the Dilemma
« Reply #118 on: October 17, 2012, 12:06:30 AM »
Quote from: itix;711684
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.


Shapeshifter had to patch the host OS to remap the lower 4K but I seem to recall it also patched some parts of the guest OS, depending on the ROM versions in use (I could be wrong about that, it's been a long time) and certain ROM versions wouldn't work well or at all.

Quote
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.


Such virtualization is basically a "new" term for an idea that's been around for a long time. Certainly IBM had it many decades ago. Popek and Goldberg identified the minimal requirements for hardware that could be "virtualized" through the strict separation of instructions into those that are purely user mode and those that can alter sensitive parts of the processor. We were lucky, the vanilla 68000 was close, but the move to/from SR being unprivileged was the killer there. That was fixed in the 68010, along with the ability to relocate the VBR. Those features allow you to write traps for pretty much anything privileged and trick an entire OS into thinking it's running on something it isn't.
int p; // A
 

Offline danbeaverTopic starter

Re: Is It Emulation or Not -- the Dilemma
« Reply #119 on: October 17, 2012, 03:34:36 PM »
Psxphill,
 I've leaned not to trust WikiPedia entries and when in doubt always try to check their references.  I'm afraid I found the following quotes from references 2 and 3:

Ref. (2) David Gerber (2002)

"1 Description of the system
1.1 Introducing MorphOS
MorphOS is the rst successful attempt to run Commodores A1200, A3000 and A4000s operating system on a PPC processor and improved systems free of legacy Commodore hardware. Its based around the Quark microkernel and runs the OS within an emulation box providing a fast 680x0 emulation. A fully PPC native exec replacement provides ways to write native PPC programs running into the emulation box in a mixed mode. For consistency, well call the Commodore system ABox from now on."
---
Ref. (3) MorphOS Full Features List -- v1.1  11/12/02 by the MorphOS team.

"A-BOX Components

Static 680x0 emulator
It emulates 680x0 instructions. All 68881 and 68882 opcodes are supported too.
The most used FPU instructions are replaced with emulation opcodes easier to decode.  Some
unused features are not emulated."..."Other filesystems (like PFS3) run emulated"


Well, food for thought.