Welcome, Guest. Please login or register.

Author Topic: amiga.library  (Read 2573 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline Piru

  • \' union select name,pwd--
  • Hero Member
  • *****
  • Join Date: Aug 2002
  • Posts: 6946
    • Show all replies
    • http://www.iki.fi/sintonen/
Re: amiga.library
« on: September 12, 2006, 08:38:15 PM »
Quote
When a classic game is started, MorphOS' 68k emulation would kick in. If the emulation detected the custom chips were going to be used, it would automatically redirect this to amiga.library.

This is where it fails. To detect such access, the application needs to be started. Once custom chip access would be detected, the application would need to be frozen (Emulation can't know how to quit it in the middle of execution). So you would end up with stuck executable that could for example hold critical OS semaphore, and lock up the whole system.

Another problem is that there is no way for the emulation to know how the application was started. In fact, the emulation doesn't even know which application some code belongs to (well you could look into seglists, but lot of stuff use custom decrunchers and such which AllocMem the destination buffer). The MorphOS 68K emulation is totally transparent, there is no difference in PPC and 68K applications. Regardless, even if the emulation could idenfity the seglist, it still wouldn't know how to launch it with UAE.

However, it's very possible to have adf doubleclick to launch uae (trivial with new Ambient). That laucher could for example have UAE config database for various adfs, maybe identified with MD5SUM or filename.

Oh, and 68040.library and 68060.library names conflict with system libraries (MorphOS refuses to OpenLibrary libraries with these names to avoid compatibility issues).
 

Offline Piru

  • \' union select name,pwd--
  • Hero Member
  • *****
  • Join Date: Aug 2002
  • Posts: 6946
    • Show all replies
    • http://www.iki.fi/sintonen/
Re: amiga.library
« Reply #1 on: September 12, 2006, 09:43:40 PM »
Quote
Would it make any difference if the amiga.library was started before the 68k app?

No. The concept of detecting the access fault and then lauching uae is flawed.

Quote
Hmmm, tooltype maybe? If the icon has the tooltype "classic" then it uses amiga.library.

And how would it know which icon to look into? Same problem, only this time it'd need to know which .info to look into.

If you're going to launch emulation right away, it doesn't make any difference if you have it in some "amiga.library" or if the emulation is static binary. UAE is GPL aswell, so it can't be integrated tightly to closed source project.