Amiga.org

Amiga News and Community Announcements => Amiga News and Community Announcements => Amiga Software News => Topic started by: Troels_E on June 09, 2009, 02:50:25 PM

Title: Bounty for JIT enabled E-UAE for AmigaOS4.1
Post by: Troels_E on June 09, 2009, 02:50:25 PM
E-UAE on AmigaOS4.1 (and MorphOS) supports  only interpretive emulation and is quite slow compared to f.ex. winUAE.
What's needed is JIT 68K code emulation to speed things up.
Especially AmigaOS4.1 users with slower machines will gain a lot from a JIT version of E-UAE.

As the JIT will automatically become open source, other PPC platforms will also be able to benefit from it.

As a minimum the project should be able to.
- Bring JIT 68k code emulation to the OS4 version of E-UAE.
- Work with a number of specified games and applications that runs
(slow) under the OS4 version of E-UAE.


Click the link below to visit the project page.
http://amigabounty.net/?function=viewproject&projectid=35
Title: Re: Bounty for JIT enabled E-UAE for AmigaOS4.1
Post by: Karlos on June 09, 2009, 08:16:50 PM
Since OS4.x already has a JIT, is there any way in which Petunia could be employed for the purpose of emulating the 68K?

Of course it would have to remain external and UAE hook into it somehow. I don't suppose it would be good to get the closed source OS internals tangled up with an open source project like this.
Title: Re: Bounty for JIT enabled E-UAE for AmigaOS4.1
Post by: Piru on June 09, 2009, 08:58:58 PM
Quote from: Karlos;510237
Since OS4.x already has a JIT, is there any way in which Petunia could be employed for the purpose of emulating the 68K?

In practice no. Petunia (and Trance) try to be as fast as possible. Adding some address translation and trapping of specific addresses (custom, cia etc) to all memory accesses would generate ton of extra code. In any case it would require a lot of work on the actual JIT engine itself. This is unlikely to happen.

For any OS component to be usable for GPL application it first needs to be released as part of the OS. Also, releasing such update just to circumvent the GPL license would not be seen as very sportsmanlike I'd think.
Title: Re: Bounty for JIT enabled E-UAE for AmigaOS4.1
Post by: hooligan on June 09, 2009, 09:44:45 PM
Just don't tell this to some of those in "real amiga vs winuae"-thread.. might shock them :-)
Title: Re: Bounty for JIT enabled E-UAE for AmigaOS4.1
Post by: Karlos on June 10, 2009, 01:02:18 AM
Quote from: Piru;510245
In practice no. Petunia (and Trance) try to be as fast as possible. Adding some address translation and trapping of specific addresses (custom, cia etc) to all memory accesses would generate ton of extra code. In any case it would require a lot of work on the actual JIT engine itself. This is unlikely to happen.

To be honest I thought about that a bit more after I posted. However the guys that wrote Petunia and Trance would have a head start over the rest when it comes to attempting this one, methinks.

Quote
For any OS component to be usable for GPL application it first needs to be released as part of the OS. Also, releasing such update just to circumvent the GPL license would not be seen as very sportsmanlike I'd think.

I was thinking purely from a technical angle rather than a open v closed source political one.

You know, it's a bit of a pity that the respective operating systems don't provide API's into the JIT that let you build your own emulated 68K based "machine" applications around the OS provided JIT core. I realise there's no requirement for this from the OS point of view, it'd just be really cool to play with.
Title: Re: Bounty for JIT enabled E-UAE for AmigaOS4.1
Post by: Piru on June 10, 2009, 06:19:33 AM
Quote from: Karlos;510294
However the guys that wrote Petunia and Trance would have a head start over the rest when it comes to attempting this one, methinks.

Of course, but I think it is very unlikely you'll see anything from them.

Quote
I was thinking purely from a technical angle rather than a open v closed source political one.

Fair enough.

Quote
You know, it's a bit of a pity that the respective operating systems don't provide API's into the JIT that let you build your own emulated 68K based "machine" applications around the OS provided JIT core. I realise there's no requirement for this from the OS point of view, it'd just be really cool to play with.

As I was trying to explain it is not possible to add this to JIT and not have a huge performance hit. As such you'd pretty much end up with two completely separate engines; one for OS stuff and one for emulation. Just writing one JIT engine is hard enough.
Title: Re: Bounty for JIT enabled E-UAE for AmigaOS4.1
Post by: Trev on June 10, 2009, 07:20:57 AM
You could implement a 68K to 68K compiler that treats Petunia as the target architecture, replacing all legacy hardware code with calls into the core E-UAE emulator. The performance hit still sounds atrocious, though. What types of applications would benefit from this that don't already benefit from Petunia?

Re: GPL, I don't see any conflicts. Petunia is an operating system service, just like file I/O and memory allocation.
Title: Re: Bounty for JIT enabled E-UAE for AmigaOS4.1
Post by: Piru on June 10, 2009, 08:00:45 AM
Quote from: Trev;510318
You could implement a 68K to 68K compiler that treats Petunia as the target architecture, replacing all legacy hardware code with calls into the core E-UAE emulator. The performance hit still sounds atrocious, though.

As I understand your idea all memory accesses would result in calls to UAE. Only instructions without any memory accesses could be left as-is. I'd estimate it'd be slower than UAE itself, except for some very specific tight computational loops.

Quote
Re: GPL, I don't see any conflicts. Petunia is an operating system service, just like file I/O and memory allocation.

Petunia - as it is now - cannot be used in any sensible way (and neither Trance before someone asks).
Title: Re: Bounty for JIT enabled E-UAE for AmigaOS4.1
Post by: Trev on June 10, 2009, 08:25:54 AM
Quote
As I understand your idea all memory accesses would result in calls to UAE.

Without a virtual address space, yes. Bummer.
Title: Re: Bounty for JIT enabled E-UAE for AmigaOS4.1
Post by: BooBoo1200 on June 10, 2009, 12:47:32 PM
From Project Petunia HomePage.
Do you plan any support for UAE?
I don't know yet. There is a possibility of reaching the emulation from the "outside", so theoretically UAE could make use of Petunia's engine, if somebody does a special version. I don't intend to do it, but I would help gladly help to anybody with this work.
Title: Re: Bounty for JIT enabled E-UAE for AmigaOS4.1
Post by: Trev on June 11, 2009, 12:03:21 AM
If it's possible to host and use Petunia in a context separate from the operating system's, then it makes sense to do so. Why write your own service when the operating system already provides one?
Title: Re: Bounty for JIT enabled E-UAE for AmigaOS4.1
Post by: kolla on June 11, 2009, 08:46:12 PM
The obvious question is... does old m68k shapeshifter run on OS4 or/and MorphOS using JIT? :)
Title: Re: Bounty for JIT enabled E-UAE for AmigaOS4.1
Post by: Karlos on June 12, 2009, 07:48:18 AM
Quote from: kolla;510666
The obvious question is... does old m68k shapeshifter run on OS4 or/and MorphOS using JIT? :)


Interesting question. One I might try and find out an answer to tonight ;)
Title: Re: Bounty for JIT enabled E-UAE for AmigaOS4.1
Post by: BooBoo1200 on June 12, 2009, 07:56:59 AM
What about e-uae 68k I was told this is faster than native e-uae.