Welcome, Guest. Please login or register.

Author Topic: Bounty for JIT enabled E-UAE for AmigaOS4.1  (Read 2304 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline Troels_ETopic starter

  • Full Member
  • ***
  • Join Date: Feb 2002
  • Posts: 232
    • Show only replies by Troels_E
    • http://www.amigabounty.net
Bounty for JIT enabled E-UAE for AmigaOS4.1
« 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
The bounty site for AmigaOS4 www.amigabounty.net
 

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16867
  • Country: gb
  • Thanked: 4 times
    • Show only replies by Karlos
Re: Bounty for JIT enabled E-UAE for AmigaOS4.1
« Reply #1 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.
int p; // A
 

Offline Piru

  • \' union select name,pwd--
  • Hero Member
  • *****
  • Join Date: Aug 2002
  • Posts: 6946
    • Show only replies by Piru
    • http://www.iki.fi/sintonen/
Re: Bounty for JIT enabled E-UAE for AmigaOS4.1
« Reply #2 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.
 

Offline hooligan

  • Hero Member
  • *****
  • Join Date: Sep 2006
  • Posts: 515
    • Show only replies by hooligan
    • http://www.mikseri.net/hooligan
Re: Bounty for JIT enabled E-UAE for AmigaOS4.1
« Reply #3 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 :-)
 

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16867
  • Country: gb
  • Thanked: 4 times
    • Show only replies by Karlos
Re: Bounty for JIT enabled E-UAE for AmigaOS4.1
« Reply #4 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.
int p; // A
 

Offline Piru

  • \' union select name,pwd--
  • Hero Member
  • *****
  • Join Date: Aug 2002
  • Posts: 6946
    • Show only replies by Piru
    • http://www.iki.fi/sintonen/
Re: Bounty for JIT enabled E-UAE for AmigaOS4.1
« Reply #5 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.
 

Offline Trev

  • Zero
  • Hero Member
  • *****
  • Join Date: May 2003
  • Posts: 1550
  • Country: 00
    • Show only replies by Trev
Re: Bounty for JIT enabled E-UAE for AmigaOS4.1
« Reply #6 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.
« Last Edit: June 10, 2009, 07:23:45 AM by Trev »
 

Offline Piru

  • \' union select name,pwd--
  • Hero Member
  • *****
  • Join Date: Aug 2002
  • Posts: 6946
    • Show only replies by Piru
    • http://www.iki.fi/sintonen/
Re: Bounty for JIT enabled E-UAE for AmigaOS4.1
« Reply #7 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).
 

Offline Trev

  • Zero
  • Hero Member
  • *****
  • Join Date: May 2003
  • Posts: 1550
  • Country: 00
    • Show only replies by Trev
Re: Bounty for JIT enabled E-UAE for AmigaOS4.1
« Reply #8 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.
 

Offline BooBoo1200

  • Full Member
  • ***
  • Join Date: Jul 2007
  • Posts: 126
    • Show only replies by BooBoo1200
Re: Bounty for JIT enabled E-UAE for AmigaOS4.1
« Reply #9 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.
 

Offline Trev

  • Zero
  • Hero Member
  • *****
  • Join Date: May 2003
  • Posts: 1550
  • Country: 00
    • Show only replies by Trev
Re: Bounty for JIT enabled E-UAE for AmigaOS4.1
« Reply #10 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?
 

Offline kolla

Re: Bounty for JIT enabled E-UAE for AmigaOS4.1
« Reply #11 on: June 11, 2009, 08:46:12 PM »
The obvious question is... does old m68k shapeshifter run on OS4 or/and MorphOS using JIT? :)
B5D6A1D019D5D45BCC56F4782AC220D8B3E2A6CC
---
A3000/060CSPPC+CVPPC/128MB + 256MB BigRAM/Deneb USB
A4000/CS060/Mediator4000Di/Voodoo5/128MB
A1200/Blz1260/IndyAGA/192MB
A1200/Blz1260/64MB
A1200/Blz1230III/32MB
A1200/ACA1221
A600/V600v2/Subway USB
A600/Apollo630/32MB
A600/A6095
CD32/SX32/32MB/Plipbox
CD32/TF328
A500/V500v2
A500/MTec520
CDTV
MiSTer, MiST, FleaFPGAs and original Minimig
Peg1, SAM440 and Mac minis with MorphOS
 

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16867
  • Country: gb
  • Thanked: 4 times
    • Show only replies by Karlos
Re: Bounty for JIT enabled E-UAE for AmigaOS4.1
« Reply #12 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 ;)
int p; // A
 

Offline BooBoo1200

  • Full Member
  • ***
  • Join Date: Jul 2007
  • Posts: 126
    • Show only replies by BooBoo1200
Re: Bounty for JIT enabled E-UAE for AmigaOS4.1
« Reply #13 on: June 12, 2009, 07:56:59 AM »
What about e-uae 68k I was told this is faster than native e-uae.